feat: certificates, landing pages, ai tutor, website update, compliance

This commit is contained in:
Rotimi Best
2026-05-18 03:47:22 +01:00
parent c31ad63955
commit ac3a2c14a7
644 changed files with 56050 additions and 5439 deletions
+42
View File
@@ -0,0 +1,42 @@
/**
* BullMQ queue names. Always import from here so producers and workers stay
* in sync, and so it's trivial to grep for everything that touches a queue.
*/
export const QUEUE_NAMES = {
media: 'media',
mediaTranscribe: 'media-transcribe',
emails: 'emails',
notifications: 'notifications',
webhooks: 'webhooks',
courseImports: 'course-imports',
onboardingBootstrap: 'onboarding-bootstrap',
maintenance: 'maintenance'
} as const;
export type QueueName = (typeof QUEUE_NAMES)[keyof typeof QUEUE_NAMES];
/**
* BullMQ job names within each queue. Workers route on `(queueName, jobName)`,
* so keep the strings here too.
*/
export const JOB_NAMES = {
media: {
probeMetadata: 'probe-metadata',
generateThumbnail: 'generate-thumbnail',
extractAudio: 'extract-audio',
compressVideo: 'compress-video'
},
mediaTranscribe: {
transcribeAudio: 'transcribe-audio'
},
emails: {
send: 'send'
},
webhooks: {
deliver: 'deliver'
},
maintenance: {
retentionCompact: 'retention-compact',
deadLetterCleanup: 'dead-letter-cleanup'
}
} as const;