mirror of https://gitee.com/answerdev/answer.git
113 lines
3.5 KiB
Go
113 lines
3.5 KiB
Go
package controller_backyard
|
|
|
|
import (
|
|
"github.com/answerdev/answer/internal/base/handler"
|
|
"github.com/answerdev/answer/internal/schema"
|
|
"github.com/answerdev/answer/internal/service/siteinfo"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type SiteInfoController struct {
|
|
siteInfoService *siteinfo.SiteInfoService
|
|
}
|
|
|
|
// NewSiteInfoController new siteinfo controller.
|
|
func NewSiteInfoController(siteInfoService *siteinfo.SiteInfoService) *SiteInfoController {
|
|
return &SiteInfoController{
|
|
siteInfoService: siteInfoService,
|
|
}
|
|
}
|
|
|
|
// GetGeneral get site general information
|
|
// @Summary get site general information
|
|
// @Description get site general information
|
|
// @Security ApiKeyAuth
|
|
// @Tags admin
|
|
// @Produce json
|
|
// @Success 200 {object} handler.RespBody{data=schema.SiteGeneralResp}
|
|
// @Router /answer/admin/api/siteinfo/general [get]
|
|
func (sc *SiteInfoController) GetGeneral(ctx *gin.Context) {
|
|
resp, err := sc.siteInfoService.GetSiteGeneral(ctx)
|
|
handler.HandleResponse(ctx, err, resp)
|
|
}
|
|
|
|
// GetInterface get site interface
|
|
// @Summary get site interface
|
|
// @Description get site interface
|
|
// @Security ApiKeyAuth
|
|
// @Tags admin
|
|
// @Produce json
|
|
// @Success 200 {object} handler.RespBody{data=schema.SiteInterfaceResp}
|
|
// @Router /answer/admin/api/siteinfo/interface [get]
|
|
func (sc *SiteInfoController) GetInterface(ctx *gin.Context) {
|
|
resp, err := sc.siteInfoService.GetSiteInterface(ctx)
|
|
handler.HandleResponse(ctx, err, resp)
|
|
}
|
|
|
|
// UpdateGeneral update site general information
|
|
// @Summary update site general information
|
|
// @Description update site general information
|
|
// @Security ApiKeyAuth
|
|
// @Tags admin
|
|
// @Produce json
|
|
// @Param data body schema.SiteGeneralReq true "general"
|
|
// @Success 200 {object} handler.RespBody{}
|
|
// @Router /answer/admin/api/siteinfo/general [put]
|
|
func (sc *SiteInfoController) UpdateGeneral(ctx *gin.Context) {
|
|
req := schema.SiteGeneralReq{}
|
|
if handler.BindAndCheck(ctx, &req) {
|
|
return
|
|
}
|
|
err := sc.siteInfoService.SaveSiteGeneral(ctx, req)
|
|
handler.HandleResponse(ctx, err, nil)
|
|
}
|
|
|
|
// UpdateInterface update site interface
|
|
// @Summary update site info interface
|
|
// @Description update site info interface
|
|
// @Security ApiKeyAuth
|
|
// @Tags admin
|
|
// @Produce json
|
|
// @Param data body schema.SiteInterfaceReq true "general"
|
|
// @Success 200 {object} handler.RespBody{}
|
|
// @Router /answer/admin/api/siteinfo/interface [put]
|
|
func (sc *SiteInfoController) UpdateInterface(ctx *gin.Context) {
|
|
req := schema.SiteInterfaceReq{}
|
|
if handler.BindAndCheck(ctx, &req) {
|
|
return
|
|
}
|
|
err := sc.siteInfoService.SaveSiteInterface(ctx, req)
|
|
handler.HandleResponse(ctx, err, nil)
|
|
}
|
|
|
|
// GetSMTPConfig get smtp config
|
|
// @Summary GetSMTPConfig get smtp config
|
|
// @Description GetSMTPConfig get smtp config
|
|
// @Security ApiKeyAuth
|
|
// @Tags admin
|
|
// @Produce json
|
|
// @Success 200 {object} handler.RespBody{data=schema.GetSMTPConfigResp}
|
|
// @Router /answer/admin/api/setting/smtp [get]
|
|
func (sc *SiteInfoController) GetSMTPConfig(ctx *gin.Context) {
|
|
resp, err := sc.siteInfoService.GetSMTPConfig(ctx)
|
|
handler.HandleResponse(ctx, err, resp)
|
|
}
|
|
|
|
// UpdateSMTPConfig update smtp config
|
|
// @Summary update smtp config
|
|
// @Description update smtp config
|
|
// @Security ApiKeyAuth
|
|
// @Tags admin
|
|
// @Produce json
|
|
// @Param data body schema.UpdateSMTPConfigReq true "smtp config"
|
|
// @Success 200 {object} handler.RespBody{}
|
|
// @Router /answer/admin/api/setting/smtp [put]
|
|
func (sc *SiteInfoController) UpdateSMTPConfig(ctx *gin.Context) {
|
|
req := &schema.UpdateSMTPConfigReq{}
|
|
if handler.BindAndCheck(ctx, req) {
|
|
return
|
|
}
|
|
err := sc.siteInfoService.UpdateSMTPConfig(ctx, req)
|
|
handler.HandleResponse(ctx, err, nil)
|
|
}
|