From d5fc6420d9a0d67f5ad23869e253cde2f377c36f Mon Sep 17 00:00:00 2001 From: Stanislaw <62724833+BoberITman@users.noreply.github.com> Date: Thu, 26 Jan 2023 09:14:38 +0100 Subject: [PATCH] add date to badges endpoint and rapair 404 response if user or badges dont exist --- router/v1/badges.go | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/router/v1/badges.go b/router/v1/badges.go index 78d5e92..4cce7e8 100644 --- a/router/v1/badges.go +++ b/router/v1/badges.go @@ -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) - c.JSON(200, 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) + } }