github.com/Files-com/files-sdk-go/v3@v3.1.81/app.go (about) 1 package files_sdk 2 3 import ( 4 "encoding/json" 5 6 lib "github.com/Files-com/files-sdk-go/v3/lib" 7 ) 8 9 type App struct { 10 AppType string `json:"app_type,omitempty" path:"app_type,omitempty" url:"app_type,omitempty"` 11 DocumentationLinks map[string]interface{} `json:"documentation_links,omitempty" path:"documentation_links,omitempty" url:"documentation_links,omitempty"` 12 ExtendedDescription string `json:"extended_description,omitempty" path:"extended_description,omitempty" url:"extended_description,omitempty"` 13 ExtendedDescriptionForMarketingSite string `json:"extended_description_for_marketing_site,omitempty" path:"extended_description_for_marketing_site,omitempty" url:"extended_description_for_marketing_site,omitempty"` 14 ExternalHomepageUrl string `json:"external_homepage_url,omitempty" path:"external_homepage_url,omitempty" url:"external_homepage_url,omitempty"` 15 Featured *bool `json:"featured,omitempty" path:"featured,omitempty" url:"featured,omitempty"` 16 FolderBehaviorType string `json:"folder_behavior_type,omitempty" path:"folder_behavior_type,omitempty" url:"folder_behavior_type,omitempty"` 17 IconUrl string `json:"icon_url,omitempty" path:"icon_url,omitempty" url:"icon_url,omitempty"` 18 LogoThumbnailUrl string `json:"logo_thumbnail_url,omitempty" path:"logo_thumbnail_url,omitempty" url:"logo_thumbnail_url,omitempty"` 19 LogoUrl string `json:"logo_url,omitempty" path:"logo_url,omitempty" url:"logo_url,omitempty"` 20 MarketingIntro string `json:"marketing_intro,omitempty" path:"marketing_intro,omitempty" url:"marketing_intro,omitempty"` 21 MarketingYoutubeUrl string `json:"marketing_youtube_url,omitempty" path:"marketing_youtube_url,omitempty" url:"marketing_youtube_url,omitempty"` 22 Name string `json:"name,omitempty" path:"name,omitempty" url:"name,omitempty"` 23 PackageManagerInstallCommand string `json:"package_manager_install_command,omitempty" path:"package_manager_install_command,omitempty" url:"package_manager_install_command,omitempty"` 24 RemoteServerType string `json:"remote_server_type,omitempty" path:"remote_server_type,omitempty" url:"remote_server_type,omitempty"` 25 ScreenshotListUrls []string `json:"screenshot_list_urls,omitempty" path:"screenshot_list_urls,omitempty" url:"screenshot_list_urls,omitempty"` 26 SdkInstallationInstructionsLink string `json:"sdk_installation_instructions_link,omitempty" path:"sdk_installation_instructions_link,omitempty" url:"sdk_installation_instructions_link,omitempty"` 27 ShortDescription string `json:"short_description,omitempty" path:"short_description,omitempty" url:"short_description,omitempty"` 28 SsoStrategyType string `json:"sso_strategy_type,omitempty" path:"sso_strategy_type,omitempty" url:"sso_strategy_type,omitempty"` 29 TutorialYoutubeUrl string `json:"tutorial_youtube_url,omitempty" path:"tutorial_youtube_url,omitempty" url:"tutorial_youtube_url,omitempty"` 30 } 31 32 // Identifier no path or id 33 34 type AppCollection []App 35 36 type AppListParams struct { 37 SortBy map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"` 38 Filter App `url:"filter,omitempty" required:"false" json:"filter,omitempty" path:"filter"` 39 FilterPrefix map[string]interface{} `url:"filter_prefix,omitempty" required:"false" json:"filter_prefix,omitempty" path:"filter_prefix"` 40 ListParams 41 } 42 43 func (a *App) UnmarshalJSON(data []byte) error { 44 type app App 45 var v app 46 if err := json.Unmarshal(data, &v); err != nil { 47 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 48 } 49 50 *a = App(v) 51 return nil 52 } 53 54 func (a *AppCollection) UnmarshalJSON(data []byte) error { 55 type apps AppCollection 56 var v apps 57 if err := json.Unmarshal(data, &v); err != nil { 58 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 59 } 60 61 *a = AppCollection(v) 62 return nil 63 } 64 65 func (a *AppCollection) ToSlice() *[]interface{} { 66 ret := make([]interface{}, len(*a)) 67 for i, v := range *a { 68 ret[i] = v 69 } 70 71 return &ret 72 }