package param_userid import ( "bdgrp_go/db" "bdgrp_go/pbutil" "bdgrp_go/routes" "bdgrp_go/utils" "fmt" "github.com/gofiber/fiber/v2" ) func init() { path := routes.PathOf() routes.Register(func(app *fiber.App) { app.Get(path, GetUser) fmt.Println("Loaded:", path) }) } func GetUser(c *fiber.Ctx) error { userid := c.Params("userid") user := db.FindUser(userid) if user == nil { return c.Status(404).SendString("") } userId := fmt.Sprintf("%v", user["userId"]) data := map[string]any{ "userRegistration": map[string]any{ "userId": userId, "hash": user["hash"], "userName": user["userName"], "clientVersion": user["clientVersion"], "platform": user["platform"], "deviceModel": user["deviceModel"], "operatingSystem": user["operatingSystem"], "birthMonth": user["birthMonth"], "tutorialStatus": user["tutorialStatus"], "introduction": user["introduction"], "tutorialEndedAt": fmt.Sprintf("%v", user["tutorialEndedAt"]), }, "userGamedata": map[string]any{ "userId": userId, "rank": user["rank"], "exp": user["exp"], "coin": fmt.Sprintf("%v", user["coin"]), "mainDeck": user["mainDeck"], "paidStar": user["paidStar"], "freeStar": user["freeStar"], "seal": user["seal"], "degree": user["degree"].([]any)[0], "publishTotalDeckPowerFlg": user["publishTotalDeckPowerFlg"], "publishBandRankFlg": user["publishBandRankFlg"], "publishMusicClearedFlg": user["publishMusicClearedFlg"], "publishMusicFullComboFlg": user["publishMusicFullComboFlg"], "publishHighScoreRatingFlg": user["publishHighScoreRatingFlg"], "pooledExp": fmt.Sprintf("%v", user["pooledExp"]), "totalExp": fmt.Sprintf("%v", user["totalExp"]), "nextExp": user["nextExp"], "publishUpdatedAtFlg": user["publishUpdatedAtFlg"], "userPaidStarRecallResponse": nil, "startDashLoginBonusReceiveFlg": user["startDashLoginBonusReceiveFlg"], "publishMusicAllPerfectFlg": user["publishMusicAllPerfectFlg"], "publishDeckRankFlg": user["publishDeckRankFlg"], "publishStageAchievementConditionsFlg": user["publishStageAchievementConditionsFlg"], "publishStageFriendRankingFlg": user["publishStageFriendRankingFlg"], "publishCharacterRankFlg": user["publishCharacterRankFlg"], "loginDays": user["loginDays"], }, } encoded, err := pbutil.Encode("UserGetResponse", data) if err != nil { fmt.Println(err) } encrypted, err := utils.Encrypt(encoded) if err != nil { fmt.Println(err) } return c.Send(encrypted) }