mirror of
https://github.com/jjbrunton/Sauci.git
synced 2026-10-31 18:19:43 +00:00
feat(admin-api): expose quiz, dares loop, and profile settings resources
Extend the admin allow-list so upcoming admin screens can reach quiz content and activity, sent dares, and dare chat messages. Also fix a schema drift where question_packs.scheduled_release_at and release_notified existed in the database but were missing from the drizzle TS schema, which could have let a future generate propose dropping them. Note: no profile_settings table exists in the schema. The profile-settings domain reads and writes the existing profiles and notification_preferences tables, so that entry was intentionally omitted pending a product decision on which table it should map to.
This commit is contained in:
1 parent
f22d4a3649
commit
77f2718fdd
3 files changed
+43
-1
No files matched your search
@@ -35,6 +35,11 @@ const resources: Record<string, ResourceRule> = {
|
||||
media_objects: { read: 'view_media' },
|
||||
dare_packs: { read: 'manage_packs', write: 'manage_packs' },
|
||||
dares: { read: 'manage_questions', write: 'manage_questions' },
|
||||
quiz_questions: { read: ['manage_questions', 'view_activity', 'view_users'], write: 'manage_questions' },
|
||||
quiz_sessions: { read: ['view_users', 'view_activity'] },
|
||||
quiz_answers: { read: ['view_users', 'view_activity'] },
|
||||
sent_dares: { read: ['view_users', 'view_activity', 'view_chats'] },
|
||||
dare_messages: { read: ['view_chats', 'view_activity'] },
|
||||
};
|
||||
|
||||
function identifier(value: string): string {
|
||||
|
||||
@@ -35,6 +35,8 @@ export const questionPacks = pgTable('question_packs', {
|
||||
contentReviewedAt: timestamp('content_reviewed_at', { withTimezone: true }),
|
||||
contentReviewedBy: uuid('content_reviewed_by').references(() => profiles.id, { onDelete: 'set null' }),
|
||||
createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),
|
||||
scheduledReleaseAt: timestamp('scheduled_release_at', { withTimezone: true }),
|
||||
releaseNotified: boolean('release_notified').notNull().default(false),
|
||||
}, (table) => [index('question_packs_category_id_idx').on(table.categoryId)]);
|
||||
|
||||
export const questions = pgTable('questions', {
|
||||
|
||||
Reference in new issue
Block a user