@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 8.35 kB
JavaScript
const e=e=>({async up(t){await t.schema.createTable(`lucid_collections`).addColumn(`key`,e.getDataType(`text`),e=>e.primaryKey()).addColumn(`is_deleted`,e.getDataType(`boolean`),t=>t.defaultTo(e.formatDefaultValue(`boolean`,e.getDefault(`boolean`,`false`)))).addColumn(`is_deleted_at`,e.getDataType(`timestamp`)).addColumn(`created_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).execute(),await t.schema.createTable(`lucid_collection_migrations`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`collection_key`,e.getDataType(`text`),e=>e.references(`lucid_collections.key`).onDelete(`cascade`).notNull()).addColumn(`table_name_map`,e.getDataType(`text`),e=>e.notNull()).addColumn(`migration_plans`,e.getDataType(`json`),e=>e.notNull()).addColumn(`collection_schema`,e.getDataType(`json`),e=>e.notNull()).addColumn(`created_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).execute(),await t.schema.createTable(`lucid_document_publish_operations`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`collection_key`,e.getDataType(`text`),e=>e.notNull().references(`lucid_collections.key`).onDelete(`cascade`)).addColumn(`tenant_key`,e.getDataType(`text`)).addColumn(`document_id`,e.getDataType(`integer`),e=>e.notNull()).addColumn(`target`,e.getDataType(`text`),e=>e.notNull()).addColumn(`operation_type`,e.getDataType(`text`),e=>e.notNull()).addColumn(`status`,e.getDataType(`text`),e=>e.notNull()).addColumn(`source_version_id`,e.getDataType(`integer`),e=>e.notNull()).addColumn(`source_content_id`,e.getDataType(`text`),e=>e.notNull()).addColumn(`snapshot_version_id`,e.getDataType(`integer`),e=>e.notNull()).addColumn(`requested_by`,e.getDataType(`integer`),e=>e.references(`lucid_users.id`).onDelete(`set null`)).addColumn(`request_comment`,e.getDataType(`json`)).addColumn(`decided_by`,e.getDataType(`integer`),e=>e.references(`lucid_users.id`).onDelete(`set null`)).addColumn(`decision_comment`,e.getDataType(`json`)).addColumn(`decided_at`,e.getDataType(`timestamp`)).addColumn(`scheduled_at`,e.getDataType(`timestamp`)).addColumn(`scheduled_timezone`,e.getDataType(`text`)).addColumn(`execution_status`,e.getDataType(`text`),e=>e.notNull().defaultTo(`awaiting_approval`)).addColumn(`executed_at`,e.getDataType(`timestamp`)).addColumn(`failed_at`,e.getDataType(`timestamp`)).addColumn(`execution_error_message`,e.getDataType(`text`)).addColumn(`execution_error_data`,e.getDataType(`json`)).addColumn(`scheduled_job_id`,e.getDataType(`text`)).addColumn(`created_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).addColumn(`updated_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).execute(),await t.schema.createTable(`lucid_document_publish_operation_assignees`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`operation_id`,e.getDataType(`integer`),e=>e.notNull().references(`lucid_document_publish_operations.id`).onDelete(`cascade`)).addColumn(`user_id`,e.getDataType(`integer`),e=>e.notNull().references(`lucid_users.id`).onDelete(`cascade`)).addColumn(`assigned_by`,e.getDataType(`integer`),e=>e.references(`lucid_users.id`).onDelete(`set null`)).addColumn(`assigned_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).execute(),await t.schema.createTable(`lucid_document_publish_operation_events`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`operation_id`,e.getDataType(`integer`),e=>e.notNull().references(`lucid_document_publish_operations.id`).onDelete(`cascade`)).addColumn(`event_type`,e.getDataType(`text`),e=>e.notNull()).addColumn(`user_id`,e.getDataType(`integer`),e=>e.references(`lucid_users.id`).onDelete(`set null`)).addColumn(`comment`,e.getDataType(`text`)).addColumn(`metadata`,e.getDataType(`json`),e=>e.notNull()).addColumn(`created_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).execute(),await t.schema.createIndex(`idx_lucid_publish_operations_tenant_key`).on(`lucid_document_publish_operations`).column(`tenant_key`).execute(),await t.schema.createIndex(`idx_lucid_publish_operations_target`).on(`lucid_document_publish_operations`).columns([`collection_key`,`document_id`,`target`,`status`]).execute(),await t.schema.createIndex(`idx_lucid_publish_operations_execution`).on(`lucid_document_publish_operations`).columns([`status`,`execution_status`,`scheduled_at`]).execute(),await t.schema.createIndex(`idx_lucid_publish_operations_schedule_dispatch`).on(`lucid_document_publish_operations`).columns([`status`,`execution_status`,`scheduled_job_id`,`scheduled_at`]).execute(),await t.schema.createIndex(`idx_lucid_publish_operations_requested_by`).on(`lucid_document_publish_operations`).columns([`requested_by`,`created_at`]).execute(),await t.schema.createIndex(`idx_lucid_publish_operations_document_created`).on(`lucid_document_publish_operations`).columns([`collection_key`,`document_id`,`created_at`]).execute(),await t.schema.createIndex(`idx_lucid_publish_operations_status_created`).on(`lucid_document_publish_operations`).columns([`status`,`created_at`]).execute(),await t.schema.createIndex(`idx_lucid_publish_operation_assignees_user`).on(`lucid_document_publish_operation_assignees`).columns([`user_id`,`operation_id`]).execute(),await t.schema.createIndex(`idx_lucid_publish_operation_assignees_operation_user`).on(`lucid_document_publish_operation_assignees`).columns([`operation_id`,`user_id`]).execute(),await t.schema.createIndex(`idx_lucid_publish_operation_events_operation`).on(`lucid_document_publish_operation_events`).columns([`operation_id`,`created_at`]).execute(),await t.schema.createTable(`lucid_document_workflows`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`collection_key`,e.getDataType(`text`),e=>e.notNull().references(`lucid_collections.key`).onDelete(`cascade`)).addColumn(`document_id`,e.getDataType(`integer`),e=>e.notNull()).addColumn(`stage_key`,e.getDataType(`text`),e=>e.notNull()).addColumn(`created_by`,e.getDataType(`integer`),e=>e.references(`lucid_users.id`).onDelete(`set null`)).addColumn(`updated_by`,e.getDataType(`integer`),e=>e.references(`lucid_users.id`).onDelete(`set null`)).addColumn(`created_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).addColumn(`updated_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).execute(),await t.schema.createTable(`lucid_document_workflow_assignees`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`workflow_id`,e.getDataType(`integer`),e=>e.notNull().references(`lucid_document_workflows.id`).onDelete(`cascade`)).addColumn(`user_id`,e.getDataType(`integer`),e=>e.notNull().references(`lucid_users.id`).onDelete(`cascade`)).addColumn(`assigned_by`,e.getDataType(`integer`),e=>e.references(`lucid_users.id`).onDelete(`set null`)).addColumn(`assigned_at`,e.getDataType(`timestamp`),t=>t.defaultTo(e.formatDefaultValue(`timestamp`,e.getDefault(`timestamp`,`now`)))).execute(),await t.schema.createIndex(`idx_lucid_document_workflows_document`).on(`lucid_document_workflows`).columns([`collection_key`,`document_id`]).unique().execute(),await t.schema.createIndex(`idx_lucid_document_workflows_stage`).on(`lucid_document_workflows`).columns([`collection_key`,`stage_key`,`document_id`]).execute(),await t.schema.createIndex(`idx_lucid_document_workflow_assignees_user`).on(`lucid_document_workflow_assignees`).columns([`user_id`,`workflow_id`]).execute(),await t.schema.createIndex(`idx_lucid_document_workflow_assignees_workflow_assigned`).on(`lucid_document_workflow_assignees`).columns([`workflow_id`,`assigned_at`]).execute(),await t.schema.createIndex(`idx_lucid_document_workflow_assignees_workflow_user`).on(`lucid_document_workflow_assignees`).columns([`workflow_id`,`user_id`]).execute()},async down(e){}});export{e as default};
//# sourceMappingURL=00000007-collections.mjs.map