@oaknational/oak-curriculum-schema-v2 0.0.10-alpha → 0.0.11-alpha
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.
- package/cjs/index.cjs +103 -16
- package/cjs/index.cjs.map +1 -1
- package/esm/index.js +101 -14
- package/esm/index.js.map +1 -1
- package/package.json +1 -1
- package/src/rendered-schema/components/deprecated-fields.ts +5 -0
- package/src/rendered-schema/components/equipment-and-resource.ts +7 -0
- package/src/rendered-schema/components/key-learning-point.ts +7 -0
- package/src/rendered-schema/components/keyword.ts +8 -0
- package/src/rendered-schema/components/lesson-outline-item.ts +5 -0
- package/src/rendered-schema/components/misconception-and-common-mistake.ts +10 -0
- package/src/rendered-schema/components/teacher-tip.ts +5 -0
- package/src/rendered-schema/draft-documents-with-status-by-lesson.ts +18 -0
- package/src/rendered-schema/draft-lesson-video-with-status-by-lesson.ts +24 -0
- package/src/rendered-schema/draft-lesson-with-status.ts +35 -0
- package/src/rendered-schema/published-document-with-release-by-lesson-and-document-type.ts +17 -0
- package/src/rendered-schema/published-documents-with-release-by-lesson.ts +18 -0
- package/src/rendered-schema/published-lesson-video-with-release-by-lesson.ts +23 -0
- package/src/rendered-schema/published-lesson-with-release.ts +36 -0
- package/src/rendered-schema/unit-contexts-by-unit.ts +14 -0
- package/src/rendered-schema/units-by-lesson.ts +10 -0
package/cjs/index.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";var e=require("zod-to-camel-case"),i=require("drizzle-zod"),t=require("drizzle-orm"),s=require("zod");function n(e){return e&&e.__esModule?e:{default:e}}var _=n(e);const a=Symbol.for("drizzle:entityKind");function o(e,i){if(!e||"object"!=typeof e)return!1;if(e instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,a))throw new Error(`Class "${i.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let t=Object.getPrototypeOf(e).constructor;if(t)for(;t;){if(a in t&&t[a]===i[a])return!0;t=Object.getPrototypeOf(t)}return!1}class r{constructor(e,i){this.table=e,this.config=i,this.name=i.name,this.keyAsName=i.keyAsName,this.notNull=i.notNull,this.default=i.default,this.defaultFn=i.defaultFn,this.onUpdateFn=i.onUpdateFn,this.hasDefault=i.hasDefault,this.primary=i.primaryKey,this.isUnique=i.isUnique,this.uniqueName=i.uniqueName,this.uniqueType=i.uniqueType,this.dataType=i.dataType,this.columnType=i.columnType,this.generated=i.generated,this.generatedIdentity=i.generatedIdentity}static[a]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return void 0!==this.config.generated&&"byDefault"!==this.config.generated.type}}class l{static[a]="ColumnBuilder";config;constructor(e,i,t){this.config={name:e,keyAsName:""===e,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:i,columnType:t,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){""===this.config.name&&(this.config.name=e)}}const d=Symbol.for("drizzle:Name");class u{static[a]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,i){this.reference=()=>{const{name:i,columns:t,foreignColumns:s}=e();return{name:i,columns:t,foreignTable:s[0].table,foreignColumns:s}},i&&(this._onUpdate=i.onUpdate,this._onDelete=i.onDelete)}onUpdate(e){return this._onUpdate=void 0===e?"no action":e,this}onDelete(e){return this._onDelete=void 0===e?"no action":e,this}build(e){return new c(e,this)}}class c{constructor(e,i){this.table=e,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static[a]="PgForeignKey";reference;onUpdate;onDelete;getName(){const{name:e,columns:i,foreignColumns:t}=this.reference(),s=i.map(e=>e.name),n=t.map(e=>e.name),_=[this.table[d],...s,t[0].table[d],...n];return e??`${_.join("_")}_fk`}}function m(e){return new u(function(){const{name:i,columns:t,foreignColumns:s}=e;return{name:i,columns:t,foreignColumns:s}})}function p(e){return new h(e)}function g(e,i){return`${e[d]}_${i.join("_")}_unique`}class f{constructor(e,i){this.name=i,this.columns=e}static[a]="PgUniqueConstraintBuilder";columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new v(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class h{static[a]="PgUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new f(e,this.name)}}class v{constructor(e,i,t,s){this.table=e,this.columns=i,this.name=s??g(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=t}static[a]="PgUniqueConstraint";columns;name;nullsNotDistinct=!1;getName(){return this.name}}function y(e,i,t){for(let s=i;s<e.length;s++){const n=e[s];if("\\"!==n){if('"'===n)return[e.slice(i,s).replace(/\\/g,""),s+1];if(!t&&(","===n||"}"===n))return[e.slice(i,s).replace(/\\/g,""),s]}else s++}return[e.slice(i).replace(/\\/g,""),e.length]}function b(e,i=0){const t=[];let s=i,n=!1;for(;s<e.length;){const _=e[s];if(","===_){(n||s===i)&&t.push(""),n=!0,s++;continue}if(n=!1,"\\"===_){s+=2;continue}if('"'===_){const[i,n]=y(e,s+1,!0);t.push(i),s=n;continue}if("}"===_)return[t,s+1];if("{"===_){const[i,n]=b(e,s+1);t.push(i),s=n;continue}const[a,o]=y(e,s,!1);t.push(a),s=o}return[t,s]}function w(e){const[i]=b(e,1);return i}function N(e){return`{${e.map(e=>Array.isArray(e)?N(e):"string"==typeof e?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${e}`).join(",")}}`}class k extends l{foreignKeyConfigs=[];static[a]="PgColumnBuilder";array(e){return new C(this.config.name,this,e)}references(e,i={}){return this.foreignKeyConfigs.push({ref:e,actions:i}),this}unique(e,i){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=i?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,i){return this.foreignKeyConfigs.map(({ref:t,actions:s})=>function(e,...i){return e(...i)}((t,s)=>{const n=new u(()=>{const i=t();return{columns:[e],foreignColumns:[i]}});return s.onUpdate&&n.onUpdate(s.onUpdate),s.onDelete&&n.onDelete(s.onDelete),n.build(i)},t,s))}buildExtraConfigColumn(e){return new x(e,this.config)}}class S extends r{constructor(e,i){i.uniqueName||(i.uniqueName=g(e,[i.name])),super(e,i),this.table=e}static[a]="PgColumn"}class x extends S{static[a]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(e){return this.indexConfig.opClass=e,this}}class A{static[a]="IndexedColumn";constructor(e,i,t,s){this.name=e,this.keyAsName=i,this.type=t,this.indexConfig=s}name;keyAsName;type;indexConfig}class C extends k{static[a]="PgArrayBuilder";constructor(e,i,t){super(e,"array","PgArray"),this.config.baseBuilder=i,this.config.size=t}build(e){const i=this.config.baseBuilder.build(e);return new q(e,this.config,i)}}class q extends S{constructor(e,i,t,s){super(e,i),this.baseColumn=t,this.range=s,this.size=i.size}size;static[a]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(e){return"string"==typeof e&&(e=w(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(e,i=!1){const t=e.map(e=>null===e?null:o(this.baseColumn,q)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return i?t:N(t)}}class T extends k{static[a]="PgEnumObjectColumnBuilder";constructor(e,i){super(e,"string","PgEnumObjectColumn"),this.config.enum=i}build(e){return new j(e,this.config)}}class j extends S{static[a]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,i){super(e,i),this.enum=i.enum}getSQLType(){return this.enum.enumName}}const $=Symbol.for("drizzle:isPgEnum");class P extends k{static[a]="PgEnumColumnBuilder";constructor(e,i){super(e,"string","PgEnumColumn"),this.config.enum=i}build(e){return new B(e,this.config)}}class B extends S{static[a]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,i){super(e,i),this.enum=i.enum}getSQLType(){return this.enum.enumName}}class z{static[a]="Subquery";constructor(e,i,t,s=!1,n=[]){this._={brand:"Subquery",sql:e,selectedFields:i,alias:t,isWith:s,usedTables:n}}}class D extends z{static[a]="WithSubquery"}const O={startActiveSpan:(e,i)=>i()},L=Symbol.for("drizzle:ViewBaseConfig"),I=Symbol.for("drizzle:Schema"),F=Symbol.for("drizzle:Columns"),Q=Symbol.for("drizzle:ExtraConfigColumns"),E=Symbol.for("drizzle:OriginalName"),V=Symbol.for("drizzle:BaseName"),K=Symbol.for("drizzle:IsAlias"),U=Symbol.for("drizzle:ExtraConfigBuilder"),J=Symbol.for("drizzle:IsDrizzleTable");class R{static[a]="Table";static Symbol={Name:d,Schema:I,OriginalName:E,Columns:F,ExtraConfigColumns:Q,BaseName:V,IsAlias:K,ExtraConfigBuilder:U};[d];[E];[I];[F];[Q];[V];[K]=!1;[J]=!0;[U]=void 0;constructor(e,i,t){this[d]=this[E]=e,this[I]=i,this[V]=t}}function M(e){return e[d]}function W(e){return`${e[I]??"public"}.${e[d]}`}function H(e){return null!=e&&"function"==typeof e.getSQL}class G{static[a]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new Y([this])}}class Y{constructor(e){this.queryChunks=e;for(const i of e)if(o(i,R)){const e=i[R.Symbol.Schema];this.usedTables.push(void 0===e?i[R.Symbol.Name]:e+"."+i[R.Symbol.Name])}}static[a]="SQL";decoder=X;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return O.startActiveSpan("drizzle.buildSQL",i=>{const t=this.buildQueryFromSourceParams(this.queryChunks,e);return i?.setAttributes({"drizzle.query.text":t.sql,"drizzle.query.params":JSON.stringify(t.params)}),t})}buildQueryFromSourceParams(e,i){const t=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:s,escapeName:n,escapeParam:_,prepareTyping:a,inlineParams:l,paramStartIndex:d}=t;return function(e){const i={sql:"",params:[]};for(const t of e)i.sql+=t.sql,i.params.push(...t.params),t.typings?.length&&(i.typings||(i.typings=[]),i.typings.push(...t.typings));return i}(e.map(e=>{if(o(e,G))return{sql:e.value.join(""),params:[]};if(o(e,Z))return{sql:n(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){const i=[new G("(")];for(const[t,s]of e.entries())i.push(s),t<e.length-1&&i.push(new G(", "));return i.push(new G(")")),this.buildQueryFromSourceParams(i,t)}if(o(e,Y))return this.buildQueryFromSourceParams(e.queryChunks,{...t,inlineParams:l||e.shouldInlineParams});if(o(e,R)){const i=e[R.Symbol.Schema],t=e[R.Symbol.Name];return{sql:void 0===i||e[K]?n(t):n(i)+"."+n(t),params:[]}}if(o(e,r)){const t=s.getColumnCasing(e);if("indexes"===i.invokeSource)return{sql:n(t),params:[]};const _=e.table[R.Symbol.Schema];return{sql:e.table[K]||void 0===_?n(e.table[R.Symbol.Name])+"."+n(t):n(_)+"."+n(e.table[R.Symbol.Name])+"."+n(t),params:[]}}if(o(e,ae)){const i=e[L].schema,t=e[L].name;return{sql:void 0===i||e[L].isAlias?n(t):n(i)+"."+n(t),params:[]}}if(o(e,ie)){if(o(e.value,ne))return{sql:_(d.value++,e),params:[e],typings:["none"]};const i=null===e.value?null:e.encoder.mapToDriverValue(e.value);if(o(i,Y))return this.buildQueryFromSourceParams([i],t);if(l)return{sql:this.mapInlineParam(i,t),params:[]};let s=["none"];return a&&(s=[a(e.encoder)]),{sql:_(d.value++,i),params:[i],typings:s}}return o(e,ne)?{sql:_(d.value++,e),params:[e],typings:["none"]}:o(e,Y.Aliased)&&void 0!==e.fieldAlias?{sql:n(e.fieldAlias),params:[]}:o(e,z)?e._.isWith?{sql:n(e._.alias),params:[]}:this.buildQueryFromSourceParams([new G("("),e._.sql,new G(") "),new Z(e._.alias)],t):(u=e)&&"function"==typeof u&&$ in u&&!0===u[$]?e.schema?{sql:n(e.schema)+"."+n(e.enumName),params:[]}:{sql:n(e.enumName),params:[]}:H(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],t):this.buildQueryFromSourceParams([new G("("),e.getSQL(),new G(")")],t):l?{sql:this.mapInlineParam(e,t),params:[]}:{sql:_(d.value++,e),params:[e],typings:["none"]};var u}))}mapInlineParam(e,{escapeString:i}){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return e.toString();if("string"==typeof e)return i(e);if("object"==typeof e){const t=e.toString();return i("[object Object]"===t?JSON.stringify(e):t)}throw new Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return void 0===e?this:new Y.Aliased(this,e)}mapWith(e){return this.decoder="function"==typeof e?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class Z{constructor(e){this.value=e}static[a]="Name";brand;getSQL(){return new Y([this])}}const X={mapFromDriverValue:e=>e},ee={mapToDriverValue:e=>e};class ie{constructor(e,i=ee){this.value=e,this.encoder=i}static[a]="Param";brand;getSQL(){return new Y([this])}}function te(e,...i){const t=[];(i.length>0||e.length>0&&""!==e[0])&&t.push(new G(e[0]));for(const[s,n]of i.entries())t.push(n,new G(e[s+1]));return new Y(t)}var se;(se=te||(te={})).empty=function(){return new Y([])},se.fromList=function(e){return new Y(e)},se.raw=function(e){return new Y([new G(e)])},se.join=function(e,i){const t=[];for(const[s,n]of e.entries())s>0&&void 0!==i&&t.push(i),t.push(n);return new Y(t)},se.identifier=function(e){return new Z(e)},se.placeholder=function(e){return new ne(e)},se.param=function(e,i){return new ie(e,i)},(e=>{class i{constructor(e,i){this.sql=e,this.fieldAlias=i}static[a]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new i(this.sql,this.fieldAlias)}}e.Aliased=i})(Y||(Y={}));class ne{constructor(e){this.name=e}static[a]="Placeholder";getSQL(){return new Y([this])}}const _e=Symbol.for("drizzle:IsDrizzleView");class ae{static[a]="View";[L];[_e]=!0;constructor({name:e,schema:i,selectedFields:t,query:s}){this[L]={name:e,originalName:e,schema:i,selectedFields:t,query:s,isExisting:!s,isAlias:!1}}getSQL(){return new Y([this])}}r.prototype.getSQL=function(){return new Y([this])},R.prototype.getSQL=function(){return new Y([this])},z.prototype.getSQL=function(){return new Y([this])};class oe{constructor(e){this.table=e}static[a]="ColumnAliasProxyHandler";get(e,i){return"table"===i?this.table:e[i]}}class re{constructor(e,i){this.alias=e,this.replaceOriginalName=i}static[a]="TableAliasProxyHandler";get(e,i){if(i===R.Symbol.IsAlias)return!0;if(i===R.Symbol.Name)return this.alias;if(this.replaceOriginalName&&i===R.Symbol.OriginalName)return this.alias;if(i===L)return{...e[L],name:this.alias,isAlias:!0};if(i===R.Symbol.Columns){const i=e[R.Symbol.Columns];if(!i)return i;const t={};return Object.keys(i).map(s=>{t[s]=new Proxy(i[s],new oe(new Proxy(e,this)))}),t}const t=e[i];return o(t,r)?new Proxy(t,new oe(new Proxy(e,this))):t}}function le(e,i){return new Proxy(e,new re(i,!1))}function de(e,i){return new Proxy(e,new oe(new Proxy(e.table,new re(i,!1))))}function ue(e,i){return new Y.Aliased(ce(e.sql,i),e.fieldAlias)}function ce(e,i){return te.join(e.queryChunks.map(e=>o(e,r)?de(e,i):o(e,Y)?ce(e,i):o(e,Y.Aliased)?ue(e,i):e))}class me{constructor(e,i){this.name=e,this.value=i}static[a]="PgCheckBuilder";brand;build(e){return new pe(e,this)}}class pe{constructor(e,i){this.table=e,this.name=i.name,this.value=i.value}static[a]="PgCheck";name;value}function ge(e,i){return new me(e,i)}function fe(e,i){return Object.entries(e).reduce((e,[t,s])=>{if("string"!=typeof t)return e;const n=i?[...i,t]:[t];return o(s,r)||o(s,Y)||o(s,Y.Aliased)||o(s,z)?e.push({path:n,field:s}):o(s,R)?e.push(...fe(s[R.Symbol.Columns],n)):e.push(...fe(s,n)),e},[])}function he(e,i){const t=Object.keys(e),s=Object.keys(i);if(t.length!==s.length)return!1;for(const[e,i]of t.entries())if(i!==s[e])return!1;return!0}function ve(e){return e[R.Symbol.Columns]}function ye(e){return o(e,z)?e._.alias:o(e,ae)?e[L].name:o(e,Y)?void 0:e[R.Symbol.IsAlias]?e[R.Symbol.Name]:e[R.Symbol.BaseName]}function be(e,i){return{name:"string"==typeof e&&e.length>0?e:"",config:"object"==typeof e?e:i}}"undefined"!=typeof TextDecoder&&new TextDecoder;class we extends k{static[a]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(e){if(e){const{name:i,...t}=e;this.config.generatedIdentity={type:"always",sequenceName:i,sequenceOptions:t}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(e){if(e){const{name:i,...t}=e;this.config.generatedIdentity={type:"byDefault",sequenceName:i,sequenceOptions:t}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class Ne extends we{static[a]="PgBigInt53Builder";constructor(e){super(e,"number","PgBigInt53")}build(e){return new ke(e,this.config)}}class ke extends S{static[a]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class Se extends we{static[a]="PgBigInt64Builder";constructor(e){super(e,"bigint","PgBigInt64")}build(e){return new xe(e,this.config)}}class xe extends S{static[a]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(e){return BigInt(e)}}function Ae(e,i){const{name:t,config:s}=be(e,i);return"number"===s.mode?new Ne(t):new Se(t)}class Ce extends k{static[a]="PgBigSerial53Builder";constructor(e){super(e,"number","PgBigSerial53"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new qe(e,this.config)}}class qe extends S{static[a]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class Te extends k{static[a]="PgBigSerial64Builder";constructor(e){super(e,"bigint","PgBigSerial64"),this.config.hasDefault=!0}build(e){return new je(e,this.config)}}class je extends S{static[a]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(e){return BigInt(e)}}function $e(e,i){const{name:t,config:s}=be(e,i);return"number"===s.mode?new Ce(t):new Te(t)}class Pe extends k{static[a]="PgBooleanBuilder";constructor(e){super(e,"boolean","PgBoolean")}build(e){return new Be(e,this.config)}}class Be extends S{static[a]="PgBoolean";getSQLType(){return"boolean"}}function ze(e){return new Pe(e??"")}class De extends k{static[a]="PgCharBuilder";constructor(e,i){super(e,"string","PgChar"),this.config.length=i.length,this.config.enumValues=i.enum}build(e){return new Oe(e,this.config)}}class Oe extends S{static[a]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return void 0===this.length?"char":`char(${this.length})`}}function Le(e,i={}){const{name:t,config:s}=be(e,i);return new De(t,s)}class Ie extends k{static[a]="PgCidrBuilder";constructor(e){super(e,"string","PgCidr")}build(e){return new Fe(e,this.config)}}class Fe extends S{static[a]="PgCidr";getSQLType(){return"cidr"}}function Qe(e){return new Ie(e??"")}class Ee extends k{static[a]="PgCustomColumnBuilder";constructor(e,i,t){super(e,"custom","PgCustomColumn"),this.config.fieldConfig=i,this.config.customTypeParams=t}build(e){return new Ve(e,this.config)}}class Ve extends S{static[a]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(e,i){super(e,i),this.sqlName=i.customTypeParams.dataType(i.fieldConfig),this.mapTo=i.customTypeParams.toDriver,this.mapFrom=i.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return"function"==typeof this.mapFrom?this.mapFrom(e):e}mapToDriverValue(e){return"function"==typeof this.mapTo?this.mapTo(e):e}}function Ke(e){return(i,t)=>{const{name:s,config:n}=be(i,t);return new Ee(s,n,e)}}class Ue extends k{static[a]="PgDateColumnBaseBuilder";defaultNow(){return this.default(te`now()`)}}class Je extends Ue{static[a]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new Re(e,this.config)}}class Re extends S{static[a]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class Me extends Ue{static[a]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new We(e,this.config)}}class We extends S{static[a]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?e:e.toISOString().slice(0,-14)}}function He(e,i){const{name:t,config:s}=be(e,i);return"date"===s?.mode?new Je(t):new Me(t)}class Ge extends k{static[a]="PgDoublePrecisionBuilder";constructor(e){super(e,"number","PgDoublePrecision")}build(e){return new Ye(e,this.config)}}class Ye extends S{static[a]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(e){return"string"==typeof e?Number.parseFloat(e):e}}function Ze(e){return new Ge(e??"")}class Xe extends k{static[a]="PgInetBuilder";constructor(e){super(e,"string","PgInet")}build(e){return new ei(e,this.config)}}class ei extends S{static[a]="PgInet";getSQLType(){return"inet"}}function ii(e){return new Xe(e??"")}class ti extends we{static[a]="PgIntegerBuilder";constructor(e){super(e,"number","PgInteger")}build(e){return new si(e,this.config)}}class si extends S{static[a]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(e){return"string"==typeof e?Number.parseInt(e):e}}function ni(e){return new ti(e??"")}class _i extends k{static[a]="PgIntervalBuilder";constructor(e,i){super(e,"string","PgInterval"),this.config.intervalConfig=i}build(e){return new ai(e,this.config)}}class ai extends S{static[a]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){return`interval${this.fields?` ${this.fields}`:""}${this.precision?`(${this.precision})`:""}`}}function oi(e,i={}){const{name:t,config:s}=be(e,i);return new _i(t,s)}class ri extends k{static[a]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new li(e,this.config)}}class li extends S{static[a]="PgJson";constructor(e,i){super(e,i)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{return e}return e}}function di(e){return new ri(e??"")}class ui extends k{static[a]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new ci(e,this.config)}}class ci extends S{static[a]="PgJsonb";constructor(e,i){super(e,i)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{return e}return e}}function mi(e){return new ui(e??"")}class pi extends k{static[a]="PgLineBuilder";constructor(e){super(e,"array","PgLine")}build(e){return new gi(e,this.config)}}class gi extends S{static[a]="PgLine";getSQLType(){return"line"}mapFromDriverValue(e){const[i,t,s]=e.slice(1,-1).split(",");return[Number.parseFloat(i),Number.parseFloat(t),Number.parseFloat(s)]}mapToDriverValue(e){return`{${e[0]},${e[1]},${e[2]}}`}}class fi extends k{static[a]="PgLineABCBuilder";constructor(e){super(e,"json","PgLineABC")}build(e){return new hi(e,this.config)}}class hi extends S{static[a]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(e){const[i,t,s]=e.slice(1,-1).split(",");return{a:Number.parseFloat(i),b:Number.parseFloat(t),c:Number.parseFloat(s)}}mapToDriverValue(e){return`{${e.a},${e.b},${e.c}}`}}function vi(e,i){const{name:t,config:s}=be(e,i);return s?.mode&&"tuple"!==s.mode?new fi(t):new pi(t)}class yi extends k{static[a]="PgMacaddrBuilder";constructor(e){super(e,"string","PgMacaddr")}build(e){return new bi(e,this.config)}}class bi extends S{static[a]="PgMacaddr";getSQLType(){return"macaddr"}}function wi(e){return new yi(e??"")}class Ni extends k{static[a]="PgMacaddr8Builder";constructor(e){super(e,"string","PgMacaddr8")}build(e){return new ki(e,this.config)}}class ki extends S{static[a]="PgMacaddr8";getSQLType(){return"macaddr8"}}function Si(e){return new Ni(e??"")}class xi extends k{static[a]="PgNumericBuilder";constructor(e,i,t){super(e,"string","PgNumeric"),this.config.precision=i,this.config.scale=t}build(e){return new Ai(e,this.config)}}class Ai extends S{static[a]="PgNumeric";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue(e){return"string"==typeof e?e:String(e)}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class Ci extends k{static[a]="PgNumericNumberBuilder";constructor(e,i,t){super(e,"number","PgNumericNumber"),this.config.precision=i,this.config.scale=t}build(e){return new qi(e,this.config)}}class qi extends S{static[a]="PgNumericNumber";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class Ti extends k{static[a]="PgNumericBigIntBuilder";constructor(e,i,t){super(e,"bigint","PgNumericBigInt"),this.config.precision=i,this.config.scale=t}build(e){return new ji(e,this.config)}}class ji extends S{static[a]="PgNumericBigInt";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}function $i(e,i){const{name:t,config:s}=be(e,i),n=s?.mode;return"number"===n?new Ci(t,s?.precision,s?.scale):"bigint"===n?new Ti(t,s?.precision,s?.scale):new xi(t,s?.precision,s?.scale)}class Pi extends k{static[a]="PgPointTupleBuilder";constructor(e){super(e,"array","PgPointTuple")}build(e){return new Bi(e,this.config)}}class Bi extends S{static[a]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(e){if("string"==typeof e){const[i,t]=e.slice(1,-1).split(",");return[Number.parseFloat(i),Number.parseFloat(t)]}return[e.x,e.y]}mapToDriverValue(e){return`(${e[0]},${e[1]})`}}class zi extends k{static[a]="PgPointObjectBuilder";constructor(e){super(e,"json","PgPointObject")}build(e){return new Di(e,this.config)}}class Di extends S{static[a]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(e){if("string"==typeof e){const[i,t]=e.slice(1,-1).split(",");return{x:Number.parseFloat(i),y:Number.parseFloat(t)}}return e}mapToDriverValue(e){return`(${e.x},${e.y})`}}function Oi(e,i){const{name:t,config:s}=be(e,i);return s?.mode&&"tuple"!==s.mode?new zi(t):new Pi(t)}function Li(e,i){const t=new ArrayBuffer(8),s=new DataView(t);for(let t=0;t<8;t++)s.setUint8(t,e[i+t]);return s.getFloat64(0,!0)}function Ii(e){const i=function(e){const i=[];for(let t=0;t<e.length;t+=2)i.push(Number.parseInt(e.slice(t,t+2),16));return new Uint8Array(i)}(e);let t=0;const s=i[t];t+=1;const n=new DataView(i.buffer),_=n.getUint32(t,1===s);if(t+=4,536870912&_&&(n.getUint32(t,1===s),t+=4),1==(65535&_)){const e=Li(i,t);t+=8;const s=Li(i,t);return t+=8,[e,s]}throw new Error("Unsupported geometry type")}class Fi extends k{static[a]="PgGeometryBuilder";constructor(e){super(e,"array","PgGeometry")}build(e){return new Qi(e,this.config)}}class Qi extends S{static[a]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){return Ii(e)}mapToDriverValue(e){return`point(${e[0]} ${e[1]})`}}class Ei extends k{static[a]="PgGeometryObjectBuilder";constructor(e){super(e,"json","PgGeometryObject")}build(e){return new Vi(e,this.config)}}class Vi extends S{static[a]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){const i=Ii(e);return{x:i[0],y:i[1]}}mapToDriverValue(e){return`point(${e.x} ${e.y})`}}function Ki(e,i){const{name:t,config:s}=be(e,i);return s?.mode&&"tuple"!==s.mode?new Ei(t):new Fi(t)}class Ui extends k{static[a]="PgRealBuilder";constructor(e,i){super(e,"number","PgReal"),this.config.length=i}build(e){return new Ji(e,this.config)}}class Ji extends S{static[a]="PgReal";constructor(e,i){super(e,i)}getSQLType(){return"real"}mapFromDriverValue=e=>"string"==typeof e?Number.parseFloat(e):e}function Ri(e){return new Ui(e??"")}class Mi extends k{static[a]="PgSerialBuilder";constructor(e){super(e,"number","PgSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new Wi(e,this.config)}}class Wi extends S{static[a]="PgSerial";getSQLType(){return"serial"}}function Hi(e){return new Mi(e??"")}class Gi extends we{static[a]="PgSmallIntBuilder";constructor(e){super(e,"number","PgSmallInt")}build(e){return new Yi(e,this.config)}}class Yi extends S{static[a]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=e=>"string"==typeof e?Number(e):e}function Zi(e){return new Gi(e??"")}class Xi extends k{static[a]="PgSmallSerialBuilder";constructor(e){super(e,"number","PgSmallSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new et(e,this.config)}}class et extends S{static[a]="PgSmallSerial";getSQLType(){return"smallserial"}}function it(e){return new Xi(e??"")}class tt extends k{static[a]="PgTextBuilder";constructor(e,i){super(e,"string","PgText"),this.config.enumValues=i.enum}build(e){return new st(e,this.config)}}class st extends S{static[a]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function nt(e,i={}){const{name:t,config:s}=be(e,i);return new tt(t,s)}class _t extends Ue{constructor(e,i,t){super(e,"string","PgTime"),this.withTimezone=i,this.precision=t,this.config.withTimezone=i,this.config.precision=t}static[a]="PgTimeBuilder";build(e){return new at(e,this.config)}}class at extends S{static[a]="PgTime";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`time${void 0===this.precision?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function ot(e,i={}){const{name:t,config:s}=be(e,i);return new _t(t,s.withTimezone??!1,s.precision)}class rt extends Ue{static[a]="PgTimestampBuilder";constructor(e,i,t){super(e,"date","PgTimestamp"),this.config.withTimezone=i,this.config.precision=t}build(e){return new lt(e,this.config)}}class lt extends S{static[a]="PgTimestamp";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`timestamp${void 0===this.precision?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){return"string"==typeof e?new Date(this.withTimezone?e:e+"+0000"):e}mapToDriverValue=e=>e.toISOString()}class dt extends Ue{static[a]="PgTimestampStringBuilder";constructor(e,i,t){super(e,"string","PgTimestampString"),this.config.withTimezone=i,this.config.precision=t}build(e){return new ut(e,this.config)}}class ut extends S{static[a]="PgTimestampString";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`timestamp${void 0===this.precision?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){if("string"==typeof e)return e;const i=e.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){const t=e.getTimezoneOffset();return`${i}${t<=0?"+":"-"}${Math.floor(Math.abs(t)/60).toString().padStart(2,"0")}`}return i}}function ct(e,i={}){const{name:t,config:s}=be(e,i);return"string"===s?.mode?new dt(t,s.withTimezone??!1,s.precision):new rt(t,s?.withTimezone??!1,s?.precision)}class mt extends k{static[a]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(te`gen_random_uuid()`)}build(e){return new pt(e,this.config)}}class pt extends S{static[a]="PgUUID";getSQLType(){return"uuid"}}function gt(e){return new mt(e??"")}class ft extends k{static[a]="PgVarcharBuilder";constructor(e,i){super(e,"string","PgVarchar"),this.config.length=i.length,this.config.enumValues=i.enum}build(e){return new ht(e,this.config)}}class ht extends S{static[a]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return void 0===this.length?"varchar":`varchar(${this.length})`}}function vt(e,i={}){const{name:t,config:s}=be(e,i);return new ft(t,s)}class yt extends k{static[a]="PgBinaryVectorBuilder";constructor(e,i){super(e,"string","PgBinaryVector"),this.config.dimensions=i.dimensions}build(e){return new bt(e,this.config)}}class bt extends S{static[a]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function wt(e,i){const{name:t,config:s}=be(e,i);return new yt(t,s)}class Nt extends k{static[a]="PgHalfVectorBuilder";constructor(e,i){super(e,"array","PgHalfVector"),this.config.dimensions=i.dimensions}build(e){return new kt(e,this.config)}}class kt extends S{static[a]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(",").map(e=>Number.parseFloat(e))}}function St(e,i){const{name:t,config:s}=be(e,i);return new Nt(t,s)}class xt extends k{static[a]="PgSparseVectorBuilder";constructor(e,i){super(e,"string","PgSparseVector"),this.config.dimensions=i.dimensions}build(e){return new At(e,this.config)}}class At extends S{static[a]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function Ct(e,i){const{name:t,config:s}=be(e,i);return new xt(t,s)}class qt extends k{static[a]="PgVectorBuilder";constructor(e,i){super(e,"array","PgVector"),this.config.dimensions=i.dimensions}build(e){return new Tt(e,this.config)}}class Tt extends S{static[a]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(",").map(e=>Number.parseFloat(e))}}function jt(e,i){const{name:t,config:s}=be(e,i);return new qt(t,s)}class $t{static[a]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}then(e,i){return this.execute().then(e,i)}}class Pt{static[a]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,i){if("_"===i)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(i===L)return{...e[L],selectedFields:new Proxy(e[L].selectedFields,this)};if("symbol"==typeof i)return e[i];const t=(o(e,z)?e._.selectedFields:o(e,ae)?e[L].selectedFields:e)[i];if(o(t,Y.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!t.isSelectionField)return t.sql;const e=t.clone();return e.isSelectionField=!0,e}if(o(t,Y)){if("sql"===this.config.sqlBehavior)return t;throw new Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return o(t,r)?this.config.alias?new Proxy(t,new oe(new Proxy(t.table,new re(this.config.alias,this.config.replaceOriginalName??!1)))):t:"object"!=typeof t||null===t?t:new Proxy(t,new Pt(this.config))}}const Bt=Symbol.for("drizzle:PgInlineForeignKeys"),zt=Symbol.for("drizzle:EnableRLS");class Dt extends R{static[a]="PgTable";static Symbol=Object.assign({},R.Symbol,{InlineForeignKeys:Bt,EnableRLS:zt});[Bt]=[];[zt]=!1;[R.Symbol.ExtraConfigBuilder]=void 0;[R.Symbol.ExtraConfigColumns]={}}function Ot(e,i,t,s,n=e){const _=new Dt(e,s,n),a="function"==typeof i?i({bigint:Ae,bigserial:$e,boolean:ze,char:Le,cidr:Qe,customType:Ke,date:He,doublePrecision:Ze,inet:ii,integer:ni,interval:oi,json:di,jsonb:mi,line:vi,macaddr:wi,macaddr8:Si,numeric:$i,point:Oi,geometry:Ki,real:Ri,serial:Hi,smallint:Zi,smallserial:it,text:nt,time:ot,timestamp:ct,uuid:gt,varchar:vt,bit:wt,halfvec:St,sparsevec:Ct,vector:jt}):i,o=Object.fromEntries(Object.entries(a).map(([e,i])=>{const t=i;t.setName(e);const s=t.build(_);return _[Bt].push(...t.buildForeignKeys(s,_)),[e,s]})),r=Object.fromEntries(Object.entries(a).map(([e,i])=>{const t=i;t.setName(e);return[e,t.buildExtraConfigColumn(_)]})),l=Object.assign(_,o);return l[R.Symbol.Columns]=o,l[R.Symbol.ExtraConfigColumns]=r,t&&(l[Dt.Symbol.ExtraConfigBuilder]=t),Object.assign(l,{enableRLS:()=>(l[Dt.Symbol.EnableRLS]=!0,l)})}const Lt=(e,i,t)=>Ot(e,i,t,void 0);class It{constructor(e,i){this.unique=e,this.name=i}static[a]="PgIndexBuilderOn";on(...e){return new Ft(e.map(e=>{if(o(e,Y))return e;const i=new A(e.name,!!e.keyAsName,e.columnType,e.indexConfig);return e.indexConfig=JSON.parse(JSON.stringify(e.defaultConfig)),i}),this.unique,!1,this.name)}onOnly(...e){return new Ft(e.map(e=>{if(o(e,Y))return e;const i=new A(e.name,!!e.keyAsName,e.columnType,e.indexConfig);return e.indexConfig=e.defaultConfig,i}),this.unique,!0,this.name)}using(e,...i){return new Ft(i.map(e=>{if(o(e,Y))return e;const i=new A(e.name,!!e.keyAsName,e.columnType,e.indexConfig);return e.indexConfig=JSON.parse(JSON.stringify(e.defaultConfig)),i}),this.unique,!0,this.name,e)}}class Ft{static[a]="PgIndexBuilder";config;constructor(e,i,t,s,n="btree"){this.config={name:s,columns:e,unique:i,only:t,method:n}}concurrently(){return this.config.concurrently=!0,this}with(e){return this.config.with=e,this}where(e){return this.config.where=e,this}build(e){return new Qt(this.config,e)}}class Qt{static[a]="PgIndex";config;constructor(e,i){this.config={...e,table:i}}}function Et(e){return new It(!1,e)}function Vt(e){return new It(!0,e)}function Kt(...e){return e[0].columns?new Ut(e[0].columns,e[0].name):new Ut(e)}class Ut{static[a]="PgPrimaryKeyBuilder";columns;name;constructor(e,i){this.columns=e,this.name=i}build(e){return new Jt(e,this.columns,this.name)}}class Jt{constructor(e,i,t){this.table=e,this.columns=i,this.name=t}static[a]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[Dt.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}const Rt=Symbol.for("drizzle:PgViewConfig");function Mt(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join("_")}function Wt(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,i,t)=>e+(0===t?i.toLowerCase():`${i[0].toUpperCase()}${i.slice(1)}`),"")}function Ht(e){return e}class Gt{static[a]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert="snake_case"===e?Mt:"camelCase"===e?Wt:Ht}getColumnCasing(e){if(!e.keyAsName)return e.name;const i=`${e.table[R.Symbol.Schema]??"public"}.${e.table[R.Symbol.OriginalName]}.${e.name}`;return this.cache[i]||this.cacheTable(e.table),this.cache[i]}cacheTable(e){const i=`${e[R.Symbol.Schema]??"public"}.${e[R.Symbol.OriginalName]}`;if(!this.cachedTables[i]){for(const t of Object.values(e[R.Symbol.Columns])){const e=`${i}.${t.name}`;this.cache[e]=this.convert(t.name)}this.cachedTables[i]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class Yt extends Error{static[a]="DrizzleError";constructor({message:e,cause:i}){super(e),this.name="DrizzleError",this.cause=i}}function Zt(e,i){return!function(e){return"object"==typeof e&&null!==e&&"mapToDriverValue"in e&&"function"==typeof e.mapToDriverValue}(i)||H(e)||o(e,ie)||o(e,ne)||o(e,r)||o(e,R)||o(e,ae)?e:new ie(e,i)}const Xt=(e,i)=>te`${e} = ${Zt(i,e)}`,es=(e,i)=>te`${e} <> ${Zt(i,e)}`;function is(...e){const i=e.filter(e=>void 0!==e);if(0!==i.length)return 1===i.length?new Y(i):new Y([new G("("),te.join(i,new G(" and ")),new G(")")])}function ts(...e){const i=e.filter(e=>void 0!==e);if(0!==i.length)return 1===i.length?new Y(i):new Y([new G("("),te.join(i,new G(" or ")),new G(")")])}function ss(e){return te`not ${e}`}const ns=(e,i)=>te`${e} > ${Zt(i,e)}`,_s=(e,i)=>te`${e} >= ${Zt(i,e)}`,as=(e,i)=>te`${e} < ${Zt(i,e)}`,os=(e,i)=>te`${e} <= ${Zt(i,e)}`;function rs(e,i){return Array.isArray(i)?0===i.length?te`false`:te`${e} in ${i.map(i=>Zt(i,e))}`:te`${e} in ${Zt(i,e)}`}function ls(e,i){return Array.isArray(i)?0===i.length?te`true`:te`${e} not in ${i.map(i=>Zt(i,e))}`:te`${e} not in ${Zt(i,e)}`}function ds(e){return te`${e} is null`}function us(e){return te`${e} is not null`}function cs(e){return te`exists ${e}`}function ms(e){return te`not exists ${e}`}function ps(e,i,t){return te`${e} between ${Zt(i,e)} and ${Zt(t,e)}`}function gs(e,i,t){return te`${e} not between ${Zt(i,e)} and ${Zt(t,e)}`}function fs(e,i){return te`${e} like ${i}`}function hs(e,i){return te`${e} not like ${i}`}function vs(e,i){return te`${e} ilike ${i}`}function ys(e,i){return te`${e} not ilike ${i}`}function bs(e){return te`${e} asc`}function ws(e){return te`${e} desc`}class Ns{constructor(e,i,t){this.sourceTable=e,this.referencedTable=i,this.relationName=t,this.referencedTableName=i[R.Symbol.Name]}static[a]="Relation";referencedTableName;fieldName}class ks extends Ns{constructor(e,i,t,s){super(e,i,t?.relationName),this.config=t,this.isNullable=s}static[a]="One";withFieldName(e){const i=new ks(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=e,i}}class Ss extends Ns{constructor(e,i,t){super(e,i,t?.relationName),this.config=t}static[a]="Many";withFieldName(e){const i=new Ss(this.sourceTable,this.referencedTable,this.config);return i.fieldName=e,i}}function xs(e,i,t){if(o(t,ks)&&t.config)return{fields:t.config.fields,references:t.config.references};const s=i[W(t.referencedTable)];if(!s)throw new Error(`Table "${t.referencedTable[R.Symbol.Name]}" not found in schema`);const n=e[s];if(!n)throw new Error(`Table "${s}" not found in schema`);const _=t.sourceTable,a=i[W(_)];if(!a)throw new Error(`Table "${_[R.Symbol.Name]}" not found in schema`);const r=[];for(const e of Object.values(n.relations))(t.relationName&&t!==e&&e.relationName===t.relationName||!t.relationName&&e.referencedTable===t.sourceTable)&&r.push(e);if(r.length>1)throw t.relationName?new Error(`There are multiple relations with name "${t.relationName}" in table "${s}"`):new Error(`There are multiple relations between "${s}" and "${t.sourceTable[R.Symbol.Name]}". Please specify relation name`);if(r[0]&&o(r[0],ks)&&r[0].config)return{fields:r[0].config.references,references:r[0].config.fields};throw new Error(`There is not enough information to infer relation "${a}.${t.fieldName}"`)}class As extends ae{static[a]="PgViewBase"}class Cs{static[a]="PgDialect";casing;constructor(e){this.casing=new Gt(e?.casing)}async migrate(e,i,t){const s="string"==typeof t?"__drizzle_migrations":t.migrationsTable??"__drizzle_migrations",n="string"==typeof t?"drizzle":t.migrationsSchema??"drizzle",_=te`
|
|
2
|
-
CREATE TABLE IF NOT EXISTS ${
|
|
1
|
+
"use strict";var e=require("zod-to-camel-case"),t=require("drizzle-zod"),i=require("drizzle-orm"),s=require("zod");function n(e){return e&&e.__esModule?e:{default:e}}var _=n(e);const a=Symbol.for("drizzle:entityKind");function o(e,t){if(!e||"object"!=typeof e)return!1;if(e instanceof t)return!0;if(!Object.prototype.hasOwnProperty.call(t,a))throw new Error(`Class "${t.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let i=Object.getPrototypeOf(e).constructor;if(i)for(;i;){if(a in i&&i[a]===t[a])return!0;i=Object.getPrototypeOf(i)}return!1}class r{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static[a]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return void 0!==this.config.generated&&"byDefault"!==this.config.generated.type}}class l{static[a]="ColumnBuilder";config;constructor(e,t,i){this.config={name:e,keyAsName:""===e,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:t,columnType:i,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){""===this.config.name&&(this.config.name=e)}}const d=Symbol.for("drizzle:Name");class u{static[a]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,t){this.reference=()=>{const{name:t,columns:i,foreignColumns:s}=e();return{name:t,columns:i,foreignTable:s[0].table,foreignColumns:s}},t&&(this._onUpdate=t.onUpdate,this._onDelete=t.onDelete)}onUpdate(e){return this._onUpdate=void 0===e?"no action":e,this}onDelete(e){return this._onDelete=void 0===e?"no action":e,this}build(e){return new c(e,this)}}class c{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static[a]="PgForeignKey";reference;onUpdate;onDelete;getName(){const{name:e,columns:t,foreignColumns:i}=this.reference(),s=t.map(e=>e.name),n=i.map(e=>e.name),_=[this.table[d],...s,i[0].table[d],...n];return e??`${_.join("_")}_fk`}}function m(e){return new u(function(){const{name:t,columns:i,foreignColumns:s}=e;return{name:t,columns:i,foreignColumns:s}})}function p(e){return new h(e)}function g(e,t){return`${e[d]}_${t.join("_")}_unique`}class f{constructor(e,t){this.name=t,this.columns=e}static[a]="PgUniqueConstraintBuilder";columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new v(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class h{static[a]="PgUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new f(e,this.name)}}class v{constructor(e,t,i,s){this.table=e,this.columns=t,this.name=s??g(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=i}static[a]="PgUniqueConstraint";columns;name;nullsNotDistinct=!1;getName(){return this.name}}function y(e,t,i){for(let s=t;s<e.length;s++){const n=e[s];if("\\"!==n){if('"'===n)return[e.slice(t,s).replace(/\\/g,""),s+1];if(!i&&(","===n||"}"===n))return[e.slice(t,s).replace(/\\/g,""),s]}else s++}return[e.slice(t).replace(/\\/g,""),e.length]}function b(e,t=0){const i=[];let s=t,n=!1;for(;s<e.length;){const _=e[s];if(","===_){(n||s===t)&&i.push(""),n=!0,s++;continue}if(n=!1,"\\"===_){s+=2;continue}if('"'===_){const[t,n]=y(e,s+1,!0);i.push(t),s=n;continue}if("}"===_)return[i,s+1];if("{"===_){const[t,n]=b(e,s+1);i.push(t),s=n;continue}const[a,o]=y(e,s,!1);i.push(a),s=o}return[i,s]}function w(e){const[t]=b(e,1);return t}function N(e){return`{${e.map(e=>Array.isArray(e)?N(e):"string"==typeof e?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${e}`).join(",")}}`}class k extends l{foreignKeyConfigs=[];static[a]="PgColumnBuilder";array(e){return new C(this.config.name,this,e)}references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e,t){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=t?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:i,actions:s})=>function(e,...t){return e(...t)}((i,s)=>{const n=new u(()=>{const t=i();return{columns:[e],foreignColumns:[t]}});return s.onUpdate&&n.onUpdate(s.onUpdate),s.onDelete&&n.onDelete(s.onDelete),n.build(t)},i,s))}buildExtraConfigColumn(e){return new x(e,this.config)}}class S extends r{constructor(e,t){t.uniqueName||(t.uniqueName=g(e,[t.name])),super(e,t),this.table=e}static[a]="PgColumn"}class x extends S{static[a]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(e){return this.indexConfig.opClass=e,this}}class A{static[a]="IndexedColumn";constructor(e,t,i,s){this.name=e,this.keyAsName=t,this.type=i,this.indexConfig=s}name;keyAsName;type;indexConfig}class C extends k{static[a]="PgArrayBuilder";constructor(e,t,i){super(e,"array","PgArray"),this.config.baseBuilder=t,this.config.size=i}build(e){const t=this.config.baseBuilder.build(e);return new q(e,this.config,t)}}class q extends S{constructor(e,t,i,s){super(e,t),this.baseColumn=i,this.range=s,this.size=t.size}size;static[a]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(e){return"string"==typeof e&&(e=w(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(e,t=!1){const i=e.map(e=>null===e?null:o(this.baseColumn,q)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return t?i:N(i)}}class j extends k{static[a]="PgEnumObjectColumnBuilder";constructor(e,t){super(e,"string","PgEnumObjectColumn"),this.config.enum=t}build(e){return new T(e,this.config)}}class T extends S{static[a]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t),this.enum=t.enum}getSQLType(){return this.enum.enumName}}const $=Symbol.for("drizzle:isPgEnum");class P extends k{static[a]="PgEnumColumnBuilder";constructor(e,t){super(e,"string","PgEnumColumn"),this.config.enum=t}build(e){return new O(e,this.config)}}class O extends S{static[a]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t),this.enum=t.enum}getSQLType(){return this.enum.enumName}}class B{static[a]="Subquery";constructor(e,t,i,s=!1,n=[]){this._={brand:"Subquery",sql:e,selectedFields:t,alias:i,isWith:s,usedTables:n}}}class z extends B{static[a]="WithSubquery"}const D={startActiveSpan:(e,t)=>t()},L=Symbol.for("drizzle:ViewBaseConfig"),I=Symbol.for("drizzle:Schema"),F=Symbol.for("drizzle:Columns"),E=Symbol.for("drizzle:ExtraConfigColumns"),Q=Symbol.for("drizzle:OriginalName"),V=Symbol.for("drizzle:BaseName"),J=Symbol.for("drizzle:IsAlias"),U=Symbol.for("drizzle:ExtraConfigBuilder"),K=Symbol.for("drizzle:IsDrizzleTable");class R{static[a]="Table";static Symbol={Name:d,Schema:I,OriginalName:Q,Columns:F,ExtraConfigColumns:E,BaseName:V,IsAlias:J,ExtraConfigBuilder:U};[d];[Q];[I];[F];[E];[V];[J]=!1;[K]=!0;[U]=void 0;constructor(e,t,i){this[d]=this[Q]=e,this[I]=t,this[V]=i}}function M(e){return e[d]}function W(e){return`${e[I]??"public"}.${e[d]}`}function H(e){return null!=e&&"function"==typeof e.getSQL}class G{static[a]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new Y([this])}}class Y{constructor(e){this.queryChunks=e;for(const t of e)if(o(t,R)){const e=t[R.Symbol.Schema];this.usedTables.push(void 0===e?t[R.Symbol.Name]:e+"."+t[R.Symbol.Name])}}static[a]="SQL";decoder=X;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return D.startActiveSpan("drizzle.buildSQL",t=>{const i=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":i.sql,"drizzle.query.params":JSON.stringify(i.params)}),i})}buildQueryFromSourceParams(e,t){const i=Object.assign({},t,{inlineParams:t.inlineParams||this.shouldInlineParams,paramStartIndex:t.paramStartIndex||{value:0}}),{casing:s,escapeName:n,escapeParam:_,prepareTyping:a,inlineParams:l,paramStartIndex:d}=i;return function(e){const t={sql:"",params:[]};for(const i of e)t.sql+=i.sql,t.params.push(...i.params),i.typings?.length&&(t.typings||(t.typings=[]),t.typings.push(...i.typings));return t}(e.map(e=>{if(o(e,G))return{sql:e.value.join(""),params:[]};if(o(e,Z))return{sql:n(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){const t=[new G("(")];for(const[i,s]of e.entries())t.push(s),i<e.length-1&&t.push(new G(", "));return t.push(new G(")")),this.buildQueryFromSourceParams(t,i)}if(o(e,Y))return this.buildQueryFromSourceParams(e.queryChunks,{...i,inlineParams:l||e.shouldInlineParams});if(o(e,R)){const t=e[R.Symbol.Schema],i=e[R.Symbol.Name];return{sql:void 0===t||e[J]?n(i):n(t)+"."+n(i),params:[]}}if(o(e,r)){const i=s.getColumnCasing(e);if("indexes"===t.invokeSource)return{sql:n(i),params:[]};const _=e.table[R.Symbol.Schema];return{sql:e.table[J]||void 0===_?n(e.table[R.Symbol.Name])+"."+n(i):n(_)+"."+n(e.table[R.Symbol.Name])+"."+n(i),params:[]}}if(o(e,ae)){const t=e[L].schema,i=e[L].name;return{sql:void 0===t||e[L].isAlias?n(i):n(t)+"."+n(i),params:[]}}if(o(e,te)){if(o(e.value,ne))return{sql:_(d.value++,e),params:[e],typings:["none"]};const t=null===e.value?null:e.encoder.mapToDriverValue(e.value);if(o(t,Y))return this.buildQueryFromSourceParams([t],i);if(l)return{sql:this.mapInlineParam(t,i),params:[]};let s=["none"];return a&&(s=[a(e.encoder)]),{sql:_(d.value++,t),params:[t],typings:s}}return o(e,ne)?{sql:_(d.value++,e),params:[e],typings:["none"]}:o(e,Y.Aliased)&&void 0!==e.fieldAlias?{sql:n(e.fieldAlias),params:[]}:o(e,B)?e._.isWith?{sql:n(e._.alias),params:[]}:this.buildQueryFromSourceParams([new G("("),e._.sql,new G(") "),new Z(e._.alias)],i):(u=e)&&"function"==typeof u&&$ in u&&!0===u[$]?e.schema?{sql:n(e.schema)+"."+n(e.enumName),params:[]}:{sql:n(e.enumName),params:[]}:H(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],i):this.buildQueryFromSourceParams([new G("("),e.getSQL(),new G(")")],i):l?{sql:this.mapInlineParam(e,i),params:[]}:{sql:_(d.value++,e),params:[e],typings:["none"]};var u}))}mapInlineParam(e,{escapeString:t}){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return e.toString();if("string"==typeof e)return t(e);if("object"==typeof e){const i=e.toString();return t("[object Object]"===i?JSON.stringify(e):i)}throw new Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return void 0===e?this:new Y.Aliased(this,e)}mapWith(e){return this.decoder="function"==typeof e?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class Z{constructor(e){this.value=e}static[a]="Name";brand;getSQL(){return new Y([this])}}const X={mapFromDriverValue:e=>e},ee={mapToDriverValue:e=>e};class te{constructor(e,t=ee){this.value=e,this.encoder=t}static[a]="Param";brand;getSQL(){return new Y([this])}}function ie(e,...t){const i=[];(t.length>0||e.length>0&&""!==e[0])&&i.push(new G(e[0]));for(const[s,n]of t.entries())i.push(n,new G(e[s+1]));return new Y(i)}var se;(se=ie||(ie={})).empty=function(){return new Y([])},se.fromList=function(e){return new Y(e)},se.raw=function(e){return new Y([new G(e)])},se.join=function(e,t){const i=[];for(const[s,n]of e.entries())s>0&&void 0!==t&&i.push(t),i.push(n);return new Y(i)},se.identifier=function(e){return new Z(e)},se.placeholder=function(e){return new ne(e)},se.param=function(e,t){return new te(e,t)},(e=>{class t{constructor(e,t){this.sql=e,this.fieldAlias=t}static[a]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new t(this.sql,this.fieldAlias)}}e.Aliased=t})(Y||(Y={}));class ne{constructor(e){this.name=e}static[a]="Placeholder";getSQL(){return new Y([this])}}const _e=Symbol.for("drizzle:IsDrizzleView");class ae{static[a]="View";[L];[_e]=!0;constructor({name:e,schema:t,selectedFields:i,query:s}){this[L]={name:e,originalName:e,schema:t,selectedFields:i,query:s,isExisting:!s,isAlias:!1}}getSQL(){return new Y([this])}}r.prototype.getSQL=function(){return new Y([this])},R.prototype.getSQL=function(){return new Y([this])},B.prototype.getSQL=function(){return new Y([this])};class oe{constructor(e){this.table=e}static[a]="ColumnAliasProxyHandler";get(e,t){return"table"===t?this.table:e[t]}}class re{constructor(e,t){this.alias=e,this.replaceOriginalName=t}static[a]="TableAliasProxyHandler";get(e,t){if(t===R.Symbol.IsAlias)return!0;if(t===R.Symbol.Name)return this.alias;if(this.replaceOriginalName&&t===R.Symbol.OriginalName)return this.alias;if(t===L)return{...e[L],name:this.alias,isAlias:!0};if(t===R.Symbol.Columns){const t=e[R.Symbol.Columns];if(!t)return t;const i={};return Object.keys(t).map(s=>{i[s]=new Proxy(t[s],new oe(new Proxy(e,this)))}),i}const i=e[t];return o(i,r)?new Proxy(i,new oe(new Proxy(e,this))):i}}function le(e,t){return new Proxy(e,new re(t,!1))}function de(e,t){return new Proxy(e,new oe(new Proxy(e.table,new re(t,!1))))}function ue(e,t){return new Y.Aliased(ce(e.sql,t),e.fieldAlias)}function ce(e,t){return ie.join(e.queryChunks.map(e=>o(e,r)?de(e,t):o(e,Y)?ce(e,t):o(e,Y.Aliased)?ue(e,t):e))}class me{constructor(e,t){this.name=e,this.value=t}static[a]="PgCheckBuilder";brand;build(e){return new pe(e,this)}}class pe{constructor(e,t){this.table=e,this.name=t.name,this.value=t.value}static[a]="PgCheck";name;value}function ge(e,t){return new me(e,t)}function fe(e,t){return Object.entries(e).reduce((e,[i,s])=>{if("string"!=typeof i)return e;const n=t?[...t,i]:[i];return o(s,r)||o(s,Y)||o(s,Y.Aliased)||o(s,B)?e.push({path:n,field:s}):o(s,R)?e.push(...fe(s[R.Symbol.Columns],n)):e.push(...fe(s,n)),e},[])}function he(e,t){const i=Object.keys(e),s=Object.keys(t);if(i.length!==s.length)return!1;for(const[e,t]of i.entries())if(t!==s[e])return!1;return!0}function ve(e){return e[R.Symbol.Columns]}function ye(e){return o(e,B)?e._.alias:o(e,ae)?e[L].name:o(e,Y)?void 0:e[R.Symbol.IsAlias]?e[R.Symbol.Name]:e[R.Symbol.BaseName]}function be(e,t){return{name:"string"==typeof e&&e.length>0?e:"",config:"object"==typeof e?e:t}}"undefined"!=typeof TextDecoder&&new TextDecoder;class we extends k{static[a]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(e){if(e){const{name:t,...i}=e;this.config.generatedIdentity={type:"always",sequenceName:t,sequenceOptions:i}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(e){if(e){const{name:t,...i}=e;this.config.generatedIdentity={type:"byDefault",sequenceName:t,sequenceOptions:i}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class Ne extends we{static[a]="PgBigInt53Builder";constructor(e){super(e,"number","PgBigInt53")}build(e){return new ke(e,this.config)}}class ke extends S{static[a]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class Se extends we{static[a]="PgBigInt64Builder";constructor(e){super(e,"bigint","PgBigInt64")}build(e){return new xe(e,this.config)}}class xe extends S{static[a]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(e){return BigInt(e)}}function Ae(e,t){const{name:i,config:s}=be(e,t);return"number"===s.mode?new Ne(i):new Se(i)}class Ce extends k{static[a]="PgBigSerial53Builder";constructor(e){super(e,"number","PgBigSerial53"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new qe(e,this.config)}}class qe extends S{static[a]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class je extends k{static[a]="PgBigSerial64Builder";constructor(e){super(e,"bigint","PgBigSerial64"),this.config.hasDefault=!0}build(e){return new Te(e,this.config)}}class Te extends S{static[a]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(e){return BigInt(e)}}function $e(e,t){const{name:i,config:s}=be(e,t);return"number"===s.mode?new Ce(i):new je(i)}class Pe extends k{static[a]="PgBooleanBuilder";constructor(e){super(e,"boolean","PgBoolean")}build(e){return new Oe(e,this.config)}}class Oe extends S{static[a]="PgBoolean";getSQLType(){return"boolean"}}function Be(e){return new Pe(e??"")}class ze extends k{static[a]="PgCharBuilder";constructor(e,t){super(e,"string","PgChar"),this.config.length=t.length,this.config.enumValues=t.enum}build(e){return new De(e,this.config)}}class De extends S{static[a]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return void 0===this.length?"char":`char(${this.length})`}}function Le(e,t={}){const{name:i,config:s}=be(e,t);return new ze(i,s)}class Ie extends k{static[a]="PgCidrBuilder";constructor(e){super(e,"string","PgCidr")}build(e){return new Fe(e,this.config)}}class Fe extends S{static[a]="PgCidr";getSQLType(){return"cidr"}}function Ee(e){return new Ie(e??"")}class Qe extends k{static[a]="PgCustomColumnBuilder";constructor(e,t,i){super(e,"custom","PgCustomColumn"),this.config.fieldConfig=t,this.config.customTypeParams=i}build(e){return new Ve(e,this.config)}}class Ve extends S{static[a]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(e,t){super(e,t),this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return"function"==typeof this.mapFrom?this.mapFrom(e):e}mapToDriverValue(e){return"function"==typeof this.mapTo?this.mapTo(e):e}}function Je(e){return(t,i)=>{const{name:s,config:n}=be(t,i);return new Qe(s,n,e)}}class Ue extends k{static[a]="PgDateColumnBaseBuilder";defaultNow(){return this.default(ie`now()`)}}class Ke extends Ue{static[a]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new Re(e,this.config)}}class Re extends S{static[a]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class Me extends Ue{static[a]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new We(e,this.config)}}class We extends S{static[a]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?e:e.toISOString().slice(0,-14)}}function He(e,t){const{name:i,config:s}=be(e,t);return"date"===s?.mode?new Ke(i):new Me(i)}class Ge extends k{static[a]="PgDoublePrecisionBuilder";constructor(e){super(e,"number","PgDoublePrecision")}build(e){return new Ye(e,this.config)}}class Ye extends S{static[a]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(e){return"string"==typeof e?Number.parseFloat(e):e}}function Ze(e){return new Ge(e??"")}class Xe extends k{static[a]="PgInetBuilder";constructor(e){super(e,"string","PgInet")}build(e){return new et(e,this.config)}}class et extends S{static[a]="PgInet";getSQLType(){return"inet"}}function tt(e){return new Xe(e??"")}class it extends we{static[a]="PgIntegerBuilder";constructor(e){super(e,"number","PgInteger")}build(e){return new st(e,this.config)}}class st extends S{static[a]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(e){return"string"==typeof e?Number.parseInt(e):e}}function nt(e){return new it(e??"")}class _t extends k{static[a]="PgIntervalBuilder";constructor(e,t){super(e,"string","PgInterval"),this.config.intervalConfig=t}build(e){return new at(e,this.config)}}class at extends S{static[a]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){return`interval${this.fields?` ${this.fields}`:""}${this.precision?`(${this.precision})`:""}`}}function ot(e,t={}){const{name:i,config:s}=be(e,t);return new _t(i,s)}class rt extends k{static[a]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new lt(e,this.config)}}class lt extends S{static[a]="PgJson";constructor(e,t){super(e,t)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{return e}return e}}function dt(e){return new rt(e??"")}class ut extends k{static[a]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new ct(e,this.config)}}class ct extends S{static[a]="PgJsonb";constructor(e,t){super(e,t)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{return e}return e}}function mt(e){return new ut(e??"")}class pt extends k{static[a]="PgLineBuilder";constructor(e){super(e,"array","PgLine")}build(e){return new gt(e,this.config)}}class gt extends S{static[a]="PgLine";getSQLType(){return"line"}mapFromDriverValue(e){const[t,i,s]=e.slice(1,-1).split(",");return[Number.parseFloat(t),Number.parseFloat(i),Number.parseFloat(s)]}mapToDriverValue(e){return`{${e[0]},${e[1]},${e[2]}}`}}class ft extends k{static[a]="PgLineABCBuilder";constructor(e){super(e,"json","PgLineABC")}build(e){return new ht(e,this.config)}}class ht extends S{static[a]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(e){const[t,i,s]=e.slice(1,-1).split(",");return{a:Number.parseFloat(t),b:Number.parseFloat(i),c:Number.parseFloat(s)}}mapToDriverValue(e){return`{${e.a},${e.b},${e.c}}`}}function vt(e,t){const{name:i,config:s}=be(e,t);return s?.mode&&"tuple"!==s.mode?new ft(i):new pt(i)}class yt extends k{static[a]="PgMacaddrBuilder";constructor(e){super(e,"string","PgMacaddr")}build(e){return new bt(e,this.config)}}class bt extends S{static[a]="PgMacaddr";getSQLType(){return"macaddr"}}function wt(e){return new yt(e??"")}class Nt extends k{static[a]="PgMacaddr8Builder";constructor(e){super(e,"string","PgMacaddr8")}build(e){return new kt(e,this.config)}}class kt extends S{static[a]="PgMacaddr8";getSQLType(){return"macaddr8"}}function St(e){return new Nt(e??"")}class xt extends k{static[a]="PgNumericBuilder";constructor(e,t,i){super(e,"string","PgNumeric"),this.config.precision=t,this.config.scale=i}build(e){return new At(e,this.config)}}class At extends S{static[a]="PgNumeric";precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue(e){return"string"==typeof e?e:String(e)}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class Ct extends k{static[a]="PgNumericNumberBuilder";constructor(e,t,i){super(e,"number","PgNumericNumber"),this.config.precision=t,this.config.scale=i}build(e){return new qt(e,this.config)}}class qt extends S{static[a]="PgNumericNumber";precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class jt extends k{static[a]="PgNumericBigIntBuilder";constructor(e,t,i){super(e,"bigint","PgNumericBigInt"),this.config.precision=t,this.config.scale=i}build(e){return new Tt(e,this.config)}}class Tt extends S{static[a]="PgNumericBigInt";precision;scale;constructor(e,t){super(e,t),this.precision=t.precision,this.scale=t.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}function $t(e,t){const{name:i,config:s}=be(e,t),n=s?.mode;return"number"===n?new Ct(i,s?.precision,s?.scale):"bigint"===n?new jt(i,s?.precision,s?.scale):new xt(i,s?.precision,s?.scale)}class Pt extends k{static[a]="PgPointTupleBuilder";constructor(e){super(e,"array","PgPointTuple")}build(e){return new Ot(e,this.config)}}class Ot extends S{static[a]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(e){if("string"==typeof e){const[t,i]=e.slice(1,-1).split(",");return[Number.parseFloat(t),Number.parseFloat(i)]}return[e.x,e.y]}mapToDriverValue(e){return`(${e[0]},${e[1]})`}}class Bt extends k{static[a]="PgPointObjectBuilder";constructor(e){super(e,"json","PgPointObject")}build(e){return new zt(e,this.config)}}class zt extends S{static[a]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(e){if("string"==typeof e){const[t,i]=e.slice(1,-1).split(",");return{x:Number.parseFloat(t),y:Number.parseFloat(i)}}return e}mapToDriverValue(e){return`(${e.x},${e.y})`}}function Dt(e,t){const{name:i,config:s}=be(e,t);return s?.mode&&"tuple"!==s.mode?new Bt(i):new Pt(i)}function Lt(e,t){const i=new ArrayBuffer(8),s=new DataView(i);for(let i=0;i<8;i++)s.setUint8(i,e[t+i]);return s.getFloat64(0,!0)}function It(e){const t=function(e){const t=[];for(let i=0;i<e.length;i+=2)t.push(Number.parseInt(e.slice(i,i+2),16));return new Uint8Array(t)}(e);let i=0;const s=t[i];i+=1;const n=new DataView(t.buffer),_=n.getUint32(i,1===s);if(i+=4,536870912&_&&(n.getUint32(i,1===s),i+=4),1==(65535&_)){const e=Lt(t,i);i+=8;const s=Lt(t,i);return i+=8,[e,s]}throw new Error("Unsupported geometry type")}class Ft extends k{static[a]="PgGeometryBuilder";constructor(e){super(e,"array","PgGeometry")}build(e){return new Et(e,this.config)}}class Et extends S{static[a]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){return It(e)}mapToDriverValue(e){return`point(${e[0]} ${e[1]})`}}class Qt extends k{static[a]="PgGeometryObjectBuilder";constructor(e){super(e,"json","PgGeometryObject")}build(e){return new Vt(e,this.config)}}class Vt extends S{static[a]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){const t=It(e);return{x:t[0],y:t[1]}}mapToDriverValue(e){return`point(${e.x} ${e.y})`}}function Jt(e,t){const{name:i,config:s}=be(e,t);return s?.mode&&"tuple"!==s.mode?new Qt(i):new Ft(i)}class Ut extends k{static[a]="PgRealBuilder";constructor(e,t){super(e,"number","PgReal"),this.config.length=t}build(e){return new Kt(e,this.config)}}class Kt extends S{static[a]="PgReal";constructor(e,t){super(e,t)}getSQLType(){return"real"}mapFromDriverValue=e=>"string"==typeof e?Number.parseFloat(e):e}function Rt(e){return new Ut(e??"")}class Mt extends k{static[a]="PgSerialBuilder";constructor(e){super(e,"number","PgSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new Wt(e,this.config)}}class Wt extends S{static[a]="PgSerial";getSQLType(){return"serial"}}function Ht(e){return new Mt(e??"")}class Gt extends we{static[a]="PgSmallIntBuilder";constructor(e){super(e,"number","PgSmallInt")}build(e){return new Yt(e,this.config)}}class Yt extends S{static[a]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=e=>"string"==typeof e?Number(e):e}function Zt(e){return new Gt(e??"")}class Xt extends k{static[a]="PgSmallSerialBuilder";constructor(e){super(e,"number","PgSmallSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new ei(e,this.config)}}class ei extends S{static[a]="PgSmallSerial";getSQLType(){return"smallserial"}}function ti(e){return new Xt(e??"")}class ii extends k{static[a]="PgTextBuilder";constructor(e,t){super(e,"string","PgText"),this.config.enumValues=t.enum}build(e){return new si(e,this.config)}}class si extends S{static[a]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function ni(e,t={}){const{name:i,config:s}=be(e,t);return new ii(i,s)}class _i extends Ue{constructor(e,t,i){super(e,"string","PgTime"),this.withTimezone=t,this.precision=i,this.config.withTimezone=t,this.config.precision=i}static[a]="PgTimeBuilder";build(e){return new ai(e,this.config)}}class ai extends S{static[a]="PgTime";withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){return`time${void 0===this.precision?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function oi(e,t={}){const{name:i,config:s}=be(e,t);return new _i(i,s.withTimezone??!1,s.precision)}class ri extends Ue{static[a]="PgTimestampBuilder";constructor(e,t,i){super(e,"date","PgTimestamp"),this.config.withTimezone=t,this.config.precision=i}build(e){return new li(e,this.config)}}class li extends S{static[a]="PgTimestamp";withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){return`timestamp${void 0===this.precision?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){return"string"==typeof e?new Date(this.withTimezone?e:e+"+0000"):e}mapToDriverValue=e=>e.toISOString()}class di extends Ue{static[a]="PgTimestampStringBuilder";constructor(e,t,i){super(e,"string","PgTimestampString"),this.config.withTimezone=t,this.config.precision=i}build(e){return new ui(e,this.config)}}class ui extends S{static[a]="PgTimestampString";withTimezone;precision;constructor(e,t){super(e,t),this.withTimezone=t.withTimezone,this.precision=t.precision}getSQLType(){return`timestamp${void 0===this.precision?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){if("string"==typeof e)return e;const t=e.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){const i=e.getTimezoneOffset();return`${t}${i<=0?"+":"-"}${Math.floor(Math.abs(i)/60).toString().padStart(2,"0")}`}return t}}function ci(e,t={}){const{name:i,config:s}=be(e,t);return"string"===s?.mode?new di(i,s.withTimezone??!1,s.precision):new ri(i,s?.withTimezone??!1,s?.precision)}class mi extends k{static[a]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(ie`gen_random_uuid()`)}build(e){return new pi(e,this.config)}}class pi extends S{static[a]="PgUUID";getSQLType(){return"uuid"}}function gi(e){return new mi(e??"")}class fi extends k{static[a]="PgVarcharBuilder";constructor(e,t){super(e,"string","PgVarchar"),this.config.length=t.length,this.config.enumValues=t.enum}build(e){return new hi(e,this.config)}}class hi extends S{static[a]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return void 0===this.length?"varchar":`varchar(${this.length})`}}function vi(e,t={}){const{name:i,config:s}=be(e,t);return new fi(i,s)}class yi extends k{static[a]="PgBinaryVectorBuilder";constructor(e,t){super(e,"string","PgBinaryVector"),this.config.dimensions=t.dimensions}build(e){return new bi(e,this.config)}}class bi extends S{static[a]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function wi(e,t){const{name:i,config:s}=be(e,t);return new yi(i,s)}class Ni extends k{static[a]="PgHalfVectorBuilder";constructor(e,t){super(e,"array","PgHalfVector"),this.config.dimensions=t.dimensions}build(e){return new ki(e,this.config)}}class ki extends S{static[a]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(",").map(e=>Number.parseFloat(e))}}function Si(e,t){const{name:i,config:s}=be(e,t);return new Ni(i,s)}class xi extends k{static[a]="PgSparseVectorBuilder";constructor(e,t){super(e,"string","PgSparseVector"),this.config.dimensions=t.dimensions}build(e){return new Ai(e,this.config)}}class Ai extends S{static[a]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function Ci(e,t){const{name:i,config:s}=be(e,t);return new xi(i,s)}class qi extends k{static[a]="PgVectorBuilder";constructor(e,t){super(e,"array","PgVector"),this.config.dimensions=t.dimensions}build(e){return new ji(e,this.config)}}class ji extends S{static[a]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(",").map(e=>Number.parseFloat(e))}}function Ti(e,t){const{name:i,config:s}=be(e,t);return new qi(i,s)}class $i{static[a]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}}class Pi{static[a]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,t){if("_"===t)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(t===L)return{...e[L],selectedFields:new Proxy(e[L].selectedFields,this)};if("symbol"==typeof t)return e[t];const i=(o(e,B)?e._.selectedFields:o(e,ae)?e[L].selectedFields:e)[t];if(o(i,Y.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!i.isSelectionField)return i.sql;const e=i.clone();return e.isSelectionField=!0,e}if(o(i,Y)){if("sql"===this.config.sqlBehavior)return i;throw new Error(`You tried to reference "${t}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return o(i,r)?this.config.alias?new Proxy(i,new oe(new Proxy(i.table,new re(this.config.alias,this.config.replaceOriginalName??!1)))):i:"object"!=typeof i||null===i?i:new Proxy(i,new Pi(this.config))}}const Oi=Symbol.for("drizzle:PgInlineForeignKeys"),Bi=Symbol.for("drizzle:EnableRLS");class zi extends R{static[a]="PgTable";static Symbol=Object.assign({},R.Symbol,{InlineForeignKeys:Oi,EnableRLS:Bi});[Oi]=[];[Bi]=!1;[R.Symbol.ExtraConfigBuilder]=void 0;[R.Symbol.ExtraConfigColumns]={}}function Di(e,t,i,s,n=e){const _=new zi(e,s,n),a="function"==typeof t?t({bigint:Ae,bigserial:$e,boolean:Be,char:Le,cidr:Ee,customType:Je,date:He,doublePrecision:Ze,inet:tt,integer:nt,interval:ot,json:dt,jsonb:mt,line:vt,macaddr:wt,macaddr8:St,numeric:$t,point:Dt,geometry:Jt,real:Rt,serial:Ht,smallint:Zt,smallserial:ti,text:ni,time:oi,timestamp:ci,uuid:gi,varchar:vi,bit:wi,halfvec:Si,sparsevec:Ci,vector:Ti}):t,o=Object.fromEntries(Object.entries(a).map(([e,t])=>{const i=t;i.setName(e);const s=i.build(_);return _[Oi].push(...i.buildForeignKeys(s,_)),[e,s]})),r=Object.fromEntries(Object.entries(a).map(([e,t])=>{const i=t;i.setName(e);return[e,i.buildExtraConfigColumn(_)]})),l=Object.assign(_,o);return l[R.Symbol.Columns]=o,l[R.Symbol.ExtraConfigColumns]=r,i&&(l[zi.Symbol.ExtraConfigBuilder]=i),Object.assign(l,{enableRLS:()=>(l[zi.Symbol.EnableRLS]=!0,l)})}const Li=(e,t,i)=>Di(e,t,i,void 0);class Ii{constructor(e,t){this.unique=e,this.name=t}static[a]="PgIndexBuilderOn";on(...e){return new Fi(e.map(e=>{if(o(e,Y))return e;const t=new A(e.name,!!e.keyAsName,e.columnType,e.indexConfig);return e.indexConfig=JSON.parse(JSON.stringify(e.defaultConfig)),t}),this.unique,!1,this.name)}onOnly(...e){return new Fi(e.map(e=>{if(o(e,Y))return e;const t=new A(e.name,!!e.keyAsName,e.columnType,e.indexConfig);return e.indexConfig=e.defaultConfig,t}),this.unique,!0,this.name)}using(e,...t){return new Fi(t.map(e=>{if(o(e,Y))return e;const t=new A(e.name,!!e.keyAsName,e.columnType,e.indexConfig);return e.indexConfig=JSON.parse(JSON.stringify(e.defaultConfig)),t}),this.unique,!0,this.name,e)}}class Fi{static[a]="PgIndexBuilder";config;constructor(e,t,i,s,n="btree"){this.config={name:s,columns:e,unique:t,only:i,method:n}}concurrently(){return this.config.concurrently=!0,this}with(e){return this.config.with=e,this}where(e){return this.config.where=e,this}build(e){return new Ei(this.config,e)}}class Ei{static[a]="PgIndex";config;constructor(e,t){this.config={...e,table:t}}}function Qi(e){return new Ii(!1,e)}function Vi(e){return new Ii(!0,e)}function Ji(...e){return e[0].columns?new Ui(e[0].columns,e[0].name):new Ui(e)}class Ui{static[a]="PgPrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new Ki(e,this.columns,this.name)}}class Ki{constructor(e,t,i){this.table=e,this.columns=t,this.name=i}static[a]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[zi.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}const Ri=Symbol.for("drizzle:PgViewConfig");function Mi(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join("_")}function Wi(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,t,i)=>e+(0===i?t.toLowerCase():`${t[0].toUpperCase()}${t.slice(1)}`),"")}function Hi(e){return e}class Gi{static[a]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert="snake_case"===e?Mi:"camelCase"===e?Wi:Hi}getColumnCasing(e){if(!e.keyAsName)return e.name;const t=`${e.table[R.Symbol.Schema]??"public"}.${e.table[R.Symbol.OriginalName]}.${e.name}`;return this.cache[t]||this.cacheTable(e.table),this.cache[t]}cacheTable(e){const t=`${e[R.Symbol.Schema]??"public"}.${e[R.Symbol.OriginalName]}`;if(!this.cachedTables[t]){for(const i of Object.values(e[R.Symbol.Columns])){const e=`${t}.${i.name}`;this.cache[e]=this.convert(i.name)}this.cachedTables[t]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class Yi extends Error{static[a]="DrizzleError";constructor({message:e,cause:t}){super(e),this.name="DrizzleError",this.cause=t}}function Zi(e,t){return!function(e){return"object"==typeof e&&null!==e&&"mapToDriverValue"in e&&"function"==typeof e.mapToDriverValue}(t)||H(e)||o(e,te)||o(e,ne)||o(e,r)||o(e,R)||o(e,ae)?e:new te(e,t)}const Xi=(e,t)=>ie`${e} = ${Zi(t,e)}`,es=(e,t)=>ie`${e} <> ${Zi(t,e)}`;function ts(...e){const t=e.filter(e=>void 0!==e);if(0!==t.length)return 1===t.length?new Y(t):new Y([new G("("),ie.join(t,new G(" and ")),new G(")")])}function is(...e){const t=e.filter(e=>void 0!==e);if(0!==t.length)return 1===t.length?new Y(t):new Y([new G("("),ie.join(t,new G(" or ")),new G(")")])}function ss(e){return ie`not ${e}`}const ns=(e,t)=>ie`${e} > ${Zi(t,e)}`,_s=(e,t)=>ie`${e} >= ${Zi(t,e)}`,as=(e,t)=>ie`${e} < ${Zi(t,e)}`,os=(e,t)=>ie`${e} <= ${Zi(t,e)}`;function rs(e,t){return Array.isArray(t)?0===t.length?ie`false`:ie`${e} in ${t.map(t=>Zi(t,e))}`:ie`${e} in ${Zi(t,e)}`}function ls(e,t){return Array.isArray(t)?0===t.length?ie`true`:ie`${e} not in ${t.map(t=>Zi(t,e))}`:ie`${e} not in ${Zi(t,e)}`}function ds(e){return ie`${e} is null`}function us(e){return ie`${e} is not null`}function cs(e){return ie`exists ${e}`}function ms(e){return ie`not exists ${e}`}function ps(e,t,i){return ie`${e} between ${Zi(t,e)} and ${Zi(i,e)}`}function gs(e,t,i){return ie`${e} not between ${Zi(t,e)} and ${Zi(i,e)}`}function fs(e,t){return ie`${e} like ${t}`}function hs(e,t){return ie`${e} not like ${t}`}function vs(e,t){return ie`${e} ilike ${t}`}function ys(e,t){return ie`${e} not ilike ${t}`}function bs(e){return ie`${e} asc`}function ws(e){return ie`${e} desc`}class Ns{constructor(e,t,i){this.sourceTable=e,this.referencedTable=t,this.relationName=i,this.referencedTableName=t[R.Symbol.Name]}static[a]="Relation";referencedTableName;fieldName}class ks extends Ns{constructor(e,t,i,s){super(e,t,i?.relationName),this.config=i,this.isNullable=s}static[a]="One";withFieldName(e){const t=new ks(this.sourceTable,this.referencedTable,this.config,this.isNullable);return t.fieldName=e,t}}class Ss extends Ns{constructor(e,t,i){super(e,t,i?.relationName),this.config=i}static[a]="Many";withFieldName(e){const t=new Ss(this.sourceTable,this.referencedTable,this.config);return t.fieldName=e,t}}function xs(e,t,i){if(o(i,ks)&&i.config)return{fields:i.config.fields,references:i.config.references};const s=t[W(i.referencedTable)];if(!s)throw new Error(`Table "${i.referencedTable[R.Symbol.Name]}" not found in schema`);const n=e[s];if(!n)throw new Error(`Table "${s}" not found in schema`);const _=i.sourceTable,a=t[W(_)];if(!a)throw new Error(`Table "${_[R.Symbol.Name]}" not found in schema`);const r=[];for(const e of Object.values(n.relations))(i.relationName&&i!==e&&e.relationName===i.relationName||!i.relationName&&e.referencedTable===i.sourceTable)&&r.push(e);if(r.length>1)throw i.relationName?new Error(`There are multiple relations with name "${i.relationName}" in table "${s}"`):new Error(`There are multiple relations between "${s}" and "${i.sourceTable[R.Symbol.Name]}". Please specify relation name`);if(r[0]&&o(r[0],ks)&&r[0].config)return{fields:r[0].config.references,references:r[0].config.fields};throw new Error(`There is not enough information to infer relation "${a}.${i.fieldName}"`)}class As extends ae{static[a]="PgViewBase"}class Cs{static[a]="PgDialect";casing;constructor(e){this.casing=new Gi(e?.casing)}async migrate(e,t,i){const s="string"==typeof i?"__drizzle_migrations":i.migrationsTable??"__drizzle_migrations",n="string"==typeof i?"drizzle":i.migrationsSchema??"drizzle",_=ie`
|
|
2
|
+
CREATE TABLE IF NOT EXISTS ${ie.identifier(n)}.${ie.identifier(s)} (
|
|
3
3
|
id SERIAL PRIMARY KEY,
|
|
4
4
|
hash text NOT NULL,
|
|
5
5
|
created_at bigint
|
|
6
6
|
)
|
|
7
|
-
`;await i.execute(te`CREATE SCHEMA IF NOT EXISTS ${te.identifier(n)}`),await i.execute(_);const a=(await i.all(te`select id, hash, created_at from ${te.identifier(n)}.${te.identifier(s)} order by created_at desc limit 1`))[0];await i.transaction(async i=>{for await(const t of e)if(!a||Number(a.created_at)<t.folderMillis){for(const e of t.sql)await i.execute(te.raw(e));await i.execute(te`insert into ${te.identifier(n)}.${te.identifier(s)} ("hash", "created_at") values(${t.hash}, ${t.folderMillis})`)}})}escapeName(e){return`"${e.replace(/"/g,'""')}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;const i=[te`with `];for(const[t,s]of e.entries())i.push(te`${te.identifier(s._.alias)} as (${s._.sql})`),t<e.length-1&&i.push(te`, `);return i.push(te` `),te.join(i)}buildDeleteQuery({table:e,where:i,returning:t,withList:s}){return te`${this.buildWithCTE(s)}delete from ${e}${i?te` where ${i}`:void 0}${t?te` returning ${this.buildSelection(t,{isSingleTable:!0})}`:void 0}`}buildUpdateSet(e,i){const t=e[R.Symbol.Columns],s=Object.keys(t).filter(e=>void 0!==i[e]||void 0!==t[e]?.onUpdateFn),n=s.length;return te.join(s.flatMap((e,s)=>{const _=t[e],a=_.onUpdateFn?.(),r=i[e]??(o(a,Y)?a:te.param(a,_)),l=te`${te.identifier(this.casing.getColumnCasing(_))} = ${r}`;return s<n-1?[l,te.raw(", ")]:[l]}))}buildUpdateQuery({table:e,set:i,where:t,returning:s,withList:n,from:_,joins:a}){const o=this.buildWithCTE(n),r=e[Dt.Symbol.Name],l=e[Dt.Symbol.Schema],d=e[Dt.Symbol.OriginalName],u=r===d?void 0:r,c=te`${l?te`${te.identifier(l)}.`:void 0}${te.identifier(d)}${u&&te` ${te.identifier(u)}`}`,m=this.buildUpdateSet(e,i),p=_&&te.join([te.raw(" from "),this.buildFromTable(_)]);return te`${o}update ${c} set ${m}${p}${this.buildJoins(a)}${t?te` where ${t}`:void 0}${s?te` returning ${this.buildSelection(s,{isSingleTable:!_})}`:void 0}`}buildSelection(e,{isSingleTable:i=!1}={}){const t=e.length,s=e.flatMap(({field:e},s)=>{const n=[];if(o(e,Y.Aliased)&&e.isSelectionField)n.push(te.identifier(e.fieldAlias));else if(o(e,Y.Aliased)||o(e,Y)){const t=o(e,Y.Aliased)?e.sql:e;i?n.push(new Y(t.queryChunks.map(e=>o(e,S)?te.identifier(this.casing.getColumnCasing(e)):e))):n.push(t),o(e,Y.Aliased)&&n.push(te` as ${te.identifier(e.fieldAlias)}`)}else if(o(e,r))i?n.push(te.identifier(this.casing.getColumnCasing(e))):n.push(e);else if(o(e,z)){const i=Object.entries(e._.selectedFields);if(1===i.length){const t=i[0][1],s=o(t,Y)?t.decoder:o(t,r)?{mapFromDriverValue:e=>t.mapFromDriverValue(e)}:t.sql.decoder;s&&(e._.sql.decoder=s)}n.push(e)}return s<t-1&&n.push(te`, `),n});return te.join(s)}buildJoins(e){if(!e||0===e.length)return;const i=[];for(const[t,s]of e.entries()){0===t&&i.push(te` `);const n=s.table,_=s.lateral?te` lateral`:void 0,a=s.on?te` on ${s.on}`:void 0;if(o(n,Dt)){const e=n[Dt.Symbol.Name],t=n[Dt.Symbol.Schema],o=n[Dt.Symbol.OriginalName],r=e===o?void 0:s.alias;i.push(te`${te.raw(s.joinType)} join${_} ${t?te`${te.identifier(t)}.`:void 0}${te.identifier(o)}${r&&te` ${te.identifier(r)}`}${a}`)}else if(o(n,ae)){const e=n[L].name,t=n[L].schema,o=n[L].originalName,r=e===o?void 0:s.alias;i.push(te`${te.raw(s.joinType)} join${_} ${t?te`${te.identifier(t)}.`:void 0}${te.identifier(o)}${r&&te` ${te.identifier(r)}`}${a}`)}else i.push(te`${te.raw(s.joinType)} join${_} ${n}${a}`);t<e.length-1&&i.push(te` `)}return te.join(i)}buildFromTable(e){if(o(e,R)&&e[R.Symbol.IsAlias]){let i=te`${te.identifier(e[R.Symbol.OriginalName])}`;return e[R.Symbol.Schema]&&(i=te`${te.identifier(e[R.Symbol.Schema])}.${i}`),te`${i} ${te.identifier(e[R.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:i,fieldsFlat:t,where:s,having:n,table:_,joins:a,orderBy:l,groupBy:d,limit:u,offset:c,lockingClause:m,distinct:p,setOperators:g}){const f=t??fe(i);for(const e of f)if(o(e.field,r)&&M(e.field.table)!==(o(_,z)?_._.alias:o(_,As)?_[L].name:o(_,Y)?void 0:M(_))&&!(e=>a?.some(({alias:i})=>i===(e[R.Symbol.IsAlias]?M(e):e[R.Symbol.BaseName])))(e.field.table)){const i=M(e.field.table);throw new Error(`Your "${e.path.join("->")}" field references a column "${i}"."${e.field.name}", but the table "${i}" is not part of the query! Did you forget to join it?`)}const h=!a||0===a.length,v=this.buildWithCTE(e);let y;p&&(y=!0===p?te` distinct`:te` distinct on (${te.join(p.on,te`, `)})`);const b=this.buildSelection(f,{isSingleTable:h}),w=this.buildFromTable(_),N=this.buildJoins(a),k=s?te` where ${s}`:void 0,S=n?te` having ${n}`:void 0;let x,A;l&&l.length>0&&(x=te` order by ${te.join(l,te`, `)}`),d&&d.length>0&&(A=te` group by ${te.join(d,te`, `)}`);const C="object"==typeof u||"number"==typeof u&&u>=0?te` limit ${u}`:void 0,q=c?te` offset ${c}`:void 0,T=te.empty();if(m){const e=te` for ${te.raw(m.strength)}`;m.config.of&&e.append(te` of ${te.join(Array.isArray(m.config.of)?m.config.of:[m.config.of],te`, `)}`),m.config.noWait?e.append(te` nowait`):m.config.skipLocked&&e.append(te` skip locked`),T.append(e)}const j=te`${v}select${y} ${b} from ${w}${N}${k}${A}${S}${x}${C}${q}${T}`;return g.length>0?this.buildSetOperations(j,g):j}buildSetOperations(e,i){const[t,...s]=i;if(!t)throw new Error("Cannot pass undefined values to any set operator");return 0===s.length?this.buildSetOperationQuery({leftSelect:e,setOperator:t}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:t}),s)}buildSetOperationQuery({leftSelect:e,setOperator:{type:i,isAll:t,rightSelect:s,limit:n,orderBy:_,offset:a}}){const r=te`(${e.getSQL()}) `,l=te`(${s.getSQL()})`;let d;if(_&&_.length>0){const e=[];for(const i of _)if(o(i,S))e.push(te.identifier(i.name));else if(o(i,Y)){for(let e=0;e<i.queryChunks.length;e++){const t=i.queryChunks[e];o(t,S)&&(i.queryChunks[e]=te.identifier(t.name))}e.push(te`${i}`)}else e.push(te`${i}`);d=te` order by ${te.join(e,te`, `)} `}const u="object"==typeof n||"number"==typeof n&&n>=0?te` limit ${n}`:void 0,c=te.raw(`${i} ${t?"all ":""}`);return te`${r}${c}${l}${d}${u}${a?te` offset ${a}`:void 0}`}buildInsertQuery({table:e,values:i,onConflict:t,returning:s,withList:n,select:_,overridingSystemValue_:a}){const r=[],l=e[R.Symbol.Columns],d=Object.entries(l).filter(([e,i])=>!i.shouldDisableInsert()),u=d.map(([,e])=>te.identifier(this.casing.getColumnCasing(e)));if(_){const e=i;o(e,Y)?r.push(e):r.push(e.getSQL())}else{const e=i;r.push(te.raw("values "));for(const[i,t]of e.entries()){const s=[];for(const[e,i]of d){const n=t[e];if(void 0===n||o(n,ie)&&void 0===n.value)if(void 0!==i.defaultFn){const e=i.defaultFn(),t=o(e,Y)?e:te.param(e,i);s.push(t)}else if(i.default||void 0===i.onUpdateFn)s.push(te`default`);else{const e=i.onUpdateFn(),t=o(e,Y)?e:te.param(e,i);s.push(t)}else s.push(n)}r.push(s),i<e.length-1&&r.push(te`, `)}}const c=this.buildWithCTE(n),m=te.join(r);return te`${c}insert into ${e} ${u} ${!0===a?te`overriding system value `:void 0}${m}${t?te` on conflict ${t}`:void 0}${s?te` returning ${this.buildSelection(s,{isSingleTable:!0})}`:void 0}`}buildRefreshMaterializedViewQuery({view:e,concurrently:i,withNoData:t}){return te`refresh materialized view${i?te` concurrently`:void 0} ${e}${t?te` with no data`:void 0}`}prepareTyping(e){return o(e,ci)||o(e,li)?"json":o(e,Ai)?"decimal":o(e,at)?"time":o(e,lt)||o(e,ut)?"timestamp":o(e,Re)||o(e,We)?"date":o(e,pt)?"uuid":"none"}sqlToQuery(e,i){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:i})}buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:t,table:s,tableConfig:n,queryConfig:_,tableAlias:a,nestedQueryRelation:l,joinOn:d}){let u,c,m,p=[],g=[];const f=[];if(!0===_){p=Object.entries(n.columns).map(([e,i])=>({dbKey:i.name,tsKey:e,field:de(i,a),relationTableTsKey:void 0,isJson:!1,selection:[]}))}else{const s=Object.fromEntries(Object.entries(n.columns).map(([e,i])=>[e,de(i,a)]));if(_.where){const e="function"==typeof _.where?_.where(s,{and:is,between:ps,eq:Xt,exists:cs,gt:ns,gte:_s,ilike:vs,inArray:rs,isNull:ds,isNotNull:us,like:fs,lt:as,lte:os,ne:es,not:ss,notBetween:gs,notExists:ms,notLike:hs,notIlike:ys,notInArray:ls,or:ts,sql:te}):_.where;m=e&&ce(e,a)}const l=[];let d=[];if(_.columns){let e=!1;for(const[i,t]of Object.entries(_.columns))void 0!==t&&i in n.columns&&(e||!0!==t||(e=!0),d.push(i));d.length>0&&(d=e?d.filter(e=>!0===_.columns?.[e]):Object.keys(n.columns).filter(e=>!d.includes(e)))}else d=Object.keys(n.columns);for(const e of d){const i=n.columns[e];l.push({tsKey:e,value:i})}let h,v=[];if(_.with&&(v=Object.entries(_.with).filter(e=>!!e[1]).map(([e,i])=>({tsKey:e,queryConfig:i,relation:n.relations[e]}))),_.extras){h="function"==typeof _.extras?_.extras(s,{sql:te}):_.extras;for(const[e,i]of Object.entries(h))l.push({tsKey:e,value:ue(i,a)})}for(const{tsKey:e,value:i}of l)p.push({dbKey:o(i,Y.Aliased)?i.fieldAlias:n.columns[e].name,tsKey:e,field:o(i,r)?de(i,a):i,relationTableTsKey:void 0,isJson:!1,selection:[]});let y="function"==typeof _.orderBy?_.orderBy(s,{sql:te,asc:bs,desc:ws}):_.orderBy??[];Array.isArray(y)||(y=[y]),g=y.map(e=>o(e,r)?de(e,a):ce(e,a)),u=_.limit,c=_.offset;for(const{tsKey:s,queryConfig:n,relation:_}of v){const r=xs(i,t,_),l=t[W(_.referencedTable)],d=`${a}_${s}`,u=is(...r.fields.map((e,i)=>Xt(de(r.references[i],d),de(e,a)))),c=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:t,table:e[l],tableConfig:i[l],queryConfig:o(_,ks)?!0===n?{limit:1}:{...n,limit:1}:n,tableAlias:d,joinOn:u,nestedQueryRelation:_}),m=te`${te.identifier(d)}.${te.identifier("data")}`.as(s);f.push({on:te`true`,table:new z(c.sql,{},d),alias:d,joinType:"left",lateral:!0}),p.push({dbKey:s,tsKey:s,field:m,relationTableTsKey:l,isJson:!0,selection:c.selection})}}if(0===p.length)throw new Yt({message:`No fields selected for table "${n.tsName}" ("${a}")`});let h;if(m=is(d,m),l){let e=te`json_build_array(${te.join(p.map(({field:e,tsKey:i,isJson:t})=>t?te`${te.identifier(`${a}_${i}`)}.${te.identifier("data")}`:o(e,Y.Aliased)?e.sql:e),te`, `)})`;o(l,Ss)&&(e=te`coalesce(json_agg(${e}${g.length>0?te` order by ${te.join(g,te`, `)}`:void 0}), '[]'::json)`);const i=[{dbKey:"data",tsKey:"data",field:e.as("data"),isJson:!0,relationTableTsKey:n.tsName,selection:p}];void 0!==u||void 0!==c||g.length>0?(h=this.buildSelectQuery({table:le(s,a),fields:{},fieldsFlat:[{path:[],field:te.raw("*")}],where:m,limit:u,offset:c,orderBy:g,setOperators:[]}),m=void 0,u=void 0,c=void 0,g=[]):h=le(s,a),h=this.buildSelectQuery({table:o(h,Dt)?h:new z(h,{},a),fields:{},fieldsFlat:i.map(({field:e})=>({path:[],field:o(e,r)?de(e,a):e})),joins:f,where:m,limit:u,offset:c,orderBy:g,setOperators:[]})}else h=this.buildSelectQuery({table:le(s,a),fields:{},fieldsFlat:p.map(({field:e})=>({path:[],field:o(e,r)?de(e,a):e})),joins:f,where:m,limit:u,offset:c,orderBy:g,setOperators:[]});return{tableTsKey:n.tsName,sql:h,selection:p}}}class qs{static[a]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class Ts{static[a]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){const i=!!this.fields,t=e;let s;return s=this.fields?this.fields:o(t,z)?Object.fromEntries(Object.keys(t._.selectedFields).map(e=>[e,t[e]])):o(t,As)?t[L].selectedFields:o(t,Y)?{}:ve(t),new $s({table:t,fields:s,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class js extends qs{static[a]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:i,isPartialSelect:t,session:s,dialect:n,withList:_,distinct:a}){super(),this.config={withList:_,table:e,fields:{...i},distinct:a,setOperators:[]},this.isPartialSelect=t,this.session=s,this.dialect=n,this._={selectedFields:i,config:this.config},this.tableName=ye(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{};for(const i of Gs(e))this.usedTables.add(i)}getUsedTables(){return[...this.usedTables]}createJoin(e,i){return(t,s)=>{const n=this.tableName,_=ye(t);for(const e of Gs(t))this.usedTables.add(e);if("string"==typeof _&&this.config.joins?.some(e=>e.alias===_))throw new Error(`Alias "${_}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof n&&(this.config.fields={[n]:this.config.fields}),"string"==typeof _&&!o(t,Y))){const e=o(t,z)?t._.selectedFields:o(t,ae)?t[L].selectedFields:t[R.Symbol.Columns];this.config.fields[_]=e}if("function"==typeof s&&(s=s(new Proxy(this.config.fields,new Pt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:s,table:t,joinType:e,alias:_,lateral:i}),"string"==typeof _)switch(e){case"left":this.joinsNotNullableMap[_]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[_]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[_]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[_]=!1}return this}}leftJoin=this.createJoin("left",!1);leftJoinLateral=this.createJoin("left",!0);rightJoin=this.createJoin("right",!1);innerJoin=this.createJoin("inner",!1);innerJoinLateral=this.createJoin("inner",!0);fullJoin=this.createJoin("full",!1);crossJoin=this.createJoin("cross",!1);crossJoinLateral=this.createJoin("cross",!0);createSetOperator(e,i){return t=>{const s="function"==typeof t?t(Bs()):t;if(!he(this.getSelectedFields(),s.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:i,rightSelect:s}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new Pt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new Pt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){const i=e[0](new Proxy(this.config.fields,new Pt({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){const i=e[0](new Proxy(this.config.fields,new Pt({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),t=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t}else{const i=e;this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=i:this.config.orderBy=i}return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,i={}){return this.config.lockingClause={strength:e,config:i},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){const{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}as(e){const i=[];if(i.push(...Gs(this.config.table)),this.config.joins)for(const e of this.config.joins)i.push(...Gs(e.table));return new Proxy(new z(this.getSQL(),this.config.fields,e,!1,[...new Set(i)]),new Pt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new Pt({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}}class $s extends js{static[a]="PgSelect";_prepare(e){const{session:i,config:t,dialect:s,joinsNotNullableMap:n,authToken:_,cacheConfig:a,usedTables:o}=this;if(!i)throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");const{fields:r}=t;return O.startActiveSpan("drizzle.prepareQuery",()=>{const t=fe(r),l=i.prepareQuery(s.sqlToQuery(this.getSQL()),t,e,!0,void 0,{type:"select",tables:[...o]},a);return l.joinsNotNullableMap=n,l.setToken(_)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>O.startActiveSpan("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}function Ps(e,i){return(t,s,...n)=>{const _=[s,...n].map(t=>({type:e,isAll:i,rightSelect:t}));for(const e of _)if(!he(t.getSelectedFields(),e.rightSelect.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return t.addSetOperators(_)}}!function(e,i){for(const t of i)for(const i of Object.getOwnPropertyNames(t.prototype))"constructor"!==i&&Object.defineProperty(e.prototype,i,Object.getOwnPropertyDescriptor(t.prototype,i)||Object.create(null))}($s,[$t]);const Bs=()=>({union:zs,unionAll:Ds,intersect:Os,intersectAll:Ls,except:Is,exceptAll:Fs}),zs=Ps("union",!1),Ds=Ps("union",!0),Os=Ps("intersect",!1),Ls=Ps("intersect",!0),Is=Ps("except",!1),Fs=Ps("except",!0);class Qs{static[a]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=o(e,Cs)?e:void 0,this.dialectConfig=o(e,Cs)?void 0:e}$with=(e,i)=>{const t=this;return{as:s=>("function"==typeof s&&(s=s(t)),new Proxy(new D(s.getSQL(),i??("getSelectedFields"in s?s.getSelectedFields()??{}:{}),e,!0),new Pt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){const i=this;return{select:function(t){return new Ts({fields:t??void 0,session:void 0,dialect:i.getDialect(),withList:e})},selectDistinct:function(e){return new Ts({fields:e??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})},selectDistinctOn:function(e,t){return new Ts({fields:t??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:e}})}}}select(e){return new Ts({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new Ts({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,i){return new Ts({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new Cs(this.dialectConfig)),this.dialect}}class Es{constructor(e,i){this.name=e,this.schema=i}static[a]="PgDefaultViewBuilderCore";config={};with(e){return this.config.with=e,this}}class Vs extends Es{static[a]="PgViewBuilder";as(e){"function"==typeof e&&(e=e(new Qs));const i=new Pt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),t=new Proxy(e.getSelectedFields(),i);return new Proxy(new Ms({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:t,query:e.getSQL().inlineParams()}}),i)}}class Ks extends Es{static[a]="PgManualViewBuilder";columns;constructor(e,i,t){super(e,t),this.columns=ve(Lt(e,i))}existing(){return new Proxy(new Ms({pgConfig:void 0,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:void 0}}),new Pt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new Ms({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:e.inlineParams()}}),new Pt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}}class Us{constructor(e,i){this.name=e,this.schema=i}static[a]="PgMaterializedViewBuilderCore";config={};using(e){return this.config.using=e,this}with(e){return this.config.with=e,this}tablespace(e){return this.config.tablespace=e,this}withNoData(){return this.config.withNoData=!0,this}}class Js extends Us{static[a]="PgMaterializedViewBuilder";as(e){"function"==typeof e&&(e=e(new Qs));const i=new Pt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),t=new Proxy(e.getSelectedFields(),i);return new Proxy(new Hs({pgConfig:{with:this.config.with,using:this.config.using,tablespace:this.config.tablespace,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:t,query:e.getSQL().inlineParams()}}),i)}}class Rs extends Us{static[a]="PgManualMaterializedViewBuilder";columns;constructor(e,i,t){super(e,t),this.columns=ve(Lt(e,i))}existing(){return new Proxy(new Hs({pgConfig:{tablespace:this.config.tablespace,using:this.config.using,with:this.config.with,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:void 0}}),new Pt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new Hs({pgConfig:{tablespace:this.config.tablespace,using:this.config.using,with:this.config.with,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:e.inlineParams()}}),new Pt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}}class Ms extends As{static[a]="PgView";[Rt];constructor({pgConfig:e,config:i}){super(i),e&&(this[Rt]={with:e.with})}}const Ws=Symbol.for("drizzle:PgMaterializedViewConfig");class Hs extends As{static[a]="PgMaterializedView";[Ws];constructor({pgConfig:e,config:i}){super(i),this[Ws]={with:e?.with,using:e?.using,tablespace:e?.tablespace,withNoData:e?.withNoData}}}function Gs(e){return o(e,Dt)?[e[I]?`${e[I]}.${e[R.Symbol.BaseName]}`:e[R.Symbol.BaseName]]:o(e,z)?e._.usedTables??[]:o(e,Y)?e.usedTables??[]:[]}class Ys{constructor(e,i,t){this.seqName=e,this.seqOptions=i,this.schema=t}static[a]="PgSequence"}class Zs{constructor(e){this.schemaName=e}static[a]="PgSchema";table=(e,i,t)=>Ot(e,i,t,this.schemaName);view=(e,i)=>function(e,i,t){return i?new Ks(e,i,t):new Vs(e,t)}(e,i,this.schemaName);materializedView=(e,i)=>function(e,i,t){return i?new Rs(e,i,t):new Js(e,t)}(e,i,this.schemaName);enum(e,i){return Array.isArray(i)?function(e,i,t){const s=Object.assign(e=>new P(e??"",s),{enumName:e,enumValues:i,schema:t,[$]:!0});return s}(e,[...i],this.schemaName):function(e,i,t){const s=Object.assign(e=>new T(e??"",s),{enumName:e,enumValues:Object.values(i),schema:t,[$]:!0});return s}(e,i,this.schemaName)}sequence=(e,i)=>function(e,i,t){return new Ys(e,i,t)}(e,i,this.schemaName);getSQL(){return new Y([te.identifier(this.schemaName)])}shouldOmitSQLParens(){return!0}}function Xs(e){if("public"===e)throw new Error("You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use pgTable() instead of creating a schema");return new Zs(e)}const en=Xs("raw"),tn=Xs("rendered"),sn=Xs("internal");Xs("cached");const nn=en.enum("state",["draft","published","expired"]),_n=en.enum("restriction_level",["ogl_compatible","ogl_equivalent","restricted","highly_restricted"]),an=en.enum("media_provenance",["oak_created","oak_illustration","partner_created","creative_commons","pixabay","pexels","unsplash","openverse","freesvg","needpix","bridgeman","shutterstock","dall_e","adobe_firefly","other"]),on=en.enum("acquisition_basis",["oak_owned","public_domain","gratis","paid","creative_commons"]),rn=en.enum("permission_status",["not_required","granted","denied"]),ln=en.enum("territory",["uk","worldwide","worldwide_no_usa","other_territory"]),dn=en.enum("licence",["cc0","cc_by","cc_by_sa","cc_by_nc","cc_by_nc_sa","cc_by_nc_nd","cc_by_nd","ogl","unlimited_use","limited_use_permission_required","single_use_permission_required","other"]),un=en.enum("question_type",["explanatory-text","match","multiple-choice","order","short-answer","text"]),cn=en.enum("tag_category",["discipline","domain","world_view"]),mn=en.enum("media_kind",["video","sound"]),pn=en.enum("clip_section",["intro","lesson_outline"]),gn=en.enum("redirect_type",["301","302","307","308"]),fn=en.enum("redirect_entity_source",["lessons","units","programmes","subjects"]),hn=sn.enum("operation",["insert","update","delete"]),vn=sn.enum("media_type_enum",["video","sound","gdrive_file","bucket_file"]),yn=sn.enum("lesson_component_type_enum",["document","downloadable","lesson_video","media_clip","quiz"]),bn={created_at:ct("created_at",{withTimezone:!0}).defaultNow(),updated_at:ct("updated_at",{withTimezone:!0}).$onUpdateFn(()=>new Date)},wn={created_at:ct("created_at",{withTimezone:!0}).notNull().defaultNow()},Nn=sn.enum("release_type",["mathfix","migration"]),kn=sn.table("releases",{release_id:ni("release_id").primaryKey().generatedByDefaultAsIdentity(),_authoring_state:nn("_authoring_state").notNull(),approved:ze("approved").notNull().default(!1),approver:mi("approver"),description:nt("description"),estimated_release_date:He("estimated_release_date"),locked:ze("locked").notNull().default(!1),name:nt("name"),notes:nt("notes"),release_type:Nn("release_type"),release_uid:Le("release_uid",{length:16}),...bn}),Sn={_state:nn("_state").notNull()},xn={_authoring_state:nn("_authoring_state").notNull()},An={_choice_state:nn("_choice_state").notNull()},Cn={_lesson_state:nn("_lesson_state").notNull()},qn={_programme_state:nn("_programme_state").notNull()},Tn={_question_state:nn("_question_state").notNull()},jn={_quiz_state:nn("_quiz_state").notNull()},$n={_subject_phase_state:nn("_subject_phase_state").notNull()},Pn={_thread_state:nn("_thread_state").notNull()},Bn={_unit_state:nn("_unit_state").notNull()},zn={_unit_variant_state:nn("_unit_variant_state").notNull()},Dn={_works_copyright_state:nn("_works_copyright_state").notNull()},On={_choice_state:nn("_choice_state")},Ln={_unit_variant_state:nn("_unit_variant_state")},In=({name:e,columnA:i,columnB:s})=>ge(e,t.sql`${i} = 'expired' or ${s} = 'expired' or ${i} = ${s}`),Fn=({name:e,columnA:i,columnB:s})=>ge(e,t.sql`${i} = 'expired' or ${s} is null or ${s} = 'expired' or ${i} = ${s}`),Qn=({name:e,columnA:i,columnB:s,allow:n})=>ge(e,t.sql.join([t.sql`${i} = 'expired'`,t.sql`${s} = 'expired'`,t.sql`${i} = ${s}`,...n.map(([e,n])=>t.sql`(${i} = ${t.sql.raw(`'${e}'`)} and ${s} = ${t.sql.raw(`'${n}'`)})`)],t.sql` or `)),En={_expire_on_release:ze("_expire_on_release").notNull().default(!1),_release_id:ni("_release_id").references(()=>kn.release_id)},Vn=Sn,Kn=en.table("gdrive_files",{gdrive_file_id:ni("gdrive_file_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mi("deprecated_fields"),epoch:nt("epoch"),google_drive_id:nt("google_drive_id"),google_drive_url:nt("google_drive_url"),opendocument_presentation_bucket_name:nt("opendocument_presentation_bucket_name"),opendocument_presentation_bucket_path:nt("opendocument_presentation_bucket_path"),opendocument_text_bucket_name:nt("opendocument_text_bucket_name"),opendocument_text_bucket_path:nt("opendocument_text_bucket_path"),pdf_bucket_name:nt("pdf_bucket_name"),pdf_bucket_path:nt("pdf_bucket_path"),powerpoint_bucket_name:nt("powerpoint_bucket_name"),powerpoint_bucket_path:nt("powerpoint_bucket_path"),previous_document_id:ni("previous_document_id"),word_bucket_name:nt("word_bucket_name"),word_bucket_path:nt("word_bucket_path"),...En,...bn}),Un=en.table("lessons",{lesson_id:ni("lesson_id").notNull().generatedByDefaultAsIdentity(),...Vn,agf__has_copyright_restrictions:ze("agf__has_copyright_restrictions"),agf__restricted_download:ze("agf__restricted_download"),deprecated_fields:mi("deprecated_fields"),equipment_and_resources:mi("equipment_and_resources"),has_tag_practical_not_remote:ze("has_tag_practical_not_remote").notNull().default(!1),is_sensitive:ze("is_sensitive").notNull().default(!1),key_learning_points:mi("key_learning_points"),keywords:mi("keywords"),lesson_outline:mi("lesson_outline"),lesson_uid:Le("lesson_uid",{length:16}).notNull(),misconceptions_and_common_mistakes:mi("misconceptions_and_common_mistakes"),phonics_outcome:nt("phonics_outcome"),pupil_lesson_outcome:nt("pupil_lesson_outcome"),slug:nt("slug").notNull(),teacher_tips:mi("teacher_tips"),title:nt("title").notNull(),...En,...bn},e=>[Kt({columns:[e.lesson_id,e._state]}),p("lessons_slug_unique").on(e.slug,e._state)]),Jn=en.enum("document_type",["slidedeck","worksheet","worksheet_answers","supplementary_resource","lesson_guide"]);en.table("documents",{document_id:ni("document_id").notNull().generatedByDefaultAsIdentity(),...Vn,gdrive_file_id:ni("gdrive_file_id").notNull(),lesson_id:ni("lesson_id"),deprecated_fields:mi("deprecated_fields"),document_type:Jn("document_type").notNull(),document_uid:Le("document_uid",{length:16}),previous_lesson_id:ni("previous_lesson_id"),...En,...bn},e=>[Kt({columns:[e.document_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"documents_gdrive_file_fk",columns:[e.gdrive_file_id],foreignColumns:[Kn.gdrive_file_id]}),p().on(e.lesson_id,e.document_type,e._state)]);const Rn=en.table("bucket_files",{bucket_file_id:ni("bucket_file_id").primaryKey().generatedByDefaultAsIdentity(),...xn,bucket_name:nt("bucket_name"),bucket_path:nt("bucket_path"),byte_size:ni("byte_size"),cloudinary_public_id:nt("cloudinary_public_id"),cloudinary_source_url:nt("cloudinary_source_url"),content_type:nt("content_type"),deprecated_fields:mi("deprecated_fields"),filename:nt("filename"),media_description:nt("media_description"),name:nt("name"),previous_downloadable_id:ni("previous_downloadable_id"),...En,...bn},e=>[p("bucket_files_cloudinary_public_id_unique").on(e.cloudinary_public_id)]);en.table("downloadables",{downloadable_id:ni("downloadable_id").notNull().generatedByDefaultAsIdentity(),...Vn,bucket_file_id:ni("bucket_file_id").notNull(),lesson_id:ni("lesson_id"),custom_title:nt("custom_title"),deprecated_fields:mi("deprecated_fields"),position:ni("position").notNull(),previous_lesson_id:ni("previous_lesson_id"),...En,...bn},e=>[Kt({columns:[e.downloadable_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"downloadables_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Rn.bucket_file_id]}),Vt("downloadables_lesson_position_unique").on(e.lesson_id,e.position,e._state)]);const Mn=en.table("videos",{video_id:ni("video_id").primaryKey().generatedByDefaultAsIdentity(),...xn,cloudinary_public_id:nt("cloudinary_public_id"),cloudinary_source_url:nt("cloudinary_source_url"),contains_identifiable_face:ze("contains_identifiable_face"),deprecated_fields:mi("deprecated_fields"),duration_seconds:$i("duration_seconds"),has_bsl:ze("has_bsl"),media_description:nt("media_description"),mux_asset_id:nt("mux_asset_id"),mux_playback_id:nt("mux_playback_id"),name:nt("name"),previous_lesson_video_id:ni("previous_lesson_video_id"),previous_media_clip_ids:ni("previous_media_clip_ids").array(),raw_mux_data:mi("raw_mux_data"),signed_stream_id:nt("signed_stream_id"),title:nt("title"),url:nt("url"),video_uid:Le("video_uid",{length:16}),...En,...bn},e=>[p("videos_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("videos_cloudinary_source_url_unique").on(e.cloudinary_source_url)]);en.table("lesson_videos",{lesson_video_id:ni("lesson_video_id").notNull().generatedByDefaultAsIdentity(),...Vn,lesson_id:ni("lesson_id"),sign_language_video_id:ni("sign_language_video_id"),video_id:ni("video_id"),previous_lesson_id:ni("previous_lesson_id"),...En,...bn},e=>[Kt({columns:[e.lesson_video_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({columns:[e.video_id],foreignColumns:[Mn.video_id]}),m({name:"lesson_videos_sign_lang_video_fk",columns:[e.sign_language_video_id],foreignColumns:[Mn.video_id]}),Vt("lesson_videos_lesson_unique").on(e.lesson_id,e._state),ge("lesson_videos_video_required_published",t.sql`${e._state} <> 'published' or ${e.video_id} is not null`)]);const Wn=en.table("media_clip_collection",{media_clip_collection_id:ni("media_clip_collection_id").notNull().generatedByDefaultAsIdentity(),...Vn,lesson_id:ni("lesson_id"),previous_lesson_id:ni("previous_lesson_id"),...En,...bn},e=>[Kt({columns:[e.media_clip_collection_id,e._state]}),m({name:"mc_collection_lesson_fk",columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),Vt("media_clip_collection_lesson_unique").on(e.lesson_id,e._state)]),Hn=en.table("sounds",{sound_id:ni("sound_id").primaryKey().generatedByDefaultAsIdentity(),...xn,cloudinary_public_id:nt("cloudinary_public_id"),cloudinary_source_url:nt("cloudinary_source_url"),duration_seconds:$i("duration_seconds"),media_description:nt("media_description"),mux_asset_id:nt("mux_asset_id"),mux_playback_id:nt("mux_playback_id"),name:nt("name"),previous_media_clip_ids:ni("previous_media_clip_ids").array(),title:nt("title"),...En,...bn},e=>[p("sounds_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("sounds_cloudinary_source_url_unique").on(e.cloudinary_source_url)]);en.table("media_clips",{media_clip_id:ni("media_clip_id").notNull().generatedByDefaultAsIdentity(),...Vn,media_clip_collection_id:ni("media_clip_collection_id").notNull(),sound_id:ni("sound_id"),video_id:ni("video_id"),clip_section:pn("clip_section").notNull(),custom_title:nt("custom_title"),lesson_outline_index:ni("lesson_outline_index"),media_kind:mn("media_kind"),position:ni("position").notNull(),...En,...bn},e=>[Kt({columns:[e.media_clip_id,e._state]}),m({name:"media_clips_mc_collection_fk",columns:[e.media_clip_collection_id,e._state],foreignColumns:[Wn.media_clip_collection_id,Wn._state]}),m({columns:[e.sound_id],foreignColumns:[Hn.sound_id]}),m({columns:[e.video_id],foreignColumns:[Mn.video_id]}),ge("media_clip_video_or_sound",t.sql`(video_id IS NOT NULL AND sound_id IS NULL) OR (video_id IS NULL AND sound_id IS NOT NULL)`),ge("media_clip_section_lesson_outline",t.sql`(clip_section = 'lesson_outline' AND lesson_outline_index IS NOT NULL)
|
|
8
|
-
OR (clip_section = 'intro' AND lesson_outline_index IS NULL)`),Vt("media_clips_lo_position_unique").on(e.media_clip_collection_id,e.lesson_outline_index,e.position,e._state).where(t.sql`${e.clip_section} = 'lesson_outline'`),Vt("media_clips_intro_position_unique").on(e.media_clip_collection_id,e.position,e._state).where(t.sql`${e.clip_section} = 'intro'`)]);const Gn=en.table("images",{image_id:ni("image_id").primaryKey().generatedByDefaultAsIdentity(),...xn,cloudinary_public_id:nt("cloudinary_public_id"),cloudinary_source_url:nt("cloudinary_source_url"),contains_identifiable_face:ze("contains_identifiable_face"),height:ni("height"),media_description:nt("media_description"),name:nt("name"),width:ni("width"),...En,...bn},e=>[p("images_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("images_cloudinary_source_url_unique").on(e.cloudinary_source_url)]),Yn=en.table("questions",{question_id:ni("question_id").notNull().generatedByDefaultAsIdentity(),...Vn,stem_image_id:ni("stem_image_id"),deprecated_fields:mi("deprecated_fields"),feedback:nt("feedback"),hint:nt("hint"),question_type:un("question_type").notNull(),question_uid:Le("question_uid",{length:16}).notNull(),stem_text:nt("stem_text"),...En,...bn},e=>[Kt({columns:[e.question_id,e._state]}),m({columns:[e.stem_image_id],foreignColumns:[Gn.image_id]})]);en.table("question_options",{option_id:ni("option_id").notNull().generatedByDefaultAsIdentity(),...Vn,body_image_id:ni("body_image_id"),match_partner_image_id:ni("match_partner_image_id"),question_id:ni("question_id").notNull(),body_text:nt("body_text"),correct_order:ni("correct_order"),is_default:ze("is_default"),is_correct:ze("is_correct"),match_partner_text:nt("match_partner_text"),position:ni("position"),temporary_fields:mi("temporary_fields"),...En,...bn},e=>[Kt({columns:[e.option_id,e._state]}),m({name:"question_options_question_fk",columns:[e.question_id,e._state],foreignColumns:[Yn.question_id,Yn._state]}),m({name:"question_options_body_image_fk",columns:[e.body_image_id],foreignColumns:[Gn.image_id]}),m({name:"question_options_match_partner_image_fk",columns:[e.match_partner_image_id],foreignColumns:[Gn.image_id]})]);const Zn=en.table("units",{unit_id:ni("unit_id").notNull().generatedByDefaultAsIdentity(),...Sn,deprecated_fields:mi("deprecated_fields"),description:nt("description").notNull(),slug:nt("slug"),title:nt("title").notNull(),unit_uid:Le("unit_uid",{length:16}),why_this_why_now:nt("why_this_why_now"),...En,...bn},e=>[Kt({columns:[e.unit_id,e._state]})]);en.table("question_units",{question_id:ni("question_id").notNull(),unit_id:ni("unit_id").notNull(),...Tn,...Bn,...En,...bn},e=>[Kt({name:"question_units_pk",columns:[e.question_id,e.unit_id,e._question_state,e._unit_state]}),m({name:"question_units_question_fk",columns:[e.question_id,e._question_state],foreignColumns:[Yn.question_id,Yn._state]}),m({name:"question_units_unit_fk",columns:[e.unit_id,e._unit_state],foreignColumns:[Zn.unit_id,Zn._state]}),In({name:"question_units_state_coherence",columnA:e._question_state,columnB:e._unit_state})]);const Xn=en.enum("quiz_role",["starter","exit"]),e_=en.table("quizzes",{quiz_id:ni("quiz_id").notNull().generatedByDefaultAsIdentity(),...Vn,lesson_id:ni("lesson_id"),deprecated_fields:mi("deprecated_fields"),previous_lesson_id:ni("previous_lesson_id"),quiz_answers_pdf_bucket_name:nt("quiz_answers_pdf_bucket_name"),quiz_answers_pdf_bucket_path:nt("quiz_answers_pdf_bucket_path"),quiz_pdf_bucket_name:nt("quiz_pdf_bucket_name"),quiz_pdf_bucket_path:nt("quiz_pdf_bucket_path"),quiz_role:Xn("quiz_role").notNull(),quiz_uid:Le("quiz_uid",{length:16}).notNull(),...En,...bn},e=>[Kt({columns:[e.quiz_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),Vt("quizzes_lesson_role_unique").on(e.lesson_id,e.quiz_role,e._state)]);en.table("quiz_questions",{quiz_id:ni("quiz_id").notNull(),question_id:ni("question_id").notNull(),...jn,...Tn,position:ni("position").notNull(),...En,...bn},e=>[Kt({name:"quiz_questions_pk",columns:[e.quiz_id,e.question_id,e._quiz_state,e._question_state]}),m({name:"quiz_questions_quiz_fk",columns:[e.quiz_id,e._quiz_state],foreignColumns:[e_.quiz_id,e_._state]}),m({name:"quiz_questions_question_fk",columns:[e.question_id,e._question_state],foreignColumns:[Yn.question_id,Yn._state]}),In({name:"quiz_questions_state_coherence",columnA:e._quiz_state,columnB:e._question_state})]);const i_=en.table("urls",{url_id:ni("url_id").primaryKey().generatedByDefaultAsIdentity(),...xn,cloudinary_public_id:nt("cloudinary_public_id"),cloudinary_source_url:nt("cloudinary_source_url"),name:nt("name"),url:nt("url"),...En,...bn},e=>[p("urls_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("urls_cloudinary_source_url_unique").on(e.cloudinary_source_url)]),t_=en.table("media_copyright",{media_copyright_id:ni("media_copyright_id").notNull().generatedByDefaultAsIdentity(),...Vn,bucket_file_id:ni("bucket_file_id"),image_id:ni("image_id"),sound_id:ni("sound_id"),url_id:ni("url_id"),video_id:ni("video_id"),acquisition_basis:on("acquisition_basis"),additional_restrictions:nt("additional_restrictions"),attribution:nt("attribution"),deprecated_fields:mi("deprecated_fields"),internal_notes:nt("internal_notes"),legacy_data_shape:ze("legacy_data_shape").notNull(),licence:dn("licence"),media_copyright_uid:Le("media_copyright_uid",{length:16}).notNull(),media_provenance:an("media_provenance"),media_provenance_url:nt("media_provenance_url"),permission_status:rn("permission_status"),restriction_level_override:_n("restriction_level_override"),territory_other:nt("territory_other"),territory_override:ln("territory_override"),third_party_id:nt("third_party_id"),...En,...bn},e=>[Kt({columns:[e.media_copyright_id,e._state]}),m({columns:[e.image_id],foreignColumns:[Gn.image_id]}),m({columns:[e.sound_id],foreignColumns:[Hn.sound_id]}),m({columns:[e.video_id],foreignColumns:[Mn.video_id]}),m({name:"media_copyright_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Rn.bucket_file_id]}),m({columns:[e.url_id],foreignColumns:[i_.url_id]}),ge("media_copyright_has_exactly_one_media",t.sql`(image_id IS NOT NULL)::int + (sound_id IS NOT NULL)::int + (video_id IS NOT NULL)::int + (bucket_file_id IS NOT NULL)::int + (url_id IS NOT NULL)::int = 1`),p("media_copyright_image_unique").on(e.image_id,e._state),p("media_copyright_sound_unique").on(e.sound_id,e._state),p("media_copyright_video_unique").on(e.video_id,e._state),p("media_copyright_bucket_file_unique").on(e.bucket_file_id,e._state),p("media_copyright_url_unique").on(e.url_id,e._state),p("media_copyright_uid_unique").on(e.media_copyright_uid,e._state)]),s_=sn.enum("contract_territory",["worldwide","worldwide_excl_usa","worldwide_excl_canada_and_usa","uk_only","uk_and_commonwealth","uk_and_commonwealth_excl_canada","uk_and_eire"]),n_=sn.table("tpc_contracts",{tpc_contract_id:ni("tpc_contract_id").primaryKey().generatedByDefaultAsIdentity(),...xn,effective_date:He("effective_date"),end_date:He("end_date"),geo_restricted:ze().notNull().default(!1),juro_id:nt("juro_id").notNull(),juro_url:nt("juro_url"),login_required:ze().notNull().default(!1),name:nt("name").notNull(),raw_contract:mi("raw_contract"),restricted_download:ze().notNull().default(!1),restriction_level:_n(),signing_side:nt("signing_side"),territory:s_("territory"),tpc_contract_uid:Le("tpc_contract_uid",{length:16}).notNull(),...bn},()=>[]);en.table("media_copyright_tpc_contracts",{media_copyright_id:ni("media_copyright_id").notNull(),tpc_contract_id:ni("tpc_contract_id").notNull(),...Vn,...En,_release_id:ni("_release_id"),...bn},e=>[Kt({name:"media_copyright_tpc_contracts_pk",columns:[e.media_copyright_id,e.tpc_contract_id,e._state]}),m({name:"media_copyright_tpc_contract_media_copyright_fk",columns:[e.media_copyright_id,e._state],foreignColumns:[t_.media_copyright_id,t_._state]}),m({name:"media_copyright_tpc_contract_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[n_.tpc_contract_id]}),m({name:"media_copyright_tpc_contracts_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]})]),en.table("gdrive_file_images",{gdrive_file_id:ni("gdrive_file_id").notNull(),image_id:ni("image_id").notNull(),...xn,...En,...bn},e=>[Kt({columns:[e.gdrive_file_id,e.image_id]}),m({name:"gdrive_file_images_gdrive_file_fk",columns:[e.gdrive_file_id],foreignColumns:[Kn.gdrive_file_id]}),m({columns:[e.image_id],foreignColumns:[Gn.image_id]})]),en.table("lesson_media",{lesson_media_id:ni("lesson_media_id").notNull().generatedByDefaultAsIdentity(),...Sn,lesson_id:ni("lesson_id").notNull(),bucket_file_id:ni("bucket_file_id"),image_id:ni("image_id"),sound_id:ni("sound_id"),url_id:ni("url_id"),video_id:ni("video_id"),...En,...bn},e=>[Kt({name:"lesson_media_pk",columns:[e.lesson_media_id,e._state]}),m({name:"lesson_media_lesson_fk",columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"lesson_media_image_fk",columns:[e.image_id],foreignColumns:[Gn.image_id]}),m({name:"lesson_media_sound_fk",columns:[e.sound_id],foreignColumns:[Hn.sound_id]}),m({name:"lesson_media_video_fk",columns:[e.video_id],foreignColumns:[Mn.video_id]}),m({name:"lesson_media_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Rn.bucket_file_id]}),m({name:"lesson_media_url_fk",columns:[e.url_id],foreignColumns:[i_.url_id]}),ge("lesson_media_has_exactly_one_media",t.sql`(image_id IS NOT NULL)::int + (sound_id IS NOT NULL)::int + (video_id IS NOT NULL)::int + (bucket_file_id IS NOT NULL)::int + (url_id IS NOT NULL)::int = 1`),p("lesson_media_lesson_asset_unique").on(e.lesson_id,e._state,e.image_id,e.sound_id,e.video_id,e.bucket_file_id,e.url_id).nullsNotDistinct()]);const __=en.table("works_copyright",{works_copyright_id:ni("works_copyright_id").notNull().generatedByDefaultAsIdentity(),...Sn,attribution:nt("attribution"),author:nt("author"),deprecated_fields:mi("deprecated_fields"),raw_juro_data:mi("raw_juro_data"),restriction_level:_n("restriction_level"),title:nt("title"),works_copyright_uid:Le("works_copyright_uid",{length:16}),...En,...bn},e=>[Kt({columns:[e.works_copyright_id,e._state]})]);en.table("lesson_works_copyright",{lesson_id:ni("lesson_id").notNull(),works_copyright_id:ni("works_copyright_id").notNull(),...Cn,...Dn,...En,...bn},e=>[Kt({name:"lesson_works_copyright_pk",columns:[e.lesson_id,e.works_copyright_id,e._lesson_state,e._works_copyright_state]}),m({name:"lesson_works_copyright_lesson_fk",columns:[e.lesson_id,e._lesson_state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"lesson_works_copyright_works_copyright_fk",columns:[e.works_copyright_id,e._works_copyright_state],foreignColumns:[__.works_copyright_id,__._state]}),Qn({name:"lesson_works_copyright_state_coherence",columnA:e._lesson_state,columnB:e._works_copyright_state,allow:[["draft","published"]]})]);const a_=en.table("features",{feature_id:ni("feature_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key:nt("key").notNull(),...En,...bn},e=>[p("features_key_unique").on(e.key)]);en.table("lesson_features",{lesson_id:ni("lesson_id").notNull(),feature_id:ni("feature_id").notNull(),...Vn,value:nt("value"),...En,...bn},e=>[Kt({columns:[e.lesson_id,e.feature_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"lesson_features_feature_fk",columns:[e.feature_id],foreignColumns:[a_.feature_id]})]),en.table("sound_transcripts",{sound_id:ni("sound_id").notNull(),...Sn,bad_language_detected:ze("bad_language_detected"),deprecated_fields:mi("deprecated_fields"),inappropriate_words:mi("inappropriate_words"),language_approved:ze("language_approved"),transcript:nt("transcript"),transcript_vtt_url:nt("transcript_vtt_url"),...En,...bn},e=>[Kt({columns:[e.sound_id,e._state]}),m({columns:[e.sound_id],foreignColumns:[Hn.sound_id]})]),en.table("video_captions",{video_id:ni("video_id").notNull(),...Sn,bad_language_detected:ze("bad_language_detected"),deprecated_fields:mi("deprecated_fields"),inappropriate_words:mi("inappropriate_words"),language_approved:ze("language_approved"),transcript:nt("transcript"),transcript_vtt_url:nt("transcript_vtt_url"),...En,...bn},e=>[Kt({columns:[e.video_id,e._state]}),m({columns:[e.video_id],foreignColumns:[Mn.video_id]})]),en.table("works_copyright_tpc_contracts",{works_copyright_id:ni("works_copyright_id").notNull(),tpc_contract_id:ni("tpc_contract_id").notNull(),...Vn,...En,_release_id:ni("_release_id"),...bn},e=>[Kt({name:"works_copyright_tpc_contracts_pk",columns:[e.works_copyright_id,e.tpc_contract_id,e._state]}),m({name:"works_copyright_tpc_contract_works_copyright_fk",columns:[e.works_copyright_id,e._state],foreignColumns:[__.works_copyright_id,__._state]}),m({name:"works_copyright_tpc_contract_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[n_.tpc_contract_id]}),m({name:"works_copyright_tpc_contracts_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]})]),en.table("videos_works_copyright",{video_id:ni("video_id").notNull(),works_copyright_id:ni("works_copyright_id").notNull(),...Sn,...En,...bn},e=>[Kt({columns:[e.video_id,e.works_copyright_id,e._state]}),m({name:"videos_works_copyright_video_fk",columns:[e.video_id],foreignColumns:[Mn.video_id]}),m({name:"videos_works_copyright_works_copyright_fk",columns:[e.works_copyright_id,e._state],foreignColumns:[__.works_copyright_id,__._state]})]);const o_=en.table("supervision_levels",{supervision_level_id:ni("supervision_level_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mi("deprecated_fields"),description:nt("description"),global_position:ni("global_position").notNull(),supervision_level_rating:ni("supervision_level_rating"),title:nt("title").notNull(),...En,...bn}),r_=en.table("content_guidance",{content_guidance_id:ni("content_guidance_id").primaryKey().generatedByDefaultAsIdentity(),...xn,supervision_level_id:ni("supervision_level_id").notNull(),content_guidance_area:nt("content_guidance_area"),content_guidance_code:nt("content_guidance_code"),content_guidance_description:nt("content_guidance_description"),content_guidance_label:nt("content_guidance_label"),deprecated_fields:mi("deprecated_fields"),...En,...bn},e=>[m({name:"content_guid_super_level_fk",columns:[e.supervision_level_id],foreignColumns:[o_.supervision_level_id]})]),l_=en.table("key_stages",{key_stage_id:ni("key_stage_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mi("deprecated_fields"),description:nt("description"),global_position:ni("global_position").notNull(),key_stage:nt("key_stage"),slug:nt("slug"),...En,...bn}),d_=en.table("phases",{phase_id:ni("phase_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mi("deprecated_fields"),description:nt("description"),global_position:ni("global_position").notNull(),phase:nt("phase"),slug:nt("slug"),...En,...bn}),u_=en.table("subjects",{subject_id:ni("subject_id").primaryKey().generatedByDefaultAsIdentity(),...xn,subject_parent_id:ni("subject_parent_id"),deprecated_fields:mi("deprecated_fields"),description:nt("description"),global_position:ni("global_position").notNull(),non_curriculum:ze("non_curriculum"),slug:nt("slug"),subject:nt("subject"),...En,...bn},e=>[m({name:"subjects_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[e.subject_id]})]),c_=en.table("years",{year_id:ni("year_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key_stage_id:ni("key_stage_id").notNull(),phase_id:ni("phase_id").notNull(),deprecated_fields:mi("deprecated_fields"),description:nt("description"),global_position:ni("global_position").notNull(),slug:nt("slug"),year:nt("year"),...En,...bn},e=>[m({columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({columns:[e.phase_id],foreignColumns:[d_.phase_id]})]);en.table("content_guidance_scopes",{scope_id:ni("scope_id").primaryKey().generatedByDefaultAsIdentity(),...xn,content_guidance_id:ni("content_guidance_id").notNull(),key_stage_id:ni("key_stage_id"),phase_id:ni("phase_id"),subject_id:ni("subject_id"),subject_parent_id:ni("subject_parent_id"),year_id:ni("year_id"),...En,...bn},e=>[m({name:"content_guid_scopes_content_guid_fk",columns:[e.content_guidance_id],foreignColumns:[r_.content_guidance_id]}),m({name:"content_guid_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"content_guid_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[u_.subject_id]}),m({name:"content_guid_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"content_guid_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]})]);const m_=en.table("exam_board_specs",{exam_board_spec_id:ni("exam_board_spec_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mi("deprecated_fields"),description:nt("description"),title:nt("title").notNull(),...En,...bn});en.table("exam_board_spec_scopes",{scope_id:ni("scope_id").primaryKey().generatedByDefaultAsIdentity(),...xn,exam_board_spec_id:ni("exam_board_spec_id").notNull(),key_stage_id:ni("key_stage_id"),phase_id:ni("phase_id"),subject_id:ni("subject_id"),subject_parent_id:ni("subject_parent_id"),year_id:ni("year_id"),...En,...bn},e=>[m({name:"exam_spec_scopes_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[m_.exam_board_spec_id]}),m({name:"exam_spec_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"exam_spec_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[u_.subject_id]}),m({name:"exam_spec_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"exam_spec_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]})]),en.table("lesson_content_guidance",{lesson_id:ni("lesson_id").notNull(),content_guidance_id:ni("content_guidance_id").notNull(),...Vn,position:ni("position").notNull(),...En,...bn},e=>[Kt({name:"lesson_content_guid_pk",columns:[e.lesson_id,e.content_guidance_id,e._state]}),m({name:"lesson_content_guid_lesson_fk",columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"lesson_content_guid_content_guid_fk",columns:[e.content_guidance_id],foreignColumns:[r_.content_guidance_id]})]);const p_=en.table("tags",{tag_id:ni("tag_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mi("deprecated_fields"),tag_category:cn("tag_category"),title:nt("title").notNull(),...En,...bn});en.table("lesson_tags",{lesson_id:ni("lesson_id").notNull(),tag_id:ni("tag_id").notNull(),...Vn,position:ni("position").notNull(),...En,...bn},e=>[Kt({columns:[e.lesson_id,e.tag_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({columns:[e.tag_id],foreignColumns:[p_.tag_id]})]);const g_=en.table("national_curriculum",{national_curriculum_id:ni("national_curriculum_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mi("deprecated_fields"),description:nt("description"),title:nt("title").notNull(),...En,...bn});en.table("national_curriculum_scopes",{scope_id:ni("scope_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key_stage_id:ni("key_stage_id"),national_curriculum_id:ni("national_curriculum_id").notNull(),phase_id:ni("phase_id"),subject_id:ni("subject_id"),subject_parent_id:ni("subject_parent_id"),year_id:ni("year_id"),...En,...bn},e=>[m({name:"nat_curric_scopes_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[g_.national_curriculum_id]}),m({name:"nat_curric_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"nat_curric_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[u_.subject_id]}),m({name:"nat_curric_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"nat_curric_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({name:"nat_curric_scopes_year_fk",columns:[e.year_id],foreignColumns:[c_.year_id]})]);const f_=en.table("subject_categories",{subject_category_id:ni("subject_category_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mi("deprecated_fields"),description:nt("description"),slug:nt("slug"),title:nt("title").notNull(),...En,...bn});en.table("subject_category_scopes",{scope_id:ni("scope_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key_stage_id:ni("key_stage_id"),phase_id:ni("phase_id"),subject_category_id:ni("subject_category_id").notNull(),subject_id:ni("subject_id"),subject_parent_id:ni("subject_parent_id"),year_id:ni("year_id"),...En,...bn},e=>[m({name:"subj_cat_scopes_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[f_.subject_category_id]}),m({name:"subj_cat_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"subj_cat_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[u_.subject_id]}),m({name:"subj_cat_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"subj_cat_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]})]),en.table("tag_scopes",{scope_id:ni("scope_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key_stage_id:ni("key_stage_id"),phase_id:ni("phase_id"),subject_id:ni("subject_id"),subject_parent_id:ni("subject_parent_id"),tag_id:ni("tag_id").notNull(),year_id:ni("year_id"),...En,...bn},e=>[m({columns:[e.tag_id],foreignColumns:[p_.tag_id]}),m({columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"tag_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[u_.subject_id]}),m({columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"tag_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]})]),en.table("unit_exam_board_specs",{unit_id:ni("unit_id").notNull(),exam_board_spec_id:ni("exam_board_spec_id").notNull(),...Vn,position:ni("position").notNull(),...En,...bn},e=>[Kt({columns:[e.unit_id,e.exam_board_spec_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),m({name:"unit_exam_spec_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[m_.exam_board_spec_id]})]),en.table("unit_national_curriculum",{unit_id:ni("unit_id").notNull(),national_curriculum_id:ni("national_curriculum_id").notNull(),...Vn,position:ni("position").notNull(),...En,...bn},e=>[Kt({name:"unit_nat_curric_pk",columns:[e.unit_id,e.national_curriculum_id,e._state]}),m({name:"unit_nat_curric_unit_fk",columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),m({name:"unit_nat_curric_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[g_.national_curriculum_id]})]),en.table("unit_subject_categories",{unit_id:ni("unit_id").notNull(),subject_category_id:ni("subject_category_id").notNull(),...Vn,position:ni("position").notNull(),...En,...bn},e=>[Kt({columns:[e.unit_id,e.subject_category_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),m({name:"unit_subj_cat_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[f_.subject_category_id]})]);const h_=en.table("exam_boards",{exam_board_id:ni("exam_board_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mi("deprecated_fields"),description:nt("description"),exam_board:nt("exam_board"),global_position:ni("global_position").notNull(),slug:nt("slug"),...En,...bn}),v_=en.table("pathways",{pathway_id:ni("pathway_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mi("deprecated_fields"),description:nt("description"),global_position:ni("global_position").notNull(),pathway:nt("pathway"),slug:nt("slug"),...En,...bn}),y_=en.table("tiers",{tier_id:ni("tier_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mi("deprecated_fields"),description:nt("description"),global_position:ni("global_position").notNull(),slug:nt("slug"),tier:nt("tier"),...En,...bn}),b_=en.table("unit_variants",{unit_variant_id:ni("unit_variant_id").notNull().generatedByDefaultAsIdentity(),...Vn,exam_board_id:ni("exam_board_id"),pathway_id:ni("pathway_id"),subject_id:ni("subject_id"),tier_id:ni("tier_id"),unit_id:ni("unit_id").notNull(),deprecated_fields:mi("deprecated_fields"),description_override:nt("description_override"),optionality:nt("optionality"),planned_number_of_lessons_override:ni("planned_number_of_lessons_override"),prior_knowledge_requirements_override:nt("prior_knowledge_requirements_override").array(),title_override:nt("title_override"),unit_variant_uid:Le("unit_variant_uid",{length:16}),why_this_why_now_override:nt("why_this_why_now_override"),...En,...bn},e=>[Kt({columns:[e.unit_variant_id,e._state]}),m({name:"unit_variants_exam_board_fk",columns:[e.exam_board_id],foreignColumns:[h_.exam_board_id]}),m({columns:[e.pathway_id],foreignColumns:[v_.pathway_id]}),m({columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({columns:[e.tier_id],foreignColumns:[y_.tier_id]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),p("unit_variants_unit_scope_unique").on(e.unit_id,e.subject_id,e.tier_id,e.exam_board_id,e.pathway_id,e.optionality,e._state).nullsNotDistinct()]);en.table("unit_variant_exam_board_specs_override",{unit_variant_id:ni("unit_variant_id").notNull(),exam_board_spec_id:ni("exam_board_spec_id").notNull(),...Vn,position:ni("position").notNull(),...En,_release_id:ni("_release_id"),...bn},e=>[Kt({name:"unit_variant_exam_board_specs_override_pk",columns:[e.unit_variant_id,e.exam_board_spec_id,e._state]}),m({name:"unit_var_exam_spec_ovr_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"unit_var_exam_spec_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[b_.unit_variant_id,b_._state]}),m({name:"unit_var_exam_spec_ovr_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[m_.exam_board_spec_id]})]),en.table("unit_variant_national_curriculum_override",{unit_variant_id:ni("unit_variant_id").notNull(),national_curriculum_id:ni("national_curriculum_id").notNull(),...Vn,position:ni("position").notNull(),...En,_release_id:ni("_release_id"),...bn},e=>[Kt({name:"unit_variant_national_curriculum_override_pk",columns:[e.unit_variant_id,e.national_curriculum_id,e._state]}),m({name:"unit_var_nat_curric_ovr_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"unit_var_nat_curric_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[b_.unit_variant_id,b_._state]}),m({name:"unit_var_nat_curric_ovr_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[g_.national_curriculum_id]})]),en.table("unit_variant_subject_categories_override",{unit_variant_id:ni("unit_variant_id").notNull(),subject_category_id:ni("subject_category_id").notNull(),...Vn,position:ni("position").notNull(),...En,_release_id:ni("_release_id"),...bn},e=>[Kt({name:"unit_variant_subject_categories_override_pk",columns:[e.unit_variant_id,e.subject_category_id,e._state]}),m({name:"unit_var_subj_cat_ovr_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"unit_var_subj_cat_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[b_.unit_variant_id,b_._state]}),m({name:"unit_var_subj_cat_ovr_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[f_.subject_category_id]})]);const w_=en.table("actions",{action_id:ni("action_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key:nt("key").notNull(),...En,...bn},e=>[p("actions_key_unique").on(e.key)]),N_=en.table("overrides_and_exceptions",{overrides_and_exceptions_id:ni("overrides_and_exceptions_id").notNull().generatedByDefaultAsIdentity(),...Sn,description:nt("description"),temporary_fields:mi("temporary_fields"),used_by_queries:mi("used_by_queries").notNull().default([]),...En,...bn},e=>[Kt({columns:[e.overrides_and_exceptions_id,e._state]})]);en.table("overrides_and_exceptions_actions",{overrides_and_exceptions_id:ni("overrides_and_exceptions_id").notNull(),action_id:ni("action_id").notNull(),...Sn,value:mi("value").notNull(),...En,_release_id:ni("_release_id"),...bn},e=>[Kt({name:"ovr_exc_actions_pk",columns:[e.overrides_and_exceptions_id,e.action_id,e._state]}),m({name:"ovr_exc_actions_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"ovr_exc_actions_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[N_.overrides_and_exceptions_id,N_._state]}),m({name:"ovr_exc_actions_action_fk",columns:[e.action_id],foreignColumns:[w_.action_id]})]),en.table("overrides_and_exceptions_feature_scopes",{overrides_and_exceptions_id:ni("overrides_and_exceptions_id").notNull(),condition_id:ni("condition_id").notNull(),feature_id:ni("feature_id").notNull(),...Sn,value:nt("value").notNull(),...En,_release_id:ni("_release_id"),...bn},e=>[Kt({name:"ovr_exc_feature_scopes_pk",columns:[e.overrides_and_exceptions_id,e.condition_id,e.feature_id,e._state]}),m({name:"ovr_exc_feature_scopes_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"ovr_exc_feature_scopes_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[N_.overrides_and_exceptions_id,N_._state]}),m({name:"ovr_exc_feature_scopes_feature_fk",columns:[e.feature_id],foreignColumns:[a_.feature_id]})]),en.table("overrides_and_exceptions_programme_scopes",{scope_id:ni("scope_id").notNull().generatedByDefaultAsIdentity(),...Sn,key_stage_id:ni("key_stage_id"),overrides_and_exceptions_id:ni("overrides_and_exceptions_id").notNull(),pathway_id:ni("pathway_id"),phase_id:ni("phase_id"),subject_id:ni("subject_id"),tier_id:ni("tier_id"),legacy:ze("legacy"),subject_slug:nt("subject_slug"),...En,_release_id:ni("_release_id"),...bn},e=>[Kt({name:"ovr_exc_programme_scopes_pk",columns:[e.scope_id,e._state]}),m({name:"ovr_exc_programme_scopes_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"ovr_exc_programme_scopes_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[N_.overrides_and_exceptions_id,N_._state]}),m({name:"ovr_exc_programme_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({name:"ovr_exc_programme_scopes_pathway_fk",columns:[e.pathway_id],foreignColumns:[v_.pathway_id]}),m({name:"ovr_exc_programme_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"ovr_exc_programme_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"ovr_exc_programme_scopes_tier_fk",columns:[e.tier_id],foreignColumns:[y_.tier_id]})]),en.table("redirects",{entity_id:ni("entity_id").notNull(),entity_source:fn("entity_source").notNull(),...Vn,description:nt("description"),redirect_entity_id:ni("redirect_entity_id"),redirect_entity_source:fn("redirect_entity_source"),redirect_type:gn("redirect_type").notNull(),redirect_url:nt("redirect_url"),...En,...bn},e=>[Kt({columns:[e.entity_id,e.entity_source,e._state]}),ge("redirect_has_exactly_one_target",t.sql`(redirect_url IS NOT NULL)::int + (redirect_entity_id IS NOT NULL)::int = 1`),ge("redirect_entity_ref_complete",t.sql`(redirect_entity_id IS NULL) = (redirect_entity_source IS NULL)`)]);const k_=en.table("choices",{choice_id:ni("choice_id").notNull().generatedByDefaultAsIdentity(),...Vn,unit_id:ni("unit_id").notNull(),temporary_fields:mi("temporary_fields"),...En,...bn},e=>[Kt({columns:[e.choice_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]})]);en.table("choices_unit_variants",{unit_variant_id:ni("unit_variant_id").notNull(),choice_id:ni("choice_id").notNull(),...zn,...An,position:ni("position").notNull(),...En,...bn},e=>[Kt({name:"choices_unit_var_pk",columns:[e.unit_variant_id,e.choice_id,e._unit_variant_state,e._choice_state]}),m({name:"choices_unit_var_unit_var_fk",columns:[e.unit_variant_id,e._unit_variant_state],foreignColumns:[b_.unit_variant_id,b_._state]}),m({name:"choices_unit_var_choice_fk",columns:[e.choice_id,e._choice_state],foreignColumns:[k_.choice_id,k_._state]}),In({name:"choices_unit_var_state_coherence",columnA:e._unit_variant_state,columnB:e._choice_state})]);const S_=en.table("programmes",{programme_id:ni("programme_id").notNull().generatedByDefaultAsIdentity(),...Vn,exam_board_id:ni("exam_board_id"),pathway_id:ni("pathway_id"),subject_id:ni("subject_id").notNull(),tier_id:ni("tier_id"),year_id:ni("year_id").notNull(),deprecated_fields:mi("deprecated_fields"),legacy:ze("legacy").notNull().default(!1),national_curriculum_content:ze("national_curriculum_content").notNull().default(!1),programme_uid:Le("programme_uid",{length:16}),...En,...bn},e=>[Kt({columns:[e.programme_id,e._state]}),m({columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]}),m({columns:[e.tier_id],foreignColumns:[y_.tier_id]}),m({name:"programmes_exam_board_fk",columns:[e.exam_board_id],foreignColumns:[h_.exam_board_id]}),m({columns:[e.pathway_id],foreignColumns:[v_.pathway_id]}),p("programmes_factor_scope_unique").on(e.subject_id,e.year_id,e.tier_id,e.exam_board_id,e.pathway_id,e.legacy,e._state).nullsNotDistinct()]);en.table("inclusions",{programme_id:ni("programme_id").notNull(),position:ni("position").notNull(),...qn,...On,...Ln,choice_id:ni("choice_id"),unit_variant_id:ni("unit_variant_id"),...En,...bn},e=>[Kt({name:"inclusions_pk",columns:[e.programme_id,e.position,e._programme_state]}),ge("inclusions_xor_variant_choice",t.sql`num_nonnulls(${e.unit_variant_id}, ${e.choice_id}) = 1`),ge("inclusions_choice_state_matches",t.sql`(${e.choice_id} is null) = (${e._choice_state} is null)`),ge("inclusions_unit_variant_state_matches",t.sql`(${e.unit_variant_id} is null) = (${e._unit_variant_state} is null)`),Vt("inclusions_choice_unique").on(e.choice_id,e._choice_state).where(t.sql`${e.choice_id} is not null`),Vt("inclusions_programme_unit_variant_unique").on(e.programme_id,e.unit_variant_id,e._programme_state,e._unit_variant_state).where(t.sql`${e.unit_variant_id} is not null`),m({name:"inclusions_programme_fk",columns:[e.programme_id,e._programme_state],foreignColumns:[S_.programme_id,S_._state]}),m({name:"inclusions_choice_fk",columns:[e.choice_id,e._choice_state],foreignColumns:[k_.choice_id,k_._state]}),m({name:"inclusions_unit_var_fk",columns:[e.unit_variant_id,e._unit_variant_state],foreignColumns:[b_.unit_variant_id,b_._state]}),Fn({name:"inclusions_choice_state_coherence",columnA:e._programme_state,columnB:e._choice_state}),Fn({name:"inclusions_unit_var_state_coherence",columnA:e._programme_state,columnB:e._unit_variant_state})]);const x_=en.table("subject_phases",{subject_id:ni("subject_id").notNull(),phase_id:ni("phase_id").notNull(),...Vn,curriculum_intent:nt("curriculum_intent"),deprecated_fields:mi("deprecated_fields"),prior_knowledge_requirements:ze("prior_knowledge_requirements").notNull().default(!1),related_units:ze("related_units").notNull().default(!1),unit_description:ze("unit_description").notNull().default(!1),...En,...bn},e=>[Kt({columns:[e.subject_id,e.phase_id,e._state]}),m({columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({columns:[e.phase_id],foreignColumns:[d_.phase_id]})]),A_=en.table("threads",{thread_id:ni("thread_id").notNull().generatedByDefaultAsIdentity(),...Sn,deprecated_fields:mi("deprecated_fields"),description:nt("description"),slug:nt("slug"),thread_uid:Le("thread_uid",{length:16}),title:nt("title"),...En,...bn},e=>[Kt({columns:[e.thread_id,e._state]})]);en.table("subject_phase_threads",{subject_id:ni("subject_id").notNull(),phase_id:ni("phase_id").notNull(),thread_id:ni("thread_id").notNull(),...$n,...Pn,deprecated_fields:mi("deprecated_fields"),position:ni("position").notNull(),...En,...bn},e=>[Kt({name:"subject_phase_threads_pk",columns:[e.subject_id,e.phase_id,e.thread_id,e._subject_phase_state,e._thread_state]}),m({name:"subject_phase_threads_subject_phase_fk",columns:[e.subject_id,e.phase_id,e._subject_phase_state],foreignColumns:[x_.subject_id,x_.phase_id,x_._state]}),m({name:"subject_phase_threads_thread_fk",columns:[e.thread_id,e._thread_state],foreignColumns:[A_.thread_id,A_._state]}),In({name:"subject_phase_threads_state_coherence",columnA:e._subject_phase_state,columnB:e._thread_state})]),en.table("unit_threads",{thread_id:ni("thread_id").notNull(),unit_id:ni("unit_id").notNull(),...Pn,...Bn,deprecated_fields:mi("deprecated_fields"),position:ni("position").notNull(),...En,...bn},e=>[Kt({name:"unit_threads_pk",columns:[e.thread_id,e.unit_id,e._thread_state,e._unit_state]}),m({name:"unit_threads_thread_fk",columns:[e.thread_id,e._thread_state],foreignColumns:[A_.thread_id,A_._state]}),m({name:"unit_threads_unit_fk",columns:[e.unit_id,e._unit_state],foreignColumns:[Zn.unit_id,Zn._state]}),In({name:"unit_threads_state_coherence",columnA:e._thread_state,columnB:e._unit_state})]),en.table("unit_catalogue",{subject_id:ni("subject_id").notNull(),year_id:ni("year_id").notNull(),unit_id:ni("unit_id").notNull(),...Vn,...En,...bn},e=>[Kt({columns:[e.subject_id,e.year_id,e.unit_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),m({columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]})]),en.table("unit_lessons",{unit_id:ni("unit_id").notNull(),lesson_id:ni("lesson_id").notNull(),...Bn,...Cn,position:ni("position").notNull(),...En,...bn},e=>[Kt({name:"unit_lessons_pk",columns:[e.unit_id,e.lesson_id,e._unit_state,e._lesson_state]}),m({name:"unit_lessons_unit_fk",columns:[e.unit_id,e._unit_state],foreignColumns:[Zn.unit_id,Zn._state]}),m({name:"unit_lessons_lesson_fk",columns:[e.lesson_id,e._lesson_state],foreignColumns:[Un.lesson_id,Un._state]}),In({name:"unit_lessons_state_coherence",columnA:e._unit_state,columnB:e._lesson_state})]),en.table("unit_variant_lessons",{unit_variant_id:ni("unit_variant_id").notNull(),lesson_id:ni("lesson_id").notNull(),...zn,...Cn,deprecated_fields:mi("deprecated_fields"),position:ni("position").notNull(),...En,...bn},e=>[Kt({name:"unit_var_lessons_pk",columns:[e.unit_variant_id,e.lesson_id,e._unit_variant_state,e._lesson_state]}),m({name:"unit_var_lessons_unit_var_fk",columns:[e.unit_variant_id,e._unit_variant_state],foreignColumns:[b_.unit_variant_id,b_._state]}),m({name:"unit_var_lessons_lesson_fk",columns:[e.lesson_id,e._lesson_state],foreignColumns:[Un.lesson_id,Un._state]}),In({name:"unit_var_lessons_state_coherence",columnA:e._unit_variant_state,columnB:e._lesson_state})]),en.table("unit_features",{unit_id:ni("unit_id").notNull(),feature_id:ni("feature_id").notNull(),...Vn,value:nt("value"),...En,...bn},e=>[Kt({columns:[e.unit_id,e.feature_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),m({columns:[e.feature_id],foreignColumns:[a_.feature_id]})]);const C_=sn.enum("lesson_component_operation_status_enum",["api_neutral","api_in_progress","api_failed","ingest_queued","ingest_in_progress","ingest_failed","ingest_completed"]),q_=sn.enum("lesson_component_status_retirement_enum",["superseded","draft_discarded","component_expired","component_removed","orphaned"]);sn.table("lesson_component_status",{lesson_component_status_id:gt("lesson_component_status_id").primaryKey().defaultRandom(),lesson_component_id:ni("lesson_component_id").notNull(),lesson_component_type:yn("lesson_component_type").notNull(),active_media_id:ni("active_media_id"),active_media_type:vn("active_media_type"),last_error_location:nt("last_error_location"),last_error_message:nt("last_error_message"),last_error_timestamp:ct("last_error_timestamp"),last_ingest_id:gt("last_ingest_id"),operation_status:C_("operation_status").notNull().default("api_neutral"),previous_media_id:ni("previous_media_id"),previous_media_type:vn("previous_media_type"),retired_at:ct("retired_at",{withTimezone:!0}),retired_reason:q_("retired_reason"),...bn},e=>[ge("lesson_comp_status_retired_both",t.sql`(${e.retired_at} is null) = (${e.retired_reason} is null)`),Vt("lesson_comp_status_live_unq").on(e.lesson_component_id,e.lesson_component_type).where(t.sql`${e.retired_at} is null`)]);const T_=sn.enum("lesson_status_enum",["api_neutral","ingest_queued","ingest_in_progress","ingest_complete","ingest_failed"]);sn.table("lesson_status",{lesson_id:ni("lesson_id").primaryKey(),approved:ze("approved").notNull().default(!1),last_approved:ct("last_approved"),last_error_location:nt("last_error_location"),last_error_message:nt("last_error_message"),last_error_timestamp:ct("last_error_timestamp"),status:T_("status").notNull().default("api_neutral"),...bn});const j_=sn.enum("media_status_enum",["neutral","in_progress","failed"]),$_=sn.enum("media_status_retirement_enum",["superseded","media_retired","orphaned"]);sn.table("media_status",{media_status_id:gt("media_status_id").primaryKey().defaultRandom(),media_id:ni("media_id").notNull(),media_type:vn("media_type").notNull(),last_error_location:nt("last_error_location"),last_error_message:nt("last_error_message"),last_error_timestamp:ct("last_error_timestamp"),last_lesson_component_id:ni("last_lesson_component_id"),last_lesson_component_type:yn("last_lesson_component_type"),retired_at:ct("retired_at",{withTimezone:!0}),retired_reason:$_("retired_reason"),status:j_("status").notNull().default("neutral"),...bn},e=>[ge("media_status_retired_both",t.sql`(${e.retired_at} is null) = (${e.retired_reason} is null)`),Vt("media_status_live_unq").on(e.media_id,e.media_type).where(t.sql`${e.retired_at} is null`)]),sn.table("mutations_log",{mutations_log_id:gt("mutations_log_id").primaryKey().defaultRandom(),actor_role:nt("actor_role"),actor_type:nt("actor_type"),app_id:nt("app_id"),changes:mi("changes").notNull(),operation:hn("operation").notNull(),record_key:mi("record_key").notNull(),table_name:nt("table_name").notNull(),...wn},e=>[Et("idx_mutations_log_record_key").using("gin",e.record_key)]),sn.table("release_snapshots",{release_snapshot_id:gt("release_snapshot_id").primaryKey().defaultRandom(),_release_id:ni("_release_id"),source_created_at:ct("source_created_at"),source_id:ni("source_id"),source_row:mi("source_row"),source_schema:nt("source_schema").default(""),source_state:nn("source_state").notNull(),source_table:nt("source_table").default(""),source_uid:Le("source_uid",{length:16}),source_updated_at:ct("source_updated_at")},e=>[m({columns:[e._release_id],foreignColumns:[kn.release_id]}),Et("release_snapshots_source_idx").on(e.source_schema,e.source_table,e.source_id),Et("release_snapshots_release_idx").on(e._release_id)]);const P_=sn.enum("contract_log_event_type_enum",["works_change","contract_change","works_added_to_contract"]);sn.table("tpc_contract_log",{tpc_contract_log_id:ni("tpc_contract_log_id").primaryKey().generatedByDefaultAsIdentity(),tpc_contract_id:ni("tpc_contract_id").notNull(),changed_at:ct("changed_at",{withTimezone:!0}).notNull(),event_type:P_("event_type").notNull(),payload:mi("payload")},e=>[m({name:"tpc_contract_log_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[n_.tpc_contract_id]})]);const B_=sn.enum("restrictions_type_enum",["Restrictions 1","Restrictions 2","Restrictions 3","Restrictions 4","Restrictions 5","Restrictions 6","Restrictions 7","Additional Restrictions"]),z_=sn.table("tpc_restriction_definitions",{tpc_restriction_definition_id:ni("tpc_restriction_definition_id").primaryKey().generatedByDefaultAsIdentity(),restriction_text:nt("restriction_text").notNull(),type:B_("type").notNull(),...bn},e=>[p("tpc_restriction_definitions_type_unique").on(e.type,e.restriction_text)]);sn.table("tpc_restrictions",{tpc_contract_id:ni("tpc_contract_id").notNull(),tpc_restriction_definition_id:ni("tpc_restriction_definition_id").notNull(),...Vn,restriction_override:nt("restriction_override"),...bn},e=>[Kt({name:"tpc_restrictions_pk",columns:[e.tpc_contract_id,e.tpc_restriction_definition_id,e._state]}),m({name:"tpc_restrictions_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[n_.tpc_contract_id]}),m({name:"tpc_restrictions_tpc_restriction_definition_fk",columns:[e.tpc_restriction_definition_id],foreignColumns:[z_.tpc_restriction_definition_id]})]),tn.view("sub_published_documents_with_release_by_lesson",{document_id:ni("document_id").notNull(),document_type:Jn("document_type").notNull(),document_uid:Le("document_uid",{length:16}).notNull(),lesson_id:ni("lesson_id"),previous_lesson_id:ni("previous_lesson_id"),gdrive_file_id:ni("gdrive_file_id").notNull(),gdrive_files__epoch:nt("gdrive_files__epoch"),gdrive_files__google_drive_id:nt("gdrive_files__google_drive_id").notNull(),gdrive_files__google_drive_url:nt("gdrive_files__google_drive_url").notNull(),gdrive_files__opendocument_presentation_bucket_name:nt("gdrive_files__opendocument_presentation_bucket_name"),gdrive_files__opendocument_presentation_bucket_path:nt("gdrive_files__opendocument_presentation_bucket_path"),gdrive_files__opendocument_text_bucket_name:nt("gdrive_files__opendocument_text_bucket_name"),gdrive_files__opendocument_text_bucket_path:nt("gdrive_files__opendocument_text_bucket_path"),gdrive_files__pdf_bucket_name:nt("gdrive_files__pdf_bucket_name"),gdrive_files__pdf_bucket_path:nt("gdrive_files__pdf_bucket_path"),gdrive_files__powerpoint_bucket_name:nt("gdrive_files__powerpoint_bucket_name"),gdrive_files__powerpoint_bucket_path:nt("gdrive_files__powerpoint_bucket_path"),gdrive_files__word_bucket_name:nt("gdrive_files__word_bucket_name"),gdrive_files__word_bucket_path:nt("gdrive_files__word_bucket_path"),releases__approved:ze("releases__approved"),releases__description:nt("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:nt("releases__name"),releases__notes:nt("releases__notes"),releases__release_type:Nn("releases__release_type"),_expire_on_release:ze("_expire_on_release").notNull(),_release_id:ni("_release_id"),created_at:ct("created_at",{withTimezone:!0}).notNull(),updated_at:ct("updated_at",{withTimezone:!0}).notNull(),releases__created_at:ct("releases__created_at",{withTimezone:!0}),releases__updated_at:ct("releases__updated_at",{withTimezone:!0})}).as(t.sql`
|
|
7
|
+
`;await t.execute(ie`CREATE SCHEMA IF NOT EXISTS ${ie.identifier(n)}`),await t.execute(_);const a=(await t.all(ie`select id, hash, created_at from ${ie.identifier(n)}.${ie.identifier(s)} order by created_at desc limit 1`))[0];await t.transaction(async t=>{for await(const i of e)if(!a||Number(a.created_at)<i.folderMillis){for(const e of i.sql)await t.execute(ie.raw(e));await t.execute(ie`insert into ${ie.identifier(n)}.${ie.identifier(s)} ("hash", "created_at") values(${i.hash}, ${i.folderMillis})`)}})}escapeName(e){return`"${e.replace(/"/g,'""')}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;const t=[ie`with `];for(const[i,s]of e.entries())t.push(ie`${ie.identifier(s._.alias)} as (${s._.sql})`),i<e.length-1&&t.push(ie`, `);return t.push(ie` `),ie.join(t)}buildDeleteQuery({table:e,where:t,returning:i,withList:s}){return ie`${this.buildWithCTE(s)}delete from ${e}${t?ie` where ${t}`:void 0}${i?ie` returning ${this.buildSelection(i,{isSingleTable:!0})}`:void 0}`}buildUpdateSet(e,t){const i=e[R.Symbol.Columns],s=Object.keys(i).filter(e=>void 0!==t[e]||void 0!==i[e]?.onUpdateFn),n=s.length;return ie.join(s.flatMap((e,s)=>{const _=i[e],a=_.onUpdateFn?.(),r=t[e]??(o(a,Y)?a:ie.param(a,_)),l=ie`${ie.identifier(this.casing.getColumnCasing(_))} = ${r}`;return s<n-1?[l,ie.raw(", ")]:[l]}))}buildUpdateQuery({table:e,set:t,where:i,returning:s,withList:n,from:_,joins:a}){const o=this.buildWithCTE(n),r=e[zi.Symbol.Name],l=e[zi.Symbol.Schema],d=e[zi.Symbol.OriginalName],u=r===d?void 0:r,c=ie`${l?ie`${ie.identifier(l)}.`:void 0}${ie.identifier(d)}${u&&ie` ${ie.identifier(u)}`}`,m=this.buildUpdateSet(e,t),p=_&&ie.join([ie.raw(" from "),this.buildFromTable(_)]);return ie`${o}update ${c} set ${m}${p}${this.buildJoins(a)}${i?ie` where ${i}`:void 0}${s?ie` returning ${this.buildSelection(s,{isSingleTable:!_})}`:void 0}`}buildSelection(e,{isSingleTable:t=!1}={}){const i=e.length,s=e.flatMap(({field:e},s)=>{const n=[];if(o(e,Y.Aliased)&&e.isSelectionField)n.push(ie.identifier(e.fieldAlias));else if(o(e,Y.Aliased)||o(e,Y)){const i=o(e,Y.Aliased)?e.sql:e;t?n.push(new Y(i.queryChunks.map(e=>o(e,S)?ie.identifier(this.casing.getColumnCasing(e)):e))):n.push(i),o(e,Y.Aliased)&&n.push(ie` as ${ie.identifier(e.fieldAlias)}`)}else if(o(e,r))t?n.push(ie.identifier(this.casing.getColumnCasing(e))):n.push(e);else if(o(e,B)){const t=Object.entries(e._.selectedFields);if(1===t.length){const i=t[0][1],s=o(i,Y)?i.decoder:o(i,r)?{mapFromDriverValue:e=>i.mapFromDriverValue(e)}:i.sql.decoder;s&&(e._.sql.decoder=s)}n.push(e)}return s<i-1&&n.push(ie`, `),n});return ie.join(s)}buildJoins(e){if(!e||0===e.length)return;const t=[];for(const[i,s]of e.entries()){0===i&&t.push(ie` `);const n=s.table,_=s.lateral?ie` lateral`:void 0,a=s.on?ie` on ${s.on}`:void 0;if(o(n,zi)){const e=n[zi.Symbol.Name],i=n[zi.Symbol.Schema],o=n[zi.Symbol.OriginalName],r=e===o?void 0:s.alias;t.push(ie`${ie.raw(s.joinType)} join${_} ${i?ie`${ie.identifier(i)}.`:void 0}${ie.identifier(o)}${r&&ie` ${ie.identifier(r)}`}${a}`)}else if(o(n,ae)){const e=n[L].name,i=n[L].schema,o=n[L].originalName,r=e===o?void 0:s.alias;t.push(ie`${ie.raw(s.joinType)} join${_} ${i?ie`${ie.identifier(i)}.`:void 0}${ie.identifier(o)}${r&&ie` ${ie.identifier(r)}`}${a}`)}else t.push(ie`${ie.raw(s.joinType)} join${_} ${n}${a}`);i<e.length-1&&t.push(ie` `)}return ie.join(t)}buildFromTable(e){if(o(e,R)&&e[R.Symbol.IsAlias]){let t=ie`${ie.identifier(e[R.Symbol.OriginalName])}`;return e[R.Symbol.Schema]&&(t=ie`${ie.identifier(e[R.Symbol.Schema])}.${t}`),ie`${t} ${ie.identifier(e[R.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:t,fieldsFlat:i,where:s,having:n,table:_,joins:a,orderBy:l,groupBy:d,limit:u,offset:c,lockingClause:m,distinct:p,setOperators:g}){const f=i??fe(t);for(const e of f)if(o(e.field,r)&&M(e.field.table)!==(o(_,B)?_._.alias:o(_,As)?_[L].name:o(_,Y)?void 0:M(_))&&!(e=>a?.some(({alias:t})=>t===(e[R.Symbol.IsAlias]?M(e):e[R.Symbol.BaseName])))(e.field.table)){const t=M(e.field.table);throw new Error(`Your "${e.path.join("->")}" field references a column "${t}"."${e.field.name}", but the table "${t}" is not part of the query! Did you forget to join it?`)}const h=!a||0===a.length,v=this.buildWithCTE(e);let y;p&&(y=!0===p?ie` distinct`:ie` distinct on (${ie.join(p.on,ie`, `)})`);const b=this.buildSelection(f,{isSingleTable:h}),w=this.buildFromTable(_),N=this.buildJoins(a),k=s?ie` where ${s}`:void 0,S=n?ie` having ${n}`:void 0;let x,A;l&&l.length>0&&(x=ie` order by ${ie.join(l,ie`, `)}`),d&&d.length>0&&(A=ie` group by ${ie.join(d,ie`, `)}`);const C="object"==typeof u||"number"==typeof u&&u>=0?ie` limit ${u}`:void 0,q=c?ie` offset ${c}`:void 0,j=ie.empty();if(m){const e=ie` for ${ie.raw(m.strength)}`;m.config.of&&e.append(ie` of ${ie.join(Array.isArray(m.config.of)?m.config.of:[m.config.of],ie`, `)}`),m.config.noWait?e.append(ie` nowait`):m.config.skipLocked&&e.append(ie` skip locked`),j.append(e)}const T=ie`${v}select${y} ${b} from ${w}${N}${k}${A}${S}${x}${C}${q}${j}`;return g.length>0?this.buildSetOperations(T,g):T}buildSetOperations(e,t){const[i,...s]=t;if(!i)throw new Error("Cannot pass undefined values to any set operator");return 0===s.length?this.buildSetOperationQuery({leftSelect:e,setOperator:i}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:i}),s)}buildSetOperationQuery({leftSelect:e,setOperator:{type:t,isAll:i,rightSelect:s,limit:n,orderBy:_,offset:a}}){const r=ie`(${e.getSQL()}) `,l=ie`(${s.getSQL()})`;let d;if(_&&_.length>0){const e=[];for(const t of _)if(o(t,S))e.push(ie.identifier(t.name));else if(o(t,Y)){for(let e=0;e<t.queryChunks.length;e++){const i=t.queryChunks[e];o(i,S)&&(t.queryChunks[e]=ie.identifier(i.name))}e.push(ie`${t}`)}else e.push(ie`${t}`);d=ie` order by ${ie.join(e,ie`, `)} `}const u="object"==typeof n||"number"==typeof n&&n>=0?ie` limit ${n}`:void 0,c=ie.raw(`${t} ${i?"all ":""}`);return ie`${r}${c}${l}${d}${u}${a?ie` offset ${a}`:void 0}`}buildInsertQuery({table:e,values:t,onConflict:i,returning:s,withList:n,select:_,overridingSystemValue_:a}){const r=[],l=e[R.Symbol.Columns],d=Object.entries(l).filter(([e,t])=>!t.shouldDisableInsert()),u=d.map(([,e])=>ie.identifier(this.casing.getColumnCasing(e)));if(_){const e=t;o(e,Y)?r.push(e):r.push(e.getSQL())}else{const e=t;r.push(ie.raw("values "));for(const[t,i]of e.entries()){const s=[];for(const[e,t]of d){const n=i[e];if(void 0===n||o(n,te)&&void 0===n.value)if(void 0!==t.defaultFn){const e=t.defaultFn(),i=o(e,Y)?e:ie.param(e,t);s.push(i)}else if(t.default||void 0===t.onUpdateFn)s.push(ie`default`);else{const e=t.onUpdateFn(),i=o(e,Y)?e:ie.param(e,t);s.push(i)}else s.push(n)}r.push(s),t<e.length-1&&r.push(ie`, `)}}const c=this.buildWithCTE(n),m=ie.join(r);return ie`${c}insert into ${e} ${u} ${!0===a?ie`overriding system value `:void 0}${m}${i?ie` on conflict ${i}`:void 0}${s?ie` returning ${this.buildSelection(s,{isSingleTable:!0})}`:void 0}`}buildRefreshMaterializedViewQuery({view:e,concurrently:t,withNoData:i}){return ie`refresh materialized view${t?ie` concurrently`:void 0} ${e}${i?ie` with no data`:void 0}`}prepareTyping(e){return o(e,ct)||o(e,lt)?"json":o(e,At)?"decimal":o(e,ai)?"time":o(e,li)||o(e,ui)?"timestamp":o(e,Re)||o(e,We)?"date":o(e,pi)?"uuid":"none"}sqlToQuery(e,t){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:t})}buildRelationalQueryWithoutPK({fullSchema:e,schema:t,tableNamesMap:i,table:s,tableConfig:n,queryConfig:_,tableAlias:a,nestedQueryRelation:l,joinOn:d}){let u,c,m,p=[],g=[];const f=[];if(!0===_){p=Object.entries(n.columns).map(([e,t])=>({dbKey:t.name,tsKey:e,field:de(t,a),relationTableTsKey:void 0,isJson:!1,selection:[]}))}else{const s=Object.fromEntries(Object.entries(n.columns).map(([e,t])=>[e,de(t,a)]));if(_.where){const e="function"==typeof _.where?_.where(s,{and:ts,between:ps,eq:Xi,exists:cs,gt:ns,gte:_s,ilike:vs,inArray:rs,isNull:ds,isNotNull:us,like:fs,lt:as,lte:os,ne:es,not:ss,notBetween:gs,notExists:ms,notLike:hs,notIlike:ys,notInArray:ls,or:is,sql:ie}):_.where;m=e&&ce(e,a)}const l=[];let d=[];if(_.columns){let e=!1;for(const[t,i]of Object.entries(_.columns))void 0!==i&&t in n.columns&&(e||!0!==i||(e=!0),d.push(t));d.length>0&&(d=e?d.filter(e=>!0===_.columns?.[e]):Object.keys(n.columns).filter(e=>!d.includes(e)))}else d=Object.keys(n.columns);for(const e of d){const t=n.columns[e];l.push({tsKey:e,value:t})}let h,v=[];if(_.with&&(v=Object.entries(_.with).filter(e=>!!e[1]).map(([e,t])=>({tsKey:e,queryConfig:t,relation:n.relations[e]}))),_.extras){h="function"==typeof _.extras?_.extras(s,{sql:ie}):_.extras;for(const[e,t]of Object.entries(h))l.push({tsKey:e,value:ue(t,a)})}for(const{tsKey:e,value:t}of l)p.push({dbKey:o(t,Y.Aliased)?t.fieldAlias:n.columns[e].name,tsKey:e,field:o(t,r)?de(t,a):t,relationTableTsKey:void 0,isJson:!1,selection:[]});let y="function"==typeof _.orderBy?_.orderBy(s,{sql:ie,asc:bs,desc:ws}):_.orderBy??[];Array.isArray(y)||(y=[y]),g=y.map(e=>o(e,r)?de(e,a):ce(e,a)),u=_.limit,c=_.offset;for(const{tsKey:s,queryConfig:n,relation:_}of v){const r=xs(t,i,_),l=i[W(_.referencedTable)],d=`${a}_${s}`,u=ts(...r.fields.map((e,t)=>Xi(de(r.references[t],d),de(e,a)))),c=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:t,tableNamesMap:i,table:e[l],tableConfig:t[l],queryConfig:o(_,ks)?!0===n?{limit:1}:{...n,limit:1}:n,tableAlias:d,joinOn:u,nestedQueryRelation:_}),m=ie`${ie.identifier(d)}.${ie.identifier("data")}`.as(s);f.push({on:ie`true`,table:new B(c.sql,{},d),alias:d,joinType:"left",lateral:!0}),p.push({dbKey:s,tsKey:s,field:m,relationTableTsKey:l,isJson:!0,selection:c.selection})}}if(0===p.length)throw new Yi({message:`No fields selected for table "${n.tsName}" ("${a}")`});let h;if(m=ts(d,m),l){let e=ie`json_build_array(${ie.join(p.map(({field:e,tsKey:t,isJson:i})=>i?ie`${ie.identifier(`${a}_${t}`)}.${ie.identifier("data")}`:o(e,Y.Aliased)?e.sql:e),ie`, `)})`;o(l,Ss)&&(e=ie`coalesce(json_agg(${e}${g.length>0?ie` order by ${ie.join(g,ie`, `)}`:void 0}), '[]'::json)`);const t=[{dbKey:"data",tsKey:"data",field:e.as("data"),isJson:!0,relationTableTsKey:n.tsName,selection:p}];void 0!==u||void 0!==c||g.length>0?(h=this.buildSelectQuery({table:le(s,a),fields:{},fieldsFlat:[{path:[],field:ie.raw("*")}],where:m,limit:u,offset:c,orderBy:g,setOperators:[]}),m=void 0,u=void 0,c=void 0,g=[]):h=le(s,a),h=this.buildSelectQuery({table:o(h,zi)?h:new B(h,{},a),fields:{},fieldsFlat:t.map(({field:e})=>({path:[],field:o(e,r)?de(e,a):e})),joins:f,where:m,limit:u,offset:c,orderBy:g,setOperators:[]})}else h=this.buildSelectQuery({table:le(s,a),fields:{},fieldsFlat:p.map(({field:e})=>({path:[],field:o(e,r)?de(e,a):e})),joins:f,where:m,limit:u,offset:c,orderBy:g,setOperators:[]});return{tableTsKey:n.tsName,sql:h,selection:p}}}class qs{static[a]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class js{static[a]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){const t=!!this.fields,i=e;let s;return s=this.fields?this.fields:o(i,B)?Object.fromEntries(Object.keys(i._.selectedFields).map(e=>[e,i[e]])):o(i,As)?i[L].selectedFields:o(i,Y)?{}:ve(i),new $s({table:i,fields:s,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class Ts extends qs{static[a]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:i,session:s,dialect:n,withList:_,distinct:a}){super(),this.config={withList:_,table:e,fields:{...t},distinct:a,setOperators:[]},this.isPartialSelect=i,this.session=s,this.dialect=n,this._={selectedFields:t,config:this.config},this.tableName=ye(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{};for(const t of Gs(e))this.usedTables.add(t)}getUsedTables(){return[...this.usedTables]}createJoin(e,t){return(i,s)=>{const n=this.tableName,_=ye(i);for(const e of Gs(i))this.usedTables.add(e);if("string"==typeof _&&this.config.joins?.some(e=>e.alias===_))throw new Error(`Alias "${_}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof n&&(this.config.fields={[n]:this.config.fields}),"string"==typeof _&&!o(i,Y))){const e=o(i,B)?i._.selectedFields:o(i,ae)?i[L].selectedFields:i[R.Symbol.Columns];this.config.fields[_]=e}if("function"==typeof s&&(s=s(new Proxy(this.config.fields,new Pi({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:s,table:i,joinType:e,alias:_,lateral:t}),"string"==typeof _)switch(e){case"left":this.joinsNotNullableMap[_]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[_]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[_]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[_]=!1}return this}}leftJoin=this.createJoin("left",!1);leftJoinLateral=this.createJoin("left",!0);rightJoin=this.createJoin("right",!1);innerJoin=this.createJoin("inner",!1);innerJoinLateral=this.createJoin("inner",!0);fullJoin=this.createJoin("full",!1);crossJoin=this.createJoin("cross",!1);crossJoinLateral=this.createJoin("cross",!0);createSetOperator(e,t){return i=>{const s="function"==typeof i?i(Os()):i;if(!he(this.getSelectedFields(),s.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:t,rightSelect:s}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new Pi({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new Pi({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){const t=e[0](new Proxy(this.config.fields,new Pi({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){const t=e[0](new Proxy(this.config.fields,new Pi({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),i=Array.isArray(t)?t:[t];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=i:this.config.orderBy=i}else{const t=e;this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t}return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,t={}){return this.config.lockingClause={strength:e,config:t},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){const{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){const t=[];if(t.push(...Gs(this.config.table)),this.config.joins)for(const e of this.config.joins)t.push(...Gs(e.table));return new Proxy(new B(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new Pi({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new Pi({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}}class $s extends Ts{static[a]="PgSelect";_prepare(e){const{session:t,config:i,dialect:s,joinsNotNullableMap:n,authToken:_,cacheConfig:a,usedTables:o}=this;if(!t)throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");const{fields:r}=i;return D.startActiveSpan("drizzle.prepareQuery",()=>{const i=fe(r),l=t.prepareQuery(s.sqlToQuery(this.getSQL()),i,e,!0,void 0,{type:"select",tables:[...o]},a);return l.joinsNotNullableMap=n,l.setToken(_)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>D.startActiveSpan("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}function Ps(e,t){return(i,s,...n)=>{const _=[s,...n].map(i=>({type:e,isAll:t,rightSelect:i}));for(const e of _)if(!he(i.getSelectedFields(),e.rightSelect.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return i.addSetOperators(_)}}!function(e,t){for(const i of t)for(const t of Object.getOwnPropertyNames(i.prototype))"constructor"!==t&&Object.defineProperty(e.prototype,t,Object.getOwnPropertyDescriptor(i.prototype,t)||Object.create(null))}($s,[$i]);const Os=()=>({union:Bs,unionAll:zs,intersect:Ds,intersectAll:Ls,except:Is,exceptAll:Fs}),Bs=Ps("union",!1),zs=Ps("union",!0),Ds=Ps("intersect",!1),Ls=Ps("intersect",!0),Is=Ps("except",!1),Fs=Ps("except",!0);class Es{static[a]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=o(e,Cs)?e:void 0,this.dialectConfig=o(e,Cs)?void 0:e}$with=(e,t)=>{const i=this;return{as:s=>("function"==typeof s&&(s=s(i)),new Proxy(new z(s.getSQL(),t??("getSelectedFields"in s?s.getSelectedFields()??{}:{}),e,!0),new Pi({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){const t=this;return{select:function(i){return new js({fields:i??void 0,session:void 0,dialect:t.getDialect(),withList:e})},selectDistinct:function(e){return new js({fields:e??void 0,session:void 0,dialect:t.getDialect(),distinct:!0})},selectDistinctOn:function(e,i){return new js({fields:i??void 0,session:void 0,dialect:t.getDialect(),distinct:{on:e}})}}}select(e){return new js({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new js({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,t){return new js({fields:t??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new Cs(this.dialectConfig)),this.dialect}}class Qs{constructor(e,t){this.name=e,this.schema=t}static[a]="PgDefaultViewBuilderCore";config={};with(e){return this.config.with=e,this}}class Vs extends Qs{static[a]="PgViewBuilder";as(e){"function"==typeof e&&(e=e(new Es));const t=new Pi({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),i=new Proxy(e.getSelectedFields(),t);return new Proxy(new Ms({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:i,query:e.getSQL().inlineParams()}}),t)}}class Js extends Qs{static[a]="PgManualViewBuilder";columns;constructor(e,t,i){super(e,i),this.columns=ve(Li(e,t))}existing(){return new Proxy(new Ms({pgConfig:void 0,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:void 0}}),new Pi({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new Ms({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:e.inlineParams()}}),new Pi({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}}class Us{constructor(e,t){this.name=e,this.schema=t}static[a]="PgMaterializedViewBuilderCore";config={};using(e){return this.config.using=e,this}with(e){return this.config.with=e,this}tablespace(e){return this.config.tablespace=e,this}withNoData(){return this.config.withNoData=!0,this}}class Ks extends Us{static[a]="PgMaterializedViewBuilder";as(e){"function"==typeof e&&(e=e(new Es));const t=new Pi({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),i=new Proxy(e.getSelectedFields(),t);return new Proxy(new Hs({pgConfig:{with:this.config.with,using:this.config.using,tablespace:this.config.tablespace,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:i,query:e.getSQL().inlineParams()}}),t)}}class Rs extends Us{static[a]="PgManualMaterializedViewBuilder";columns;constructor(e,t,i){super(e,i),this.columns=ve(Li(e,t))}existing(){return new Proxy(new Hs({pgConfig:{tablespace:this.config.tablespace,using:this.config.using,with:this.config.with,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:void 0}}),new Pi({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new Hs({pgConfig:{tablespace:this.config.tablespace,using:this.config.using,with:this.config.with,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:e.inlineParams()}}),new Pi({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}}class Ms extends As{static[a]="PgView";[Ri];constructor({pgConfig:e,config:t}){super(t),e&&(this[Ri]={with:e.with})}}const Ws=Symbol.for("drizzle:PgMaterializedViewConfig");class Hs extends As{static[a]="PgMaterializedView";[Ws];constructor({pgConfig:e,config:t}){super(t),this[Ws]={with:e?.with,using:e?.using,tablespace:e?.tablespace,withNoData:e?.withNoData}}}function Gs(e){return o(e,zi)?[e[I]?`${e[I]}.${e[R.Symbol.BaseName]}`:e[R.Symbol.BaseName]]:o(e,B)?e._.usedTables??[]:o(e,Y)?e.usedTables??[]:[]}class Ys{constructor(e,t,i){this.seqName=e,this.seqOptions=t,this.schema=i}static[a]="PgSequence"}class Zs{constructor(e){this.schemaName=e}static[a]="PgSchema";table=(e,t,i)=>Di(e,t,i,this.schemaName);view=(e,t)=>function(e,t,i){return t?new Js(e,t,i):new Vs(e,i)}(e,t,this.schemaName);materializedView=(e,t)=>function(e,t,i){return t?new Rs(e,t,i):new Ks(e,i)}(e,t,this.schemaName);enum(e,t){return Array.isArray(t)?function(e,t,i){const s=Object.assign(e=>new P(e??"",s),{enumName:e,enumValues:t,schema:i,[$]:!0});return s}(e,[...t],this.schemaName):function(e,t,i){const s=Object.assign(e=>new j(e??"",s),{enumName:e,enumValues:Object.values(t),schema:i,[$]:!0});return s}(e,t,this.schemaName)}sequence=(e,t)=>function(e,t,i){return new Ys(e,t,i)}(e,t,this.schemaName);getSQL(){return new Y([ie.identifier(this.schemaName)])}shouldOmitSQLParens(){return!0}}function Xs(e){if("public"===e)throw new Error("You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use pgTable() instead of creating a schema");return new Zs(e)}const en=Xs("raw"),tn=Xs("rendered"),sn=Xs("internal");Xs("cached");const nn=en.enum("state",["draft","published","expired"]),_n=en.enum("restriction_level",["ogl_compatible","ogl_equivalent","restricted","highly_restricted"]),an=en.enum("media_provenance",["oak_created","oak_illustration","partner_created","creative_commons","pixabay","pexels","unsplash","openverse","freesvg","needpix","bridgeman","shutterstock","dall_e","adobe_firefly","other"]),on=en.enum("acquisition_basis",["oak_owned","public_domain","gratis","paid","creative_commons"]),rn=en.enum("permission_status",["not_required","granted","denied"]),ln=en.enum("territory",["uk","worldwide","worldwide_no_usa","other_territory"]),dn=en.enum("licence",["cc0","cc_by","cc_by_sa","cc_by_nc","cc_by_nc_sa","cc_by_nc_nd","cc_by_nd","ogl","unlimited_use","limited_use_permission_required","single_use_permission_required","other"]),un=en.enum("question_type",["explanatory-text","match","multiple-choice","order","short-answer","text"]),cn=en.enum("tag_category",["discipline","domain","world_view"]),mn=en.enum("media_kind",["video","sound"]),pn=en.enum("clip_section",["intro","lesson_outline"]),gn=en.enum("redirect_type",["301","302","307","308"]),fn=en.enum("redirect_entity_source",["lessons","units","programmes","subjects"]),hn=sn.enum("operation",["insert","update","delete"]),vn=sn.enum("media_type_enum",["video","sound","gdrive_file","bucket_file"]),yn=sn.enum("lesson_component_type_enum",["document","downloadable","lesson_video","media_clip","quiz"]),bn={created_at:ci("created_at",{withTimezone:!0}).defaultNow(),updated_at:ci("updated_at",{withTimezone:!0}).$onUpdateFn(()=>new Date)},wn={created_at:ci("created_at",{withTimezone:!0}).notNull().defaultNow()},Nn=sn.enum("release_type",["mathfix","migration"]),kn=sn.table("releases",{release_id:nt("release_id").primaryKey().generatedByDefaultAsIdentity(),_authoring_state:nn("_authoring_state").notNull(),approved:Be("approved").notNull().default(!1),approver:mt("approver"),description:ni("description"),estimated_release_date:He("estimated_release_date"),locked:Be("locked").notNull().default(!1),name:ni("name"),notes:ni("notes"),release_type:Nn("release_type"),release_uid:Le("release_uid",{length:16}),...bn}),Sn={_state:nn("_state").notNull()},xn={_authoring_state:nn("_authoring_state").notNull()},An={_choice_state:nn("_choice_state").notNull()},Cn={_lesson_state:nn("_lesson_state").notNull()},qn={_programme_state:nn("_programme_state").notNull()},jn={_question_state:nn("_question_state").notNull()},Tn={_quiz_state:nn("_quiz_state").notNull()},$n={_subject_phase_state:nn("_subject_phase_state").notNull()},Pn={_thread_state:nn("_thread_state").notNull()},On={_unit_state:nn("_unit_state").notNull()},Bn={_unit_variant_state:nn("_unit_variant_state").notNull()},zn={_works_copyright_state:nn("_works_copyright_state").notNull()},Dn={_choice_state:nn("_choice_state")},Ln={_unit_variant_state:nn("_unit_variant_state")},In=({name:e,columnA:t,columnB:s})=>ge(e,i.sql`${t} = 'expired' or ${s} = 'expired' or ${t} = ${s}`),Fn=({name:e,columnA:t,columnB:s})=>ge(e,i.sql`${t} = 'expired' or ${s} is null or ${s} = 'expired' or ${t} = ${s}`),En=({name:e,columnA:t,columnB:s,allow:n})=>ge(e,i.sql.join([i.sql`${t} = 'expired'`,i.sql`${s} = 'expired'`,i.sql`${t} = ${s}`,...n.map(([e,n])=>i.sql`(${t} = ${i.sql.raw(`'${e}'`)} and ${s} = ${i.sql.raw(`'${n}'`)})`)],i.sql` or `)),Qn={_expire_on_release:Be("_expire_on_release").notNull().default(!1),_release_id:nt("_release_id").references(()=>kn.release_id)},Vn=Sn,Jn=en.table("gdrive_files",{gdrive_file_id:nt("gdrive_file_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mt("deprecated_fields"),epoch:ni("epoch"),google_drive_id:ni("google_drive_id"),google_drive_url:ni("google_drive_url"),opendocument_presentation_bucket_name:ni("opendocument_presentation_bucket_name"),opendocument_presentation_bucket_path:ni("opendocument_presentation_bucket_path"),opendocument_text_bucket_name:ni("opendocument_text_bucket_name"),opendocument_text_bucket_path:ni("opendocument_text_bucket_path"),pdf_bucket_name:ni("pdf_bucket_name"),pdf_bucket_path:ni("pdf_bucket_path"),powerpoint_bucket_name:ni("powerpoint_bucket_name"),powerpoint_bucket_path:ni("powerpoint_bucket_path"),previous_document_id:nt("previous_document_id"),word_bucket_name:ni("word_bucket_name"),word_bucket_path:ni("word_bucket_path"),...Qn,...bn}),Un=en.table("lessons",{lesson_id:nt("lesson_id").notNull().generatedByDefaultAsIdentity(),...Vn,agf__has_copyright_restrictions:Be("agf__has_copyright_restrictions"),agf__restricted_download:Be("agf__restricted_download"),deprecated_fields:mt("deprecated_fields"),equipment_and_resources:mt("equipment_and_resources"),has_tag_practical_not_remote:Be("has_tag_practical_not_remote").notNull().default(!1),is_sensitive:Be("is_sensitive").notNull().default(!1),key_learning_points:mt("key_learning_points"),keywords:mt("keywords"),lesson_outline:mt("lesson_outline"),lesson_uid:Le("lesson_uid",{length:16}).notNull(),misconceptions_and_common_mistakes:mt("misconceptions_and_common_mistakes"),phonics_outcome:ni("phonics_outcome"),pupil_lesson_outcome:ni("pupil_lesson_outcome"),slug:ni("slug").notNull(),teacher_tips:mt("teacher_tips"),title:ni("title").notNull(),...Qn,...bn},e=>[Ji({columns:[e.lesson_id,e._state]}),p("lessons_slug_unique").on(e.slug,e._state)]),Kn=en.enum("document_type",["slidedeck","worksheet","worksheet_answers","supplementary_resource","lesson_guide"]);en.table("documents",{document_id:nt("document_id").notNull().generatedByDefaultAsIdentity(),...Vn,gdrive_file_id:nt("gdrive_file_id").notNull(),lesson_id:nt("lesson_id"),deprecated_fields:mt("deprecated_fields"),document_type:Kn("document_type").notNull(),document_uid:Le("document_uid",{length:16}),previous_lesson_id:nt("previous_lesson_id"),...Qn,...bn},e=>[Ji({columns:[e.document_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"documents_gdrive_file_fk",columns:[e.gdrive_file_id],foreignColumns:[Jn.gdrive_file_id]}),p().on(e.lesson_id,e.document_type,e._state)]);const Rn=en.table("bucket_files",{bucket_file_id:nt("bucket_file_id").primaryKey().generatedByDefaultAsIdentity(),...xn,bucket_name:ni("bucket_name"),bucket_path:ni("bucket_path"),byte_size:nt("byte_size"),cloudinary_public_id:ni("cloudinary_public_id"),cloudinary_source_url:ni("cloudinary_source_url"),content_type:ni("content_type"),deprecated_fields:mt("deprecated_fields"),filename:ni("filename"),media_description:ni("media_description"),name:ni("name"),previous_downloadable_id:nt("previous_downloadable_id"),...Qn,...bn},e=>[p("bucket_files_cloudinary_public_id_unique").on(e.cloudinary_public_id)]);en.table("downloadables",{downloadable_id:nt("downloadable_id").notNull().generatedByDefaultAsIdentity(),...Vn,bucket_file_id:nt("bucket_file_id").notNull(),lesson_id:nt("lesson_id"),custom_title:ni("custom_title"),deprecated_fields:mt("deprecated_fields"),position:nt("position").notNull(),previous_lesson_id:nt("previous_lesson_id"),...Qn,...bn},e=>[Ji({columns:[e.downloadable_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"downloadables_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Rn.bucket_file_id]}),Vi("downloadables_lesson_position_unique").on(e.lesson_id,e.position,e._state)]);const Mn=en.table("videos",{video_id:nt("video_id").primaryKey().generatedByDefaultAsIdentity(),...xn,cloudinary_public_id:ni("cloudinary_public_id"),cloudinary_source_url:ni("cloudinary_source_url"),contains_identifiable_face:Be("contains_identifiable_face"),deprecated_fields:mt("deprecated_fields"),duration_seconds:$t("duration_seconds"),has_bsl:Be("has_bsl"),media_description:ni("media_description"),mux_asset_id:ni("mux_asset_id"),mux_playback_id:ni("mux_playback_id"),name:ni("name"),previous_lesson_video_id:nt("previous_lesson_video_id"),previous_media_clip_ids:nt("previous_media_clip_ids").array(),raw_mux_data:mt("raw_mux_data"),signed_stream_id:ni("signed_stream_id"),title:ni("title"),url:ni("url"),video_uid:Le("video_uid",{length:16}),...Qn,...bn},e=>[p("videos_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("videos_cloudinary_source_url_unique").on(e.cloudinary_source_url)]);en.table("lesson_videos",{lesson_video_id:nt("lesson_video_id").notNull().generatedByDefaultAsIdentity(),...Vn,lesson_id:nt("lesson_id"),sign_language_video_id:nt("sign_language_video_id"),video_id:nt("video_id"),previous_lesson_id:nt("previous_lesson_id"),...Qn,...bn},e=>[Ji({columns:[e.lesson_video_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({columns:[e.video_id],foreignColumns:[Mn.video_id]}),m({name:"lesson_videos_sign_lang_video_fk",columns:[e.sign_language_video_id],foreignColumns:[Mn.video_id]}),Vi("lesson_videos_lesson_unique").on(e.lesson_id,e._state),ge("lesson_videos_video_required_published",i.sql`${e._state} <> 'published' or ${e.video_id} is not null`)]);const Wn=en.table("media_clip_collection",{media_clip_collection_id:nt("media_clip_collection_id").notNull().generatedByDefaultAsIdentity(),...Vn,lesson_id:nt("lesson_id"),previous_lesson_id:nt("previous_lesson_id"),...Qn,...bn},e=>[Ji({columns:[e.media_clip_collection_id,e._state]}),m({name:"mc_collection_lesson_fk",columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),Vi("media_clip_collection_lesson_unique").on(e.lesson_id,e._state)]),Hn=en.table("sounds",{sound_id:nt("sound_id").primaryKey().generatedByDefaultAsIdentity(),...xn,cloudinary_public_id:ni("cloudinary_public_id"),cloudinary_source_url:ni("cloudinary_source_url"),duration_seconds:$t("duration_seconds"),media_description:ni("media_description"),mux_asset_id:ni("mux_asset_id"),mux_playback_id:ni("mux_playback_id"),name:ni("name"),previous_media_clip_ids:nt("previous_media_clip_ids").array(),title:ni("title"),...Qn,...bn},e=>[p("sounds_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("sounds_cloudinary_source_url_unique").on(e.cloudinary_source_url)]);en.table("media_clips",{media_clip_id:nt("media_clip_id").notNull().generatedByDefaultAsIdentity(),...Vn,media_clip_collection_id:nt("media_clip_collection_id").notNull(),sound_id:nt("sound_id"),video_id:nt("video_id"),clip_section:pn("clip_section").notNull(),custom_title:ni("custom_title"),lesson_outline_index:nt("lesson_outline_index"),media_kind:mn("media_kind"),position:nt("position").notNull(),...Qn,...bn},e=>[Ji({columns:[e.media_clip_id,e._state]}),m({name:"media_clips_mc_collection_fk",columns:[e.media_clip_collection_id,e._state],foreignColumns:[Wn.media_clip_collection_id,Wn._state]}),m({columns:[e.sound_id],foreignColumns:[Hn.sound_id]}),m({columns:[e.video_id],foreignColumns:[Mn.video_id]}),ge("media_clip_video_or_sound",i.sql`(video_id IS NOT NULL AND sound_id IS NULL) OR (video_id IS NULL AND sound_id IS NOT NULL)`),ge("media_clip_section_lesson_outline",i.sql`(clip_section = 'lesson_outline' AND lesson_outline_index IS NOT NULL)
|
|
8
|
+
OR (clip_section = 'intro' AND lesson_outline_index IS NULL)`),Vi("media_clips_lo_position_unique").on(e.media_clip_collection_id,e.lesson_outline_index,e.position,e._state).where(i.sql`${e.clip_section} = 'lesson_outline'`),Vi("media_clips_intro_position_unique").on(e.media_clip_collection_id,e.position,e._state).where(i.sql`${e.clip_section} = 'intro'`)]);const Gn=en.table("images",{image_id:nt("image_id").primaryKey().generatedByDefaultAsIdentity(),...xn,cloudinary_public_id:ni("cloudinary_public_id"),cloudinary_source_url:ni("cloudinary_source_url"),contains_identifiable_face:Be("contains_identifiable_face"),height:nt("height"),media_description:ni("media_description"),name:ni("name"),width:nt("width"),...Qn,...bn},e=>[p("images_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("images_cloudinary_source_url_unique").on(e.cloudinary_source_url)]),Yn=en.table("questions",{question_id:nt("question_id").notNull().generatedByDefaultAsIdentity(),...Vn,stem_image_id:nt("stem_image_id"),deprecated_fields:mt("deprecated_fields"),feedback:ni("feedback"),hint:ni("hint"),question_type:un("question_type").notNull(),question_uid:Le("question_uid",{length:16}).notNull(),stem_text:ni("stem_text"),...Qn,...bn},e=>[Ji({columns:[e.question_id,e._state]}),m({columns:[e.stem_image_id],foreignColumns:[Gn.image_id]})]);en.table("question_options",{option_id:nt("option_id").notNull().generatedByDefaultAsIdentity(),...Vn,body_image_id:nt("body_image_id"),match_partner_image_id:nt("match_partner_image_id"),question_id:nt("question_id").notNull(),body_text:ni("body_text"),correct_order:nt("correct_order"),is_default:Be("is_default"),is_correct:Be("is_correct"),match_partner_text:ni("match_partner_text"),position:nt("position"),temporary_fields:mt("temporary_fields"),...Qn,...bn},e=>[Ji({columns:[e.option_id,e._state]}),m({name:"question_options_question_fk",columns:[e.question_id,e._state],foreignColumns:[Yn.question_id,Yn._state]}),m({name:"question_options_body_image_fk",columns:[e.body_image_id],foreignColumns:[Gn.image_id]}),m({name:"question_options_match_partner_image_fk",columns:[e.match_partner_image_id],foreignColumns:[Gn.image_id]})]);const Zn=en.table("units",{unit_id:nt("unit_id").notNull().generatedByDefaultAsIdentity(),...Sn,deprecated_fields:mt("deprecated_fields"),description:ni("description").notNull(),slug:ni("slug"),title:ni("title").notNull(),unit_uid:Le("unit_uid",{length:16}),why_this_why_now:ni("why_this_why_now"),...Qn,...bn},e=>[Ji({columns:[e.unit_id,e._state]})]);en.table("question_units",{question_id:nt("question_id").notNull(),unit_id:nt("unit_id").notNull(),...jn,...On,...Qn,...bn},e=>[Ji({name:"question_units_pk",columns:[e.question_id,e.unit_id,e._question_state,e._unit_state]}),m({name:"question_units_question_fk",columns:[e.question_id,e._question_state],foreignColumns:[Yn.question_id,Yn._state]}),m({name:"question_units_unit_fk",columns:[e.unit_id,e._unit_state],foreignColumns:[Zn.unit_id,Zn._state]}),In({name:"question_units_state_coherence",columnA:e._question_state,columnB:e._unit_state})]);const Xn=en.enum("quiz_role",["starter","exit"]),e_=en.table("quizzes",{quiz_id:nt("quiz_id").notNull().generatedByDefaultAsIdentity(),...Vn,lesson_id:nt("lesson_id"),deprecated_fields:mt("deprecated_fields"),previous_lesson_id:nt("previous_lesson_id"),quiz_answers_pdf_bucket_name:ni("quiz_answers_pdf_bucket_name"),quiz_answers_pdf_bucket_path:ni("quiz_answers_pdf_bucket_path"),quiz_pdf_bucket_name:ni("quiz_pdf_bucket_name"),quiz_pdf_bucket_path:ni("quiz_pdf_bucket_path"),quiz_role:Xn("quiz_role").notNull(),quiz_uid:Le("quiz_uid",{length:16}).notNull(),...Qn,...bn},e=>[Ji({columns:[e.quiz_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),Vi("quizzes_lesson_role_unique").on(e.lesson_id,e.quiz_role,e._state)]);en.table("quiz_questions",{quiz_id:nt("quiz_id").notNull(),question_id:nt("question_id").notNull(),...Tn,...jn,position:nt("position").notNull(),...Qn,...bn},e=>[Ji({name:"quiz_questions_pk",columns:[e.quiz_id,e.question_id,e._quiz_state,e._question_state]}),m({name:"quiz_questions_quiz_fk",columns:[e.quiz_id,e._quiz_state],foreignColumns:[e_.quiz_id,e_._state]}),m({name:"quiz_questions_question_fk",columns:[e.question_id,e._question_state],foreignColumns:[Yn.question_id,Yn._state]}),In({name:"quiz_questions_state_coherence",columnA:e._quiz_state,columnB:e._question_state})]);const t_=en.table("urls",{url_id:nt("url_id").primaryKey().generatedByDefaultAsIdentity(),...xn,cloudinary_public_id:ni("cloudinary_public_id"),cloudinary_source_url:ni("cloudinary_source_url"),name:ni("name"),url:ni("url"),...Qn,...bn},e=>[p("urls_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("urls_cloudinary_source_url_unique").on(e.cloudinary_source_url)]),i_=en.table("media_copyright",{media_copyright_id:nt("media_copyright_id").notNull().generatedByDefaultAsIdentity(),...Vn,bucket_file_id:nt("bucket_file_id"),image_id:nt("image_id"),sound_id:nt("sound_id"),url_id:nt("url_id"),video_id:nt("video_id"),acquisition_basis:on("acquisition_basis"),additional_restrictions:ni("additional_restrictions"),attribution:ni("attribution"),deprecated_fields:mt("deprecated_fields"),internal_notes:ni("internal_notes"),legacy_data_shape:Be("legacy_data_shape").notNull(),licence:dn("licence"),media_copyright_uid:Le("media_copyright_uid",{length:16}).notNull(),media_provenance:an("media_provenance"),media_provenance_url:ni("media_provenance_url"),permission_status:rn("permission_status"),restriction_level_override:_n("restriction_level_override"),territory_other:ni("territory_other"),territory_override:ln("territory_override"),third_party_id:ni("third_party_id"),...Qn,...bn},e=>[Ji({columns:[e.media_copyright_id,e._state]}),m({columns:[e.image_id],foreignColumns:[Gn.image_id]}),m({columns:[e.sound_id],foreignColumns:[Hn.sound_id]}),m({columns:[e.video_id],foreignColumns:[Mn.video_id]}),m({name:"media_copyright_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Rn.bucket_file_id]}),m({columns:[e.url_id],foreignColumns:[t_.url_id]}),ge("media_copyright_has_exactly_one_media",i.sql`(image_id IS NOT NULL)::int + (sound_id IS NOT NULL)::int + (video_id IS NOT NULL)::int + (bucket_file_id IS NOT NULL)::int + (url_id IS NOT NULL)::int = 1`),p("media_copyright_image_unique").on(e.image_id,e._state),p("media_copyright_sound_unique").on(e.sound_id,e._state),p("media_copyright_video_unique").on(e.video_id,e._state),p("media_copyright_bucket_file_unique").on(e.bucket_file_id,e._state),p("media_copyright_url_unique").on(e.url_id,e._state),p("media_copyright_uid_unique").on(e.media_copyright_uid,e._state)]),s_=sn.enum("contract_territory",["worldwide","worldwide_excl_usa","worldwide_excl_canada_and_usa","uk_only","uk_and_commonwealth","uk_and_commonwealth_excl_canada","uk_and_eire"]),n_=sn.table("tpc_contracts",{tpc_contract_id:nt("tpc_contract_id").primaryKey().generatedByDefaultAsIdentity(),...xn,effective_date:He("effective_date"),end_date:He("end_date"),geo_restricted:Be().notNull().default(!1),juro_id:ni("juro_id").notNull(),juro_url:ni("juro_url"),login_required:Be().notNull().default(!1),name:ni("name").notNull(),raw_contract:mt("raw_contract"),restricted_download:Be().notNull().default(!1),restriction_level:_n(),signing_side:ni("signing_side"),territory:s_("territory"),tpc_contract_uid:Le("tpc_contract_uid",{length:16}).notNull(),...bn},()=>[]);en.table("media_copyright_tpc_contracts",{media_copyright_id:nt("media_copyright_id").notNull(),tpc_contract_id:nt("tpc_contract_id").notNull(),...Vn,...Qn,_release_id:nt("_release_id"),...bn},e=>[Ji({name:"media_copyright_tpc_contracts_pk",columns:[e.media_copyright_id,e.tpc_contract_id,e._state]}),m({name:"media_copyright_tpc_contract_media_copyright_fk",columns:[e.media_copyright_id,e._state],foreignColumns:[i_.media_copyright_id,i_._state]}),m({name:"media_copyright_tpc_contract_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[n_.tpc_contract_id]}),m({name:"media_copyright_tpc_contracts_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]})]),en.table("gdrive_file_images",{gdrive_file_id:nt("gdrive_file_id").notNull(),image_id:nt("image_id").notNull(),...xn,...Qn,...bn},e=>[Ji({columns:[e.gdrive_file_id,e.image_id]}),m({name:"gdrive_file_images_gdrive_file_fk",columns:[e.gdrive_file_id],foreignColumns:[Jn.gdrive_file_id]}),m({columns:[e.image_id],foreignColumns:[Gn.image_id]})]),en.table("lesson_media",{lesson_media_id:nt("lesson_media_id").notNull().generatedByDefaultAsIdentity(),...Sn,lesson_id:nt("lesson_id").notNull(),bucket_file_id:nt("bucket_file_id"),image_id:nt("image_id"),sound_id:nt("sound_id"),url_id:nt("url_id"),video_id:nt("video_id"),...Qn,...bn},e=>[Ji({name:"lesson_media_pk",columns:[e.lesson_media_id,e._state]}),m({name:"lesson_media_lesson_fk",columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"lesson_media_image_fk",columns:[e.image_id],foreignColumns:[Gn.image_id]}),m({name:"lesson_media_sound_fk",columns:[e.sound_id],foreignColumns:[Hn.sound_id]}),m({name:"lesson_media_video_fk",columns:[e.video_id],foreignColumns:[Mn.video_id]}),m({name:"lesson_media_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Rn.bucket_file_id]}),m({name:"lesson_media_url_fk",columns:[e.url_id],foreignColumns:[t_.url_id]}),ge("lesson_media_has_exactly_one_media",i.sql`(image_id IS NOT NULL)::int + (sound_id IS NOT NULL)::int + (video_id IS NOT NULL)::int + (bucket_file_id IS NOT NULL)::int + (url_id IS NOT NULL)::int = 1`),p("lesson_media_lesson_asset_unique").on(e.lesson_id,e._state,e.image_id,e.sound_id,e.video_id,e.bucket_file_id,e.url_id).nullsNotDistinct()]);const __=en.table("works_copyright",{works_copyright_id:nt("works_copyright_id").notNull().generatedByDefaultAsIdentity(),...Sn,attribution:ni("attribution"),author:ni("author"),deprecated_fields:mt("deprecated_fields"),raw_juro_data:mt("raw_juro_data"),restriction_level:_n("restriction_level"),title:ni("title"),works_copyright_uid:Le("works_copyright_uid",{length:16}),...Qn,...bn},e=>[Ji({columns:[e.works_copyright_id,e._state]})]);en.table("lesson_works_copyright",{lesson_id:nt("lesson_id").notNull(),works_copyright_id:nt("works_copyright_id").notNull(),...Cn,...zn,...Qn,...bn},e=>[Ji({name:"lesson_works_copyright_pk",columns:[e.lesson_id,e.works_copyright_id,e._lesson_state,e._works_copyright_state]}),m({name:"lesson_works_copyright_lesson_fk",columns:[e.lesson_id,e._lesson_state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"lesson_works_copyright_works_copyright_fk",columns:[e.works_copyright_id,e._works_copyright_state],foreignColumns:[__.works_copyright_id,__._state]}),En({name:"lesson_works_copyright_state_coherence",columnA:e._lesson_state,columnB:e._works_copyright_state,allow:[["draft","published"]]})]);const a_=en.table("features",{feature_id:nt("feature_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key:ni("key").notNull(),...Qn,...bn},e=>[p("features_key_unique").on(e.key)]);en.table("lesson_features",{lesson_id:nt("lesson_id").notNull(),feature_id:nt("feature_id").notNull(),...Vn,value:ni("value"),...Qn,...bn},e=>[Ji({columns:[e.lesson_id,e.feature_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"lesson_features_feature_fk",columns:[e.feature_id],foreignColumns:[a_.feature_id]})]),en.table("sound_transcripts",{sound_id:nt("sound_id").notNull(),...Sn,bad_language_detected:Be("bad_language_detected"),deprecated_fields:mt("deprecated_fields"),inappropriate_words:mt("inappropriate_words"),language_approved:Be("language_approved"),transcript:ni("transcript"),transcript_vtt_url:ni("transcript_vtt_url"),...Qn,...bn},e=>[Ji({columns:[e.sound_id,e._state]}),m({columns:[e.sound_id],foreignColumns:[Hn.sound_id]})]),en.table("video_captions",{video_id:nt("video_id").notNull(),...Sn,bad_language_detected:Be("bad_language_detected"),deprecated_fields:mt("deprecated_fields"),inappropriate_words:mt("inappropriate_words"),language_approved:Be("language_approved"),transcript:ni("transcript"),transcript_vtt_url:ni("transcript_vtt_url"),...Qn,...bn},e=>[Ji({columns:[e.video_id,e._state]}),m({columns:[e.video_id],foreignColumns:[Mn.video_id]})]),en.table("works_copyright_tpc_contracts",{works_copyright_id:nt("works_copyright_id").notNull(),tpc_contract_id:nt("tpc_contract_id").notNull(),...Vn,...Qn,_release_id:nt("_release_id"),...bn},e=>[Ji({name:"works_copyright_tpc_contracts_pk",columns:[e.works_copyright_id,e.tpc_contract_id,e._state]}),m({name:"works_copyright_tpc_contract_works_copyright_fk",columns:[e.works_copyright_id,e._state],foreignColumns:[__.works_copyright_id,__._state]}),m({name:"works_copyright_tpc_contract_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[n_.tpc_contract_id]}),m({name:"works_copyright_tpc_contracts_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]})]),en.table("videos_works_copyright",{video_id:nt("video_id").notNull(),works_copyright_id:nt("works_copyright_id").notNull(),...Sn,...Qn,...bn},e=>[Ji({columns:[e.video_id,e.works_copyright_id,e._state]}),m({name:"videos_works_copyright_video_fk",columns:[e.video_id],foreignColumns:[Mn.video_id]}),m({name:"videos_works_copyright_works_copyright_fk",columns:[e.works_copyright_id,e._state],foreignColumns:[__.works_copyright_id,__._state]})]);const o_=en.table("supervision_levels",{supervision_level_id:nt("supervision_level_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),global_position:nt("global_position").notNull(),supervision_level_rating:nt("supervision_level_rating"),title:ni("title").notNull(),...Qn,...bn}),r_=en.table("content_guidance",{content_guidance_id:nt("content_guidance_id").primaryKey().generatedByDefaultAsIdentity(),...xn,supervision_level_id:nt("supervision_level_id").notNull(),content_guidance_area:ni("content_guidance_area"),content_guidance_code:ni("content_guidance_code"),content_guidance_description:ni("content_guidance_description"),content_guidance_label:ni("content_guidance_label"),deprecated_fields:mt("deprecated_fields"),...Qn,...bn},e=>[m({name:"content_guid_super_level_fk",columns:[e.supervision_level_id],foreignColumns:[o_.supervision_level_id]})]),l_=en.table("key_stages",{key_stage_id:nt("key_stage_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),global_position:nt("global_position").notNull(),key_stage:ni("key_stage"),slug:ni("slug"),...Qn,...bn}),d_=en.table("phases",{phase_id:nt("phase_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),global_position:nt("global_position").notNull(),phase:ni("phase"),slug:ni("slug"),...Qn,...bn}),u_=en.table("subjects",{subject_id:nt("subject_id").primaryKey().generatedByDefaultAsIdentity(),...xn,subject_parent_id:nt("subject_parent_id"),deprecated_fields:mt("deprecated_fields"),description:ni("description"),global_position:nt("global_position").notNull(),non_curriculum:Be("non_curriculum"),slug:ni("slug"),subject:ni("subject"),...Qn,...bn},e=>[m({name:"subjects_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[e.subject_id]})]),c_=en.table("years",{year_id:nt("year_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key_stage_id:nt("key_stage_id").notNull(),phase_id:nt("phase_id").notNull(),deprecated_fields:mt("deprecated_fields"),description:ni("description"),global_position:nt("global_position").notNull(),slug:ni("slug"),year:ni("year"),...Qn,...bn},e=>[m({columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({columns:[e.phase_id],foreignColumns:[d_.phase_id]})]);en.table("content_guidance_scopes",{scope_id:nt("scope_id").primaryKey().generatedByDefaultAsIdentity(),...xn,content_guidance_id:nt("content_guidance_id").notNull(),key_stage_id:nt("key_stage_id"),phase_id:nt("phase_id"),subject_id:nt("subject_id"),subject_parent_id:nt("subject_parent_id"),year_id:nt("year_id"),...Qn,...bn},e=>[m({name:"content_guid_scopes_content_guid_fk",columns:[e.content_guidance_id],foreignColumns:[r_.content_guidance_id]}),m({name:"content_guid_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"content_guid_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[u_.subject_id]}),m({name:"content_guid_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"content_guid_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]})]);const m_=en.table("exam_board_specs",{exam_board_spec_id:nt("exam_board_spec_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),title:ni("title").notNull(),...Qn,...bn});en.table("exam_board_spec_scopes",{scope_id:nt("scope_id").primaryKey().generatedByDefaultAsIdentity(),...xn,exam_board_spec_id:nt("exam_board_spec_id").notNull(),key_stage_id:nt("key_stage_id"),phase_id:nt("phase_id"),subject_id:nt("subject_id"),subject_parent_id:nt("subject_parent_id"),year_id:nt("year_id"),...Qn,...bn},e=>[m({name:"exam_spec_scopes_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[m_.exam_board_spec_id]}),m({name:"exam_spec_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"exam_spec_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[u_.subject_id]}),m({name:"exam_spec_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"exam_spec_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]})]),en.table("lesson_content_guidance",{lesson_id:nt("lesson_id").notNull(),content_guidance_id:nt("content_guidance_id").notNull(),...Vn,position:nt("position").notNull(),...Qn,...bn},e=>[Ji({name:"lesson_content_guid_pk",columns:[e.lesson_id,e.content_guidance_id,e._state]}),m({name:"lesson_content_guid_lesson_fk",columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({name:"lesson_content_guid_content_guid_fk",columns:[e.content_guidance_id],foreignColumns:[r_.content_guidance_id]})]);const p_=en.table("tags",{tag_id:nt("tag_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mt("deprecated_fields"),tag_category:cn("tag_category"),title:ni("title").notNull(),...Qn,...bn});en.table("lesson_tags",{lesson_id:nt("lesson_id").notNull(),tag_id:nt("tag_id").notNull(),...Vn,position:nt("position").notNull(),...Qn,...bn},e=>[Ji({columns:[e.lesson_id,e.tag_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Un.lesson_id,Un._state]}),m({columns:[e.tag_id],foreignColumns:[p_.tag_id]})]);const g_=en.table("national_curriculum",{national_curriculum_id:nt("national_curriculum_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),title:ni("title").notNull(),...Qn,...bn});en.table("national_curriculum_scopes",{scope_id:nt("scope_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key_stage_id:nt("key_stage_id"),national_curriculum_id:nt("national_curriculum_id").notNull(),phase_id:nt("phase_id"),subject_id:nt("subject_id"),subject_parent_id:nt("subject_parent_id"),year_id:nt("year_id"),...Qn,...bn},e=>[m({name:"nat_curric_scopes_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[g_.national_curriculum_id]}),m({name:"nat_curric_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"nat_curric_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[u_.subject_id]}),m({name:"nat_curric_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"nat_curric_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({name:"nat_curric_scopes_year_fk",columns:[e.year_id],foreignColumns:[c_.year_id]})]);const f_=en.table("subject_categories",{subject_category_id:nt("subject_category_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),slug:ni("slug"),title:ni("title").notNull(),...Qn,...bn});en.table("subject_category_scopes",{scope_id:nt("scope_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key_stage_id:nt("key_stage_id"),phase_id:nt("phase_id"),subject_category_id:nt("subject_category_id").notNull(),subject_id:nt("subject_id"),subject_parent_id:nt("subject_parent_id"),year_id:nt("year_id"),...Qn,...bn},e=>[m({name:"subj_cat_scopes_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[f_.subject_category_id]}),m({name:"subj_cat_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"subj_cat_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[u_.subject_id]}),m({name:"subj_cat_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"subj_cat_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]})]),en.table("tag_scopes",{scope_id:nt("scope_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key_stage_id:nt("key_stage_id"),phase_id:nt("phase_id"),subject_id:nt("subject_id"),subject_parent_id:nt("subject_parent_id"),tag_id:nt("tag_id").notNull(),year_id:nt("year_id"),...Qn,...bn},e=>[m({columns:[e.tag_id],foreignColumns:[p_.tag_id]}),m({columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"tag_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[u_.subject_id]}),m({columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"tag_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]})]),en.table("unit_exam_board_specs",{unit_id:nt("unit_id").notNull(),exam_board_spec_id:nt("exam_board_spec_id").notNull(),...Vn,position:nt("position").notNull(),...Qn,...bn},e=>[Ji({columns:[e.unit_id,e.exam_board_spec_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),m({name:"unit_exam_spec_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[m_.exam_board_spec_id]})]),en.table("unit_national_curriculum",{unit_id:nt("unit_id").notNull(),national_curriculum_id:nt("national_curriculum_id").notNull(),...Vn,position:nt("position").notNull(),...Qn,...bn},e=>[Ji({name:"unit_nat_curric_pk",columns:[e.unit_id,e.national_curriculum_id,e._state]}),m({name:"unit_nat_curric_unit_fk",columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),m({name:"unit_nat_curric_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[g_.national_curriculum_id]})]),en.table("unit_subject_categories",{unit_id:nt("unit_id").notNull(),subject_category_id:nt("subject_category_id").notNull(),...Vn,position:nt("position").notNull(),...Qn,...bn},e=>[Ji({columns:[e.unit_id,e.subject_category_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),m({name:"unit_subj_cat_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[f_.subject_category_id]})]);const h_=en.table("exam_boards",{exam_board_id:nt("exam_board_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),exam_board:ni("exam_board"),global_position:nt("global_position").notNull(),slug:ni("slug"),...Qn,...bn}),v_=en.table("pathways",{pathway_id:nt("pathway_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),global_position:nt("global_position").notNull(),pathway:ni("pathway"),slug:ni("slug"),...Qn,...bn}),y_=en.table("tiers",{tier_id:nt("tier_id").primaryKey().generatedByDefaultAsIdentity(),...xn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),global_position:nt("global_position").notNull(),slug:ni("slug"),tier:ni("tier"),...Qn,...bn}),b_=en.table("unit_variants",{unit_variant_id:nt("unit_variant_id").notNull().generatedByDefaultAsIdentity(),...Vn,exam_board_id:nt("exam_board_id"),pathway_id:nt("pathway_id"),subject_id:nt("subject_id"),tier_id:nt("tier_id"),unit_id:nt("unit_id").notNull(),deprecated_fields:mt("deprecated_fields"),description_override:ni("description_override"),optionality:ni("optionality"),planned_number_of_lessons_override:nt("planned_number_of_lessons_override"),prior_knowledge_requirements_override:ni("prior_knowledge_requirements_override").array(),title_override:ni("title_override"),unit_variant_uid:Le("unit_variant_uid",{length:16}),why_this_why_now_override:ni("why_this_why_now_override"),...Qn,...bn},e=>[Ji({columns:[e.unit_variant_id,e._state]}),m({name:"unit_variants_exam_board_fk",columns:[e.exam_board_id],foreignColumns:[h_.exam_board_id]}),m({columns:[e.pathway_id],foreignColumns:[v_.pathway_id]}),m({columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({columns:[e.tier_id],foreignColumns:[y_.tier_id]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),p("unit_variants_unit_scope_unique").on(e.unit_id,e.subject_id,e.tier_id,e.exam_board_id,e.pathway_id,e.optionality,e._state).nullsNotDistinct()]);en.table("unit_variant_exam_board_specs_override",{unit_variant_id:nt("unit_variant_id").notNull(),exam_board_spec_id:nt("exam_board_spec_id").notNull(),...Vn,position:nt("position").notNull(),...Qn,_release_id:nt("_release_id"),...bn},e=>[Ji({name:"unit_variant_exam_board_specs_override_pk",columns:[e.unit_variant_id,e.exam_board_spec_id,e._state]}),m({name:"unit_var_exam_spec_ovr_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"unit_var_exam_spec_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[b_.unit_variant_id,b_._state]}),m({name:"unit_var_exam_spec_ovr_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[m_.exam_board_spec_id]})]),en.table("unit_variant_national_curriculum_override",{unit_variant_id:nt("unit_variant_id").notNull(),national_curriculum_id:nt("national_curriculum_id").notNull(),...Vn,position:nt("position").notNull(),...Qn,_release_id:nt("_release_id"),...bn},e=>[Ji({name:"unit_variant_national_curriculum_override_pk",columns:[e.unit_variant_id,e.national_curriculum_id,e._state]}),m({name:"unit_var_nat_curric_ovr_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"unit_var_nat_curric_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[b_.unit_variant_id,b_._state]}),m({name:"unit_var_nat_curric_ovr_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[g_.national_curriculum_id]})]),en.table("unit_variant_subject_categories_override",{unit_variant_id:nt("unit_variant_id").notNull(),subject_category_id:nt("subject_category_id").notNull(),...Vn,position:nt("position").notNull(),...Qn,_release_id:nt("_release_id"),...bn},e=>[Ji({name:"unit_variant_subject_categories_override_pk",columns:[e.unit_variant_id,e.subject_category_id,e._state]}),m({name:"unit_var_subj_cat_ovr_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"unit_var_subj_cat_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[b_.unit_variant_id,b_._state]}),m({name:"unit_var_subj_cat_ovr_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[f_.subject_category_id]})]);const w_=en.table("actions",{action_id:nt("action_id").primaryKey().generatedByDefaultAsIdentity(),...xn,key:ni("key").notNull(),...Qn,...bn},e=>[p("actions_key_unique").on(e.key)]),N_=en.table("overrides_and_exceptions",{overrides_and_exceptions_id:nt("overrides_and_exceptions_id").notNull().generatedByDefaultAsIdentity(),...Sn,description:ni("description"),temporary_fields:mt("temporary_fields"),used_by_queries:mt("used_by_queries").notNull().default([]),...Qn,...bn},e=>[Ji({columns:[e.overrides_and_exceptions_id,e._state]})]);en.table("overrides_and_exceptions_actions",{overrides_and_exceptions_id:nt("overrides_and_exceptions_id").notNull(),action_id:nt("action_id").notNull(),...Sn,value:mt("value").notNull(),...Qn,_release_id:nt("_release_id"),...bn},e=>[Ji({name:"ovr_exc_actions_pk",columns:[e.overrides_and_exceptions_id,e.action_id,e._state]}),m({name:"ovr_exc_actions_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"ovr_exc_actions_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[N_.overrides_and_exceptions_id,N_._state]}),m({name:"ovr_exc_actions_action_fk",columns:[e.action_id],foreignColumns:[w_.action_id]})]),en.table("overrides_and_exceptions_feature_scopes",{overrides_and_exceptions_id:nt("overrides_and_exceptions_id").notNull(),condition_id:nt("condition_id").notNull(),feature_id:nt("feature_id").notNull(),...Sn,value:ni("value").notNull(),...Qn,_release_id:nt("_release_id"),...bn},e=>[Ji({name:"ovr_exc_feature_scopes_pk",columns:[e.overrides_and_exceptions_id,e.condition_id,e.feature_id,e._state]}),m({name:"ovr_exc_feature_scopes_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"ovr_exc_feature_scopes_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[N_.overrides_and_exceptions_id,N_._state]}),m({name:"ovr_exc_feature_scopes_feature_fk",columns:[e.feature_id],foreignColumns:[a_.feature_id]})]),en.table("overrides_and_exceptions_programme_scopes",{scope_id:nt("scope_id").notNull().generatedByDefaultAsIdentity(),...Sn,key_stage_id:nt("key_stage_id"),overrides_and_exceptions_id:nt("overrides_and_exceptions_id").notNull(),pathway_id:nt("pathway_id"),phase_id:nt("phase_id"),subject_id:nt("subject_id"),tier_id:nt("tier_id"),legacy:Be("legacy"),subject_slug:ni("subject_slug"),...Qn,_release_id:nt("_release_id"),...bn},e=>[Ji({name:"ovr_exc_programme_scopes_pk",columns:[e.scope_id,e._state]}),m({name:"ovr_exc_programme_scopes_release_fk",columns:[e._release_id],foreignColumns:[kn.release_id]}),m({name:"ovr_exc_programme_scopes_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[N_.overrides_and_exceptions_id,N_._state]}),m({name:"ovr_exc_programme_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[l_.key_stage_id]}),m({name:"ovr_exc_programme_scopes_pathway_fk",columns:[e.pathway_id],foreignColumns:[v_.pathway_id]}),m({name:"ovr_exc_programme_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[d_.phase_id]}),m({name:"ovr_exc_programme_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({name:"ovr_exc_programme_scopes_tier_fk",columns:[e.tier_id],foreignColumns:[y_.tier_id]})]),en.table("redirects",{entity_id:nt("entity_id").notNull(),entity_source:fn("entity_source").notNull(),...Vn,description:ni("description"),redirect_entity_id:nt("redirect_entity_id"),redirect_entity_source:fn("redirect_entity_source"),redirect_type:gn("redirect_type").notNull(),redirect_url:ni("redirect_url"),...Qn,...bn},e=>[Ji({columns:[e.entity_id,e.entity_source,e._state]}),ge("redirect_has_exactly_one_target",i.sql`(redirect_url IS NOT NULL)::int + (redirect_entity_id IS NOT NULL)::int = 1`),ge("redirect_entity_ref_complete",i.sql`(redirect_entity_id IS NULL) = (redirect_entity_source IS NULL)`)]);const k_=en.table("choices",{choice_id:nt("choice_id").notNull().generatedByDefaultAsIdentity(),...Vn,unit_id:nt("unit_id").notNull(),temporary_fields:mt("temporary_fields"),...Qn,...bn},e=>[Ji({columns:[e.choice_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]})]);en.table("choices_unit_variants",{unit_variant_id:nt("unit_variant_id").notNull(),choice_id:nt("choice_id").notNull(),...Bn,...An,position:nt("position").notNull(),...Qn,...bn},e=>[Ji({name:"choices_unit_var_pk",columns:[e.unit_variant_id,e.choice_id,e._unit_variant_state,e._choice_state]}),m({name:"choices_unit_var_unit_var_fk",columns:[e.unit_variant_id,e._unit_variant_state],foreignColumns:[b_.unit_variant_id,b_._state]}),m({name:"choices_unit_var_choice_fk",columns:[e.choice_id,e._choice_state],foreignColumns:[k_.choice_id,k_._state]}),In({name:"choices_unit_var_state_coherence",columnA:e._unit_variant_state,columnB:e._choice_state})]);const S_=en.table("programmes",{programme_id:nt("programme_id").notNull().generatedByDefaultAsIdentity(),...Vn,exam_board_id:nt("exam_board_id"),pathway_id:nt("pathway_id"),subject_id:nt("subject_id").notNull(),tier_id:nt("tier_id"),year_id:nt("year_id").notNull(),deprecated_fields:mt("deprecated_fields"),legacy:Be("legacy").notNull().default(!1),national_curriculum_content:Be("national_curriculum_content").notNull().default(!1),programme_uid:Le("programme_uid",{length:16}),...Qn,...bn},e=>[Ji({columns:[e.programme_id,e._state]}),m({columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]}),m({columns:[e.tier_id],foreignColumns:[y_.tier_id]}),m({name:"programmes_exam_board_fk",columns:[e.exam_board_id],foreignColumns:[h_.exam_board_id]}),m({columns:[e.pathway_id],foreignColumns:[v_.pathway_id]}),p("programmes_factor_scope_unique").on(e.subject_id,e.year_id,e.tier_id,e.exam_board_id,e.pathway_id,e.legacy,e._state).nullsNotDistinct()]);en.table("inclusions",{programme_id:nt("programme_id").notNull(),position:nt("position").notNull(),...qn,...Dn,...Ln,choice_id:nt("choice_id"),unit_variant_id:nt("unit_variant_id"),...Qn,...bn},e=>[Ji({name:"inclusions_pk",columns:[e.programme_id,e.position,e._programme_state]}),ge("inclusions_xor_variant_choice",i.sql`num_nonnulls(${e.unit_variant_id}, ${e.choice_id}) = 1`),ge("inclusions_choice_state_matches",i.sql`(${e.choice_id} is null) = (${e._choice_state} is null)`),ge("inclusions_unit_variant_state_matches",i.sql`(${e.unit_variant_id} is null) = (${e._unit_variant_state} is null)`),Vi("inclusions_choice_unique").on(e.choice_id,e._choice_state).where(i.sql`${e.choice_id} is not null`),Vi("inclusions_programme_unit_variant_unique").on(e.programme_id,e.unit_variant_id,e._programme_state,e._unit_variant_state).where(i.sql`${e.unit_variant_id} is not null`),m({name:"inclusions_programme_fk",columns:[e.programme_id,e._programme_state],foreignColumns:[S_.programme_id,S_._state]}),m({name:"inclusions_choice_fk",columns:[e.choice_id,e._choice_state],foreignColumns:[k_.choice_id,k_._state]}),m({name:"inclusions_unit_var_fk",columns:[e.unit_variant_id,e._unit_variant_state],foreignColumns:[b_.unit_variant_id,b_._state]}),Fn({name:"inclusions_choice_state_coherence",columnA:e._programme_state,columnB:e._choice_state}),Fn({name:"inclusions_unit_var_state_coherence",columnA:e._programme_state,columnB:e._unit_variant_state})]);const x_=en.table("subject_phases",{subject_id:nt("subject_id").notNull(),phase_id:nt("phase_id").notNull(),...Vn,curriculum_intent:ni("curriculum_intent"),deprecated_fields:mt("deprecated_fields"),prior_knowledge_requirements:Be("prior_knowledge_requirements").notNull().default(!1),related_units:Be("related_units").notNull().default(!1),unit_description:Be("unit_description").notNull().default(!1),...Qn,...bn},e=>[Ji({columns:[e.subject_id,e.phase_id,e._state]}),m({columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({columns:[e.phase_id],foreignColumns:[d_.phase_id]})]),A_=en.table("threads",{thread_id:nt("thread_id").notNull().generatedByDefaultAsIdentity(),...Sn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),slug:ni("slug"),thread_uid:Le("thread_uid",{length:16}),title:ni("title"),...Qn,...bn},e=>[Ji({columns:[e.thread_id,e._state]})]);en.table("subject_phase_threads",{subject_id:nt("subject_id").notNull(),phase_id:nt("phase_id").notNull(),thread_id:nt("thread_id").notNull(),...$n,...Pn,deprecated_fields:mt("deprecated_fields"),position:nt("position").notNull(),...Qn,...bn},e=>[Ji({name:"subject_phase_threads_pk",columns:[e.subject_id,e.phase_id,e.thread_id,e._subject_phase_state,e._thread_state]}),m({name:"subject_phase_threads_subject_phase_fk",columns:[e.subject_id,e.phase_id,e._subject_phase_state],foreignColumns:[x_.subject_id,x_.phase_id,x_._state]}),m({name:"subject_phase_threads_thread_fk",columns:[e.thread_id,e._thread_state],foreignColumns:[A_.thread_id,A_._state]}),In({name:"subject_phase_threads_state_coherence",columnA:e._subject_phase_state,columnB:e._thread_state})]),en.table("unit_threads",{thread_id:nt("thread_id").notNull(),unit_id:nt("unit_id").notNull(),...Pn,...On,deprecated_fields:mt("deprecated_fields"),position:nt("position").notNull(),...Qn,...bn},e=>[Ji({name:"unit_threads_pk",columns:[e.thread_id,e.unit_id,e._thread_state,e._unit_state]}),m({name:"unit_threads_thread_fk",columns:[e.thread_id,e._thread_state],foreignColumns:[A_.thread_id,A_._state]}),m({name:"unit_threads_unit_fk",columns:[e.unit_id,e._unit_state],foreignColumns:[Zn.unit_id,Zn._state]}),In({name:"unit_threads_state_coherence",columnA:e._thread_state,columnB:e._unit_state})]),en.table("unit_catalogue",{subject_id:nt("subject_id").notNull(),year_id:nt("year_id").notNull(),unit_id:nt("unit_id").notNull(),...Vn,...Qn,...bn},e=>[Ji({columns:[e.subject_id,e.year_id,e.unit_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),m({columns:[e.subject_id],foreignColumns:[u_.subject_id]}),m({columns:[e.year_id],foreignColumns:[c_.year_id]})]),en.table("unit_lessons",{unit_id:nt("unit_id").notNull(),lesson_id:nt("lesson_id").notNull(),...On,...Cn,position:nt("position").notNull(),...Qn,...bn},e=>[Ji({name:"unit_lessons_pk",columns:[e.unit_id,e.lesson_id,e._unit_state,e._lesson_state]}),m({name:"unit_lessons_unit_fk",columns:[e.unit_id,e._unit_state],foreignColumns:[Zn.unit_id,Zn._state]}),m({name:"unit_lessons_lesson_fk",columns:[e.lesson_id,e._lesson_state],foreignColumns:[Un.lesson_id,Un._state]}),In({name:"unit_lessons_state_coherence",columnA:e._unit_state,columnB:e._lesson_state})]),en.table("unit_variant_lessons",{unit_variant_id:nt("unit_variant_id").notNull(),lesson_id:nt("lesson_id").notNull(),...Bn,...Cn,deprecated_fields:mt("deprecated_fields"),position:nt("position").notNull(),...Qn,...bn},e=>[Ji({name:"unit_var_lessons_pk",columns:[e.unit_variant_id,e.lesson_id,e._unit_variant_state,e._lesson_state]}),m({name:"unit_var_lessons_unit_var_fk",columns:[e.unit_variant_id,e._unit_variant_state],foreignColumns:[b_.unit_variant_id,b_._state]}),m({name:"unit_var_lessons_lesson_fk",columns:[e.lesson_id,e._lesson_state],foreignColumns:[Un.lesson_id,Un._state]}),In({name:"unit_var_lessons_state_coherence",columnA:e._unit_variant_state,columnB:e._lesson_state})]),en.table("unit_features",{unit_id:nt("unit_id").notNull(),feature_id:nt("feature_id").notNull(),...Vn,value:ni("value"),...Qn,...bn},e=>[Ji({columns:[e.unit_id,e.feature_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[Zn.unit_id,Zn._state]}),m({columns:[e.feature_id],foreignColumns:[a_.feature_id]})]);const C_=sn.enum("lesson_component_operation_status_enum",["api_neutral","api_in_progress","api_failed","ingest_queued","ingest_in_progress","ingest_failed","ingest_completed"]),q_=sn.enum("lesson_component_status_retirement_enum",["superseded","draft_discarded","component_expired","component_removed","orphaned"]);sn.table("lesson_component_status",{lesson_component_status_id:gi("lesson_component_status_id").primaryKey().defaultRandom(),lesson_component_id:nt("lesson_component_id").notNull(),lesson_component_type:yn("lesson_component_type").notNull(),active_media_id:nt("active_media_id"),active_media_type:vn("active_media_type"),last_error_location:ni("last_error_location"),last_error_message:ni("last_error_message"),last_error_timestamp:ci("last_error_timestamp"),last_ingest_id:gi("last_ingest_id"),operation_status:C_("operation_status").notNull().default("api_neutral"),previous_media_id:nt("previous_media_id"),previous_media_type:vn("previous_media_type"),retired_at:ci("retired_at",{withTimezone:!0}),retired_reason:q_("retired_reason"),...bn},e=>[ge("lesson_comp_status_retired_both",i.sql`(${e.retired_at} is null) = (${e.retired_reason} is null)`),Vi("lesson_comp_status_live_unq").on(e.lesson_component_id,e.lesson_component_type).where(i.sql`${e.retired_at} is null`)]);const j_=sn.enum("lesson_status_enum",["api_neutral","ingest_queued","ingest_in_progress","ingest_complete","ingest_failed"]);sn.table("lesson_status",{lesson_id:nt("lesson_id").primaryKey(),approved:Be("approved").notNull().default(!1),last_approved:ci("last_approved"),last_error_location:ni("last_error_location"),last_error_message:ni("last_error_message"),last_error_timestamp:ci("last_error_timestamp"),status:j_("status").notNull().default("api_neutral"),...bn});const T_=sn.enum("media_status_enum",["neutral","in_progress","failed"]),$_=sn.enum("media_status_retirement_enum",["superseded","media_retired","orphaned"]);sn.table("media_status",{media_status_id:gi("media_status_id").primaryKey().defaultRandom(),media_id:nt("media_id").notNull(),media_type:vn("media_type").notNull(),last_error_location:ni("last_error_location"),last_error_message:ni("last_error_message"),last_error_timestamp:ci("last_error_timestamp"),last_lesson_component_id:nt("last_lesson_component_id"),last_lesson_component_type:yn("last_lesson_component_type"),retired_at:ci("retired_at",{withTimezone:!0}),retired_reason:$_("retired_reason"),status:T_("status").notNull().default("neutral"),...bn},e=>[ge("media_status_retired_both",i.sql`(${e.retired_at} is null) = (${e.retired_reason} is null)`),Vi("media_status_live_unq").on(e.media_id,e.media_type).where(i.sql`${e.retired_at} is null`)]),sn.table("mutations_log",{mutations_log_id:gi("mutations_log_id").primaryKey().defaultRandom(),actor_role:ni("actor_role"),actor_type:ni("actor_type"),app_id:ni("app_id"),changes:mt("changes").notNull(),operation:hn("operation").notNull(),record_key:mt("record_key").notNull(),table_name:ni("table_name").notNull(),...wn},e=>[Qi("idx_mutations_log_record_key").using("gin",e.record_key)]),sn.table("release_snapshots",{release_snapshot_id:gi("release_snapshot_id").primaryKey().defaultRandom(),_release_id:nt("_release_id"),source_created_at:ci("source_created_at"),source_id:nt("source_id"),source_row:mt("source_row"),source_schema:ni("source_schema").default(""),source_state:nn("source_state").notNull(),source_table:ni("source_table").default(""),source_uid:Le("source_uid",{length:16}),source_updated_at:ci("source_updated_at")},e=>[m({columns:[e._release_id],foreignColumns:[kn.release_id]}),Qi("release_snapshots_source_idx").on(e.source_schema,e.source_table,e.source_id),Qi("release_snapshots_release_idx").on(e._release_id)]);const P_=sn.enum("contract_log_event_type_enum",["works_change","contract_change","works_added_to_contract"]);sn.table("tpc_contract_log",{tpc_contract_log_id:nt("tpc_contract_log_id").primaryKey().generatedByDefaultAsIdentity(),tpc_contract_id:nt("tpc_contract_id").notNull(),changed_at:ci("changed_at",{withTimezone:!0}).notNull(),event_type:P_("event_type").notNull(),payload:mt("payload")},e=>[m({name:"tpc_contract_log_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[n_.tpc_contract_id]})]);const O_=sn.enum("restrictions_type_enum",["Restrictions 1","Restrictions 2","Restrictions 3","Restrictions 4","Restrictions 5","Restrictions 6","Restrictions 7","Additional Restrictions"]),B_=sn.table("tpc_restriction_definitions",{tpc_restriction_definition_id:nt("tpc_restriction_definition_id").primaryKey().generatedByDefaultAsIdentity(),restriction_text:ni("restriction_text").notNull(),type:O_("type").notNull(),...bn},e=>[p("tpc_restriction_definitions_type_unique").on(e.type,e.restriction_text)]);sn.table("tpc_restrictions",{tpc_contract_id:nt("tpc_contract_id").notNull(),tpc_restriction_definition_id:nt("tpc_restriction_definition_id").notNull(),...Vn,restriction_override:ni("restriction_override"),...bn},e=>[Ji({name:"tpc_restrictions_pk",columns:[e.tpc_contract_id,e.tpc_restriction_definition_id,e._state]}),m({name:"tpc_restrictions_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[n_.tpc_contract_id]}),m({name:"tpc_restrictions_tpc_restriction_definition_fk",columns:[e.tpc_restriction_definition_id],foreignColumns:[B_.tpc_restriction_definition_id]})]),tn.view("sub_published_documents_with_release_by_lesson",{document_id:nt("document_id").notNull(),document_type:Kn("document_type").notNull(),document_uid:Le("document_uid",{length:16}).notNull(),lesson_id:nt("lesson_id"),previous_lesson_id:nt("previous_lesson_id"),gdrive_file_id:nt("gdrive_file_id").notNull(),gdrive_files__epoch:ni("gdrive_files__epoch"),gdrive_files__google_drive_id:ni("gdrive_files__google_drive_id").notNull(),gdrive_files__google_drive_url:ni("gdrive_files__google_drive_url").notNull(),gdrive_files__opendocument_presentation_bucket_name:ni("gdrive_files__opendocument_presentation_bucket_name"),gdrive_files__opendocument_presentation_bucket_path:ni("gdrive_files__opendocument_presentation_bucket_path"),gdrive_files__opendocument_text_bucket_name:ni("gdrive_files__opendocument_text_bucket_name"),gdrive_files__opendocument_text_bucket_path:ni("gdrive_files__opendocument_text_bucket_path"),gdrive_files__pdf_bucket_name:ni("gdrive_files__pdf_bucket_name"),gdrive_files__pdf_bucket_path:ni("gdrive_files__pdf_bucket_path"),gdrive_files__powerpoint_bucket_name:ni("gdrive_files__powerpoint_bucket_name"),gdrive_files__powerpoint_bucket_path:ni("gdrive_files__powerpoint_bucket_path"),gdrive_files__word_bucket_name:ni("gdrive_files__word_bucket_name"),gdrive_files__word_bucket_path:ni("gdrive_files__word_bucket_path"),releases__approved:Be("releases__approved"),releases__description:ni("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:ni("releases__name"),releases__notes:ni("releases__notes"),releases__release_type:Nn("releases__release_type"),_expire_on_release:Be("_expire_on_release").notNull(),_release_id:nt("_release_id"),created_at:ci("created_at",{withTimezone:!0}).notNull(),updated_at:ci("updated_at",{withTimezone:!0}).notNull(),releases__created_at:ci("releases__created_at",{withTimezone:!0}),releases__updated_at:ci("releases__updated_at",{withTimezone:!0})}).as(i.sql`
|
|
9
9
|
SELECT
|
|
10
10
|
d.document_id,
|
|
11
11
|
d.document_type,
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
JOIN raw.gdrive_files gf ON gf.gdrive_file_id = d.gdrive_file_id
|
|
43
43
|
LEFT JOIN internal.releases r ON r.release_id = d._release_id
|
|
44
44
|
WHERE d._state = 'published'
|
|
45
|
-
`),tn.view("sub_live_lesson_component_status",{lesson_component_id:
|
|
45
|
+
`),tn.view("sub_live_lesson_component_status",{lesson_component_id:nt("lesson_component_id"),lesson_component_type:yn("lesson_component_type"),operation_status:C_("operation_status"),active_media_id:nt("active_media_id"),active_media_type:vn("active_media_type"),last_ingest_id:gi("last_ingest_id"),created_at:ci("created_at",{withTimezone:!0})}).as(i.sql`
|
|
46
46
|
SELECT lesson_component_id,
|
|
47
47
|
lesson_component_type,
|
|
48
48
|
operation_status,
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
created_at
|
|
53
53
|
FROM internal.lesson_component_status
|
|
54
54
|
WHERE retired_at IS NULL
|
|
55
|
-
`),tn.view("sub_draft_documents_with_status_by_lesson",{document_id:
|
|
55
|
+
`),tn.view("sub_draft_documents_with_status_by_lesson",{document_id:nt("document_id").notNull(),document_type:Kn("document_type").notNull(),document_uid:Le("document_uid",{length:16}),lesson_id:nt("lesson_id"),previous_lesson_id:nt("previous_lesson_id"),gdrive_file_id:nt("gdrive_file_id").notNull(),gdrive_files__epoch:ni("gdrive_files__epoch"),gdrive_files__google_drive_id:ni("gdrive_files__google_drive_id"),gdrive_files__google_drive_url:ni("gdrive_files__google_drive_url"),gdrive_files__opendocument_presentation_bucket_name:ni("gdrive_files__opendocument_presentation_bucket_name"),gdrive_files__opendocument_presentation_bucket_path:ni("gdrive_files__opendocument_presentation_bucket_path"),gdrive_files__opendocument_text_bucket_name:ni("gdrive_files__opendocument_text_bucket_name"),gdrive_files__opendocument_text_bucket_path:ni("gdrive_files__opendocument_text_bucket_path"),gdrive_files__pdf_bucket_name:ni("gdrive_files__pdf_bucket_name"),gdrive_files__pdf_bucket_path:ni("gdrive_files__pdf_bucket_path"),gdrive_files__powerpoint_bucket_name:ni("gdrive_files__powerpoint_bucket_name"),gdrive_files__powerpoint_bucket_path:ni("gdrive_files__powerpoint_bucket_path"),gdrive_files__word_bucket_name:ni("gdrive_files__word_bucket_name"),gdrive_files__word_bucket_path:ni("gdrive_files__word_bucket_path"),_expire_on_release:Be("_expire_on_release").notNull(),_release_id:nt("_release_id"),created_at:ci("created_at",{withTimezone:!0}),updated_at:ci("updated_at",{withTimezone:!0}),sub_live_lesson_component_status__operation_status:C_("sub_live_lesson_component_status__operation_status"),sub_live_lesson_component_status__active_media_id:nt("sub_live_lesson_component_status__active_media_id"),sub_live_lesson_component_status__active_media_type:vn("sub_live_lesson_component_status__active_media_type"),sub_live_lesson_component_status__last_ingest_id:gi("sub_live_lesson_component_status__last_ingest_id"),sub_live_lesson_component_status__created_at:ci("sub_live_lesson_component_status__created_at",{withTimezone:!0})}).as(i.sql`
|
|
56
56
|
SELECT
|
|
57
57
|
d.document_id,
|
|
58
58
|
d.document_type,
|
|
@@ -91,10 +91,10 @@
|
|
|
91
91
|
ON lcs.lesson_component_id = d.document_id
|
|
92
92
|
AND lcs.lesson_component_type = 'document'
|
|
93
93
|
WHERE d._state = 'draft'
|
|
94
|
-
`);const
|
|
94
|
+
`);const z_=tn.view("draft_documents_with_status_by_lesson",{document_id:nt("document_id").notNull(),document_type:Kn("document_type").notNull(),document_uid:Le("document_uid",{length:16}),lesson_id:nt("lesson_id"),previous_lesson_id:nt("previous_lesson_id"),gdrive_file_id:nt("gdrive_file_id").notNull(),gdrive_files__epoch:ni("gdrive_files__epoch"),gdrive_files__google_drive_id:ni("gdrive_files__google_drive_id"),gdrive_files__google_drive_url:ni("gdrive_files__google_drive_url"),gdrive_files__opendocument_presentation_bucket_name:ni("gdrive_files__opendocument_presentation_bucket_name"),gdrive_files__opendocument_presentation_bucket_path:ni("gdrive_files__opendocument_presentation_bucket_path"),gdrive_files__opendocument_text_bucket_name:ni("gdrive_files__opendocument_text_bucket_name"),gdrive_files__opendocument_text_bucket_path:ni("gdrive_files__opendocument_text_bucket_path"),gdrive_files__pdf_bucket_name:ni("gdrive_files__pdf_bucket_name"),gdrive_files__pdf_bucket_path:ni("gdrive_files__pdf_bucket_path"),gdrive_files__powerpoint_bucket_name:ni("gdrive_files__powerpoint_bucket_name"),gdrive_files__powerpoint_bucket_path:ni("gdrive_files__powerpoint_bucket_path"),gdrive_files__word_bucket_name:ni("gdrive_files__word_bucket_name"),gdrive_files__word_bucket_path:ni("gdrive_files__word_bucket_path"),_expire_on_release:Be("_expire_on_release").notNull(),_release_id:nt("_release_id"),created_at:ci("created_at",{withTimezone:!0}),updated_at:ci("updated_at",{withTimezone:!0}),sub_live_lesson_component_status__operation_status:C_("sub_live_lesson_component_status__operation_status"),sub_live_lesson_component_status__active_media_id:nt("sub_live_lesson_component_status__active_media_id"),sub_live_lesson_component_status__active_media_type:vn("sub_live_lesson_component_status__active_media_type"),sub_live_lesson_component_status__last_ingest_id:gi("sub_live_lesson_component_status__last_ingest_id"),sub_live_lesson_component_status__created_at:ci("sub_live_lesson_component_status__created_at",{withTimezone:!0})}).as(i.sql`
|
|
95
95
|
SELECT *
|
|
96
96
|
FROM rendered.sub_draft_documents_with_status_by_lesson
|
|
97
|
-
`),
|
|
97
|
+
`),D_=tn.view("draft_lesson_with_status",{lesson_id:nt("lesson_id").notNull(),agf__has_copyright_restrictions:Be("agf__has_copyright_restrictions"),agf__restricted_download:Be("agf__restricted_download"),equipment_and_resources:mt("equipment_and_resources"),has_tag_practical_not_remote:Be("has_tag_practical_not_remote").notNull(),is_sensitive:Be("is_sensitive").notNull(),key_learning_points:mt("key_learning_points"),keywords:mt("keywords"),lesson_outline:mt("lesson_outline"),lesson_uid:Le("lesson_uid",{length:16}).notNull(),misconceptions_and_common_mistakes:mt("misconceptions_and_common_mistakes"),phonics_outcome:ni("phonics_outcome"),pupil_lesson_outcome:ni("pupil_lesson_outcome"),slug:ni("slug").notNull(),teacher_tips:mt("teacher_tips"),title:ni("title").notNull(),_expire_on_release:Be("_expire_on_release").notNull(),_release_id:nt("_release_id"),created_at:ci("created_at",{withTimezone:!0}),updated_at:ci("updated_at",{withTimezone:!0}),lesson_status__status:j_("lesson_status__status"),lesson_status__approved:Be("lesson_status__approved"),lesson_status__last_approved:ci("lesson_status__last_approved"),lesson_status__last_error_location:ni("lesson_status__last_error_location"),lesson_status__last_error_message:ni("lesson_status__last_error_message"),lesson_status__last_error_timestamp:ci("lesson_status__last_error_timestamp"),lesson_status__created_at:ci("lesson_status__created_at",{withTimezone:!0}),lesson_status__updated_at:ci("lesson_status__updated_at",{withTimezone:!0})}).as(i.sql`
|
|
98
98
|
SELECT
|
|
99
99
|
l.lesson_id,
|
|
100
100
|
l.agf__has_copyright_restrictions,
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
FROM raw.lessons l
|
|
128
128
|
LEFT JOIN internal.lesson_status ls ON ls.lesson_id = l.lesson_id
|
|
129
129
|
WHERE l._state = 'draft'
|
|
130
|
-
`),L_=tn.view("draft_lesson_video_with_status_by_lesson",{lesson_video_id:
|
|
130
|
+
`),L_=tn.view("draft_lesson_video_with_status_by_lesson",{lesson_video_id:nt("lesson_video_id").notNull(),lesson_id:nt("lesson_id").notNull(),video_id:nt("video_id"),main_video___authoring_state:nn("main_video___authoring_state"),main_video__cloudinary_public_id:ni("main_video__cloudinary_public_id"),main_video__cloudinary_source_url:ni("main_video__cloudinary_source_url"),main_video__contains_identifiable_face:Be("main_video__contains_identifiable_face"),main_video__duration_seconds:$t("main_video__duration_seconds"),main_video__has_bsl:Be("main_video__has_bsl"),main_video__media_description:ni("main_video__media_description"),main_video__mux_asset_id:ni("main_video__mux_asset_id"),main_video__mux_playback_id:ni("main_video__mux_playback_id"),main_video__name:ni("main_video__name"),main_video__previous_lesson_video_id:nt("main_video__previous_lesson_video_id"),main_video__previous_media_clip_ids:nt("main_video__previous_media_clip_ids").array(),main_video__raw_mux_data:mt("main_video__raw_mux_data"),main_video__signed_stream_id:ni("main_video__signed_stream_id"),main_video__title:ni("main_video__title"),main_video__url:ni("main_video__url"),main_video__video_uid:Le("main_video__video_uid",{length:16}),main_video___expire_on_release:Be("main_video___expire_on_release"),main_video___release_id:nt("main_video___release_id"),main_video__created_at:ci("main_video__created_at",{withTimezone:!0}),main_video__updated_at:ci("main_video__updated_at",{withTimezone:!0}),sign_language_video_id:nt("sign_language_video_id"),sign_language_video___authoring_state:nn("sign_language_video___authoring_state"),sign_language_video__cloudinary_public_id:ni("sign_language_video__cloudinary_public_id"),sign_language_video__cloudinary_source_url:ni("sign_language_video__cloudinary_source_url"),sign_language_video__contains_identifiable_face:Be("sign_language_video__contains_identifiable_face"),sign_language_video__duration_seconds:$t("sign_language_video__duration_seconds"),sign_language_video__has_bsl:Be("sign_language_video__has_bsl"),sign_language_video__media_description:ni("sign_language_video__media_description"),sign_language_video__mux_asset_id:ni("sign_language_video__mux_asset_id"),sign_language_video__mux_playback_id:ni("sign_language_video__mux_playback_id"),sign_language_video__name:ni("sign_language_video__name"),sign_language_video__previous_lesson_video_id:nt("sign_language_video__previous_lesson_video_id"),sign_language_video__previous_media_clip_ids:nt("sign_language_video__previous_media_clip_ids").array(),sign_language_video__raw_mux_data:mt("sign_language_video__raw_mux_data"),sign_language_video__signed_stream_id:ni("sign_language_video__signed_stream_id"),sign_language_video__title:ni("sign_language_video__title"),sign_language_video__url:ni("sign_language_video__url"),sign_language_video__video_uid:Le("sign_language_video__video_uid",{length:16}),sign_language_video___expire_on_release:Be("sign_language_video___expire_on_release"),sign_language_video___release_id:nt("sign_language_video___release_id"),sign_language_video__created_at:ci("sign_language_video__created_at",{withTimezone:!0}),sign_language_video__updated_at:ci("sign_language_video__updated_at",{withTimezone:!0}),_expire_on_release:Be("_expire_on_release").notNull(),_release_id:nt("_release_id"),created_at:ci("created_at",{withTimezone:!0}),updated_at:ci("updated_at",{withTimezone:!0}),sub_live_lesson_component_status__operation_status:C_("sub_live_lesson_component_status__operation_status"),sub_live_lesson_component_status__active_media_id:nt("sub_live_lesson_component_status__active_media_id"),sub_live_lesson_component_status__active_media_type:vn("sub_live_lesson_component_status__active_media_type"),sub_live_lesson_component_status__last_ingest_id:gi("sub_live_lesson_component_status__last_ingest_id"),sub_live_lesson_component_status__created_at:ci("sub_live_lesson_component_status__created_at",{withTimezone:!0})}).as(i.sql`
|
|
131
131
|
SELECT
|
|
132
132
|
lv.lesson_video_id,
|
|
133
133
|
lv.lesson_id,
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
ON lcs.lesson_component_id = lv.lesson_video_id
|
|
195
195
|
AND lcs.lesson_component_type = 'lesson_video'
|
|
196
196
|
WHERE lv._state = 'draft'
|
|
197
|
-
`),I_=tn.view("published_lesson_with_release",{lesson_id:
|
|
197
|
+
`),I_=tn.view("published_lesson_with_release",{lesson_id:nt("lesson_id").notNull(),agf__has_copyright_restrictions:Be("agf__has_copyright_restrictions"),agf__restricted_download:Be("agf__restricted_download"),equipment_and_resources:mt("equipment_and_resources"),has_tag_practical_not_remote:Be("has_tag_practical_not_remote").notNull(),is_sensitive:Be("is_sensitive").notNull(),key_learning_points:mt("key_learning_points").notNull(),keywords:mt("keywords"),lesson_outline:mt("lesson_outline"),lesson_uid:Le("lesson_uid",{length:16}).notNull(),misconceptions_and_common_mistakes:mt("misconceptions_and_common_mistakes"),phonics_outcome:ni("phonics_outcome"),pupil_lesson_outcome:ni("pupil_lesson_outcome").notNull(),slug:ni("slug").notNull(),teacher_tips:mt("teacher_tips"),title:ni("title").notNull(),releases__approved:Be("releases__approved"),releases__description:ni("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:ni("releases__name"),releases__notes:ni("releases__notes"),releases__release_type:Nn("releases__release_type"),_expire_on_release:Be("_expire_on_release").notNull(),_release_id:nt("_release_id"),created_at:ci("created_at",{withTimezone:!0}).notNull(),updated_at:ci("updated_at",{withTimezone:!0}).notNull(),releases__created_at:ci("releases__created_at",{withTimezone:!0}),releases__updated_at:ci("releases__updated_at",{withTimezone:!0})}).as(i.sql`
|
|
198
198
|
SELECT
|
|
199
199
|
l.lesson_id,
|
|
200
200
|
l.agf__has_copyright_restrictions,
|
|
@@ -227,13 +227,13 @@
|
|
|
227
227
|
FROM raw.lessons l
|
|
228
228
|
LEFT JOIN internal.releases r ON r.release_id = l._release_id
|
|
229
229
|
WHERE l._state = 'published'
|
|
230
|
-
`),F_=tn.view("published_documents_with_release_by_lesson",{document_id:
|
|
230
|
+
`),F_=tn.view("published_documents_with_release_by_lesson",{document_id:nt("document_id").notNull(),document_type:Kn("document_type").notNull(),document_uid:Le("document_uid",{length:16}).notNull(),lesson_id:nt("lesson_id"),previous_lesson_id:nt("previous_lesson_id"),gdrive_file_id:nt("gdrive_file_id").notNull(),gdrive_files__epoch:ni("gdrive_files__epoch"),gdrive_files__google_drive_id:ni("gdrive_files__google_drive_id").notNull(),gdrive_files__google_drive_url:ni("gdrive_files__google_drive_url").notNull(),gdrive_files__opendocument_presentation_bucket_name:ni("gdrive_files__opendocument_presentation_bucket_name"),gdrive_files__opendocument_presentation_bucket_path:ni("gdrive_files__opendocument_presentation_bucket_path"),gdrive_files__opendocument_text_bucket_name:ni("gdrive_files__opendocument_text_bucket_name"),gdrive_files__opendocument_text_bucket_path:ni("gdrive_files__opendocument_text_bucket_path"),gdrive_files__pdf_bucket_name:ni("gdrive_files__pdf_bucket_name"),gdrive_files__pdf_bucket_path:ni("gdrive_files__pdf_bucket_path"),gdrive_files__powerpoint_bucket_name:ni("gdrive_files__powerpoint_bucket_name"),gdrive_files__powerpoint_bucket_path:ni("gdrive_files__powerpoint_bucket_path"),gdrive_files__word_bucket_name:ni("gdrive_files__word_bucket_name"),gdrive_files__word_bucket_path:ni("gdrive_files__word_bucket_path"),releases__approved:Be("releases__approved"),releases__description:ni("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:ni("releases__name"),releases__notes:ni("releases__notes"),releases__release_type:Nn("releases__release_type"),_expire_on_release:Be("_expire_on_release").notNull(),_release_id:nt("_release_id"),created_at:ci("created_at",{withTimezone:!0}).notNull(),updated_at:ci("updated_at",{withTimezone:!0}).notNull(),releases__created_at:ci("releases__created_at",{withTimezone:!0}),releases__updated_at:ci("releases__updated_at",{withTimezone:!0})}).as(i.sql`
|
|
231
231
|
SELECT *
|
|
232
232
|
FROM rendered.sub_published_documents_with_release_by_lesson
|
|
233
|
-
`),
|
|
233
|
+
`),E_=tn.view("published_document_with_release_by_lesson_and_document_type",{document_id:nt("document_id").notNull(),document_type:Kn("document_type").notNull(),document_uid:Le("document_uid",{length:16}).notNull(),lesson_id:nt("lesson_id"),previous_lesson_id:nt("previous_lesson_id"),gdrive_file_id:nt("gdrive_file_id").notNull(),gdrive_files__epoch:ni("gdrive_files__epoch"),gdrive_files__google_drive_id:ni("gdrive_files__google_drive_id").notNull(),gdrive_files__google_drive_url:ni("gdrive_files__google_drive_url").notNull(),gdrive_files__opendocument_presentation_bucket_name:ni("gdrive_files__opendocument_presentation_bucket_name"),gdrive_files__opendocument_presentation_bucket_path:ni("gdrive_files__opendocument_presentation_bucket_path"),gdrive_files__opendocument_text_bucket_name:ni("gdrive_files__opendocument_text_bucket_name"),gdrive_files__opendocument_text_bucket_path:ni("gdrive_files__opendocument_text_bucket_path"),gdrive_files__pdf_bucket_name:ni("gdrive_files__pdf_bucket_name"),gdrive_files__pdf_bucket_path:ni("gdrive_files__pdf_bucket_path"),gdrive_files__powerpoint_bucket_name:ni("gdrive_files__powerpoint_bucket_name"),gdrive_files__powerpoint_bucket_path:ni("gdrive_files__powerpoint_bucket_path"),gdrive_files__word_bucket_name:ni("gdrive_files__word_bucket_name"),gdrive_files__word_bucket_path:ni("gdrive_files__word_bucket_path"),releases__approved:Be("releases__approved"),releases__description:ni("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:ni("releases__name"),releases__notes:ni("releases__notes"),releases__release_type:Nn("releases__release_type"),_expire_on_release:Be("_expire_on_release").notNull(),_release_id:nt("_release_id"),created_at:ci("created_at",{withTimezone:!0}).notNull(),updated_at:ci("updated_at",{withTimezone:!0}).notNull(),releases__created_at:ci("releases__created_at",{withTimezone:!0}),releases__updated_at:ci("releases__updated_at",{withTimezone:!0})}).as(i.sql`
|
|
234
234
|
SELECT *
|
|
235
235
|
FROM rendered.sub_published_documents_with_release_by_lesson
|
|
236
|
-
`),
|
|
236
|
+
`),Q_=tn.view("published_lesson_video_with_release_by_lesson",{lesson_video_id:nt("lesson_video_id").notNull(),lesson_id:nt("lesson_id").notNull(),video_id:nt("video_id").notNull(),main_video___authoring_state:nn("main_video___authoring_state").notNull(),main_video__cloudinary_public_id:ni("main_video__cloudinary_public_id"),main_video__cloudinary_source_url:ni("main_video__cloudinary_source_url"),main_video__contains_identifiable_face:Be("main_video__contains_identifiable_face"),main_video__duration_seconds:$t("main_video__duration_seconds"),main_video__has_bsl:Be("main_video__has_bsl").notNull(),main_video__media_description:ni("main_video__media_description"),main_video__mux_asset_id:ni("main_video__mux_asset_id").notNull(),main_video__mux_playback_id:ni("main_video__mux_playback_id"),main_video__name:ni("main_video__name"),main_video__previous_lesson_video_id:nt("main_video__previous_lesson_video_id"),main_video__previous_media_clip_ids:nt("main_video__previous_media_clip_ids").array(),main_video__raw_mux_data:mt("main_video__raw_mux_data").notNull(),main_video__signed_stream_id:ni("main_video__signed_stream_id"),main_video__title:ni("main_video__title"),main_video__url:ni("main_video__url").notNull(),main_video__video_uid:Le("main_video__video_uid",{length:16}).notNull(),main_video___expire_on_release:Be("main_video___expire_on_release").notNull(),main_video___release_id:nt("main_video___release_id"),main_video__created_at:ci("main_video__created_at",{withTimezone:!0}).notNull(),main_video__updated_at:ci("main_video__updated_at",{withTimezone:!0}).notNull(),sign_language_video_id:nt("sign_language_video_id"),sign_language_video___authoring_state:nn("sign_language_video___authoring_state"),sign_language_video__cloudinary_public_id:ni("sign_language_video__cloudinary_public_id"),sign_language_video__cloudinary_source_url:ni("sign_language_video__cloudinary_source_url"),sign_language_video__contains_identifiable_face:Be("sign_language_video__contains_identifiable_face"),sign_language_video__duration_seconds:$t("sign_language_video__duration_seconds"),sign_language_video__has_bsl:Be("sign_language_video__has_bsl"),sign_language_video__media_description:ni("sign_language_video__media_description"),sign_language_video__mux_asset_id:ni("sign_language_video__mux_asset_id"),sign_language_video__mux_playback_id:ni("sign_language_video__mux_playback_id"),sign_language_video__name:ni("sign_language_video__name"),sign_language_video__previous_lesson_video_id:nt("sign_language_video__previous_lesson_video_id"),sign_language_video__previous_media_clip_ids:nt("sign_language_video__previous_media_clip_ids").array(),sign_language_video__raw_mux_data:mt("sign_language_video__raw_mux_data"),sign_language_video__signed_stream_id:ni("sign_language_video__signed_stream_id"),sign_language_video__title:ni("sign_language_video__title"),sign_language_video__url:ni("sign_language_video__url"),sign_language_video__video_uid:Le("sign_language_video__video_uid",{length:16}),sign_language_video___expire_on_release:Be("sign_language_video___expire_on_release"),sign_language_video___release_id:nt("sign_language_video___release_id"),sign_language_video__created_at:ci("sign_language_video__created_at",{withTimezone:!0}),sign_language_video__updated_at:ci("sign_language_video__updated_at",{withTimezone:!0}),releases__approved:Be("releases__approved"),releases__description:ni("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:ni("releases__name"),releases__notes:ni("releases__notes"),releases__release_type:Nn("releases__release_type"),_expire_on_release:Be("_expire_on_release").notNull(),_release_id:nt("_release_id"),created_at:ci("created_at",{withTimezone:!0}).notNull(),updated_at:ci("updated_at",{withTimezone:!0}).notNull(),releases__created_at:ci("releases__created_at",{withTimezone:!0}),releases__updated_at:ci("releases__updated_at",{withTimezone:!0})}).as(i.sql`
|
|
237
237
|
SELECT
|
|
238
238
|
lv.lesson_video_id,
|
|
239
239
|
lv.lesson_id,
|
|
@@ -301,7 +301,7 @@
|
|
|
301
301
|
LEFT JOIN raw.videos slv ON slv.video_id = lv.sign_language_video_id
|
|
302
302
|
LEFT JOIN internal.releases r ON r.release_id = lv._release_id
|
|
303
303
|
WHERE lv._state = 'published'
|
|
304
|
-
`),V_=tn.view("unit_contexts_by_unit",{subject_id:
|
|
304
|
+
`),V_=tn.view("unit_contexts_by_unit",{subject_id:nt("subject_id").notNull(),year_id:nt("year_id").notNull(),unit_id:nt("unit_id").notNull(),_state:nn("_state").notNull(),subjects__subject:ni("subjects__subject"),subjects__subject_parent_id:nt("subjects__subject_parent_id"),subjects__non_curriculum:Be("subjects__non_curriculum"),subjects__description:ni("subjects__description"),subjects__global_position:nt("subjects__global_position").notNull(),subjects__slug:ni("subjects__slug"),years__year:ni("years__year"),years__key_stage_id:nt("years__key_stage_id").notNull(),years__phase_id:nt("years__phase_id").notNull(),years__description:ni("years__description"),years__global_position:nt("years__global_position").notNull(),years__slug:ni("years__slug"),key_stages__key_stage:ni("key_stages__key_stage"),key_stages__description:ni("key_stages__description"),key_stages__global_position:nt("key_stages__global_position").notNull(),key_stages__slug:ni("key_stages__slug"),phases__phase:ni("phases__phase"),phases__description:ni("phases__description"),phases__global_position:nt("phases__global_position").notNull(),phases__slug:ni("phases__slug")}).as(i.sql`
|
|
305
305
|
SELECT
|
|
306
306
|
uc.subject_id,
|
|
307
307
|
uc.year_id,
|
|
@@ -332,7 +332,94 @@
|
|
|
332
332
|
JOIN raw.years y ON y.year_id = uc.year_id
|
|
333
333
|
JOIN raw.key_stages ks ON ks.key_stage_id = y.key_stage_id
|
|
334
334
|
JOIN raw.phases p ON p.phase_id = y.phase_id
|
|
335
|
-
`)
|
|
335
|
+
`);tn.view("unitvariant_contexts_by_lesson",{lesson_id:nt("lesson_id").notNull(),_lesson_state:nn("_lesson_state").notNull(),unit_variant_id:nt("unit_variant_id").notNull(),_unit_variant_state:nn("_unit_variant_state").notNull(),programme_id:nt("programme_id").notNull(),position:nt("position").notNull(),_programme_state:nn("_programme_state").notNull(),programmes__subject_id:nt("programmes__subject_id").notNull(),programmes__year_id:nt("programmes__year_id").notNull(),programmes__tier_id:nt("programmes__tier_id"),programmes__exam_board_id:nt("programmes__exam_board_id"),programmes__pathway_id:nt("programmes__pathway_id"),programmes__legacy:Be("programmes__legacy").notNull(),unit_variants__unit_id:nt("unit_variants__unit_id").notNull(),unit_variants__subject_id:nt("unit_variants__subject_id"),unit_variants__tier_id:nt("unit_variants__tier_id"),unit_variants__exam_board_id:nt("unit_variants__exam_board_id"),unit_variants__pathway_id:nt("unit_variants__pathway_id"),unit_variants__title_override:ni("unit_variants__title_override"),unit_variants__optionality:ni("unit_variants__optionality"),subjects__subject:ni("subjects__subject"),years__year:ni("years__year"),years__key_stage_id:nt("years__key_stage_id").notNull(),key_stages__key_stage:ni("key_stages__key_stage"),years__phase_id:nt("years__phase_id").notNull(),phases__phase:ni("phases__phase"),tiers__tier:ni("tiers__tier"),exam_boards__exam_board:ni("exam_boards__exam_board"),pathways__pathway:ni("pathways__pathway"),units__title:ni("units__title").notNull(),choice_id:nt("choice_id"),slot_kind:ni("slot_kind").notNull()}).as(i.sql`
|
|
336
|
+
WITH placements AS (
|
|
337
|
+
SELECT
|
|
338
|
+
uvl.lesson_id,
|
|
339
|
+
uvl._lesson_state,
|
|
340
|
+
uvl.unit_variant_id,
|
|
341
|
+
uvl._unit_variant_state,
|
|
342
|
+
i.programme_id,
|
|
343
|
+
i.position,
|
|
344
|
+
i._programme_state,
|
|
345
|
+
NULL::integer AS choice_id,
|
|
346
|
+
'fixed'::text AS slot_kind
|
|
347
|
+
FROM raw.unit_variant_lessons uvl
|
|
348
|
+
JOIN raw.inclusions i
|
|
349
|
+
ON i.unit_variant_id = uvl.unit_variant_id
|
|
350
|
+
AND i._unit_variant_state = uvl._unit_variant_state
|
|
351
|
+
|
|
352
|
+
UNION ALL
|
|
353
|
+
|
|
354
|
+
SELECT
|
|
355
|
+
uvl.lesson_id,
|
|
356
|
+
uvl._lesson_state,
|
|
357
|
+
uvl.unit_variant_id,
|
|
358
|
+
uvl._unit_variant_state,
|
|
359
|
+
i.programme_id,
|
|
360
|
+
i.position,
|
|
361
|
+
i._programme_state,
|
|
362
|
+
cuv.choice_id,
|
|
363
|
+
'choice'::text AS slot_kind
|
|
364
|
+
FROM raw.unit_variant_lessons uvl
|
|
365
|
+
JOIN raw.choices_unit_variants cuv
|
|
366
|
+
ON cuv.unit_variant_id = uvl.unit_variant_id
|
|
367
|
+
AND cuv._unit_variant_state = uvl._unit_variant_state
|
|
368
|
+
JOIN raw.inclusions i
|
|
369
|
+
ON i.choice_id = cuv.choice_id
|
|
370
|
+
AND i._choice_state = cuv._choice_state
|
|
371
|
+
)
|
|
372
|
+
SELECT
|
|
373
|
+
p.lesson_id,
|
|
374
|
+
p._lesson_state,
|
|
375
|
+
p.unit_variant_id,
|
|
376
|
+
p._unit_variant_state,
|
|
377
|
+
p.programme_id,
|
|
378
|
+
p.position,
|
|
379
|
+
p._programme_state,
|
|
380
|
+
pr.subject_id AS programmes__subject_id,
|
|
381
|
+
pr.year_id AS programmes__year_id,
|
|
382
|
+
pr.tier_id AS programmes__tier_id,
|
|
383
|
+
pr.exam_board_id AS programmes__exam_board_id,
|
|
384
|
+
pr.pathway_id AS programmes__pathway_id,
|
|
385
|
+
pr.legacy AS programmes__legacy,
|
|
386
|
+
uv.unit_id AS unit_variants__unit_id,
|
|
387
|
+
uv.subject_id AS unit_variants__subject_id,
|
|
388
|
+
uv.tier_id AS unit_variants__tier_id,
|
|
389
|
+
uv.exam_board_id AS unit_variants__exam_board_id,
|
|
390
|
+
uv.pathway_id AS unit_variants__pathway_id,
|
|
391
|
+
uv.title_override AS unit_variants__title_override,
|
|
392
|
+
uv.optionality AS unit_variants__optionality,
|
|
393
|
+
s.subject AS subjects__subject,
|
|
394
|
+
y.year AS years__year,
|
|
395
|
+
y.key_stage_id AS years__key_stage_id,
|
|
396
|
+
ks.key_stage AS key_stages__key_stage,
|
|
397
|
+
y.phase_id AS years__phase_id,
|
|
398
|
+
ph.phase AS phases__phase,
|
|
399
|
+
t.tier AS tiers__tier,
|
|
400
|
+
eb.exam_board AS exam_boards__exam_board,
|
|
401
|
+
pa.pathway AS pathways__pathway,
|
|
402
|
+
u.title AS units__title,
|
|
403
|
+
p.choice_id,
|
|
404
|
+
p.slot_kind
|
|
405
|
+
FROM placements p
|
|
406
|
+
JOIN raw.programmes pr
|
|
407
|
+
ON pr.programme_id = p.programme_id
|
|
408
|
+
AND pr._state = p._programme_state
|
|
409
|
+
JOIN raw.unit_variants uv
|
|
410
|
+
ON uv.unit_variant_id = p.unit_variant_id
|
|
411
|
+
AND uv._state = p._unit_variant_state
|
|
412
|
+
JOIN raw.units u
|
|
413
|
+
ON u.unit_id = uv.unit_id
|
|
414
|
+
AND u._state = uv._state
|
|
415
|
+
JOIN raw.subjects s ON s.subject_id = pr.subject_id
|
|
416
|
+
JOIN raw.years y ON y.year_id = pr.year_id
|
|
417
|
+
JOIN raw.key_stages ks ON ks.key_stage_id = y.key_stage_id
|
|
418
|
+
JOIN raw.phases ph ON ph.phase_id = y.phase_id
|
|
419
|
+
LEFT JOIN raw.tiers t ON t.tier_id = pr.tier_id
|
|
420
|
+
LEFT JOIN raw.exam_boards eb ON eb.exam_board_id = pr.exam_board_id
|
|
421
|
+
LEFT JOIN raw.pathways pa ON pa.pathway_id = pr.pathway_id
|
|
422
|
+
`);const J_=tn.view("units_by_lesson",{lesson_id:nt("lesson_id").notNull(),_lesson_state:nn("_lesson_state").notNull(),unit_id:nt("unit_id").notNull(),_unit_state:nn("_unit_state").notNull(),position:nt("position").notNull(),units__title:ni("units__title").notNull(),units__slug:ni("units__slug"),units__description:ni("units__description").notNull()}).as(i.sql`
|
|
336
423
|
SELECT
|
|
337
424
|
ul.lesson_id,
|
|
338
425
|
ul._lesson_state,
|
|
@@ -346,5 +433,5 @@
|
|
|
346
433
|
JOIN raw.units u
|
|
347
434
|
ON u.unit_id = ul.unit_id
|
|
348
435
|
AND u._state = ul._unit_state
|
|
349
|
-
`),U_=s.z.object({equipment:s.z.string()}),
|
|
436
|
+
`),U_=s.z.object({equipment:s.z.string()}),K_=s.z.object({key_learning_point:s.z.string()}),R_=s.z.object({keyword:s.z.string(),description:s.z.string()}),M_=s.z.object({lesson_outline:s.z.string()}),W_=s.z.object({misconception:s.z.string(),response:s.z.string()}),H_=s.z.object({teacher_tip:s.z.string()}),G_=t.createSelectSchema(D_,{equipment_and_resources:s.z.array(U_).nullable(),key_learning_points:s.z.array(K_).nullable(),keywords:s.z.array(R_).nullable(),lesson_outline:s.z.array(M_).nullable(),misconceptions_and_common_mistakes:s.z.array(W_).nullable(),teacher_tips:s.z.array(H_).nullable()}),Y_=_.default(G_),Z_=s.z.record(s.z.string(),s.z.unknown()),X_=t.createSelectSchema(L_,{main_video__raw_mux_data:Z_.nullable(),sign_language_video__raw_mux_data:Z_.nullable()}),ea=_.default(X_),ta=t.createSelectSchema(I_,{equipment_and_resources:s.z.array(U_).nullable(),key_learning_points:s.z.array(K_),keywords:s.z.array(R_).nullable(),lesson_outline:s.z.array(M_).nullable(),misconceptions_and_common_mistakes:s.z.array(W_).nullable(),teacher_tips:s.z.array(H_).nullable()}),ia=_.default(ta),sa=t.createSelectSchema(z_),na=_.default(sa),_a=t.createSelectSchema(E_),aa=_.default(_a),oa=t.createSelectSchema(F_),ra=_.default(oa),la=t.createSelectSchema(Q_,{main_video__raw_mux_data:Z_,sign_language_video__raw_mux_data:Z_.nullable()}),da=_.default(la),ua=t.createSelectSchema(V_),ca=_.default(ua),ma=t.createSelectSchema(J_),pa=_.default(ma);exports.draftDocumentsWithStatusByLessonCamelSchema=na,exports.draftDocumentsWithStatusByLessonSchema=sa,exports.draftLessonVideoWithStatusByLessonCamelSchema=ea,exports.draftLessonVideoWithStatusByLessonSchema=X_,exports.draftLessonWithStatusCamelSchema=Y_,exports.draftLessonWithStatusSchema=G_,exports.publishedDocumentWithReleaseByLessonAndDocumentTypeCamelSchema=aa,exports.publishedDocumentWithReleaseByLessonAndDocumentTypeSchema=_a,exports.publishedDocumentsWithReleaseByLessonCamelSchema=ra,exports.publishedDocumentsWithReleaseByLessonSchema=oa,exports.publishedLessonVideoWithReleaseByLessonCamelSchema=da,exports.publishedLessonVideoWithReleaseByLessonSchema=la,exports.publishedLessonWithReleaseCamelSchema=ia,exports.publishedLessonWithReleaseSchema=ta,exports.unitContextsByUnitCamelSchema=ca,exports.unitContextsByUnitSchema=ua,exports.unitsByLessonCamelSchema=pa,exports.unitsByLessonSchema=ma;
|
|
350
437
|
//# sourceMappingURL=index.cjs.map
|