33 lines
889 B
Go
33 lines
889 B
Go
package api
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
"vpn-platform/backend/internal/service"
|
|
"vpn-platform/backend/internal/store"
|
|
"vpn-platform/backend/internal/tlsservice"
|
|
)
|
|
|
|
func (s *Server) tlsStatus(c *gin.Context) {
|
|
c.JSON(http.StatusOK, tlsservice.Status())
|
|
}
|
|
|
|
func (s *Server) setTLSDomain(c *gin.Context) {
|
|
var req struct {
|
|
Domain string `json:"domain"`
|
|
}
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
c.JSON(http.StatusBadRequest, gin.H{"error": "请输入域名"})
|
|
return
|
|
}
|
|
if err := tlsservice.ConfigureDomain(service.BaseDir(), req.Domain); err != nil {
|
|
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
|
return
|
|
}
|
|
store.Audit(c.GetString("username"), "tls_domain_configured", req.Domain, "需重启后生效")
|
|
status := tlsservice.Status()
|
|
c.JSON(http.StatusOK, gin.H{"status": status, "restart_required": status.RestartRequired})
|
|
}
|