fix: harden auth flows and align api contracts

This commit is contained in:
Your Name
2026-05-30 21:29:24 +08:00
parent 7ad65a0138
commit a332917142
50 changed files with 23594 additions and 723 deletions

View File

@@ -27,7 +27,7 @@ func NewThemeHandler(themeService *service.ThemeService) *ThemeHandler {
// @Produce json
// @Security BearerAuth
// @Param request body service.CreateThemeRequest true "主题信息"
// @Success 201 {object} Response{data=domain.Theme} "主题创建成功"
// @Success 201 {object} Response{data=SwaggerTheme} "主题创建成功"
// @Failure 400 {object} Response "请求参数错误"
// @Failure 401 {object} Response "未认证"
// @Failure 500 {object} Response "服务器错误"
@@ -61,7 +61,7 @@ func (h *ThemeHandler) CreateTheme(c *gin.Context) {
// @Security BearerAuth
// @Param id path int true "主题ID"
// @Param request body service.UpdateThemeRequest true "更新信息"
// @Success 200 {object} Response{data=domain.Theme} "主题更新成功"
// @Success 200 {object} Response{data=SwaggerTheme} "主题更新成功"
// @Failure 400 {object} Response "请求参数错误"
// @Failure 401 {object} Response "未认证"
// @Failure 500 {object} Response "服务器错误"
@@ -129,7 +129,7 @@ func (h *ThemeHandler) DeleteTheme(c *gin.Context) {
// @Produce json
// @Security BearerAuth
// @Param id path int true "主题ID"
// @Success 200 {object} Response{data=domain.Theme} "主题详情"
// @Success 200 {object} Response{data=SwaggerTheme} "主题详情"
// @Failure 400 {object} Response "请求参数错误"
// @Failure 401 {object} Response "未认证"
// @Failure 500 {object} Response "服务器错误"
@@ -160,7 +160,7 @@ func (h *ThemeHandler) GetTheme(c *gin.Context) {
// @Tags 主题管理
// @Produce json
// @Security BearerAuth
// @Success 200 {object} Response{data=[]domain.Theme} "主题列表"
// @Success 200 {object} Response{data=[]SwaggerTheme} "主题列表"
// @Failure 401 {object} Response "未认证"
// @Failure 500 {object} Response "服务器错误"
// @Router /api/v1/themes [get]
@@ -184,10 +184,10 @@ func (h *ThemeHandler) ListThemes(c *gin.Context) {
// @Tags 主题管理
// @Produce json
// @Security BearerAuth
// @Success 200 {object} Response{data=[]domain.Theme} "主题列表"
// @Success 200 {object} Response{data=[]SwaggerTheme} "主题列表"
// @Failure 401 {object} Response "未认证"
// @Failure 500 {object} Response "服务器错误"
// @Router /api/v1/themes/all [get]
// @Router /api/v1/themes [get]
func (h *ThemeHandler) ListAllThemes(c *gin.Context) {
themes, err := h.themeService.ListAllThemes(c.Request.Context())
if err != nil {
@@ -208,7 +208,7 @@ func (h *ThemeHandler) ListAllThemes(c *gin.Context) {
// @Tags 主题管理
// @Produce json
// @Security BearerAuth
// @Success 200 {object} Response{data=domain.Theme} "默认主题"
// @Success 200 {object} Response{data=SwaggerTheme} "默认主题"
// @Failure 401 {object} Response "未认证"
// @Failure 500 {object} Response "服务器错误"
// @Router /api/v1/themes/default [get]
@@ -237,7 +237,7 @@ func (h *ThemeHandler) GetDefaultTheme(c *gin.Context) {
// @Failure 400 {object} Response "请求参数错误"
// @Failure 401 {object} Response "未认证"
// @Failure 500 {object} Response "服务器错误"
// @Router /api/v1/themes/{id}/default [put]
// @Router /api/v1/themes/default/{id} [put]
func (h *ThemeHandler) SetDefaultTheme(c *gin.Context) {
id, err := strconv.ParseInt(c.Param("id"), 10, 64)
if err != nil {
@@ -261,9 +261,9 @@ func (h *ThemeHandler) SetDefaultTheme(c *gin.Context) {
// @Description 获取当前系统正在使用的主题(公开接口)
// @Tags 主题管理
// @Produce json
// @Success 200 {object} Response{data=domain.Theme} "当前生效主题"
// @Success 200 {object} Response{data=SwaggerTheme} "当前生效主题"
// @Failure 500 {object} Response "服务器错误"
// @Router /api/v1/themes/active [get]
// @Router /api/v1/theme/active [get]
func (h *ThemeHandler) GetActiveTheme(c *gin.Context) {
theme, err := h.themeService.GetActiveTheme(c.Request.Context())
if err != nil {