Files
photocli/internal/photos/types.go
T

64 lines
1.6 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"`
PixelWidth int `json:"pixelWidth"`
PixelHeight int `json:"pixelHeight"`
CreationDate *string `json:"creationDate,omitempty"`
Duration float64 `json:"duration,omitempty"`
IsFavorite bool `json:"isFavorite,omitempty"`
HasAdjustments bool `json:"hasAdjustments,omitempty"`
Resources []AssetResource `json:"resources,omitempty"`
}
type AssetResource struct {
Type string `json:"type"`
Filename string `json:"filename"`
UTI string `json:"uti"`
Local bool `json:"local"`
}
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
}