File size: 1,803 Bytes
8059bf0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package handler

import (
	"github.com/Wei-Shaw/sub2api/internal/handler/admin"
)

// AdminHandlers contains all admin-related HTTP handlers
type AdminHandlers struct {
	Dashboard        *admin.DashboardHandler
	User             *admin.UserHandler
	Group            *admin.GroupHandler
	Account          *admin.AccountHandler
	Announcement     *admin.AnnouncementHandler
	DataManagement   *admin.DataManagementHandler
	Backup           *admin.BackupHandler
	OAuth            *admin.OAuthHandler
	OpenAIOAuth      *admin.OpenAIOAuthHandler
	GeminiOAuth      *admin.GeminiOAuthHandler
	AntigravityOAuth *admin.AntigravityOAuthHandler
	Proxy            *admin.ProxyHandler
	Redeem           *admin.RedeemHandler
	Promo            *admin.PromoHandler
	Setting          *admin.SettingHandler
	Ops              *admin.OpsHandler
	System           *admin.SystemHandler
	Subscription     *admin.SubscriptionHandler
	Usage            *admin.UsageHandler
	UserAttribute    *admin.UserAttributeHandler
	ErrorPassthrough *admin.ErrorPassthroughHandler
	APIKey           *admin.AdminAPIKeyHandler
	ScheduledTest    *admin.ScheduledTestHandler
}

// Handlers contains all HTTP handlers
type Handlers struct {
	Auth          *AuthHandler
	User          *UserHandler
	APIKey        *APIKeyHandler
	Usage         *UsageHandler
	Redeem        *RedeemHandler
	Subscription  *SubscriptionHandler
	Announcement  *AnnouncementHandler
	Admin         *AdminHandlers
	Gateway       *GatewayHandler
	OpenAIGateway *OpenAIGatewayHandler
	SoraGateway   *SoraGatewayHandler
	SoraClient    *SoraClientHandler
	Setting       *SettingHandler
	Totp          *TotpHandler
}

// BuildInfo contains build-time information
type BuildInfo struct {
	Version   string
	BuildType string // "source" for manual builds, "release" for CI builds
}