gitea/modules/structs/repo_pages.go
logikonline b816ee4eec feat: add Phases 3-5 enhancements (org profiles, pages, wiki v2 API)
Phase 3: Organization Public Profile Page
- Pinned repositories with groups
- Public members display with roles
- API endpoints for pinned repos and groups

Phase 4: Gitea Pages Foundation
- Landing page templates (simple, docs, product, portfolio)
- Custom domain support with verification
- YAML configuration parser (.gitea/landing.yaml)
- Repository settings UI for pages

Phase 5: Enhanced Wiki System with V2 API
- Full CRUD operations via v2 API
- Full-text search with WikiIndex table
- Link graph visualization
- Wiki health metrics (orphaned, dead links, outdated)
- Designed for external AI plugin integration
- Developer guide for .NET integration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 15:14:27 -05:00

48 lines
1.6 KiB
Go

// Copyright 2026 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package structs
import "time"
// PagesConfig represents the pages configuration for a repository
type PagesConfig struct {
Enabled bool `json:"enabled"`
Template string `json:"template"`
Subdomain string `json:"subdomain,omitempty"`
URL string `json:"url,omitempty"`
}
// PagesDomain represents a custom domain for Gitea Pages
type PagesDomain struct {
ID int64 `json:"id"`
Domain string `json:"domain"`
Verified bool `json:"verified"`
VerificationToken string `json:"verification_token,omitempty"`
SSLStatus string `json:"ssl_status"`
SSLCertExpiry time.Time `json:"ssl_cert_expiry,omitempty"`
Created time.Time `json:"created_at"`
Verified_At time.Time `json:"verified_at,omitempty"`
}
// CreatePagesConfigOption options for creating/updating pages config
type CreatePagesConfigOption struct {
// Whether pages is enabled
Enabled bool `json:"enabled"`
// Template to use (simple, documentation, product, portfolio)
Template string `json:"template" binding:"In(simple,documentation,product,portfolio)"`
}
// AddPagesDomainOption options for adding a custom domain
type AddPagesDomainOption struct {
// The custom domain to add
// required: true
Domain string `json:"domain" binding:"Required"`
}
// PagesInfo represents the full pages information for a repository
type PagesInfo struct {
Config *PagesConfig `json:"config"`
Domains []*PagesDomain `json:"domains,omitempty"`
}