39 lines
1.1 KiB
Go
39 lines
1.1 KiB
Go
package controllers
|
||
|
||
import (
|
||
"cmii-uav-watchdog-center/services"
|
||
"cmii-uav-watchdog-common/models"
|
||
"net/http"
|
||
|
||
"github.com/gin-gonic/gin"
|
||
)
|
||
|
||
// ProcessAuthorizationFile 处理授权文件
|
||
// @Summary 处理授权文件
|
||
// @Description 接收来自cmii-uav-watchdog的授权文件,解码并生成授权码
|
||
// @Accept json
|
||
// @Produce json
|
||
// @Param authFile body models.AuthorizationFile true "授权文件"
|
||
// @Success 200 {object} models.AuthorizationCode "授权码"
|
||
// @Failure 400 {object} map[string]string "请求错误"
|
||
// @Failure 401 {object} map[string]string "未授权"
|
||
// @Router /api/v1/auth/process [post]
|
||
func ProcessAuthorizationFile(c *gin.Context) {
|
||
var authFile models.AuthorizationFile
|
||
|
||
// 解析请求体
|
||
if err := c.ShouldBindJSON(&authFile); err != nil {
|
||
c.JSON(http.StatusBadRequest, gin.H{"error": "无效的请求体"})
|
||
return
|
||
}
|
||
|
||
authCode, err := services.ProcessAuthorizationFile(authFile)
|
||
if err != nil {
|
||
c.JSON(http.StatusInternalServerError, gin.H{"error": "生成授权码失败"})
|
||
return
|
||
}
|
||
|
||
// 返回授权码
|
||
c.JSON(http.StatusOK, authCode)
|
||
}
|