package endpoints import ( "file-system/internal/api/handlers" "file-system/internal/infrastructure/mediator" "github.com/gin-gonic/gin" ) // AuthEndpoint 认证端点 type AuthEndpoint struct { mediator *mediator.Mediator } // NewAuthEndpoint 创建认证端点 func NewAuthEndpoint(m *mediator.Mediator) *AuthEndpoint { return &AuthEndpoint{ mediator: m, } } // Login 用户登录 // @Summary 用户登录 // @Description 使用 API 密钥登录 // @Tags 认证 // @Accept json // @Produce json // @Param request body handlers.LoginQuery true "登录信息" // @Success 200 {object} handlers.LoginResult // @Router /auth/login [post] func (e *AuthEndpoint) Login(c *gin.Context) { var query handlers.LoginQuery if err := c.ShouldBindJSON(&query); err != nil { c.JSON(400, gin.H{"error": "请求参数错误"}) return } result, err := mediator.Send[handlers.LoginQuery, handlers.LoginResult](e.mediator, c.Request.Context(), query) if err != nil { c.JSON(500, gin.H{"error": err.Error()}) return } c.JSON(200, result) }