Skip to content
This repository was archived by the owner on Apr 8, 2026. It is now read-only.

Commit 4804baf

Browse files
committed
fixed profiles badges not showing
1 parent 1f0c139 commit 4804baf

4 files changed

Lines changed: 621 additions & 488 deletions

File tree

dist/interfaces/User.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export interface PublicUser {
88
isStudio: boolean;
99
admin?: boolean;
1010
badges: ('staff' | 'moderator' | 'community_manager' | 'early_user' | 'bug_hunter' | 'contributor' | 'partner')[];
11-
beta_user?: boolean;
11+
beta_user: boolean;
1212
}
1313
export interface User extends PublicUser {
1414
email: string;

dist/services/UserService.js

Lines changed: 54 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,31 @@ function slugify(str) {
2828
str = str.normalize("NFKD");
2929
str = diacritics_1.default.remove(str);
3030
const substitutions = {
31-
"α": "a", "β": "b", "γ": "g", "δ": "d", "ε": "e", "θ": "o", "λ": "l",
32-
"μ": "m", "ν": "v", "π": "p", "ρ": "r", "σ": "s", "τ": "t", "φ": "f",
33-
"χ": "x", "ψ": "ps", "ω": "w", "ℓ": "l", "𝓁": "l", "𝔩": "l"
31+
α: "a",
32+
β: "b",
33+
γ: "g",
34+
δ: "d",
35+
ε: "e",
36+
θ: "o",
37+
λ: "l",
38+
μ: "m",
39+
ν: "v",
40+
π: "p",
41+
ρ: "r",
42+
σ: "s",
43+
τ: "t",
44+
φ: "f",
45+
χ: "x",
46+
ψ: "ps",
47+
ω: "w",
48+
: "l",
49+
"𝓁": "l",
50+
"𝔩": "l",
3451
};
35-
str = str.split("").map(c => substitutions[c] ?? c).join("");
52+
str = str
53+
.split("")
54+
.map((c) => substitutions[c] ?? c)
55+
.join("");
3656
str = str.replace(/[^a-zA-Z0-9]/g, "");
3757
return str.toLowerCase();
3858
}
@@ -106,7 +126,7 @@ let UserService = UserService_1 = class UserService {
106126
await this.databaseService.request("UPDATE users SET disabled = 0 WHERE user_id = ?", [targetUserId]);
107127
}
108128
async searchUsersByUsername(query) {
109-
const users = await this.databaseService.read(`SELECT user_id, username, verified, isStudio, admin FROM users WHERE (disabled = 0 OR disabled IS NULL)`);
129+
const users = await this.databaseService.read(`SELECT user_id, username, verified, isStudio, admin, badges, beta_user FROM users WHERE (disabled = 0 OR disabled IS NULL)`);
110130
const querySlug = slugify(query);
111131
const matchedUsers = users.filter((u) => {
112132
return slugify(u.username).indexOf(querySlug) !== -1;
@@ -117,6 +137,7 @@ let UserService = UserService_1 = class UserService {
117137
verified: !!u.verified,
118138
isStudio: !!u.isStudio,
119139
admin: !!u.admin,
140+
beta_user: !!u.beta_user,
120141
badges: u.beta_user ? ["early_user", ...u.badges] : u.badges || [],
121142
}));
122143
}
@@ -149,7 +170,7 @@ let UserService = UserService_1 = class UserService {
149170
return this.fetchUserByAnyId(user_id, true);
150171
}
151172
async adminSearchUsers(query) {
152-
const users = await this.databaseService.read(`SELECT user_id, username, verified, isStudio, admin FROM users`);
173+
const users = await this.databaseService.read(`SELECT user_id, username, verified, isStudio, admin, badges, beta_user, disabled FROM users`);
153174
const querySlug = slugify(query);
154175
const matchedUsers = users.filter((u) => {
155176
return slugify(u.username).indexOf(querySlug) !== -1;
@@ -160,8 +181,9 @@ let UserService = UserService_1 = class UserService {
160181
verified: !!u.verified,
161182
isStudio: !!u.isStudio,
162183
admin: !!u.admin,
184+
beta_user: !!u.beta_user,
163185
badges: u.beta_user ? ["early_user", ...u.badges] : u.badges || [],
164-
disabled: !!u.disabled
186+
disabled: !!u.disabled,
165187
}));
166188
}
167189
async getAllUsers() {
@@ -189,9 +211,7 @@ let UserService = UserService_1 = class UserService {
189211
return token;
190212
}
191213
async deleteUser(user_id) {
192-
await this.databaseService.request("DELETE FROM users WHERE user_id = ?", [
193-
user_id,
194-
]);
214+
await this.databaseService.request("DELETE FROM users WHERE user_id = ?", [user_id]);
195215
}
196216
async authenticateUser(tokenOrApiKey) {
197217
// Essaye de décoder comme JWT
@@ -325,16 +345,18 @@ let UserService = UserService_1 = class UserService {
325345
.map((item) => ({
326346
...item,
327347
metadata: typeof item.metadata === "string" && item.metadata
328-
? (() => { try {
329-
return JSON.parse(item.metadata);
330-
}
331-
catch {
332-
return item.metadata;
333-
} })()
334-
: item.metadata
348+
? (() => {
349+
try {
350+
return JSON.parse(item.metadata);
351+
}
352+
catch {
353+
return item.metadata;
354+
}
355+
})()
356+
: item.metadata,
335357
}))
336358
.sort((a, b) => {
337-
const nameCompare = a.name?.localeCompare(b.name || '') || 0;
359+
const nameCompare = a.name?.localeCompare(b.name || "") || 0;
338360
if (nameCompare !== 0)
339361
return nameCompare;
340362
if (!a.metadata && b.metadata)
@@ -349,7 +371,7 @@ let UserService = UserService_1 = class UserService {
349371
async getUserWithPublicProfile(user_id) {
350372
const query = `
351373
SELECT
352-
u.user_id, u.username, u.verified, u.isStudio, u.admin,
374+
u.user_id, u.username, u.verified, u.isStudio, u.admin, u.beta_user, u.badges,
353375
CONCAT('[', GROUP_CONCAT(
354376
CASE WHEN inv.item_id IS NOT NULL AND i.itemId IS NOT NULL THEN
355377
JSON_OBJECT(
@@ -417,16 +439,18 @@ let UserService = UserService_1 = class UserService {
417439
.map((item) => ({
418440
...item,
419441
metadata: typeof item.metadata === "string" && item.metadata
420-
? (() => { try {
421-
return JSON.parse(item.metadata);
422-
}
423-
catch {
424-
return item.metadata;
425-
} })()
426-
: item.metadata
442+
? (() => {
443+
try {
444+
return JSON.parse(item.metadata);
445+
}
446+
catch {
447+
return item.metadata;
448+
}
449+
})()
450+
: item.metadata,
427451
}))
428452
.sort((a, b) => {
429-
const nameCompare = a.name?.localeCompare(b.name || '') || 0;
453+
const nameCompare = a.name?.localeCompare(b.name || "") || 0;
430454
if (nameCompare !== 0)
431455
return nameCompare;
432456
if (!a.metadata && b.metadata)
@@ -448,7 +472,8 @@ let UserService = UserService_1 = class UserService {
448472
inventory: user.inventory || [],
449473
ownedItems: user.ownedItems || [],
450474
createdGames: user.createdGames || [],
451-
badges: user.badges || []
475+
beta_user: user.beta_user,
476+
badges: user.badges || [],
452477
};
453478
}
454479
async adminGetUserWithProfile(user_id) {
@@ -530,7 +555,7 @@ let UserService = UserService_1 = class UserService {
530555
}
531556
getSteamAuthUrl() {
532557
const returnUrl = `${process.env.BASE_URL}/api/users/steam-associate`;
533-
return `https://steamcommunity.com/openid/login?openid.ns=http://specs.openid.net/auth/2.0&openid.mode=checkid_setup&openid.return_to=${encodeURIComponent(returnUrl)}&openid.realm=${encodeURIComponent(process.env.BASE_URL || '')}&openid.identity=http://specs.openid.net/auth/2.0/identifier_select&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select`;
558+
return `https://steamcommunity.com/openid/login?openid.ns=http://specs.openid.net/auth/2.0&openid.mode=checkid_setup&openid.return_to=${encodeURIComponent(returnUrl)}&openid.realm=${encodeURIComponent(process.env.BASE_URL || "")}&openid.identity=http://specs.openid.net/auth/2.0/identifier_select&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select`;
534559
}
535560
};
536561
exports.UserService = UserService;

src/interfaces/User.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export interface PublicUser {
99
isStudio: boolean;
1010
admin?: boolean;
1111
badges: ('staff' | 'moderator' | 'community_manager' | 'early_user' | 'bug_hunter' | 'contributor' | 'partner')[];
12-
beta_user?: boolean;
12+
beta_user: boolean;
1313
}
1414

1515
export interface User extends PublicUser {

0 commit comments

Comments
 (0)