Slight restructure, updated auth, implement player and game endpoints

This commit is contained in:
jd
2026-02-18 21:32:28 +00:00
parent 99c7bdc0fd
commit 2996a2eb95
32 changed files with 2093 additions and 266 deletions

View File

@@ -1,11 +1,12 @@
import {sql} from 'bun';
import { sql } from 'bun';
import { ClaimDefinition } from '../utilities/claimDefinitions';
export class Claims {
userId: string | undefined;
export class Claims extends ClaimDefinition {
userId?: string;
claims: string[] = [];
public static test(userClaims: Claims, guardClaim: string): Boolean {
return userClaims.claims.some(x => x === guardClaim);
public static test(guardClaim: string, userClaims?: Claims): Boolean {
return userClaims === undefined || userClaims.claims.some((x) => x === guardClaim);
}
}
@@ -13,11 +14,11 @@ export class ClaimsOrm {
async getByUserId(userId: string): Promise<Claims> {
const dbResults: any[] = await sql`SELECT c.name
from user_claims as uc
JOIN claims as c on uc.claimid = c.id
where uc.userid = ${userId};`;
JOIN claims as c on uc.claim_id = c.id
where uc.user_id = ${userId};`;
const claims = new Claims();
claims.userId = userId;
claims.claims = dbResults.map(x => x.name);
claims.claims = dbResults.map((x) => x.name);
return claims;
}
@@ -25,6 +26,6 @@ export class ClaimsOrm {
const dbResults: any[] = await sql`SELECT id
FROM claims
WHERE is_default = true;`;
return dbResults.map(x => x.id);
return dbResults.map((x) => x.id);
}
}
}