session state simplification

This commit is contained in:
2026-01-12 09:24:58 -05:00
parent ed16b277f7
commit f68f1f462a
32 changed files with 132 additions and 381 deletions

View File

@@ -7,7 +7,7 @@ export interface UserState {
email: string | null;
displayName: string | null;
emailVerified: boolean;
privilegeLevel: "admin" | "user" | "anonymous";
isAdmin: boolean;
}
/**
@@ -29,7 +29,7 @@ export const getUserState = query(async (): Promise<UserState> => {
email: null,
displayName: null,
emailVerified: false,
privilegeLevel: "anonymous"
isAdmin: false
};
}
@@ -42,7 +42,7 @@ export const getUserState = query(async (): Promise<UserState> => {
email: null,
displayName: null,
emailVerified: false,
privilegeLevel: "anonymous"
isAdmin: false
};
}
@@ -59,7 +59,7 @@ export const getUserState = query(async (): Promise<UserState> => {
email: null,
displayName: null,
emailVerified: false,
privilegeLevel: "anonymous"
isAdmin: false
};
}
@@ -71,7 +71,7 @@ export const getUserState = query(async (): Promise<UserState> => {
email: user.email ?? null,
displayName: user.display_name ?? null,
emailVerified: user.email_verified === 1,
privilegeLevel: auth.isAdmin ? "admin" : "user"
isAdmin: auth.isAdmin
};
}, "user-auth-state");

View File

@@ -50,15 +50,14 @@ export function isValidCommentBody(body: string): boolean {
export function canModifyComment(
userID: string,
commenterID: string,
privilegeLevel: "admin" | "user" | "anonymous"
isAuthenticated: boolean,
isAdmin: boolean
): boolean {
if (privilegeLevel === "admin") return true;
if (privilegeLevel === "anonymous") return false;
if (isAdmin) return true;
if (!isAuthenticated) return false;
return userID === commenterID;
}
export function canDatabaseDelete(
privilegeLevel: "admin" | "user" | "anonymous"
): boolean {
return privilegeLevel === "admin";
export function canDatabaseDelete(isAdmin: boolean): boolean {
return isAdmin;
}