Files
crawlab/core/controllers/token_v2.go
2024-11-01 15:19:48 +08:00

36 lines
796 B
Go

package controllers
import (
"github.com/crawlab-team/crawlab/core/models/models/v2"
"github.com/crawlab-team/crawlab/core/models/service"
"github.com/crawlab-team/crawlab/core/user"
"github.com/gin-gonic/gin"
)
func PostToken(c *gin.Context) {
var t models.TokenV2
if err := c.ShouldBindJSON(&t); err != nil {
HandleErrorBadRequest(c, err)
return
}
svc, err := user.GetUserServiceV2()
if err != nil {
HandleErrorInternalServerError(c, err)
return
}
u := GetUserFromContext(c)
t.SetCreated(u.Id)
t.SetUpdated(u.Id)
t.Token, err = svc.MakeToken(u)
if err != nil {
HandleErrorInternalServerError(c, err)
return
}
_, err = service.NewModelService[models.TokenV2]().InsertOne(t)
if err != nil {
HandleErrorInternalServerError(c, err)
return
}
HandleSuccess(c)
}