Implemented invitation logic. Implemented play list method. Mild refactoring.

This commit is contained in:
jd
2026-02-20 23:51:16 +00:00
parent 5742214115
commit 335f1821cd
24 changed files with 1118 additions and 166 deletions

View File

@@ -1,10 +1,17 @@
import { sql } from 'bun';
import { ClaimDefinition } from '../utilities/claimDefinitions';
import { SecureId } from '../utilities/requestModels';
export class Claims extends ClaimDefinition {
userId?: string;
userId?: SecureId;
claims: string[] = [];
constructor(raw?:{userId?:string, claims?: string[]}) {
super();
this.userId = raw?.userId ? SecureId.fromHash(raw.userId) : undefined;
this.claims = raw?.claims ?? [];
}
public static test(guardClaim: string, userClaims?: Claims): Boolean {
return userClaims === undefined || userClaims.claims.some((x) => x === guardClaim);
}
@@ -17,7 +24,7 @@ export class ClaimsOrm {
JOIN claims as c on uc.claim_id = c.id
where uc.user_id = ${userId};`;
const claims = new Claims();
claims.userId = userId;
claims.userId = SecureId.fromID(userId);
claims.claims = dbResults.map((x) => x.name);
return claims;
}