assets

package
v0.0.0-...-cbc718f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

package assets is a module package to the overall service which handles sepcific asset management API requests within the realm of iconik.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Assets

type Assets struct {
	FirstURL string    `json:"first_url"`
	LastURL  string    `json:"last_url"`
	NextURL  string    `json:"next_url"`
	Objects  []*Object `json:"objects"`
	Page     int       `json:"page"`
	Pages    int       `json:"pages"`
	PerPage  int       `json:"per_page"`
	PrevURL  string    `json:"prev_url"`
	ScrollID string    `json:"scroll_id"`
	Total    int       `json:"total"`
}

Assets is the top level data structure that receives the unmarshalled payload response.

func GetAssetsByCollection

func GetAssetsByCollection(cfg *config.Conf) (*Assets, error)

GetAssetsByCollection calls the 'v1/collections/{collection_id}/contents/' endpoint and returns the Object List of associated Assets contained within the given collection Id.

func (*Assets) AppendAssetIdsToConf

func (a *Assets) AppendAssetIdsToConf(c *config.Conf) (*config.Conf, error)

AppendAssetIdsToConf acts as a method against the Assets struct which iterates through the payload response and appends the list of Asset Ids to the Conf strcut.

func (*Assets) AppendObjectIdsToConf

func (a *Assets) AppendObjectIdsToConf(c *config.Conf) (*config.Conf, error)

AppendObjectIdsToConf acts as a method against the Assets struct which iterates through the payload response and appends the list of Object Ids to the Conf strcut.

func (*Assets) GetMetadataDetails

func (a *Assets) GetMetadataDetails(cfg *config.Conf) error

GetMetadataDetails acts as a method against the Assets struct which iterates through the Asset Id slice of strings and queries the Metadata view on the given asset. The JOSN response is stored in a map of strings which takes an interface as an argument.

type Files

type Files struct {
	DirectoryPath string `json:"directory_path"`
	FileSetID     string `json:"file_set_id"`
	FormatID      string `json:"format_id"`
	ID            string `json:"id"`
	Name          string `json:"name"`
	OriginalName  string `json:"original_name"`
	Size          int    `json:"size"`
	Status        string `json:"status"`
	StorageID     string `json:"storage_id"`
	StorageMethod string `json:"storage_method"`
}

Files acts as a non nested struct to the Files type in Object

type MetadataView

type MetadataView struct {
	Metadata map[string]interface{}
}

MetadataView acts as a non nested struct to the MetadataView type in Object.

type Object

type Object struct {
	AnalyzeStatus        string    `json:"analyze_status"`
	AncestorCollections  []string  `json:"ancestor_collections"`
	ArchiveStatus        string    `json:"archive_status"`
	Category             string    `json:"category"`
	CreatedByUser        string    `json:"created_by_user"`
	CreatedByUserInfo    *UserInfo `json:"created_by_user_info"`
	CustomKeyframe       string    `json:"custom_keyframe"`
	CustomPoster         string    `json:"custom_poster"`
	DateCreated          string    `json:"date_created"`
	DateDeleted          string    `json:"date_deleted"`
	DateImported         string    `json:"date_imported"`
	DateModified         string    `json:"date_modified"`
	DeletedByUser        string    `json:"deleted_by_user"`
	DeletedByUserInfo    *UserInfo `json:"deleted_by_user_info"`
	DurationMilliseconds int       `json:"duration_milliseconds"`
	ExternalID           string    `json:"external_id"`
	FileNames            []string  `json:"file_names"`
	Files                []*Files  `json:"files"`
	ID                   string    `json:"id"`
	InCollections        []string  `json:"in_collections"`
	IsBlocked            bool      `json:"is_blocked"`
	IsOnline             bool      `json:"is_online"`
	Keyframes            []struct {
	} `json:"keyframes"`
	MediaType string `json:"media_type"` // manual addition
	Metadata  struct {
	} `json:"metadata"`
	MetadataView []map[string]interface{} `json:"metadata_view"`
	ObjectType   string                   `json:"object_type"`
	Position     int                      `json:"position"`
	Proxies      []struct {
	} `json:"proxies"`
	Relations         []*Relation `json:"relations"`
	Status            string      `json:"status"`
	Title             string      `json:"title"`
	Type              string      `json:"type"`
	UpdatedByUser     string      `json:"updated_by_user"`
	UpdatedByUserInfo *UserInfo   `json:"updated_by_user_info"`
	Versions          []*Version  `json:"versions"`
	VersionsNumber    int         `json:"versions_number"`
	Warning           string      `json:"warning"`
}

Objects acts as a non nested struct to the Objects type in Assets.

type Relation

type Relation struct {
	DateCreated        string `json:"date_created"`
	DateModified       string `json:"date_modified"`
	Description        string `json:"description"`
	RelatedFromAssetID string `json:"related_from_asset_id"`
	RelatedToAssetID   string `json:"related_to_asset_id"`
	RelationType       string `json:"relation_type"`
}

Relation acts as a non nested struct to the Relations type in Object.

type UserInfo

type UserInfo struct {
	Email      string `json:"email"`
	FirstName  string `json:"first_name"`
	ID         string `json:"id"`
	LastName   string `json:"last_name"`
	Photo      string `json:"photo"`
	PhotoBig   string `json:"photo_big"`
	PhotoSmall string `json:"photo_small"`
}

UserInfo acts as a non nested struct to the recurring UserInfo type in Object.

type Version

type Version struct {
	AnalyzeStatus     string    `json:"analyze_status"`
	ArchiveStatus     string    `json:"archive_status"`
	CreatedByUser     string    `json:"created_by_user"`
	CreatedByUserInfo *UserInfo `json:"created_by_user_info"`
	DateCreated       string    `json:"date_created"`
	ID                string    `json:"id"`
	IsOnline          bool      `json:"is_online"`
	Status            string    `json:"status"`
	TranscribeStatus  string    `json:"transcribe_status"`
}

Version acts as a non nested struct to the Version type in Object.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL