Better avatar and banner APIs

This commit is contained in:
2024-06-26 17:07:20 +08:00
parent d540e86603
commit 7e4ca530fa
9 changed files with 131 additions and 20 deletions

View File

@ -19,10 +19,6 @@ func setAvatar(c *fiber.Ctx) error {
}
user := c.Locals("user").(models.Account)
if err := exts.EnsureAuthenticated(c); err != nil {
return err
}
var data struct {
AttachmentID uint `json:"attachment" validate:"required"`
}
@ -88,3 +84,29 @@ func setBanner(c *fiber.Ctx) error {
return c.SendStatus(fiber.StatusOK)
}
func getAvatar(c *fiber.Ctx) error {
if err := exts.EnsureAuthenticated(c); err != nil {
return err
}
user := c.Locals("user").(models.Account)
if content := user.GetAvatar(); content == nil {
return c.SendStatus(fiber.StatusNotFound)
} else {
return c.Redirect(*content, fiber.StatusNotFound)
}
}
func getBanner(c *fiber.Ctx) error {
if err := exts.EnsureAuthenticated(c); err != nil {
return err
}
user := c.Locals("user").(models.Account)
if content := user.GetBanner(); content == nil {
return c.SendStatus(fiber.StatusNotFound)
} else {
return c.Redirect(*content, fiber.StatusNotFound)
}
}

View File

@ -22,6 +22,8 @@ func MapAPIs(app *fiber.App) {
me := api.Group("/users/me").Name("Myself Operations")
{
me.Get("/avatar", getAvatar)
me.Get("/banner", getBanner)
me.Put("/avatar", setAvatar)
me.Put("/banner", setBanner)