UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

141 lines (140 loc) 5.69 kB
import { QueryParams } from "../../types/query-params.mjs"; import DatabaseAdapter from "../db/adapter-base.mjs"; import { QueueJobStatus } from "../queue/types.mjs"; import { KyselyDB, LucidQueueJobs, Select } from "../db/types.mjs"; import { QueryProps, QueryResult } from "./types.mjs"; import StaticRepository from "./parents/static-repository.mjs"; import z from "zod"; //#region src/libs/repositories/queue-jobs.d.ts declare class QueueJobsRepository extends StaticRepository<"lucid_queue_jobs"> { constructor(db: KyselyDB, dbAdapter: DatabaseAdapter); tableSchema: z.ZodObject<{ id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>; job_id: z.ZodString; event_type: z.ZodString; event_data: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>; status: z.ZodEnum<{ pending: "pending"; cancelled: "cancelled"; failed: "failed"; processing: "processing"; completed: "completed"; }>; queue_adapter_key: z.ZodString; priority: z.ZodNullable<z.ZodNumber>; attempts: z.ZodNumber; max_attempts: z.ZodNumber; error_message: z.ZodNullable<z.ZodString>; created_at: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>; scheduled_for: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>; started_at: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>; completed_at: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>; failed_at: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>; next_retry_at: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>; created_by_user_id: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; updated_at: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>; }, z.z.core.$strip>; columnFormats: { id: import("kysely").ColumnDataType; job_id: import("kysely").ColumnDataType; event_type: import("kysely").ColumnDataType; event_data: import("kysely").ColumnDataType; status: import("kysely").ColumnDataType; queue_adapter_key: import("kysely").ColumnDataType; priority: import("kysely").ColumnDataType; attempts: import("kysely").ColumnDataType; max_attempts: import("kysely").ColumnDataType; error_message: import("kysely").ColumnDataType; created_at: import("kysely").ColumnDataType; scheduled_for: import("kysely").ColumnDataType; started_at: import("kysely").ColumnDataType; completed_at: import("kysely").ColumnDataType; failed_at: import("kysely").ColumnDataType; next_retry_at: import("kysely").ColumnDataType; created_by_user_id: import("kysely").ColumnDataType; updated_at: import("kysely").ColumnDataType; }; queryConfig: { readonly tableKeys: { readonly filters: { readonly jobId: "job_id"; readonly eventType: "event_type"; readonly status: "status"; readonly queueAdapterKey: "queue_adapter_key"; readonly priority: "priority"; readonly attempts: "attempts"; readonly maxAttempts: "max_attempts"; readonly errorMessage: "error_message"; readonly createdByUserId: "created_by_user_id"; readonly createdAt: "created_at"; readonly scheduledFor: "scheduled_for"; readonly startedAt: "started_at"; readonly completedAt: "completed_at"; readonly failedAt: "failed_at"; readonly nextRetryAt: "next_retry_at"; }; readonly sorts: { readonly jobId: "job_id"; readonly eventType: "event_type"; readonly status: "status"; readonly queueAdapterKey: "queue_adapter_key"; readonly priority: "priority"; readonly attempts: "attempts"; readonly maxAttempts: "max_attempts"; readonly createdAt: "created_at"; readonly scheduledFor: "scheduled_for"; readonly startedAt: "started_at"; readonly completedAt: "completed_at"; readonly failedAt: "failed_at"; readonly nextRetryAt: "next_retry_at"; readonly updatedAt: "updated_at"; }; }; readonly operators: { readonly eventType: "contains"; readonly queueAdapterKey: "contains"; readonly errorMessage: "contains"; }; }; selectSingleById<K extends keyof Select<LucidQueueJobs>, V extends boolean = false>(props: QueryProps<V, { id: number; select: K[]; tenantKey?: string | null; }>): Promise<QueryResult<Pick<Select<LucidQueueJobs>, K>, V>>; selectMultipleFilteredFixed<K extends keyof Select<LucidQueueJobs>, V extends boolean = false>(props: QueryProps<V, { select: K[]; queryParams: Partial<QueryParams>; tenantKey?: string | null; }>): Promise<QueryResult<readonly [Pick<Select<LucidQueueJobs>, K>[], { count: string; } | undefined], V>>; selectJobsForProcessing<V extends boolean = false>(props: QueryProps<V, { data: { limit: number; currentTime: Date; }; }>): Promise<QueryResult<{ status: QueueJobStatus; id: number; priority: number | null; job_id: string; event_type: string; event_data: Record<string, unknown>; queue_adapter_key: string; attempts: number; max_attempts: number; error_message: string | null; created_at: string | Date; scheduled_for: string | Date | null; started_at: string | Date | null; completed_at: string | Date | null; failed_at: string | Date | null; next_retry_at: string | Date | null; created_by_user_id: number | null; updated_at: string | Date | null; }[], V>>; private applyTenantScope; } //#endregion export { QueueJobsRepository as default }; //# sourceMappingURL=queue-jobs.d.mts.map