feat(wip): site category

This commit is contained in:
Jacky 2024-10-24 23:09:16 +08:00
parent ed3c02fc6f
commit 7ad5cac3b8
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
73 changed files with 713 additions and 235 deletions

View file

@ -13,7 +13,7 @@ import (
func GetAcmeUser(c *gin.Context) {
u := query.AcmeUser
id := cast.ToInt(c.Param("id"))
id := cast.ToUint64(c.Param("id"))
user, err := u.FirstByID(id)
if err != nil {
api.ErrHandler(c, err)
@ -79,7 +79,7 @@ func RecoverAcmeUser(c *gin.Context) {
}
func RegisterAcmeUser(c *gin.Context) {
id := cast.ToInt(c.Param("id"))
id := cast.ToUint64(c.Param("id"))
u := query.AcmeUser
user, err := u.FirstByID(id)
if err != nil {

View file

@ -71,7 +71,7 @@ func GetCertList(c *gin.Context) {
func GetCert(c *gin.Context) {
q := query.Cert
certModel, err := q.FirstByID(cast.ToInt(c.Param("id")))
certModel, err := q.FirstByID(cast.ToUint64(c.Param("id")))
if err != nil {
api.ErrHandler(c, err)
@ -89,9 +89,9 @@ type certJson struct {
SSLCertificateKey string `json:"ssl_certificate_key" binding:"omitempty,privatekey"`
KeyType certcrypto.KeyType `json:"key_type" binding:"omitempty,auto_cert_key_type"`
ChallengeMethod string `json:"challenge_method"`
DnsCredentialID int `json:"dns_credential_id"`
ACMEUserID int `json:"acme_user_id"`
SyncNodeIds []int `json:"sync_node_ids"`
DnsCredentialID uint64 `json:"dns_credential_id"`
ACMEUserID uint64 `json:"acme_user_id"`
SyncNodeIds []uint64 `json:"sync_node_ids"`
}
func AddCert(c *gin.Context) {
@ -141,7 +141,7 @@ func AddCert(c *gin.Context) {
}
func ModifyCert(c *gin.Context) {
id := cast.ToInt(c.Param("id"))
id := cast.ToUint64(c.Param("id"))
var json certJson

View file

@ -12,7 +12,7 @@ import (
)
func GetDnsCredential(c *gin.Context) {
id := cast.ToInt(c.Param("id"))
id := cast.ToUint64(c.Param("id"))
d := query.DnsCredential
@ -70,7 +70,7 @@ func AddDnsCredential(c *gin.Context) {
}
func EditDnsCredential(c *gin.Context) {
id := cast.ToInt(c.Param("id"))
id := cast.ToUint64(c.Param("id"))
var json DnsCredentialManageJson
if !api.BindAndValid(c, &json) {

View file

@ -15,7 +15,7 @@ import (
)
func GetEnvironment(c *gin.Context) {
id := cast.ToInt(c.Param("id"))
id := cast.ToUint64(c.Param("id"))
envQuery := query.Environment
@ -67,7 +67,7 @@ func EditEnvironment(c *gin.Context) {
}
func DeleteEnvironment(c *gin.Context) {
id := cast.ToInt(c.Param("id"))
id := cast.ToUint64(c.Param("id"))
envQuery := query.Environment
env, err := envQuery.FirstByID(id)

View file

@ -6,7 +6,7 @@ func InitRouter(r *gin.RouterGroup) {
// Environment
r.GET("environments", GetEnvironmentList)
r.POST("environments/load_from_settings", LoadEnvironmentFromSettings)
envGroup := r.Group("environment")
envGroup := r.Group("environments")
{
envGroup.GET("/:id", GetEnvironment)
envGroup.POST("", AddEnvironment)

View file

@ -17,11 +17,11 @@ import (
func AddConfig(c *gin.Context) {
var json struct {
Name string `json:"name" binding:"required"`
NewFilepath string `json:"new_filepath" binding:"required"`
Content string `json:"content"`
Overwrite bool `json:"overwrite"`
SyncNodeIds []int `json:"sync_node_ids"`
Name string `json:"name" binding:"required"`
NewFilepath string `json:"new_filepath" binding:"required"`
Content string `json:"content"`
Overwrite bool `json:"overwrite"`
SyncNodeIds []uint64 `json:"sync_node_ids"`
}
if !api.BindAndValid(c, &json) {

View file

@ -14,8 +14,8 @@ import (
type APIConfigResp struct {
config.Config
SyncNodeIds []int `json:"sync_node_ids" gorm:"serializer:json"`
SyncOverwrite bool `json:"sync_overwrite"`
SyncNodeIds []uint64 `json:"sync_node_ids" gorm:"serializer:json"`
SyncOverwrite bool `json:"sync_overwrite"`
}
func GetConfig(c *gin.Context) {

View file

@ -21,12 +21,12 @@ type EditConfigJson struct {
func EditConfig(c *gin.Context) {
name := c.Param("name")
var json struct {
Name string `json:"name" binding:"required"`
Filepath string `json:"filepath" binding:"required"`
NewFilepath string `json:"new_filepath" binding:"required"`
Content string `json:"content"`
SyncOverwrite bool `json:"sync_overwrite"`
SyncNodeIds []int `json:"sync_node_ids"`
Name string `json:"name" binding:"required"`
Filepath string `json:"filepath" binding:"required"`
NewFilepath string `json:"new_filepath" binding:"required"`
Content string `json:"content"`
SyncOverwrite bool `json:"sync_overwrite"`
SyncNodeIds []uint64 `json:"sync_node_ids"`
}
if !api.BindAndValid(c, &json) {
return

View file

@ -14,10 +14,10 @@ import (
func Rename(c *gin.Context) {
var json struct {
BasePath string `json:"base_path"`
OrigName string `json:"orig_name"`
NewName string `json:"new_name"`
SyncNodeIds []int `json:"sync_node_ids" gorm:"serializer:json"`
BasePath string `json:"base_path"`
OrigName string `json:"orig_name"`
NewName string `json:"new_name"`
SyncNodeIds []uint64 `json:"sync_node_ids" gorm:"serializer:json"`
}
if !api.BindAndValid(c, &json) {
return

View file

@ -9,9 +9,9 @@ func InitRouter(r *gin.RouterGroup) {
r.GET("config_base_path", GetBasePath)
r.GET("configs", GetConfigs)
r.GET("config/*name", GetConfig)
r.POST("config", AddConfig)
r.POST("config/*name", EditConfig)
r.GET("configs/*name", GetConfig)
r.POST("configs", AddConfig)
r.POST("configs/*name", EditConfig)
o := r.Group("", middleware.RequireSecureSession())
{

View file

@ -13,7 +13,7 @@ import (
func Get(c *gin.Context) {
n := query.Notification
id := cast.ToInt(c.Param("id"))
id := cast.ToUint64(c.Param("id"))
data, err := n.FirstByID(id)

View file

@ -4,7 +4,7 @@ import "github.com/gin-gonic/gin"
func InitRouter(r *gin.RouterGroup) {
r.GET("notifications", GetList)
r.GET("notification/:id", Get)
r.DELETE("notification/:id", Destroy)
r.GET("notifications/:id", Get)
r.DELETE("notifications/:id", Destroy)
r.DELETE("notifications", DestroyAll)
}

View file

@ -13,7 +13,7 @@ func AddDomainToAutoCert(c *gin.Context) {
name := c.Param("name")
var json struct {
DnsCredentialID int `json:"dns_credential_id"`
DnsCredentialID uint64 `json:"dns_credential_id"`
ChallengeMethod string `json:"challenge_method"`
Domains []string `json:"domains"`
KeyType certcrypto.KeyType `json:"key_type"`

View file

@ -7,7 +7,7 @@ import (
)
func GetCategory(c *gin.Context) {
cosy.Core[model.SiteCategory](c).Get()
}
func GetCategoryList(c *gin.Context) {

View file

@ -4,22 +4,22 @@ import "github.com/gin-gonic/gin"
func InitRouter(r *gin.RouterGroup) {
r.GET("domains", GetSiteList)
r.GET("domain/:name", GetSite)
r.POST("domain/:name", SaveSite)
r.POST("domain/:name/enable", EnableSite)
r.POST("domain/:name/disable", DisableSite)
r.POST("domain/:name/advance", DomainEditByAdvancedMode)
r.DELETE("domain/:name", DeleteSite)
r.POST("domain/:name/duplicate", DuplicateSite)
r.GET("domains/:name", GetSite)
r.POST("domains/:name", SaveSite)
r.POST("domains/:name/enable", EnableSite)
r.POST("domains/:name/disable", DisableSite)
r.POST("domains/:name/advance", DomainEditByAdvancedMode)
r.DELETE("domains/:name", DeleteSite)
r.POST("domains/:name/duplicate", DuplicateSite)
r.POST("auto_cert/:name", AddDomainToAutoCert)
r.DELETE("auto_cert/:name", RemoveDomainFromAutoCert)
}
func InitCategoryRouter(r *gin.RouterGroup) {
r.GET("site_categories", GetCategoryList)
r.GET("site_category/:id", GetCategory)
r.POST("site_category", AddCategory)
r.PUT("site_category/:id", ModifyCategory)
r.DELETE("site_category/:id", DeleteCategory)
r.POST("site_category/:id/recover", RecoverCategory)
r.GET("site_categories/:id", GetCategory)
r.POST("site_categories", AddCategory)
r.POST("site_categories/:id", ModifyCategory)
r.DELETE("site_categories/:id", DeleteCategory)
r.POST("site_categories/:id/recover", RecoverCategory)
}

View file

@ -4,11 +4,11 @@ import "github.com/gin-gonic/gin"
func InitRouter(r *gin.RouterGroup) {
r.GET("streams", GetStreams)
r.GET("stream/:name", GetStream)
r.POST("stream/:name", SaveStream)
r.POST("stream/:name/enable", EnableStream)
r.POST("stream/:name/disable", DisableStream)
r.POST("stream/:name/advance", AdvancedEdit)
r.DELETE("stream/:name", DeleteStream)
r.POST("stream/:name/duplicate", Duplicate)
r.GET("streams/:name", GetStream)
r.POST("streams/:name", SaveStream)
r.POST("streams/:name/enable", EnableStream)
r.POST("streams/:name/disable", DisableStream)
r.POST("streams/:name/advance", AdvancedEdit)
r.DELETE("streams/:name", DeleteStream)
r.POST("streams/:name/duplicate", Duplicate)
}

View file

@ -3,9 +3,9 @@ package template
import "github.com/gin-gonic/gin"
func InitRouter(r *gin.RouterGroup) {
r.GET("template", GetTemplate)
r.GET("template/configs", GetTemplateConfList)
r.GET("template/blocks", GetTemplateBlockList)
r.GET("template/block/:name", GetTemplateBlock)
r.POST("template/block/:name", GetTemplateBlock)
r.GET("templates", GetTemplate)
r.GET("templates/configs", GetTemplateConfList)
r.GET("templates/blocks", GetTemplateBlockList)
r.GET("templates/block/:name", GetTemplateBlock)
r.POST("templates/block/:name", GetTemplateBlock)
}

View file

@ -23,7 +23,7 @@ import (
const passkeyTimeout = 30 * time.Second
func buildCachePasskeyRegKey(id int) string {
func buildCachePasskeyRegKey(id uint64) string {
return fmt.Sprintf("passkey-reg-%d", id)
}
@ -130,7 +130,7 @@ func FinishPasskeyLogin(c *gin.Context) {
LastUsedAt: time.Now().Unix(),
})
outUser, err = u.FirstByID(cast.ToInt(string(userHandle)))
outUser, err = u.FirstByID(cast.ToUint64(string(userHandle)))
return outUser, err
}, *sessionData, c.Request)
if err != nil {

View file

@ -19,11 +19,11 @@ func InitAuthRouter(r *gin.RouterGroup) {
func InitManageUserRouter(r *gin.RouterGroup) {
r.GET("users", GetUsers)
r.GET("user/:id", GetUser)
r.POST("user", AddUser)
r.POST("user/:id", EditUser)
r.DELETE("user/:id", DeleteUser)
r.PATCH("user/:id", RecoverUser)
r.GET("users/:id", GetUser)
r.POST("users", AddUser)
r.POST("users/:id", EditUser)
r.DELETE("users/:id", DeleteUser)
r.PATCH("users/:id", RecoverUser)
}
func InitUserRouter(r *gin.RouterGroup) {

View file

@ -17,7 +17,7 @@ func GetUsers(c *gin.Context) {
}
func GetUser(c *gin.Context) {
id := cast.ToInt(c.Param("id"))
id := cast.ToUint64(c.Param("id"))
u := query.User
@ -69,7 +69,7 @@ func AddUser(c *gin.Context) {
}
func EditUser(c *gin.Context) {
userId := cast.ToInt(c.Param("id"))
userId := cast.ToUint64(c.Param("id"))
if settings.NodeSettings.Demo && userId == 1 {
c.JSON(http.StatusNotAcceptable, gin.H{