@@ -16,7 +16,7 @@ const (
1616 UpdateUserProfileID = `UPDATE users SET profile_id = $3 WHERE user_id = $1 AND gsbrcd = $2`
1717 UpdateUserNGDeviceID = `UPDATE users SET ng_device_id = $2 WHERE profile_id = $1`
1818 UpdateUserCsnum = `UPDATE users SET csnum = $2 WHERE profile_id = $1`
19- GetUser = `SELECT user_id, gsbrcd, ng_device_id, email, unique_nick, firstname, lastname, has_ban, ban_reason, open_host, last_ingamesn, last_ip_address, csnum, ban_moderator, ban_issued, ban_expires FROM users WHERE profile_id = $1`
19+ GetUser = `SELECT user_id, gsbrcd, ng_device_id, email, unique_nick, firstname, lastname, has_ban, ban_reason, open_host, last_ingamesn, last_ip_address, csnum, ban_moderator, ban_reason_hidden, ban_issued, ban_expires FROM users WHERE profile_id = $1`
2020 ClearProfileQuery = `DELETE FROM users WHERE profile_id = $1 RETURNING user_id, gsbrcd, email, unique_nick, firstname, lastname, open_host, last_ip_address, last_ingamesn, csnum`
2121 DoesUserExist = `SELECT EXISTS(SELECT 1 FROM users WHERE user_id = $1 AND gsbrcd = $2)`
2222 IsProfileIDInUse = `SELECT EXISTS(SELECT 1 FROM users WHERE profile_id = $1)`
@@ -46,10 +46,11 @@ type User struct {
4646 LastInGameSn string
4747 LastIPAddress string
4848 Csnum []string
49- // Two fields only used in GetUser query
50- BanModerator string
51- BanIssued * time.Time
52- BanExpires * time.Time
49+ // Following fields only used in GetUser query
50+ BanModerator string
51+ BanReasonHidden string
52+ BanIssued * time.Time
53+ BanExpires * time.Time
5354}
5455
5556var (
@@ -135,7 +136,7 @@ func (user *User) UpdateProfile(pool *pgxpool.Pool, ctx context.Context, data ma
135136 }
136137}
137138
138- func GetProfile (pool * pgxpool.Pool , ctx context.Context , profileId uint32 ) (User , bool ) {
139+ func GetProfile (pool * pgxpool.Pool , ctx context.Context , profileId uint32 ) (User , error ) {
139140 user := User {}
140141 row := pool .QueryRow (ctx , GetUser , profileId )
141142
@@ -146,11 +147,12 @@ func GetProfile(pool *pgxpool.Pool, ctx context.Context, profileId uint32) (User
146147 var lastInGameSn * string
147148 var lastIPAddress * string
148149 var banModerator * string
150+ var banHiddenReason * string
149151
150- err := row .Scan (& user .UserId , & user .GsbrCode , & user .NgDeviceId , & user .Email , & user .UniqueNick , & firstName , & lastName , & user .Restricted , & banReason , & user .OpenHost , & lastInGameSn , & lastIPAddress , & user .Csnum , & banModerator , & user .BanIssued , & user .BanExpires )
152+ err := row .Scan (& user .UserId , & user .GsbrCode , & user .NgDeviceId , & user .Email , & user .UniqueNick , & firstName , & lastName , & user .Restricted , & banReason , & user .OpenHost , & lastInGameSn , & lastIPAddress , & user .Csnum , & banModerator , & banHiddenReason , & user .BanIssued , & user .BanExpires )
151153
152154 if err != nil {
153- return User {}, false
155+ return User {}, err
154156 }
155157
156158 user .ProfileId = profileId
@@ -179,7 +181,11 @@ func GetProfile(pool *pgxpool.Pool, ctx context.Context, profileId uint32) (User
179181 user .BanModerator = * banModerator
180182 }
181183
182- return user , true
184+ if banHiddenReason != nil {
185+ user .BanReasonHidden = * banHiddenReason
186+ }
187+
188+ return user , nil
183189}
184190
185191func ClearProfile (pool * pgxpool.Pool , ctx context.Context , profileId uint32 ) (User , bool ) {
0 commit comments