* feature(dashboard): add polar / subscription * wip(payments): manage subscription * wip(payments): add free product, faq and some other improvements * fix(root): change node to bundler in tsconfig * wip(payments): display current subscription * feat(dashboard): schedule project for deletion * wip(payments): support custom products/subscriptions * wip(payments): fix polar scripts * wip(payments): add json package to dockerfiles
29 lines
708 B
TypeScript
29 lines
708 B
TypeScript
import type { Job } from 'bullmq';
|
|
|
|
import { eventBuffer, profileBuffer } from '@openpanel/db';
|
|
import type { CronQueuePayload } from '@openpanel/queue';
|
|
|
|
import { deleteProjects } from './cron.delete-projects';
|
|
import { ping } from './cron.ping';
|
|
import { salt } from './cron.salt';
|
|
|
|
export async function cronJob(job: Job<CronQueuePayload>) {
|
|
switch (job.data.type) {
|
|
case 'salt': {
|
|
return await salt();
|
|
}
|
|
case 'flushEvents': {
|
|
return await eventBuffer.tryFlush();
|
|
}
|
|
case 'flushProfiles': {
|
|
return await profileBuffer.tryFlush();
|
|
}
|
|
case 'ping': {
|
|
return await ping();
|
|
}
|
|
case 'deleteProjects': {
|
|
return await deleteProjects();
|
|
}
|
|
}
|
|
}
|