types

package
v1.3.7 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2026 License: AGPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdminExtensionPage

type AdminExtensionPage struct {
	Plugin      string   `json:"plugin"`
	Key         string   `json:"key"`
	Title       string   `json:"title"`
	Route       string   `json:"route"`
	Capability  string   `json:"capability,omitempty"`
	Description string   `json:"description,omitempty"`
	ModuleURL   string   `json:"module_url,omitempty"`
	StyleURLs   []string `json:"style_urls,omitempty"`
}

type AdminExtensionRegistry

type AdminExtensionRegistry struct {
	Pages    []AdminExtensionPage    `json:"pages,omitempty"`
	Widgets  []AdminExtensionWidget  `json:"widgets,omitempty"`
	Slots    []AdminExtensionSlot    `json:"slots,omitempty"`
	Settings []AdminExtensionSetting `json:"settings,omitempty"`
}

type AdminExtensionSetting

type AdminExtensionSetting struct {
	Plugin      string        `json:"plugin"`
	Key         string        `json:"key"`
	Title       string        `json:"title"`
	Capability  string        `json:"capability,omitempty"`
	Description string        `json:"description,omitempty"`
	Schema      []FieldSchema `json:"schema,omitempty"`
}

type AdminExtensionSlot

type AdminExtensionSlot struct {
	Plugin      string `json:"plugin"`
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
}

type AdminExtensionWidget

type AdminExtensionWidget struct {
	Plugin      string   `json:"plugin"`
	Key         string   `json:"key"`
	Title       string   `json:"title"`
	Slot        string   `json:"slot"`
	Capability  string   `json:"capability,omitempty"`
	Description string   `json:"description,omitempty"`
	ModuleURL   string   `json:"module_url,omitempty"`
	StyleURLs   []string `json:"style_urls,omitempty"`
}

type AuditEntry

type AuditEntry struct {
	Timestamp  time.Time         `json:"timestamp"`
	Action     string            `json:"action"`
	Actor      string            `json:"actor,omitempty"`
	ActorRole  string            `json:"actor_role,omitempty"`
	RemoteAddr string            `json:"remote_addr,omitempty"`
	Target     string            `json:"target,omitempty"`
	Outcome    string            `json:"outcome,omitempty"`
	Metadata   map[string]string `json:"metadata,omitempty"`
}

type BackupCreateRequest

type BackupCreateRequest struct {
	Name string `json:"name,omitempty"`
}

type BackupGitSnapshotRecord added in v1.3.4

type BackupGitSnapshotRecord struct {
	RepoDir   string `json:"repo_dir"`
	Revision  string `json:"revision"`
	CreatedAt string `json:"created_at"`
	Message   string `json:"message"`
	Changed   bool   `json:"changed"`
	Pushed    bool   `json:"pushed,omitempty"`
	RemoteURL string `json:"remote_url,omitempty"`
	Branch    string `json:"branch,omitempty"`
}

type BackupGitSnapshotRequest added in v1.3.4

type BackupGitSnapshotRequest struct {
	Message string `json:"message,omitempty"`
	Push    bool   `json:"push,omitempty"`
}

type BackupRecord

type BackupRecord struct {
	Name      string `json:"name"`
	Path      string `json:"path"`
	SizeBytes int64  `json:"size_bytes"`
	CreatedAt string `json:"created_at"`
}

type BackupRestoreRequest

type BackupRestoreRequest struct {
	Name string `json:"name"`
}

type CapabilityResponse

type CapabilityResponse struct {
	SDKVersion   string           `json:"sdk_version"`
	Capabilities []string         `json:"capabilities,omitempty"`
	Modules      map[string]bool  `json:"modules"`
	Features     map[string]bool  `json:"features"`
	Identity     *SessionResponse `json:"identity,omitempty"`
}

type ConfigDocumentResponse

type ConfigDocumentResponse struct {
	Path string `json:"path"`
	Raw  string `json:"raw"`
}

type ConfigSaveRequest

type ConfigSaveRequest struct {
	Raw string `json:"raw"`
}

type ContentStatus

type ContentStatus struct {
	DocumentCount int            `json:"document_count"`
	RouteCount    int            `json:"route_count"`
	DraftCount    int            `json:"draft_count"`
	ByType        map[string]int `json:"by_type"`
	ByLang        map[string]int `json:"by_lang"`
}

type CustomCSSDocumentResponse

type CustomCSSDocumentResponse struct {
	Path string `json:"path"`
	Raw  string `json:"raw"`
}

type CustomCSSSaveRequest

type CustomCSSSaveRequest struct {
	Raw string `json:"raw"`
}

type CustomFieldsDocumentResponse added in v1.3.7

type CustomFieldsDocumentResponse struct {
	Path      string                `json:"path"`
	Raw       string                `json:"raw"`
	Values    map[string]any        `json:"values"`
	Contracts []SharedFieldContract `json:"contracts,omitempty"`
}

type CustomFieldsSaveRequest added in v1.3.7

type CustomFieldsSaveRequest struct {
	Raw    string         `json:"raw,omitempty"`
	Values map[string]any `json:"values,omitempty"`
}

type DocumentCreateRequest

type DocumentCreateRequest struct {
	Kind      string `json:"kind"`
	Slug      string `json:"slug"`
	Lang      string `json:"lang,omitempty"`
	Archetype string `json:"archetype,omitempty"`
	LockToken string `json:"lock_token,omitempty"`
}

type DocumentCreateResponse

type DocumentCreateResponse struct {
	Kind       string `json:"kind"`
	Slug       string `json:"slug"`
	Lang       string `json:"lang"`
	Archetype  string `json:"archetype"`
	SourcePath string `json:"source_path"`
	Created    bool   `json:"created"`
	Raw        string `json:"raw,omitempty"`
}

type DocumentDeleteRequest

type DocumentDeleteRequest struct {
	SourcePath string `json:"source_path"`
	LockToken  string `json:"lock_token,omitempty"`
}

type DocumentDeleteResponse

type DocumentDeleteResponse struct {
	SourcePath string `json:"source_path"`
	TrashPath  string `json:"trash_path"`
	Operation  string `json:"operation"`
}

type DocumentDetail

type DocumentDetail struct {
	DocumentSummary
	RawBody             string         `json:"raw_body"`
	HTMLBody            string         `json:"html_body"`
	Params              map[string]any `json:"params,omitempty"`
	Fields              map[string]any `json:"fields,omitempty"`
	FieldSchema         []FieldSchema  `json:"field_schema,omitempty"`
	FieldContractKeys   []string       `json:"field_contract_keys,omitempty"`
	FieldContractTitles []string       `json:"field_contract_titles,omitempty"`
	Lock                *DocumentLock  `json:"lock,omitempty"`
}

type DocumentDiffRequest

type DocumentDiffRequest struct {
	LeftPath  string `json:"left_path"`
	RightPath string `json:"right_path"`
}

type DocumentDiffResponse

type DocumentDiffResponse struct {
	LeftPath  string `json:"left_path"`
	RightPath string `json:"right_path"`
	LeftRaw   string `json:"left_raw"`
	RightRaw  string `json:"right_raw"`
	Diff      string `json:"diff"`
}

type DocumentHistoryEntry

type DocumentHistoryEntry struct {
	Path           string         `json:"path"`
	OriginalPath   string         `json:"original_path"`
	State          LifecycleState `json:"state"`
	Timestamp      *time.Time     `json:"timestamp,omitempty"`
	VersionComment string         `json:"version_comment,omitempty"`
	Actor          string         `json:"actor,omitempty"`
	Status         string         `json:"status,omitempty"`
	Title          string         `json:"title"`
	Slug           string         `json:"slug"`
	Layout         string         `json:"layout"`
	Summary        string         `json:"summary"`
	Draft          bool           `json:"draft"`
	Archived       bool           `json:"archived"`
	Lang           string         `json:"lang"`
	Author         string         `json:"author,omitempty"`
	LastEditor     string         `json:"last_editor,omitempty"`
	CreatedAt      *time.Time     `json:"created_at,omitempty"`
	UpdatedAt      *time.Time     `json:"updated_at,omitempty"`
	Size           int64          `json:"size"`
}

type DocumentHistoryResponse

type DocumentHistoryResponse struct {
	SourcePath string                 `json:"source_path"`
	Entries    []DocumentHistoryEntry `json:"entries"`
}

type DocumentLifecycleRequest

type DocumentLifecycleRequest struct {
	Path string `json:"path"`
}

type DocumentLifecycleResponse

type DocumentLifecycleResponse struct {
	Path         string `json:"path"`
	RestoredPath string `json:"restored_path,omitempty"`
	Operation    string `json:"operation"`
}

type DocumentListOptions

type DocumentListOptions struct {
	IncludeDrafts bool
	Type          string
	Lang          string
	Query         string
}

type DocumentLock

type DocumentLock struct {
	SourcePath string     `json:"source_path"`
	Username   string     `json:"username"`
	Name       string     `json:"name,omitempty"`
	Role       string     `json:"role,omitempty"`
	OwnedByMe  bool       `json:"owned_by_me,omitempty"`
	Token      string     `json:"token,omitempty"`
	ExpiresAt  *time.Time `json:"expires_at,omitempty"`
	LastBeatAt *time.Time `json:"last_beat_at,omitempty"`
}

type DocumentLockRequest

type DocumentLockRequest struct {
	SourcePath string `json:"source_path"`
	LockToken  string `json:"lock_token,omitempty"`
}

type DocumentLockResponse

type DocumentLockResponse struct {
	Lock *DocumentLock `json:"lock,omitempty"`
}

type DocumentMoveRequest

type DocumentMoveRequest struct {
	SourcePath      string `json:"source_path"`
	DestinationPath string `json:"destination_path"`
}

type DocumentMoveResponse

type DocumentMoveResponse struct {
	SourcePath      string `json:"source_path"`
	DestinationPath string `json:"destination_path"`
	Operation       string `json:"operation"`
}

type DocumentPreviewRequest

type DocumentPreviewRequest struct {
	SourcePath string         `json:"source_path"`
	Raw        string         `json:"raw"`
	Fields     map[string]any `json:"fields,omitempty"`
}

type DocumentPreviewResponse

type DocumentPreviewResponse struct {
	Title       string     `json:"title"`
	Slug        string     `json:"slug"`
	Layout      string     `json:"layout"`
	Summary     string     `json:"summary"`
	Status      string     `json:"status"`
	Draft       bool       `json:"draft"`
	Archived    bool       `json:"archived"`
	Date        *time.Time `json:"date,omitempty"`
	CreatedAt   *time.Time `json:"created_at,omitempty"`
	UpdatedAt   *time.Time `json:"updated_at,omitempty"`
	Author      string     `json:"author,omitempty"`
	LastEditor  string     `json:"last_editor,omitempty"`
	HTML        string     `json:"html"`
	WordCount   int        `json:"word_count"`
	FieldErrors []string   `json:"field_errors,omitempty"`
}

type DocumentSaveRequest

type DocumentSaveRequest struct {
	SourcePath     string         `json:"source_path"`
	Raw            string         `json:"raw"`
	Fields         map[string]any `json:"fields,omitempty"`
	VersionComment string         `json:"version_comment,omitempty"`
	Actor          string         `json:"-"`
	Username       string         `json:"-"`
	LockToken      string         `json:"lock_token,omitempty"`
}

type DocumentSaveResponse

type DocumentSaveResponse struct {
	SourcePath string `json:"source_path"`
	Size       int64  `json:"size"`
	Created    bool   `json:"created"`
	Raw        string `json:"raw,omitempty"`
}

type DocumentStatusRequest

type DocumentStatusRequest struct {
	SourcePath           string `json:"source_path"`
	Status               string `json:"status"`
	ScheduledPublishAt   string `json:"scheduled_publish_at,omitempty"`
	ScheduledUnpublishAt string `json:"scheduled_unpublish_at,omitempty"`
	EditorialNote        string `json:"editorial_note,omitempty"`
	LockToken            string `json:"lock_token,omitempty"`
}

type DocumentStatusResponse

type DocumentStatusResponse struct {
	SourcePath           string     `json:"source_path"`
	Status               string     `json:"status"`
	Draft                bool       `json:"draft"`
	Archived             bool       `json:"archived"`
	ScheduledPublishAt   *time.Time `json:"scheduled_publish_at,omitempty"`
	ScheduledUnpublishAt *time.Time `json:"scheduled_unpublish_at,omitempty"`
	EditorialNote        string     `json:"editorial_note,omitempty"`
}

type DocumentSummary

type DocumentSummary struct {
	ID         string              `json:"id"`
	Type       string              `json:"type"`
	Lang       string              `json:"lang"`
	Status     string              `json:"status"`
	Title      string              `json:"title"`
	Slug       string              `json:"slug"`
	URL        string              `json:"url"`
	Layout     string              `json:"layout"`
	SourcePath string              `json:"source_path"`
	Summary    string              `json:"summary"`
	Draft      bool                `json:"draft"`
	Archived   bool                `json:"archived,omitempty"`
	Date       *time.Time          `json:"date,omitempty"`
	CreatedAt  *time.Time          `json:"created_at,omitempty"`
	UpdatedAt  *time.Time          `json:"updated_at,omitempty"`
	Author     string              `json:"author,omitempty"`
	LastEditor string              `json:"last_editor,omitempty"`
	Taxonomies map[string][]string `json:"taxonomies,omitempty"`
}

type FieldSchema

type FieldSchema struct {
	Name        string        `json:"name"`
	Label       string        `json:"label,omitempty"`
	Type        string        `json:"type"`
	Required    bool          `json:"required,omitempty"`
	Default     any           `json:"default,omitempty"`
	Enum        []string      `json:"enum,omitempty"`
	Fields      []FieldSchema `json:"fields,omitempty"`
	Item        *FieldSchema  `json:"item,omitempty"`
	Help        string        `json:"help,omitempty"`
	Placeholder string        `json:"placeholder,omitempty"`
}

type HealthCheck

type HealthCheck struct {
	Name    string `json:"name"`
	Status  string `json:"status"`
	Message string `json:"message,omitempty"`
}

type LifecycleState

type LifecycleState string
const (
	LifecycleStateCurrent LifecycleState = "current"
	LifecycleStateVersion LifecycleState = "version"
	LifecycleStateTrash   LifecycleState = "trash"
)

type LoginRequest

type LoginRequest struct {
	Username string `json:"username"`
	Password string `json:"password"`
	TOTPCode string `json:"totp_code,omitempty"`
}

type MediaDeleteRequest

type MediaDeleteRequest struct {
	Reference string `json:"reference"`
}

type MediaDetailResponse

type MediaDetailResponse struct {
	MediaItem
	UsedBy []DocumentSummary `json:"used_by,omitempty"`
}

type MediaHistoryEntry

type MediaHistoryEntry struct {
	Collection       string         `json:"collection"`
	Path             string         `json:"path"`
	OriginalPath     string         `json:"original_path"`
	Reference        string         `json:"reference,omitempty"`
	CurrentReference string         `json:"current_reference,omitempty"`
	Name             string         `json:"name"`
	PublicURL        string         `json:"public_url"`
	Kind             string         `json:"kind"`
	Size             int64          `json:"size"`
	State            LifecycleState `json:"state"`
	Timestamp        *time.Time     `json:"timestamp,omitempty"`
	VersionComment   string         `json:"version_comment,omitempty"`
	Actor            string         `json:"actor,omitempty"`
	MetadataOnly     bool           `json:"metadata_only,omitempty"`
	Metadata         MediaMetadata  `json:"metadata,omitempty"`
}

type MediaHistoryResponse

type MediaHistoryResponse struct {
	Reference string              `json:"reference,omitempty"`
	Path      string              `json:"path,omitempty"`
	Entries   []MediaHistoryEntry `json:"entries"`
}

type MediaItem

type MediaItem struct {
	Collection  string        `json:"collection"`
	Path        string        `json:"path"`
	Name        string        `json:"name"`
	Reference   string        `json:"reference"`
	PublicURL   string        `json:"public_url"`
	Kind        string        `json:"kind"`
	Size        int64         `json:"size"`
	UsedByCount int           `json:"used_by_count,omitempty"`
	Metadata    MediaMetadata `json:"metadata,omitempty"`
}

type MediaLifecycleRequest

type MediaLifecycleRequest struct {
	Path string `json:"path"`
}

type MediaLifecycleResponse

type MediaLifecycleResponse struct {
	Path         string `json:"path"`
	RestoredPath string `json:"restored_path,omitempty"`
	Operation    string `json:"operation"`
}

type MediaMetadata

type MediaMetadata struct {
	Title            string     `json:"title,omitempty" yaml:"title,omitempty"`
	Alt              string     `json:"alt,omitempty" yaml:"alt,omitempty"`
	Caption          string     `json:"caption,omitempty" yaml:"caption,omitempty"`
	Description      string     `json:"description,omitempty" yaml:"description,omitempty"`
	Credit           string     `json:"credit,omitempty" yaml:"credit,omitempty"`
	Tags             []string   `json:"tags,omitempty" yaml:"tags,omitempty"`
	OriginalFilename string     `json:"original_filename,omitempty" yaml:"original_filename,omitempty"`
	StoredFilename   string     `json:"stored_filename,omitempty" yaml:"stored_filename,omitempty"`
	Extension        string     `json:"extension,omitempty" yaml:"extension,omitempty"`
	MIMEType         string     `json:"mime_type,omitempty" yaml:"mime_type,omitempty"`
	Kind             string     `json:"kind,omitempty" yaml:"kind,omitempty"`
	ContentHash      string     `json:"content_hash,omitempty" yaml:"content_hash,omitempty"`
	FileSize         int64      `json:"file_size,omitempty" yaml:"file_size,omitempty"`
	Width            int        `json:"width,omitempty" yaml:"width,omitempty"`
	Height           int        `json:"height,omitempty" yaml:"height,omitempty"`
	FocalX           string     `json:"focal_x,omitempty" yaml:"focal_x,omitempty"`
	FocalY           string     `json:"focal_y,omitempty" yaml:"focal_y,omitempty"`
	UploadedAt       *time.Time `json:"uploaded_at,omitempty" yaml:"uploaded_at,omitempty"`
	UploadedBy       string     `json:"uploaded_by,omitempty" yaml:"uploaded_by,omitempty"`
}

type MediaMetadataSaveRequest

type MediaMetadataSaveRequest struct {
	Reference      string        `json:"reference"`
	Metadata       MediaMetadata `json:"metadata"`
	VersionComment string        `json:"version_comment,omitempty"`
	Actor          string        `json:"-"`
}

type MediaReplaceResponse

type MediaReplaceResponse struct {
	MediaItem
	Replaced bool `json:"replaced"`
}

type MediaUploadResponse

type MediaUploadResponse struct {
	MediaItem
	Created bool `json:"created"`
}

type OperationsLogResponse added in v1.3.4

type OperationsLogResponse struct {
	Source  string `json:"source"`
	LogPath string `json:"log_path,omitempty"`
	Content string `json:"content"`
}

type OperationsStatusResponse added in v1.3.4

type OperationsStatusResponse struct {
	ServiceInstalled bool          `json:"service_installed"`
	ServiceRunning   bool          `json:"service_running"`
	ServiceEnabled   bool          `json:"service_enabled"`
	ServiceMessage   string        `json:"service_message,omitempty"`
	ServiceName      string        `json:"service_name,omitempty"`
	ServiceFile      string        `json:"service_file,omitempty"`
	ServiceLog       string        `json:"service_log,omitempty"`
	StandalonePID    int           `json:"standalone_pid,omitempty"`
	StandaloneLog    string        `json:"standalone_log,omitempty"`
	StandaloneActive bool          `json:"standalone_active"`
	Checks           []HealthCheck `json:"checks,omitempty"`
}

type PasswordResetCompleteRequest

type PasswordResetCompleteRequest struct {
	Username    string `json:"username"`
	ResetToken  string `json:"reset_token"`
	NewPassword string `json:"new_password"`
	TOTPCode    string `json:"totp_code,omitempty"`
}

type PasswordResetStartRequest

type PasswordResetStartRequest struct {
	Username string `json:"username"`
}

type PasswordResetStartResponse

type PasswordResetStartResponse struct {
	Username   string `json:"username"`
	ResetToken string `json:"reset_token"`
	ExpiresIn  int    `json:"expires_in_seconds"`
}

type PluginDependency

type PluginDependency struct {
	Name     string `json:"name"`
	Version  string `json:"version,omitempty"`
	Optional bool   `json:"optional,omitempty"`
}

type PluginInstallRequest

type PluginInstallRequest struct {
	URL  string `json:"url"`
	Name string `json:"name,omitempty"`
}

type PluginRecord

type PluginRecord struct {
	Name                 string                 `json:"name"`
	Title                string                 `json:"title"`
	Version              string                 `json:"version"`
	Description          string                 `json:"description,omitempty"`
	Author               string                 `json:"author,omitempty"`
	Repo                 string                 `json:"repo,omitempty"`
	Enabled              bool                   `json:"enabled"`
	Status               string                 `json:"status"`
	Health               string                 `json:"health,omitempty"`
	CanRollback          bool                   `json:"can_rollback,omitempty"`
	CompatibilityVersion string                 `json:"compatibility_version,omitempty"`
	MinFoundryVersion    string                 `json:"min_foundry_version,omitempty"`
	FoundryAPI           string                 `json:"foundry_api,omitempty"`
	Requires             []string               `json:"requires,omitempty"`
	Dependencies         []PluginDependency     `json:"dependencies,omitempty"`
	ConfigSchema         []FieldSchema          `json:"config_schema,omitempty"`
	Diagnostics          []ValidationDiagnostic `json:"diagnostics,omitempty"`
}

type PluginStatus

type PluginStatus struct {
	Name    string `json:"name"`
	Title   string `json:"title"`
	Version string `json:"version"`
	Enabled bool   `json:"enabled"`
	Status  string `json:"status"`
}

type PluginToggleRequest

type PluginToggleRequest struct {
	Name string `json:"name"`
}

type RuntimeActivityStatus

type RuntimeActivityStatus struct {
	ActiveSessions      int            `json:"active_sessions"`
	ActiveDocumentLocks int            `json:"active_document_locks"`
	RecentAuditEvents   int            `json:"recent_audit_events"`
	RecentFailedLogins  int            `json:"recent_failed_logins"`
	RecentAuditByAction map[string]int `json:"recent_audit_by_action"`
	AuditWindowHours    int            `json:"audit_window_hours"`
}

type RuntimeBuildStatus

type RuntimeBuildStatus struct {
	GeneratedAt   time.Time `json:"generated_at"`
	Environment   string    `json:"environment"`
	Target        string    `json:"target,omitempty"`
	Preview       bool      `json:"preview"`
	DocumentCount int       `json:"document_count"`
	RouteCount    int       `json:"route_count"`
	PrepareMS     int64     `json:"prepare_ms"`
	AssetsMS      int64     `json:"assets_ms"`
	DocumentsMS   int64     `json:"documents_ms"`
	TaxonomiesMS  int64     `json:"taxonomies_ms"`
	SearchMS      int64     `json:"search_ms"`
}

type RuntimeContentStatus

type RuntimeContentStatus struct {
	DocumentCount     int            `json:"document_count"`
	RouteCount        int            `json:"route_count"`
	TaxonomyCount     int            `json:"taxonomy_count"`
	TaxonomyTermCount int            `json:"taxonomy_term_count"`
	ByType            map[string]int `json:"by_type"`
	ByLang            map[string]int `json:"by_lang"`
	ByStatus          map[string]int `json:"by_status"`
	MediaCounts       map[string]int `json:"media_counts"`
}

type RuntimeFileStat

type RuntimeFileStat struct {
	Path      string `json:"path"`
	SizeBytes int64  `json:"size_bytes"`
}

type RuntimeIntegrityStatus

type RuntimeIntegrityStatus struct {
	BrokenMediaRefs       int `json:"broken_media_refs"`
	BrokenInternalLinks   int `json:"broken_internal_links"`
	MissingTemplates      int `json:"missing_templates"`
	OrphanedMedia         int `json:"orphaned_media"`
	DuplicateURLs         int `json:"duplicate_urls"`
	DuplicateSlugs        int `json:"duplicate_slugs"`
	TaxonomyInconsistency int `json:"taxonomy_inconsistency"`
}

type RuntimeStatus

type RuntimeStatus struct {
	CapturedAt         time.Time              `json:"captured_at"`
	UptimeSeconds      int64                  `json:"uptime_seconds"`
	GoVersion          string                 `json:"go_version"`
	NumCPU             int                    `json:"num_cpu"`
	LiveReloadMode     string                 `json:"live_reload_mode"`
	HeapAllocBytes     uint64                 `json:"heap_alloc_bytes"`
	HeapInuseBytes     uint64                 `json:"heap_inuse_bytes"`
	HeapObjects        uint64                 `json:"heap_objects"`
	StackInuseBytes    uint64                 `json:"stack_inuse_bytes"`
	SysBytes           uint64                 `json:"sys_bytes"`
	NumGC              uint32                 `json:"num_gc"`
	NextGCBytes        uint64                 `json:"next_gc_bytes"`
	LastGCAt           *time.Time             `json:"last_gc_at,omitempty"`
	Goroutines         int                    `json:"goroutines"`
	ProcessUserCPUMS   int64                  `json:"process_user_cpu_ms"`
	ProcessSystemCPUMS int64                  `json:"process_system_cpu_ms"`
	Content            RuntimeContentStatus   `json:"content"`
	Storage            RuntimeStorageStatus   `json:"storage"`
	Integrity          RuntimeIntegrityStatus `json:"integrity"`
	Activity           RuntimeActivityStatus  `json:"activity"`
	LastBuild          *RuntimeBuildStatus    `json:"last_build,omitempty"`
}

type RuntimeStorageStatus

type RuntimeStorageStatus struct {
	ContentBytes        int64             `json:"content_bytes"`
	PublicBytes         int64             `json:"public_bytes"`
	MediaBytes          map[string]int64  `json:"media_bytes"`
	MediaCounts         map[string]int    `json:"media_counts"`
	DerivedVersionCount int               `json:"derived_version_count"`
	DerivedTrashCount   int               `json:"derived_trash_count"`
	DerivedBytes        int64             `json:"derived_bytes"`
	LargestFiles        []RuntimeFileStat `json:"largest_files"`
}

type SessionResponse

type SessionResponse struct {
	Authenticated bool     `json:"authenticated"`
	Username      string   `json:"username,omitempty"`
	Name          string   `json:"name,omitempty"`
	Email         string   `json:"email,omitempty"`
	Role          string   `json:"role,omitempty"`
	Capabilities  []string `json:"capabilities,omitempty"`
	MFAComplete   bool     `json:"mfa_complete,omitempty"`
	CSRFToken     string   `json:"csrf_token,omitempty"`
	TTLSeconds    int      `json:"ttl_seconds,omitempty"`
}

type SessionRevokeRequest

type SessionRevokeRequest struct {
	Username string `json:"username,omitempty"`
	All      bool   `json:"all,omitempty"`
}

type SessionRevokeResponse

type SessionRevokeResponse struct {
	Revoked int `json:"revoked"`
}

type SettingsFormResponse

type SettingsFormResponse struct {
	Path  string        `json:"path"`
	Value config.Config `json:"value"`
}

type SettingsFormSaveRequest

type SettingsFormSaveRequest struct {
	Value config.Config `json:"value"`
}

type SettingsSection

type SettingsSection struct {
	Key         string        `json:"key"`
	Title       string        `json:"title"`
	Capability  string        `json:"capability,omitempty"`
	Description string        `json:"description,omitempty"`
	Writable    bool          `json:"writable"`
	Schema      []FieldSchema `json:"schema,omitempty"`
	Source      string        `json:"source,omitempty"`
}

type SharedFieldContract added in v1.3.7

type SharedFieldContract struct {
	Key         string        `json:"key"`
	Title       string        `json:"title,omitempty"`
	Description string        `json:"description,omitempty"`
	Fields      []FieldSchema `json:"fields,omitempty"`
}

type SiteValidationResponse

type SiteValidationResponse struct {
	BrokenMediaRefs       []string `json:"broken_media_refs,omitempty"`
	BrokenInternalLinks   []string `json:"broken_internal_links,omitempty"`
	MissingTemplates      []string `json:"missing_templates,omitempty"`
	OrphanedMedia         []string `json:"orphaned_media,omitempty"`
	DuplicateURLs         []string `json:"duplicate_urls,omitempty"`
	DuplicateSlugs        []string `json:"duplicate_slugs,omitempty"`
	TaxonomyInconsistency []string `json:"taxonomy_inconsistency,omitempty"`
	MessageCount          int      `json:"message_count"`
}

type SystemStatus

type SystemStatus struct {
	Name           string           `json:"name"`
	Title          string           `json:"title"`
	BaseURL        string           `json:"base_url"`
	DefaultLang    string           `json:"default_lang"`
	PublicDir      string           `json:"public_dir"`
	ContentDir     string           `json:"content_dir"`
	DataDir        string           `json:"data_dir"`
	ThemesDir      string           `json:"themes_dir"`
	PluginsDir     string           `json:"plugins_dir"`
	AdminEnabled   bool             `json:"admin_enabled"`
	AdminLocalOnly bool             `json:"admin_local_only"`
	Content        ContentStatus    `json:"content"`
	Theme          ThemeStatus      `json:"theme"`
	Plugins        []PluginStatus   `json:"plugins"`
	Taxonomies     []TaxonomyStatus `json:"taxonomies"`
	Checks         []HealthCheck    `json:"checks"`
}

type TOTPDisableRequest

type TOTPDisableRequest struct {
	Username string `json:"username,omitempty"`
}

type TOTPEnableRequest

type TOTPEnableRequest struct {
	Username string `json:"username,omitempty"`
	Code     string `json:"code"`
}

type TOTPSetupRequest

type TOTPSetupRequest struct {
	Username string `json:"username,omitempty"`
}

type TOTPSetupResponse

type TOTPSetupResponse struct {
	Username        string `json:"username"`
	Secret          string `json:"secret"`
	ProvisioningURI string `json:"provisioning_uri"`
}

type TaxonomyStatus

type TaxonomyStatus struct {
	Name      string `json:"name"`
	TermCount int    `json:"term_count"`
}

type ThemeInstallRequest

type ThemeInstallRequest struct {
	URL  string `json:"url"`
	Name string `json:"name,omitempty"`
	Kind string `json:"kind,omitempty"`
}

type ThemeRecord

type ThemeRecord struct {
	Name                 string                 `json:"name"`
	Kind                 string                 `json:"kind,omitempty"`
	Title                string                 `json:"title"`
	Version              string                 `json:"version"`
	Description          string                 `json:"description"`
	Repo                 string                 `json:"repo,omitempty"`
	Current              bool                   `json:"current"`
	Valid                bool                   `json:"valid"`
	AdminAPI             string                 `json:"admin_api,omitempty"`
	SDKVersion           string                 `json:"sdk_version,omitempty"`
	CompatibilityVersion string                 `json:"compatibility_version,omitempty"`
	MinFoundryVersion    string                 `json:"min_foundry_version,omitempty"`
	SupportedLayouts     []string               `json:"supported_layouts,omitempty"`
	Components           []string               `json:"components,omitempty"`
	WidgetSlots          []string               `json:"widget_slots,omitempty"`
	Screenshots          []string               `json:"screenshots,omitempty"`
	ConfigSchema         []FieldSchema          `json:"config_schema,omitempty"`
	Diagnostics          []ValidationDiagnostic `json:"diagnostics,omitempty"`
}

type ThemeStatus

type ThemeStatus struct {
	Current     string `json:"current"`
	Title       string `json:"title"`
	Version     string `json:"version"`
	Valid       bool   `json:"valid"`
	Description string `json:"description,omitempty"`
}

type ThemeSwitchRequest

type ThemeSwitchRequest struct {
	Name string `json:"name"`
	Kind string `json:"kind,omitempty"`
}

type UpdateStatusResponse

type UpdateStatusResponse struct {
	Repo           string `json:"repo"`
	CurrentVersion string `json:"current_version"`
	LatestVersion  string `json:"latest_version"`
	HasUpdate      bool   `json:"has_update"`
	InstallMode    string `json:"install_mode"`
	ApplySupported bool   `json:"apply_supported"`
	ReleaseURL     string `json:"release_url,omitempty"`
	PublishedAt    string `json:"published_at,omitempty"`
	Body           string `json:"body,omitempty"`
	AssetName      string `json:"asset_name,omitempty"`
	Instructions   string `json:"instructions,omitempty"`
}

type UserDeleteRequest

type UserDeleteRequest struct {
	Username string `json:"username"`
}

type UserSaveRequest

type UserSaveRequest struct {
	Username     string   `json:"username"`
	Name         string   `json:"name"`
	Email        string   `json:"email"`
	Role         string   `json:"role,omitempty"`
	Capabilities []string `json:"capabilities,omitempty"`
	Password     string   `json:"password,omitempty"`
	Disabled     bool     `json:"disabled,omitempty"`
}

type UserSummary

type UserSummary struct {
	Username     string   `json:"username"`
	Name         string   `json:"name"`
	Email        string   `json:"email"`
	Role         string   `json:"role,omitempty"`
	Capabilities []string `json:"capabilities,omitempty"`
	Disabled     bool     `json:"disabled,omitempty"`
	TOTPEnabled  bool     `json:"totp_enabled,omitempty"`
}

type ValidationDiagnostic

type ValidationDiagnostic struct {
	Severity string `json:"severity"`
	Path     string `json:"path,omitempty"`
	Message  string `json:"message"`
}

Jump to

Keyboard shortcuts

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