feat(server): return avatarTag in the login payload

This commit is contained in:
Deluan 2026-09-07 20:18:14 -04:00
commit c5303e06e1
2 changed files with 15 additions and 0 deletions

View file

@ -80,6 +80,9 @@ func buildAuthPayload(user *model.User) map[string]any {
if conf.Server.EnableGravatar && user.Email != "" {
payload["avatar"] = gravatar.Url(user.Email, 50)
}
if tag := user.AvatarTag(); tag != "" {
payload["avatarTag"] = tag
}
bytes := make([]byte, 3)
_, err := rand.Read(bytes)

View file

@ -216,6 +216,18 @@ var _ = Describe("Auth", func() {
Expect(parsed["token"]).ToNot(BeEmpty())
})
})
Describe("buildAuthPayload", func() {
It("includes avatarTag when the user has an uploaded avatar", func() {
u := &model.User{ID: "u1", UserName: "deluan", UploadedImage: "u1_deluan.png", UpdatedAt: time.Unix(1000, 0)}
Expect(buildAuthPayload(u)["avatarTag"]).To(Equal(u.AvatarTag()))
})
It("omits avatarTag when there is none", func() {
u := &model.User{ID: "u1", UserName: "deluan"}
Expect(buildAuthPayload(u)).ToNot(HaveKey("avatarTag"))
})
})
})
Describe("tokenFromHeader", func() {