| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | package certificateimport (	"github.com/0xJacky/Nginx-UI/api"	"github.com/0xJacky/Nginx-UI/internal/cosy"	"github.com/0xJacky/Nginx-UI/model"	"github.com/0xJacky/Nginx-UI/query"	"github.com/0xJacky/Nginx-UI/settings"	"github.com/gin-gonic/gin"	"github.com/spf13/cast"	"net/http")func GetAcmeUser(c *gin.Context) {	u := query.AcmeUser	id := cast.ToInt(c.Param("id"))	user, err := u.FirstByID(id)	if err != nil {		api.ErrHandler(c, err)		return	}	c.JSON(http.StatusOK, user)}func CreateAcmeUser(c *gin.Context) {	cosy.Core[model.AcmeUser](c).SetValidRules(gin.H{		"name":   "required",		"email":  "required,email",		"ca_dir": "omitempty",	}).BeforeExecuteHook(func(ctx *cosy.Ctx[model.AcmeUser]) {		if ctx.Model.CADir == "" {			ctx.Model.CADir = settings.ServerSettings.CADir		}		err := ctx.Model.Register()		if err != nil {			ctx.AbortWithError(err)			return		}	}).Create()}func ModifyAcmeUser(c *gin.Context) {	cosy.Core[model.AcmeUser](c).SetValidRules(gin.H{		"name":   "omitempty",		"email":  "omitempty,email",		"ca_dir": "omitempty",	}).BeforeExecuteHook(func(ctx *cosy.Ctx[model.AcmeUser]) {		if ctx.Model.CADir == "" {			ctx.Model.CADir = settings.ServerSettings.CADir		}		if ctx.OriginModel.Email != ctx.Model.Email ||			ctx.OriginModel.CADir != ctx.Model.CADir {			err := ctx.Model.Register()			if err != nil {				ctx.AbortWithError(err)				return			}		}	}).Modify()}func GetAcmeUserList(c *gin.Context) {	cosy.Core[model.AcmeUser](c).		SetFussy("name", "email").		PagingList()}func DestroyAcmeUser(c *gin.Context) {	cosy.Core[model.AcmeUser](c).Destroy()}func RecoverAcmeUser(c *gin.Context) {	cosy.Core[model.AcmeUser](c).Recover()}func RegisterAcmeUser(c *gin.Context) {	id := cast.ToInt(c.Param("id"))	u := query.AcmeUser	user, err := u.FirstByID(id)	if err != nil {		api.ErrHandler(c, err)		return	}	err = user.Register()	if err != nil {		api.ErrHandler(c, err)		return	}	_, err = u.Where(u.ID.Eq(id)).Updates(user)	if err != nil {		api.ErrHandler(c, err)		return	}	c.JSON(http.StatusOK, user)}
 |