@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 2.61 kB
JavaScript
import e from"./parents/dynamic-repository.mjs";import t from"zod";var n=class extends e{constructor(e,t){super(e,t,`lucid_document__collection-key__fld`)}tableSchema=t.object({id:t.number(),collection_key:t.string(),document_id:t.number(),document_version_id:t.number(),locale:t.string(),position:t.number().optional(),is_open:t.union([t.literal(this.dbAdapter.config.defaults.boolean.true),t.literal(this.dbAdapter.config.defaults.boolean.false)]),brick_type:t.union([t.literal(`fixed`),t.literal(`builder`)]).optional(),brick_instance_id:t.string().optional(),brick_id_ref:t.number().optional(),brick_id:t.number().optional(),parent_id:t.number().optional(),parent_id_ref:t.number().optional()});columnFormats={id:this.dbAdapter.getDataType(`primary`),collection_key:this.dbAdapter.getDataType(`text`),document_id:this.dbAdapter.getDataType(`integer`),document_version_id:this.dbAdapter.getDataType(`integer`),locale:this.dbAdapter.getDataType(`text`),position:this.dbAdapter.getDataType(`integer`),is_open:this.dbAdapter.getDataType(`boolean`),brick_type:this.dbAdapter.getDataType(`text`),brick_instance_id:this.dbAdapter.getDataType(`text`),brick_id_ref:this.dbAdapter.getDataType(`integer`),brick_id:this.dbAdapter.getDataType(`integer`),parent_id:this.dbAdapter.getDataType(`integer`),parent_id_ref:this.dbAdapter.getDataType(`integer`)};queryConfig=void 0;async selectMultipleByVersionId(e,t){let{table:n,ref:r}=this.db.dynamic,i=this.db.selectFrom(n(t.tableName).as(`v`)).where(r(`v.id`),`=`,e.versionId).selectAll(`v`);e.documentId&&(i=i.where(r(`v.document_id`),`=`,e.documentId));for(let t of e.bricksSchema)i=i.select(()=>this.dbAdapter.jsonArrayFrom(this.db.selectFrom(n(t.name).as(`b`)).where(r(`b.document_version_id`),`=`,e.versionId).select(t.columns.map(e=>r(`b.${e.name}`)))).as(t.name));let a=await this.executeQuery(()=>i.executeTakeFirst(),{method:`selectMultipleByVersionId`,tableName:t.tableName});return a.response.error?a.response:this.validateResponse(a,{enabled:!1,mode:`single`})}async nullifyDocumentReferences(e,t){if(e.columns.length===0)return{error:void 0,data:void 0};let{table:n,ref:r}=this.db.dynamic,i=this.db.updateTable(n(t.tableName).as(`t`)),a={};for(let t of e.columns)a[t]=null;i=i.set(a),i=i.where(t=>{let n=[];for(let i of e.columns)n.push(t(r(`t.${String(i)}`),`=`,e.documentId));return t.or(n)});let o=await this.executeQuery(()=>i.execute(),{method:`nullifyDocumentReferences`,tableName:t.tableName});return o.response.error?o.response:this.validateResponse(o,{enabled:!1,mode:`single`})}};export{n as default};
//# sourceMappingURL=document-bricks.mjs.map