@murumets-ee/entity 0.15.4 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/admin-config.ts","../src/fields/base.ts","../src/types/infer.ts","../src/behaviors/types.ts","../src/behaviors/auditable.ts","../src/behaviors/hierarchical.ts","../src/behaviors/publishable.ts","../src/behaviors/revisionable.ts","../src/behaviors/sluggable.ts","../src/fields/builders.ts","../src/behaviors/timestamped.ts","../src/behaviors/index.ts","../src/count-cache.ts","../src/count-estimate.ts","../src/cursor.ts","../src/define-entity.ts","../src/refs/find-usages.ts","../src/refs/errors.ts","../src/schema-generator.ts","../src/shared/entity-data-ops.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/admin-config.ts","../src/fields/base.ts","../src/types/infer.ts","../src/behaviors/schema-fragment.ts","../src/behaviors/types.ts","../src/behaviors/auditable.ts","../src/behaviors/hierarchical.ts","../src/behaviors/publishable.ts","../src/behaviors/revisionable.ts","../src/define-entity.ts","../src/behaviors/searchable.ts","../src/behaviors/sluggable.ts","../src/fields/builders.ts","../src/behaviors/timestamped.ts","../src/behaviors/index.ts","../src/count-cache.ts","../src/count-estimate.ts","../src/cursor.ts","../src/refs/find-usages.ts","../src/refs/errors.ts","../src/schema-generator.ts","../src/shared/entity-data-ops.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{and as e,eq as t,getTableColumns as n,gt as r,lt as i,or as a,sql as o}from"drizzle-orm";import{boolean as s,doublePrecision as c,index as l,integer as u,jsonb as d,pgTable as f,text as p,timestamp as m,unique as h,uuid as g,varchar as _}from"drizzle-orm/pg-core";import"@murumets-ee/db";const v={id:e=>({type:`id`,required:!0,indexed:!0,...e}),text:e=>({type:`text`,...e}),number:e=>({type:`number`,...e}),boolean:e=>({type:`boolean`,default:!1,...e}),date:e=>({type:`date`,...e}),select:e=>({type:`select`,...e}),reference:e=>({type:`reference`,cardinality:`one`,onDelete:`set-null`,...e}),media:e=>({type:`media`,...e}),richtext:e=>({type:`richtext`,...e}),slug:e=>({type:`slug`,unique:!0,indexed:!0,...e}),json:e=>({type:`json`,...e}),blocks:e=>({type:`blocks`,...e})};function y(){return{name:`auditable`,fields:{createdBy:v.text(),updatedBy:v.text(),createdAt:v.date({indexed:!0}),updatedAt:v.date({indexed:!0})},hooks:{beforeCreate:async(e,t)=>{e.createdAt=new Date,e.updatedAt=new Date;let n=t?.user?.id;return n&&(e.createdBy=n,e.updatedBy=n),e},beforeUpdate:async(e,t,n)=>{t.updatedAt=new Date;let r=n?.user?.id;return r&&(t.updatedBy=r),t}}}}function b(e){return{name:`hierarchical`,fields:{parentId:v.reference({entity:`_self`,required:!1}),path:v.text({indexed:!0,maxLength:2048}),depth:v.number({integer:!0,default:0,indexed:!0})},hooks:{beforeCreate:async e=>(e.parentId||(e.depth=0),e)}}}function x(){return{name:`publishable`,fields:{status:v.select({options:[`draft`,`published`],default:`draft`,indexed:!0}),publishedAt:v.date({indexed:!0})},hooks:{beforeUpdate:async(e,t)=>(t.status===`published`&&!t.publishedAt&&(t.publishedAt=new Date),t)}}}function S(){return{name:`revisionable`,fields:{_version:v.number({required:!0,default:1,integer:!0,internal:!0})},hooks:{beforeCreate:async e=>(e._version=1,e),beforeUpdate:async(e,t)=>(t._version=(Number(t._version)||0)+1,t)}}}function C(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}function w(e,t){return{name:`sluggable`,fields:{slug:v.slug({from:e,...t?.translatable?{translatable:!0}:{}})},hooks:{beforeCreate:async t=>(!t.slug&&t[e]&&(t.slug=C(String(t[e]))),t),beforeUpdate:async(t,n)=>(n[e]&&!n.slug&&(n.slug=C(String(n[e]))),n)}}}function T(){return{name:`timestamped`,fields:{createdAt:v.date({indexed:!0}),updatedAt:v.date({indexed:!0})},hooks:{beforeCreate:async e=>(e.createdAt=new Date,e.updatedAt=new Date,e),beforeUpdate:async(e,t)=>(t.updatedAt=new Date,t)}}}const E={publishable:x,auditable:y,sluggable:w,revisionable:S,hierarchical:b,timestamped:T};var D=class{cache=new Map;inflight=new Map;ttlMs;constructor(e=5e3){this.ttlMs=e}get(e){let t=this.cache.get(e);if(!t||Date.now()>t.expiresAt){t&&this.cache.delete(e);return}return t.count}set(e,t){this.cache.set(e,{count:t,expiresAt:Date.now()+this.ttlMs})}getOrCompute(e,t){let n=this.get(e);if(n!==void 0)return n;let r=this.inflight.get(e);if(r)return r;let i=t().then(t=>(this.set(e,t),t)).finally(()=>{this.inflight.delete(e)});return this.inflight.set(e,i),i}invalidate(e){for(let t of this.cache.keys()){let n=t.startsWith(`query:`)?t.slice(6):t;(n===e||n.startsWith(`${e}:`)||n.startsWith(`${e}@`))&&this.cache.delete(t)}}prune(){let e=Date.now();for(let[t,n]of this.cache.entries())e>n.expiresAt&&this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}};async function O(e,t){let n=await e.execute(o`SELECT reltuples::bigint AS estimate FROM pg_class WHERE relname = ${t}`),r=(Array.isArray(n)?n:n.rows??[])[0],i=Number(r?.estimate??0);return i>0?i:0}const k=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function A(e,t,n){let r={field:t,value:e[t],direction:n,id:e.id};return btoa(JSON.stringify(r))}function j(e){try{let t=atob(e),n=JSON.parse(t);if(typeof n!=`object`||!n)return null;let r=n;return typeof r.field!=`string`||!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r.field)||typeof r.value!=`string`&&typeof r.value!=`number`||r.field===`id`&&(typeof r.value!=`string`||!k.test(r.value))||r.direction!==`asc`&&r.direction!==`desc`||r.id!==void 0&&(typeof r.id!=`string`||!k.test(r.id))?null:{field:r.field,value:r.value,direction:r.direction,id:r.id}}catch{return null}}function M(o,s){let c=n(o),l=c[s.field];if(!l)return null;let u=s.direction===`desc`?i:r,d=u(l,s.value);if(!s.id)return d;let f=c.id;if(!f)return d;let p=u(f,s.id);return a(d,e(t(l,s.value),p))??d}function N(e){let t={};for(let n of e.behaviors||[])if(n.fields)for(let[e,r]of Object.entries(n.fields)){if(t[e]){console.warn(`Field '${e}' from behavior '${n.name}' conflicts with existing field. Skipping.`);continue}t[e]=r}let n={id:v.id(),...t,...e.fields};for(let[,e]of Object.entries(n))e.type===`slug`&&!e.translatable&&n[e.from]?.translatable&&(e.translatable=!0);return{...e,allFields:n}}var P=class extends Error{entityName;entityId;usages;constructor(e,t,n){let r=n.length;super(`Cannot delete ${e} '${t}': referenced by ${r} other entit${r===1?`y`:`ies`}`),this.name=`ReferencedEntityError`,this.entityName=e,this.entityId=t,this.usages=n}};const F=f(`entity_refs`,{sourceEntity:_(`source_entity`,{length:100}).notNull(),sourceId:g(`source_id`).notNull(),sourceField:_(`source_field`,{length:100}).notNull(),targetEntity:_(`target_entity`,{length:100}).notNull(),targetId:g(`target_id`).notNull()},e=>[h(`uq_entity_refs`).on(e.sourceEntity,e.sourceId,e.sourceField,e.targetEntity,e.targetId),l(`idx_entity_refs_target`).on(e.targetEntity,e.targetId),l(`idx_entity_refs_source`).on(e.sourceEntity,e.sourceId)]);function I(e,t){let r=n(e).id;if(!r)throw Error(`Parent table for "${t}" has no "id" column`);return r}function L(e,t,n){let r=n?.nullable??!1;switch(t.type){case`id`:return g(e).primaryKey().defaultRandom();case`text`:if(t.maxLength&&t.maxLength<=255){let n=_(e,{length:t.maxLength});return t.unique&&(n=n.unique()),!r&&t.required&&(n=n.notNull()),!r&&t.default!==void 0&&(n=n.default(t.default)),n}else{let n=p(e);return t.unique&&(n=n.unique()),!r&&t.required&&(n=n.notNull()),!r&&t.default!==void 0&&(n=n.default(t.default)),n}case`number`:{let n=t.integer?u(e):c(e);return!r&&t.required&&(n=n.notNull()),!r&&t.default!==void 0&&(n=n.default(t.default)),n}case`boolean`:{let n=s(e);if(!r&&t.required&&(n=n.notNull()),!r){let e=t.default===void 0?!1:t.default;n=n.default(e)}return n}case`date`:{let n=m(e,{withTimezone:!0});return!r&&t.required&&(n=n.notNull()),!r&&t.default!==void 0&&(n=n.default(t.default)),n}case`select`:{let n=_(e,{length:100});return!r&&t.required&&(n=n.notNull()),!r&&t.default!==void 0&&(n=n.default(t.default)),n}case`reference`:{if(t.cardinality===`many`)return g(e).array();let n=g(e);return!r&&t.required&&(n=n.notNull()),n}case`media`:{let n=g(e);return!r&&t.required&&(n=n.notNull()),n}case`slug`:{let n=_(e,{length:255});return t.unique&&!r&&(n=n.unique()),!r&&t.required&&(n=n.notNull()),n}case`richtext`:{let n=p(e);return!r&&t.required&&(n=n.notNull()),n}case`json`:return d(e);default:return p(e)}}function R(e){let t=e.name,n={};for(let[t,r]of Object.entries(e.allFields))r.type!==`blocks`&&(n[t]=L(t,r));(e.scope===`team`||e.scope===`user`)&&(n._scopeId=g(`_scope_id`));let r=Object.entries(e.allFields).filter(([e,t])=>t.type!==`blocks`&&t.type!==`id`&&t.indexed&&!t.unique),i=e.behaviors?.some(e=>e.name===`publishable`)??!1;return r.length===0&&!i?f(t,n):f(t,n,e=>{let n={};for(let[i]of r){let r=e[i];if(!r)throw Error(`generateSchema: indexed field "${i}" missing from "${t}" pgTable`);n[`idx_${t}_${i}`]=l(`idx_${t}_${i}`).on(r)}let a=e.status,o=e.createdAt;return i&&a&&o&&(n[`idx_${t}_status_created`]=l(`idx_${t}_status_created`).on(a,o)),n})}function z(e,t){let n=Object.entries(e.allFields).filter(([e,t])=>t.translatable);if(n.length===0)return null;let r=`${e.name}_translations`,i=t?g(`entity_id`).notNull().references(()=>I(t,e.name),{onDelete:`cascade`}):g(`entity_id`).notNull(),a={id:g(`id`).primaryKey().defaultRandom(),entityId:i,locale:_(`locale`,{length:10}).notNull()},o=n.some(([e,t])=>t.type===`slug`);for(let[e,t]of n)a[e]=L(e,t,{nullable:!0});return f(r,a,t=>{let n=t.entityId,r=t.locale;if(!n||!r)throw Error(`Translation table for "${e.name}" missing entityId/locale columns`);let i=t.slug;return{uniqueEntityLocale:h().on(n,r),...o&&i?{uniqueSlugLocale:h().on(i,r)}:{}}})}function B(e){return Object.values(e.allFields).some(e=>e.type===`blocks`)}function V(e,t){if(!B(e))return null;let n=`${e.name}_layout`,r=t?g(`entity_id`).notNull().references(()=>I(t,e.name),{onDelete:`cascade`}):g(`entity_id`).notNull();return f(n,{id:g(`id`).primaryKey().defaultRandom(),entityId:r,fieldName:_(`field_name`,{length:100}).notNull(),blockType:_(`block_type`,{length:100}).notNull(),sortOrder:u(`sort_order`).notNull().default(0),data:d(`data`),locale:_(`locale`,{length:10})},e=>({idx_entity_locale_sort:l(`idx_${n}_entity_locale_sort`).on(e.entityId,e.locale,e.sortOrder)}))}function H(e,t){return e.behaviors?.some(e=>e.name===t)??!1}function U(e){return H(e,`versionable`)}function W(e){if(!H(e,`publishable`))return!1;let t=e.allFields;return Object.values(t).some(e=>e.translatable)}function G(e){return H(e,`publishable`)}function K(e,t){return f(`${e.name}_locale_status`,{id:g(`id`).primaryKey().defaultRandom(),entityId:g(`entity_id`).notNull().references(()=>I(t,e.name),{onDelete:`cascade`}),locale:_(`locale`,{length:10}).notNull(),status:_(`status`,{length:20}).notNull().default(`draft`),publishedAt:m(`published_at`,{withTimezone:!0})},e=>({uniqueEntityLocale:h().on(e.entityId,e.locale)}))}function q(e,t){return f(`${e.name}_drafts`,{id:g(`id`).primaryKey().defaultRandom(),entityId:g(`entity_id`).notNull().references(()=>I(t,e.name),{onDelete:`cascade`}),locale:_(`locale`,{length:10}).notNull().default(`_`),data:d(`data`).notNull(),createdBy:_(`created_by`,{length:255}).notNull(),createdByName:_(`created_by_name`,{length:255}),createdAt:m(`created_at`,{withTimezone:!0}).notNull().defaultNow(),updatedAt:m(`updated_at`,{withTimezone:!0}).notNull().defaultNow()},e=>({uniqueEntityLocale:h().on(e.entityId,e.locale)}))}function J(e,t){return f(`${e.name}_versions`,{id:g(`id`).primaryKey().defaultRandom(),entityId:g(`entity_id`).notNull().references(()=>I(t,e.name),{onDelete:`cascade`}),version:u(`version`).notNull(),locale:_(`locale`,{length:10}).notNull().default(`_`),data:d(`data`).notNull(),delta:d(`delta`),status:_(`status`,{length:20}),createdBy:_(`created_by`,{length:255}),createdByName:_(`created_by_name`,{length:255}),createdAt:m(`created_at`,{withTimezone:!0}).notNull().defaultNow(),isAutosave:s(`is_autosave`).notNull().default(!1)},e=>({uniqueEntityVersionLocale:h().on(e.entityId,e.version,e.locale)}))}function Y(){return f(`toolkit_content_locks`,{id:g(`id`).primaryKey().defaultRandom(),entityType:_(`entity_type`,{length:100}).notNull(),entityId:_(`entity_id`,{length:255}).notNull(),locale:_(`locale`,{length:10}).notNull().default(`_`),lockedBy:_(`locked_by`,{length:255}).notNull(),lockedByName:_(`locked_by_name`,{length:255}),lockedAt:m(`locked_at`,{withTimezone:!0}).notNull().defaultNow(),expiresAt:m(`expires_at`,{withTimezone:!0}).notNull()},e=>({uniqueEntityLock:h().on(e.entityType,e.entityId,e.locale)}))}function X(e){let t=e.allFields;return Object.values(t).some(e=>e.type!==`blocks`||e.localized?!1:e.blocks?.some(e=>Object.values(e.fields).some(e=>e.translatable)))}function Z(e,t){let n=Object.values(e.allFields).filter(e=>e.type===`blocks`&&!(`localized`in e&&e.localized));if(n.length===0||!n.some(e=>e.type===`blocks`?e.blocks.some(e=>Object.values(e.fields).some(e=>e.translatable)):!1))return null;let r=`${e.name}_layout_translations`,i=t?g(`layout_id`).notNull().references(()=>I(t,`${e.name} layout`),{onDelete:`cascade`}):g(`layout_id`).notNull();return f(r,{id:g(`id`).primaryKey().defaultRandom(),layoutId:i,locale:_(`locale`,{length:10}).notNull(),fields:d(`fields`).notNull()},e=>({uniqueLayoutLocale:h().on(e.layoutId,e.locale)}))}function Q(e){let t={},n=!1;for(let r of e){let e=R(r);t[r.name]=e;let i=z(r,e);if(i&&(t[`${r.name}_translations`]=i),B(r)){let n=V(r,e);if(n){t[`${r.name}_layout`]=n;let e=Z(r,n);e&&(t[`${r.name}_layout_translations`]=e)}}U(r)&&(t[`${r.name}_versions`]=J(r,e)),W(r)&&(t[`${r.name}_locale_status`]=K(r,e)),G(r)&&(t[`${r.name}_drafts`]=q(r,e),n=!0)}return n&&(t.toolkit_content_locks=Y()),t.entity_refs=F,t}var $=class extends Error{constructor(e){super(e),this.name=`ForbiddenError`}};export{D as CountCache,$ as ForbiddenError,P as ReferencedEntityError,y as auditable,E as behavior,M as buildCursorCondition,Q as buildEntitySchemaMap,j as decodeCursor,N as defineEntity,A as encodeCursor,O as estimateRowCount,v as field,V as generateLayoutSchema,Z as generateLayoutTranslationSchema,R as generateSchema,z as generateTranslationSchema,H as hasBehavior,B as hasBlocksFields,X as hasTranslatableBlocks,b as hierarchical,G as isPublishable,U as isVersionable,W as needsLocaleStatus,x as publishable,S as revisionable,w as sluggable,C as slugify,T as timestamped};
1
+ import{and as e,eq as t,getTableColumns as n,gt as r,lt as i,or as a,sql as o}from"drizzle-orm";import{boolean as s,check as c,customType as l,doublePrecision as u,getTableConfig as d,index as f,integer as p,jsonb as m,pgTable as h,text as g,timestamp as _,unique as v,uuid as y,varchar as b}from"drizzle-orm/pg-core";import"@murumets-ee/db";const x={id:e=>({type:`id`,required:!0,indexed:!0,...e}),text:e=>({type:`text`,...e}),number:e=>({type:`number`,...e}),boolean:e=>({type:`boolean`,default:!1,...e}),date:e=>({type:`date`,...e}),select:e=>({type:`select`,...e}),reference:e=>({type:`reference`,cardinality:`one`,onDelete:`set-null`,...e}),media:e=>({type:`media`,...e}),richtext:e=>({type:`richtext`,...e}),slug:e=>({type:`slug`,unique:!0,indexed:!0,...e}),json:e=>({type:`json`,...e}),blocks:e=>({type:`blocks`,...e})};function S(){return{name:`auditable`,fields:{createdBy:x.text(),updatedBy:x.text(),createdAt:x.date({indexed:!0}),updatedAt:x.date({indexed:!0})},hooks:{beforeCreate:async(e,t)=>{e.createdAt=new Date,e.updatedAt=new Date;let n=t?.user?.id;return n&&(e.createdBy=n,e.updatedBy=n),e},beforeUpdate:async(e,t,n)=>{t.updatedAt=new Date;let r=n?.user?.id;return r&&(t.updatedBy=r),t}}}}function C(e){return{name:`hierarchical`,fields:{parentId:x.reference({entity:`_self`,required:!1}),path:x.text({indexed:!0,maxLength:2048}),depth:x.number({integer:!0,default:0,indexed:!0})},hooks:{beforeCreate:async e=>(e.parentId||(e.depth=0),e)}}}function w(){return{name:`publishable`,fields:{status:x.select({options:[`draft`,`published`],default:`draft`,indexed:!0}),publishedAt:x.date({indexed:!0})},hooks:{beforeUpdate:async(e,t)=>(t.status===`published`&&!t.publishedAt&&(t.publishedAt=new Date),t)},constraints:(e,t,n)=>{if(t!==`main`)return[];let r=e.status,i=e.createdAt;return!r||!i?[]:[{kind:`index`,name:`idx_${n.entityName}_status_created`,on:[r,i]}]}}}function T(){return{name:`revisionable`,fields:{_version:x.number({required:!0,default:1,integer:!0,internal:!0})},hooks:{beforeCreate:async e=>(e._version=1,e),beforeUpdate:async(e,t)=>(t._version=(Number(t._version)||0)+1,t)}}}const ee=l({dataType:()=>`tsvector`}),E=`_search_tsv`,D=[`A`,`B`,`C`,`D`],te=/^[a-z_][a-z0-9_]*$/i,O=/^[a-z_][a-z0-9_]*$/i;function k(e){return{name:`searchable`,config:e,columns:(t,n)=>{let r=A(e,n);if(r===null)return{};let i=t===`main`?r.main:r.translatable;return i.length===0?{}:{[E]:ee(E).notNull().generatedAlwaysAs(re(r.language,i))}},constraints:(t,n,r)=>{let i=A(e,r);if(i===null||(n===`main`?i.main:i.translatable).length===0)return[];let a=t[E];return a?[{kind:`index`,name:n===`main`?`idx_${r.entityName}_search_tsv`:`idx_${r.entityName}_translations_search_tsv`,on:[a],using:`gin`}]:[]}}}const ne=new Set([`text`,`richtext`,`slug`]);function A(e,t){if(!e.fts)return null;let n=e.fts.language??`simple`;if(!O.test(n))throw Error(`searchable({ fts: { language: ${JSON.stringify(n)} } }) on "${t.entityName}" — language must match ${O} (alphanumeric + underscore)`);let r=e.fts.fields;if(r.length===0)throw Error(`searchable({ fts: { fields: [] } }) on "${t.entityName}" — at least one field required`);if(r.length>D.length)throw Error(`searchable({ fts: { fields: [...${r.length}] } }) on "${t.entityName}" — at most ${D.length} fts fields are supported (setweight A/B/C/D)`);let i=[],a=[];for(let e=0;e<r.length;e++){let n=r[e];if(n===void 0)continue;if(!te.test(n))throw Error(`searchable({ fts: { fields: [..., ${JSON.stringify(n)}] } }) on "${t.entityName}" — field names must be valid SQL identifiers`);let o=t.allFields[n];if(!o)throw Error(`searchable({ fts: { fields: [..., ${JSON.stringify(n)}] } }) on "${t.entityName}" — field is not declared on the entity`);if(!ne.has(o.type))throw Error(`searchable({ fts: { fields: [..., ${JSON.stringify(n)}] } }) on "${t.entityName}" — field type "${o.type}" cannot be indexed by to_tsvector (only text, richtext, slug are supported)`);let s={field:n,weight:D[e]??`D`};o.translatable?a.push(s):i.push(s)}return{language:n,main:i,translatable:a}}function re(e,t){let n=t.map(({field:t,weight:n})=>`setweight(to_tsvector('${e}', coalesce("${t}", '')), '${n}')`);return o.raw(n.join(` || `))}function j(e){if(e.name!==`searchable`||!(`config`in e))return!1;let t=e;if(!t.config||typeof t.config!=`object`)return!1;let n=t.config;return Array.isArray(n.fields)&&typeof n.projection==`function`}function M(e){return e.behaviors?.find(j)?.config}function N(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}function P(e,t){return{name:`sluggable`,fields:{slug:x.slug({from:e,...t?.translatable?{translatable:!0}:{}})},hooks:{beforeCreate:async t=>(!t.slug&&t[e]&&(t.slug=N(String(t[e]))),t),beforeUpdate:async(t,n)=>(n[e]&&!n.slug&&(n.slug=N(String(n[e]))),n)}}}function F(){return{name:`timestamped`,fields:{createdAt:x.date({indexed:!0}),updatedAt:x.date({indexed:!0})},hooks:{beforeCreate:async e=>(e.createdAt=new Date,e.updatedAt=new Date,e),beforeUpdate:async(e,t)=>(t.updatedAt=new Date,t)}}}const I={publishable:w,auditable:S,sluggable:P,revisionable:T,hierarchical:C,timestamped:F,searchable:k};var L=class{cache=new Map;inflight=new Map;ttlMs;constructor(e=5e3){this.ttlMs=e}get(e){let t=this.cache.get(e);if(!t||Date.now()>t.expiresAt){t&&this.cache.delete(e);return}return t.count}set(e,t){this.cache.set(e,{count:t,expiresAt:Date.now()+this.ttlMs})}getOrCompute(e,t){let n=this.get(e);if(n!==void 0)return n;let r=this.inflight.get(e);if(r)return r;let i=t().then(t=>(this.set(e,t),t)).finally(()=>{this.inflight.delete(e)});return this.inflight.set(e,i),i}invalidate(e){for(let t of this.cache.keys()){let n=t.startsWith(`query:`)?t.slice(6):t;(n===e||n.startsWith(`${e}:`)||n.startsWith(`${e}@`))&&this.cache.delete(t)}}prune(){let e=Date.now();for(let[t,n]of this.cache.entries())e>n.expiresAt&&this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}};async function ie(e,t){let n=await e.execute(o`SELECT reltuples::bigint AS estimate FROM pg_class WHERE relname = ${t}`),r=(Array.isArray(n)?n:n.rows??[])[0],i=Number(r?.estimate??0);return i>0?i:0}const R=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ae(e,t,n){let r={field:t,value:e[t],direction:n,id:e.id};return btoa(JSON.stringify(r))}function oe(e){try{let t=atob(e),n=JSON.parse(t);if(typeof n!=`object`||!n)return null;let r=n;return typeof r.field!=`string`||!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r.field)||typeof r.value!=`string`&&typeof r.value!=`number`||r.field===`id`&&(typeof r.value!=`string`||!R.test(r.value))||r.direction!==`asc`&&r.direction!==`desc`||r.id!==void 0&&(typeof r.id!=`string`||!R.test(r.id))?null:{field:r.field,value:r.value,direction:r.direction,id:r.id}}catch{return null}}function se(o,s){let c=n(o),l=c[s.field];if(!l)return null;let u=s.direction===`desc`?i:r,d=u(l,s.value);if(!s.id)return d;let f=c.id;if(!f)return d;let p=u(f,s.id);return a(d,e(t(l,s.value),p))??d}function ce(e){let t={};for(let n of e.behaviors||[])if(n.fields)for(let[e,r]of Object.entries(n.fields)){if(t[e]){console.warn(`Field '${e}' from behavior '${n.name}' conflicts with existing field. Skipping.`);continue}t[e]=r}let n={id:x.id(),...t,...e.fields};for(let[,e]of Object.entries(n))e.type===`slug`&&!e.translatable&&n[e.from]?.translatable&&(e.translatable=!0);return{...e,allFields:n}}var le=class extends Error{entityName;entityId;usages;constructor(e,t,n){let r=n.length;super(`Cannot delete ${e} '${t}': referenced by ${r} other entit${r===1?`y`:`ies`}`),this.name=`ReferencedEntityError`,this.entityName=e,this.entityId=t,this.usages=n}};function z(e){switch(e.kind){case`index`:{if(e.on.length===0)throw Error(`Index "${e.name}" has no columns`);let t=e.on[0];if(!t)throw Error(`Index "${e.name}" first column is undefined`);let n=e.on.slice(1);return e.using&&e.using!==`btree`?f(e.name).using(e.using,t,...n):f(e.name).on(t,...n)}case`uniqueConstraint`:{if(e.on.length===0)throw Error(`Unique constraint "${e.name}" has no columns`);let t=e.on[0];if(!t)throw Error(`Unique constraint "${e.name}" first column is undefined`);let n=e.on.slice(1);return v(e.name).on(t,...n)}case`checkConstraint`:return c(e.name,e.expression)}}const B=h(`entity_refs`,{sourceEntity:b(`source_entity`,{length:100}).notNull(),sourceId:y(`source_id`).notNull(),sourceField:b(`source_field`,{length:100}).notNull(),targetEntity:b(`target_entity`,{length:100}).notNull(),targetId:y(`target_id`).notNull()},e=>[v(`uq_entity_refs`).on(e.sourceEntity,e.sourceId,e.sourceField,e.targetEntity,e.targetId),f(`idx_entity_refs_target`).on(e.targetEntity,e.targetId),f(`idx_entity_refs_source`).on(e.sourceEntity,e.sourceId)]);function V(e,t){let n={},r=[],i={entityName:e.name,allFields:e.allFields};for(let a of e.behaviors??[]){if(a.columns){let r=a.columns(t,i);for(let[i,o]of Object.entries(r)){if(i in n)throw Error(`Two behaviors contribute column "${i}" on entity "${e.name}" (target=${t}) — last contributor was "${a.name}"`);n[i]=o}}if(a.constraints){let e=a.constraints;r.push(n=>e(n,t,i))}}return{columns:n,constraintProducers:r}}function H(e,t){let r=n(e).id;if(!r)throw Error(`Parent table for "${t}" has no "id" column`);return r}function U(e,t,n){let r=n?.nullable??!1;switch(t.type){case`id`:return y(e).primaryKey().defaultRandom();case`text`:if(t.maxLength&&t.maxLength<=255){let n=b(e,{length:t.maxLength});return t.unique&&(n=n.unique()),!r&&t.required&&(n=n.notNull()),!r&&t.default!==void 0&&(n=n.default(t.default)),n}else{let n=g(e);return t.unique&&(n=n.unique()),!r&&t.required&&(n=n.notNull()),!r&&t.default!==void 0&&(n=n.default(t.default)),n}case`number`:{let n=t.integer?p(e):u(e);return!r&&t.required&&(n=n.notNull()),!r&&t.default!==void 0&&(n=n.default(t.default)),n}case`boolean`:{let n=s(e);if(!r&&t.required&&(n=n.notNull()),!r){let e=t.default===void 0?!1:t.default;n=n.default(e)}return n}case`date`:{let n=_(e,{withTimezone:!0});return!r&&t.required&&(n=n.notNull()),!r&&t.default!==void 0&&(n=n.default(t.default)),n}case`select`:{let n=b(e,{length:100});return!r&&t.required&&(n=n.notNull()),!r&&t.default!==void 0&&(n=n.default(t.default)),n}case`reference`:{if(t.cardinality===`many`)return y(e).array();let n=y(e);return!r&&t.required&&(n=n.notNull()),n}case`media`:{let n=y(e);return!r&&t.required&&(n=n.notNull()),n}case`slug`:{let n=b(e,{length:255});return t.unique&&!r&&(n=n.unique()),!r&&t.required&&(n=n.notNull()),n}case`richtext`:{let n=g(e);return!r&&t.required&&(n=n.notNull()),n}case`json`:return m(e);default:return g(e)}}function W(e){let t=e.name,n={};for(let[t,r]of Object.entries(e.allFields))r.type!==`blocks`&&(n[t]=U(t,r));(e.scope===`team`||e.scope===`user`)&&(n._scopeId=y(`_scope_id`));let r=Object.entries(e.allFields).filter(([e,t])=>t.type!==`blocks`&&t.type!==`id`&&t.indexed&&!t.unique),{columns:i,constraintProducers:a}=V(e,`main`);for(let[t,r]of Object.entries(i)){if(t in n)throw Error(`Behavior on entity "${e.name}" contributes column "${t}" that collides with an entity field`);n[t]=r}if(!(r.length>0||a.length>0))return h(t,n);let o=h(t,n,n=>{let i={},o=new Set;for(let[e]of r){let r=n[e];if(!r)throw Error(`generateSchema: indexed field "${e}" missing from "${t}" pgTable`);let a=`idx_${t}_${e}`;i[a]=f(a).on(r),o.add(a)}let s=n;for(let t of a){let n=t(s);for(let t of n){if(o.has(t.name))throw Error(`Behavior on entity "${e.name}" contributes constraint "${t.name}" that collides with another constraint`);o.add(t.name),i[t.name]=z(t)}}return i});return d(o),o}function G(e,t){let n=Object.entries(e.allFields).filter(([e,t])=>t.translatable);if(n.length===0)return null;let r=`${e.name}_translations`,i=t?y(`entity_id`).notNull().references(()=>H(t,e.name),{onDelete:`cascade`}):y(`entity_id`).notNull(),a={id:y(`id`).primaryKey().defaultRandom(),entityId:i,locale:b(`locale`,{length:10}).notNull()},o=n.some(([e,t])=>t.type===`slug`);for(let[e,t]of n)a[e]=U(e,t,{nullable:!0});let{columns:s,constraintProducers:c}=V(e,`translations`);for(let[t,n]of Object.entries(s)){if(t in a)throw Error(`Behavior on entity "${e.name}" contributes translation-table column "${t}" that collides with an existing column`);a[t]=n}let l=h(r,a,t=>{let n=t.entityId,r=t.locale;if(!n||!r)throw Error(`Translation table for "${e.name}" missing entityId/locale columns`);let i=t.slug,a={uniqueEntityLocale:v().on(n,r),...o&&i?{uniqueSlugLocale:v().on(i,r)}:{}},s=new Set(Object.keys(a)),l=t;for(let t of c){let n=t(l);for(let t of n){if(s.has(t.name))throw Error(`Behavior on entity "${e.name}" translation table contributes constraint "${t.name}" that collides`);s.add(t.name),a[t.name]=z(t)}}return a});return d(l),l}function K(e){return Object.values(e.allFields).some(e=>e.type===`blocks`)}function q(e,t){if(!K(e))return null;let n=`${e.name}_layout`,r=t?y(`entity_id`).notNull().references(()=>H(t,e.name),{onDelete:`cascade`}):y(`entity_id`).notNull();return h(n,{id:y(`id`).primaryKey().defaultRandom(),entityId:r,fieldName:b(`field_name`,{length:100}).notNull(),blockType:b(`block_type`,{length:100}).notNull(),sortOrder:p(`sort_order`).notNull().default(0),data:m(`data`),locale:b(`locale`,{length:10})},e=>({idx_entity_locale_sort:f(`idx_${n}_entity_locale_sort`).on(e.entityId,e.locale,e.sortOrder)}))}function J(e,t){return e.behaviors?.some(e=>e.name===t)??!1}function Y(e){return J(e,`versionable`)}function X(e){if(!J(e,`publishable`))return!1;let t=e.allFields;return Object.values(t).some(e=>e.translatable)}function Z(e){return J(e,`publishable`)}function ue(e,t){return h(`${e.name}_locale_status`,{id:y(`id`).primaryKey().defaultRandom(),entityId:y(`entity_id`).notNull().references(()=>H(t,e.name),{onDelete:`cascade`}),locale:b(`locale`,{length:10}).notNull(),status:b(`status`,{length:20}).notNull().default(`draft`),publishedAt:_(`published_at`,{withTimezone:!0})},e=>({uniqueEntityLocale:v().on(e.entityId,e.locale)}))}function de(e,t){return h(`${e.name}_drafts`,{id:y(`id`).primaryKey().defaultRandom(),entityId:y(`entity_id`).notNull().references(()=>H(t,e.name),{onDelete:`cascade`}),locale:b(`locale`,{length:10}).notNull().default(`_`),data:m(`data`).notNull(),createdBy:b(`created_by`,{length:255}).notNull(),createdByName:b(`created_by_name`,{length:255}),createdAt:_(`created_at`,{withTimezone:!0}).notNull().defaultNow(),updatedAt:_(`updated_at`,{withTimezone:!0}).notNull().defaultNow()},e=>({uniqueEntityLocale:v().on(e.entityId,e.locale)}))}function Q(e,t){return h(`${e.name}_versions`,{id:y(`id`).primaryKey().defaultRandom(),entityId:y(`entity_id`).notNull().references(()=>H(t,e.name),{onDelete:`cascade`}),version:p(`version`).notNull(),locale:b(`locale`,{length:10}).notNull().default(`_`),data:m(`data`).notNull(),delta:m(`delta`),status:b(`status`,{length:20}),createdBy:b(`created_by`,{length:255}),createdByName:b(`created_by_name`,{length:255}),createdAt:_(`created_at`,{withTimezone:!0}).notNull().defaultNow(),isAutosave:s(`is_autosave`).notNull().default(!1)},e=>({uniqueEntityVersionLocale:v().on(e.entityId,e.version,e.locale)}))}function fe(){return h(`toolkit_content_locks`,{id:y(`id`).primaryKey().defaultRandom(),entityType:b(`entity_type`,{length:100}).notNull(),entityId:b(`entity_id`,{length:255}).notNull(),locale:b(`locale`,{length:10}).notNull().default(`_`),lockedBy:b(`locked_by`,{length:255}).notNull(),lockedByName:b(`locked_by_name`,{length:255}),lockedAt:_(`locked_at`,{withTimezone:!0}).notNull().defaultNow(),expiresAt:_(`expires_at`,{withTimezone:!0}).notNull()},e=>({uniqueEntityLock:v().on(e.entityType,e.entityId,e.locale)}))}function pe(e){let t=e.allFields;return Object.values(t).some(e=>e.type!==`blocks`||e.localized?!1:e.blocks?.some(e=>Object.values(e.fields).some(e=>e.translatable)))}function $(e,t){let n=Object.values(e.allFields).filter(e=>e.type===`blocks`&&!(`localized`in e&&e.localized));if(n.length===0||!n.some(e=>e.type===`blocks`?e.blocks.some(e=>Object.values(e.fields).some(e=>e.translatable)):!1))return null;let r=`${e.name}_layout_translations`,i=t?y(`layout_id`).notNull().references(()=>H(t,`${e.name} layout`),{onDelete:`cascade`}):y(`layout_id`).notNull();return h(r,{id:y(`id`).primaryKey().defaultRandom(),layoutId:i,locale:b(`locale`,{length:10}).notNull(),fields:m(`fields`).notNull()},e=>({uniqueLayoutLocale:v().on(e.layoutId,e.locale)}))}function me(e){let t={},n=!1;for(let r of e){let e=W(r);t[r.name]=e;let i=G(r,e);if(i&&(t[`${r.name}_translations`]=i),K(r)){let n=q(r,e);if(n){t[`${r.name}_layout`]=n;let e=$(r,n);e&&(t[`${r.name}_layout_translations`]=e)}}Y(r)&&(t[`${r.name}_versions`]=Q(r,e)),X(r)&&(t[`${r.name}_locale_status`]=ue(r,e)),Z(r)&&(t[`${r.name}_drafts`]=de(r,e),n=!0)}return n&&(t.toolkit_content_locks=fe()),t.entity_refs=B,t}var he=class extends Error{constructor(e){super(e),this.name=`ForbiddenError`}};export{L as CountCache,he as ForbiddenError,le as ReferencedEntityError,S as auditable,I as behavior,se as buildCursorCondition,me as buildEntitySchemaMap,oe as decodeCursor,ce as defineEntity,ae as encodeCursor,ie as estimateRowCount,x as field,q as generateLayoutSchema,$ as generateLayoutTranslationSchema,W as generateSchema,G as generateTranslationSchema,M as getSearchableConfig,J as hasBehavior,K as hasBlocksFields,pe as hasTranslatableBlocks,C as hierarchical,Z as isPublishable,j as isSearchableBehavior,Y as isVersionable,X as needsLocaleStatus,w as publishable,T as revisionable,k as searchable,P as sluggable,N as slugify,F as timestamped};
2
2
  //# sourceMappingURL=index.mjs.map