46 lines
2.0 KiB
Go
46 lines
2.0 KiB
Go
package galleries
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"github.com/example/sndit/backend/internal/media"
|
|
)
|
|
|
|
type Detail struct {
|
|
ID string `json:"id"`
|
|
Slug string `json:"slug"`
|
|
Title string `json:"title"`
|
|
ClientName string `json:"clientName"`
|
|
Description string `json:"description"`
|
|
Status string `json:"status"`
|
|
DownloadsEnabled bool `json:"downloadsEnabled"`
|
|
FavoritesEnabled bool `json:"favoritesEnabled"`
|
|
DownloadAllEnabled bool `json:"downloadAllEnabled"`
|
|
WatermarkEnabled bool `json:"watermarkEnabled"`
|
|
ExpiresAt string `json:"expiresAt,omitempty"`
|
|
CoverMediaID string `json:"coverMediaId,omitempty"`
|
|
ThemeConfig json.RawMessage `json:"themeConfig"`
|
|
BrandingConfig json.RawMessage `json:"brandingConfig"`
|
|
CreatedAt string `json:"createdAt"`
|
|
PublishedAt string `json:"publishedAt,omitempty"`
|
|
Media []media.Public `json:"media"`
|
|
}
|
|
|
|
type Public struct {
|
|
Slug string `json:"slug"`
|
|
Title string `json:"title"`
|
|
ClientName string `json:"clientName"`
|
|
Description string `json:"description"`
|
|
ThemeConfig json.RawMessage `json:"themeConfig"`
|
|
BrandingConfig json.RawMessage `json:"brandingConfig"`
|
|
DownloadsEnabled bool `json:"downloadsEnabled"`
|
|
FavoritesEnabled bool `json:"favoritesEnabled"`
|
|
DownloadAllEnabled bool `json:"downloadAllEnabled"`
|
|
WatermarkEnabled bool `json:"watermarkEnabled"`
|
|
ExpiresAt string `json:"expiresAt,omitempty"`
|
|
Preview bool `json:"preview,omitempty"`
|
|
RequiresPassword bool `json:"requiresPassword"`
|
|
Cover *media.Public `json:"cover,omitempty"`
|
|
Media []media.Public `json:"media"`
|
|
}
|