@@ -12,6 +12,7 @@ import (
|
||||
// settingsHandler 处理系统设置(Telegram 通知)相关请求。
|
||||
type settingsHandler struct {
|
||||
svc *service.SettingService
|
||||
auth *service.AuthService
|
||||
notifier *service.Notifier
|
||||
}
|
||||
|
||||
@@ -323,6 +324,9 @@ func (h *settingsHandler) getSecurity(c *gin.Context) {
|
||||
// @Tags 设置
|
||||
// @Param body body service.SecurityPatch true "出现的字段才会被更新"
|
||||
// @Success 200 {object} service.SecuritySettings
|
||||
// @Failure 400 {object} errorResponse "字段越界或非法"
|
||||
// @Failure 401 {object} errorResponse "请求处理期间会话已撤销"
|
||||
// @Failure 409 {object} errorResponse "密码登录禁用期间,面板地址变更将移除最后可用登录方式"
|
||||
// @Security BearerAuth
|
||||
// @Router /api/v1/settings/security [patch]
|
||||
func (h *settingsHandler) updateSecurity(c *gin.Context) {
|
||||
@@ -331,11 +335,17 @@ func (h *settingsHandler) updateSecurity(c *gin.Context) {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
if err := h.svc.UpdateSecurity(c.Request.Context(), req); err != nil {
|
||||
err := h.svc.UpdateSecurityAuthenticated(
|
||||
c.Request.Context(), req, h.auth, c.GetString(usernameKey), tokenProofOf(c))
|
||||
if err != nil {
|
||||
if errors.Is(err, service.ErrInvalidSecurity) {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
if errors.Is(err, service.ErrProviderLastLogin) {
|
||||
c.JSON(http.StatusConflict, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
respondError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user