110 lines
3.9 KiB
Go
110 lines
3.9 KiB
Go
package photos
|
|
|
|
type Album struct {
|
|
ID string `json:"id"`
|
|
Title string `json:"title"`
|
|
}
|
|
|
|
type Asset struct {
|
|
ID string `json:"id"`
|
|
Filename string `json:"filename"`
|
|
Cloud string `json:"cloud"`
|
|
MediaType string `json:"mediaType"`
|
|
MediaSubtypes []string `json:"mediaSubtypes,omitempty"`
|
|
SourceType string `json:"sourceType,omitempty"`
|
|
PlaybackStyle string `json:"playbackStyle,omitempty"`
|
|
PixelWidth int `json:"pixelWidth"`
|
|
PixelHeight int `json:"pixelHeight"`
|
|
CreationDate *string `json:"creationDate,omitempty"`
|
|
ModificationDate *string `json:"modificationDate,omitempty"`
|
|
Duration float64 `json:"duration,omitempty"`
|
|
IsFavorite bool `json:"isFavorite,omitempty"`
|
|
IsHidden bool `json:"isHidden,omitempty"`
|
|
HasAdjustments bool `json:"hasAdjustments,omitempty"`
|
|
Location *AssetLocation `json:"location,omitempty"`
|
|
BurstIdentifier string `json:"burstIdentifier,omitempty"`
|
|
RepresentsBurst bool `json:"representsBurst,omitempty"`
|
|
BurstSelectionTypes []string `json:"burstSelectionTypes,omitempty"`
|
|
AdjustmentInfo *AdjustmentInfo `json:"adjustmentInfo,omitempty"`
|
|
Resources []AssetResource `json:"resources,omitempty"`
|
|
}
|
|
|
|
type AssetLocation struct {
|
|
Latitude float64 `json:"latitude"`
|
|
Longitude float64 `json:"longitude"`
|
|
Altitude float64 `json:"altitude,omitempty"`
|
|
HorizontalAccuracy float64 `json:"horizontalAccuracy,omitempty"`
|
|
}
|
|
|
|
type AdjustmentInfo struct {
|
|
FormatIdentifier string `json:"formatIdentifier,omitempty"`
|
|
FormatVersion string `json:"formatVersion,omitempty"`
|
|
BaseFilename string `json:"baseFilename,omitempty"`
|
|
}
|
|
|
|
type AssetResource struct {
|
|
Type string `json:"type"`
|
|
Filename string `json:"filename"`
|
|
UTI string `json:"uti"`
|
|
Local bool `json:"local"`
|
|
Size int64 `json:"size,omitempty"`
|
|
}
|
|
|
|
type Placemark struct {
|
|
Name string `json:"name,omitempty"`
|
|
Country string `json:"country,omitempty"`
|
|
CountryCode string `json:"countryCode,omitempty"`
|
|
AdministrativeArea string `json:"administrativeArea,omitempty"`
|
|
SubAdministrativeArea string `json:"subAdministrativeArea,omitempty"`
|
|
Locality string `json:"locality,omitempty"`
|
|
SubLocality string `json:"subLocality,omitempty"`
|
|
Thoroughfare string `json:"thoroughfare,omitempty"`
|
|
SubThoroughfare string `json:"subThoroughfare,omitempty"`
|
|
PostalCode string `json:"postalCode,omitempty"`
|
|
FormattedAddress string `json:"formattedAddress,omitempty"`
|
|
InlandWater string `json:"inlandWater,omitempty"`
|
|
Ocean string `json:"ocean,omitempty"`
|
|
AreasOfInterest []string `json:"areasOfInterest,omitempty"`
|
|
}
|
|
|
|
type PlacemarkResponse struct {
|
|
Placemark Placemark `json:"placemark"`
|
|
Error string `json:"error,omitempty"`
|
|
}
|
|
|
|
type ExportResult struct {
|
|
Filename string `json:"filename"`
|
|
Size int64 `json:"size"`
|
|
Cloud string `json:"cloud"`
|
|
Skipped bool `json:"skipped,omitempty"`
|
|
Error string `json:"error,omitempty"`
|
|
}
|
|
|
|
type CollectionNode struct {
|
|
ID string `json:"id,omitempty"`
|
|
Name string `json:"name"`
|
|
Kind string `json:"kind"`
|
|
Children []CollectionNode `json:"children,omitempty"`
|
|
}
|
|
|
|
type AlbumsResponse struct {
|
|
Albums []Album `json:"albums"`
|
|
}
|
|
|
|
type AssetsResponse struct {
|
|
Assets []Asset `json:"assets"`
|
|
Total int `json:"total"`
|
|
}
|
|
|
|
type TreeResponse struct {
|
|
Collections []CollectionNode `json:"collections"`
|
|
}
|
|
|
|
type ErrorResponse struct {
|
|
Error string `json:"error"`
|
|
}
|
|
|
|
type ExportResultResponse struct {
|
|
ExportResult
|
|
}
|