Add read-only Noya admin panel with assignments and UX polish.

Ship admin auth, user overview, assessments, chats, assignment filters/export, security hardening, and a separate desktop admin shell with clearer assessment answers.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ar.badiei
2026-09-21 08:00:24 +03:30
co-authored by Cursor
parent 8016b8f45e
commit c6243caa35
104 changed files with 15654 additions and 415 deletions
+2 -2
View File
@@ -1,8 +1,8 @@
export const APP_NAME = 'Novya API';
export const APP_DESCRIPTION = 'Novya learning platform backend API';
/** Minimum wait after completing session N before session N+1 unlocks. Set to 0 to disable cooldown (dev/testing). */
export const SESSION_UNLOCK_INTERVAL_MS = 0;
/** Minimum wait after completing session N before session N+1 unlocks (sessions 3–10). */
export const SESSION_UNLOCK_INTERVAL_MS = 24 * 60 * 60 * 1000;
export const DEFAULT_PAGE = 1;
export const DEFAULT_PAGE_SIZE = 20;
+1
View File
@@ -40,5 +40,6 @@ export interface AuthenticatedUser {
externalId: string;
email: string | null;
isGuest: boolean;
role: 'user' | 'admin';
sessionId: bigint;
}
+8
View File
@@ -16,3 +16,11 @@ export function queryValidator<T extends ZodType>(schema: T) {
}
});
}
export function paramValidator<T extends ZodType>(schema: T) {
return zValidator('param', schema, (result) => {
if (!result.success) {
throw result.error;
}
});
}