acme-mana-server-go/handler/domain.go
ZhuoQinghui 4d415a390e feat(acme): 重构 ACME 相关功能并添加域名申请功能
- 重构了 ACME 相关的代码结构,增加了 Apply、GetProvider 和 ReNew函数
- 新增了域名申请功能,包括添加域名和申请证书
- 更新了数据库模型和相关接口,以支持新的域名申请功能
- 引入了 Cloudflare 的 DNS 提供商配置
2025-05-05 14:31:44 +08:00

60 lines
1.2 KiB
Go

package handler
import (
"acme-mana-server-go/model"
"acme-mana-server-go/service"
"acme-mana-server-go/vo"
"github.com/gin-gonic/gin"
"strconv"
)
var domainService = &service.DomainService{}
type DomainHandler struct {
}
func (d *DomainHandler) Register(r *gin.RouterGroup) {
group := r.Group("/domain")
group.GET("/:id", d.Get)
group.POST("/", d.Add)
group.POST("/page", d.Page)
}
func (d *DomainHandler) Add(c *gin.Context) {
var req vo.DomainAddReq
err := c.ShouldBindJSON(&req)
if err != nil {
c.JSON(200, vo.Fail(err.Error()))
return
}
domain := &model.Domain{
AcmeUserId: req.AcmeUserId,
Name: req.Name,
Hosts: req.Hosts,
Provider: req.Provider,
ProviderConf: req.ProviderConf,
}
domainService.Add(domain)
c.JSON(200, vo.Success(nil))
}
func (d *DomainHandler) Get(c *gin.Context) {
idStr := c.Param("id")
id, err := strconv.Atoi(idStr)
if err != nil {
panic(err)
}
domain := domainService.Get(id)
c.JSON(200, vo.Success(domain))
}
func (d *DomainHandler) Page(c *gin.Context) {
req := &vo.DomainPageReq{}
err := c.ShouldBindJSON(req)
if err != nil {
panic(err)
}
total, list := domainService.Page(req)
c.JSON(200, vo.Success(vo.PageResult{Total: total, List: list}))
}