add date to badges endpoint and rapair 404 response if user or badges dont exist

This commit is contained in:
Stanislaw
2023-01-26 09:14:38 +01:00
parent 4c33520f46
commit d5fc6420d9

View File

@@ -2,13 +2,27 @@ package v1
import (
"gractwo-api/database"
"time"
"github.com/gin-gonic/gin"
)
func GetUserBadges(c *gin.Context) {
var badges []database.Badge
type badge struct {
Id string
Name string
Desc string
Expl string
Img string
Date *time.Time
}
var badges []badge
userId := c.Param("user")
database.DB.Model(&database.User{}).Select("badges.id, badges.name, badges.desc, badges.expl, badges.img").Joins("join given_badges on users.user_id = given_badges.user_id").Joins("join badges on badges.id = badges.id").Where("users.user_id = ?", userId).Scan(&badges)
database.DB.Model(&database.User{}).Select("badges.id, badges.name, badges.desc, badges.expl, badges.img, given_badges.date").Joins("join given_badges on users.user_id = given_badges.user_id").Joins("join badges on badges.id = badges.id").Where("users.user_id = ?", userId).Scan(&badges)
if badges == nil {
c.JSON(404, "Not found")
} else {
c.JSON(200, badges)
}
}