88 lines
3.0 KiB
Go
88 lines
3.0 KiB
Go
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)
|
|
}
|