@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 4.56 kB
JavaScript
const e=e=>({async up(t){await t.schema.createTable(`lucid_emails`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`from_address`,e.getDataType(`text`),e=>e.notNull()).addColumn(`from_name`,e.getDataType(`text`),e=>e.notNull()).addColumn(`to_address`,e.getDataType(`text`),e=>e.notNull()).addColumn(`subject`,e.getDataType(`text`),e=>e.notNull()).addColumn(`cc`,e.getDataType(`text`)).addColumn(`bcc`,e.getDataType(`text`)).addColumn(`template`,e.getDataType(`text`),e=>e.notNull()).addColumn(`priority`,e.getDataType(`text`),e=>e.notNull().defaultTo(`normal`)).addColumn(`headers`,e.getDataType(`json`)).addColumn(`data`,e.getDataType(`json`)).addColumn(`storage_strategy`,e.getDataType(`json`)).addColumn(`type`,e.getDataType(`text`),e=>e.notNull()).addColumn(`is_system`,e.getDataType(`boolean`),t=>t.notNull().defaultTo(e.formatDefaultValue(`boolean`,e.getDefault(`boolean`,`false`)))).addColumn(`current_status`,e.getDataType(`text`),e=>e.notNull()).addColumn(`attempt_count`,e.getDataType(`integer`),e=>e.notNull().defaultTo(0)).addColumn(`last_attempted_at`,e.getDataType(`timestamp`)).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_email_tenants`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`email_id`,e.getDataType(`integer`),e=>e.references(`lucid_emails.id`).onDelete(`cascade`).notNull()).addColumn(`tenant_key`,e.getDataType(`text`),e=>e.references(`lucid_tenants.key`).onDelete(`cascade`).notNull()).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`)))).addUniqueConstraint(`lucid_email_tenants_email_id_tenant_key_unique`,[`email_id`,`tenant_key`]).execute(),await t.schema.createIndex(`idx_lucid_email_tenants_email_id`).on(`lucid_email_tenants`).column(`email_id`).execute(),await t.schema.createIndex(`idx_lucid_email_tenants_tenant_key`).on(`lucid_email_tenants`).column(`tenant_key`).execute(),await t.schema.createTable(`lucid_email_attachments`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`email_id`,e.getDataType(`integer`),e=>e.references(`lucid_emails.id`).onDelete(`cascade`).notNull()).addColumn(`type`,e.getDataType(`text`),e=>e.notNull()).addColumn(`url`,e.getDataType(`text`),e=>e.notNull()).addColumn(`filename`,e.getDataType(`text`),e=>e.notNull()).addColumn(`content_type`,e.getDataType(`text`)).addColumn(`disposition`,e.getDataType(`text`),e=>e.notNull()).addColumn(`content_id`,e.getDataType(`text`)).addColumn(`order`,e.getDataType(`integer`),e=>e.notNull()).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.createIndex(`idx_lucid_email_attachments_email_id`).on(`lucid_email_attachments`).column(`email_id`).execute(),await t.schema.createTable(`lucid_email_transactions`).addColumn(`id`,e.getDataType(`primary`),t=>e.primaryKeyColumnBuilder(t)).addColumn(`email_id`,e.getDataType(`integer`),e=>e.references(`lucid_emails.id`).onDelete(`cascade`).notNull()).addColumn(`delivery_status`,e.getDataType(`text`),e=>e.notNull()).addColumn(`message`,e.getDataType(`text`)).addColumn(`external_message_id`,e.getDataType(`text`)).addColumn(`strategy_identifier`,e.getDataType(`text`),e=>e.notNull()).addColumn(`strategy_data`,e.getDataType(`json`)).addColumn(`simulate`,e.getDataType(`boolean`),t=>t.notNull().defaultTo(e.formatDefaultValue(`boolean`,e.getDefault(`boolean`,`false`)))).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.createIndex(`idx_lucid_email_transactions_external_message_id`).on(`lucid_email_transactions`).column(`external_message_id`).execute()},async down(e){}});export{e as default};
//# sourceMappingURL=00000005-emails.mjs.map