Files
opsx-vpn/backend/internal/api/tls.go
T

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})
}