mirror of
https://github.com/CJackHwang/ds2api.git
synced 2026-05-05 08:55:28 +08:00
40 lines
1.0 KiB
Go
40 lines
1.0 KiB
Go
package admin
|
|
|
|
import (
|
|
"github.com/go-chi/chi/v5"
|
|
|
|
"ds2api/internal/account"
|
|
"ds2api/internal/config"
|
|
"ds2api/internal/deepseek"
|
|
)
|
|
|
|
type Handler struct {
|
|
Store *config.Store
|
|
Pool *account.Pool
|
|
DS *deepseek.Client
|
|
}
|
|
|
|
func RegisterRoutes(r chi.Router, h *Handler) {
|
|
r.Post("/login", h.login)
|
|
r.Get("/verify", h.verify)
|
|
r.Group(func(pr chi.Router) {
|
|
pr.Use(h.requireAdmin)
|
|
pr.Get("/vercel/config", h.getVercelConfig)
|
|
pr.Get("/config", h.getConfig)
|
|
pr.Post("/config", h.updateConfig)
|
|
pr.Post("/keys", h.addKey)
|
|
pr.Delete("/keys/{key}", h.deleteKey)
|
|
pr.Get("/accounts", h.listAccounts)
|
|
pr.Post("/accounts", h.addAccount)
|
|
pr.Delete("/accounts/{identifier}", h.deleteAccount)
|
|
pr.Get("/queue/status", h.queueStatus)
|
|
pr.Post("/accounts/test", h.testSingleAccount)
|
|
pr.Post("/accounts/test-all", h.testAllAccounts)
|
|
pr.Post("/import", h.batchImport)
|
|
pr.Post("/test", h.testAPI)
|
|
pr.Post("/vercel/sync", h.syncVercel)
|
|
pr.Get("/vercel/status", h.vercelStatus)
|
|
pr.Get("/export", h.exportConfig)
|
|
})
|
|
}
|