mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-25 08:59:31 -05:00
e81ccc406b
Change all license headers to comply with REUSE specification. Fix #16132 Co-authored-by: flynnnnnnnnnn <flynnnnnnnnnn@github> Co-authored-by: John Olheiser <john.olheiser@gmail.com>
41 lines
902 B
Go
41 lines
902 B
Go
// Copyright 2022 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package user
|
|
|
|
import (
|
|
"context"
|
|
|
|
"code.gitea.io/gitea/models/db"
|
|
)
|
|
|
|
// Badge represents a user badge
|
|
type Badge struct {
|
|
ID int64 `xorm:"pk autoincr"`
|
|
Description string
|
|
ImageURL string
|
|
}
|
|
|
|
// UserBadge represents a user badge
|
|
type UserBadge struct {
|
|
ID int64 `xorm:"pk autoincr"`
|
|
BadgeID int64
|
|
UserID int64 `xorm:"INDEX"`
|
|
}
|
|
|
|
func init() {
|
|
db.RegisterModel(new(Badge))
|
|
db.RegisterModel(new(UserBadge))
|
|
}
|
|
|
|
// GetUserBadges returns the user's badges.
|
|
func GetUserBadges(ctx context.Context, u *User) ([]*Badge, int64, error) {
|
|
sess := db.GetEngine(ctx).
|
|
Select("`badge`.*").
|
|
Join("INNER", "user_badge", "`user_badge`.badge_id=badge.id").
|
|
Where("user_badge.user_id=?", u.ID)
|
|
|
|
badges := make([]*Badge, 0, 8)
|
|
count, err := sess.FindAndCount(&badges)
|
|
return badges, count, err
|
|
}
|