🐛 Fix wont link account to local model

This commit is contained in:
2024-07-16 14:41:51 +08:00
parent 2f2a39d93d
commit f601476e6b
3 changed files with 31 additions and 51 deletions

View File

@ -8,6 +8,7 @@ import (
"git.solsynth.dev/hydrogen/dealer/pkg/hyper"
"git.solsynth.dev/hydrogen/dealer/pkg/internal/directory"
"git.solsynth.dev/hydrogen/dealer/pkg/internal/models"
"git.solsynth.dev/hydrogen/dealer/pkg/proto"
"github.com/gofiber/fiber/v2"
jsoniter "github.com/json-iterator/go"
@ -117,3 +118,23 @@ func EnsureGrantedPerm(c *fiber.Ctx, key string, val any) error {
}
return nil
}
func LinkAccountMiddleware(c *fiber.Ctx) error {
if val, ok := c.Locals("p_user").(*proto.UserInfo); ok {
account := models.Account{
BaseModel: models.BaseModel{
ID: uint(val.Id),
},
Name: val.Name,
Nick: val.Nick,
Avatar: val.Avatar,
Banner: val.Banner,
Description: val.GetDescription(),
EmailAddress: val.GetEmail(),
}
c.Locals("user", account)
}
return c.Next()
}