@oaknational/oak-curriculum-schema-v2 0.0.13-alpha → 0.0.14-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 CHANGED
@@ -1,13 +1,13 @@
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 y(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 y{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 b(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 v(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]=b(e,s+1,!0);i.push(t),s=n;continue}if("}"===_)return[i,s+1];if("{"===_){const[t,n]=v(e,s+1);i.push(t),s=n;continue}const[a,o]=b(e,s,!1);i.push(a),s=o}return[i,s]}function w(e){const[t]=v(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 S 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 k 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 k{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 S{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 k{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 S{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 k{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 S{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 k{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 Y{static[a]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new G([this])}}class G{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,Y))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 Y("(")];for(const[i,s]of e.entries())t.push(s),i<e.length-1&&t.push(new Y(", "));return t.push(new Y(")")),this.buildQueryFromSourceParams(t,i)}if(o(e,G))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,G))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,G.Aliased)&&void 0!==e.fieldAlias?{sql:n(e.fieldAlias),params:[]}:o(e,B)?e._.isWith?{sql:n(e._.alias),params:[]}:this.buildQueryFromSourceParams([new Y("("),e._.sql,new Y(") "),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 Y("("),e.getSQL(),new Y(")")],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 G.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 G([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 G([this])}}function ie(e,...t){const i=[];(t.length>0||e.length>0&&""!==e[0])&&i.push(new Y(e[0]));for(const[s,n]of t.entries())i.push(n,new Y(e[s+1]));return new G(i)}var se;(se=ie||(ie={})).empty=function(){return new G([])},se.fromList=function(e){return new G(e)},se.raw=function(e){return new G([new Y(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 G(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})(G||(G={}));class ne{constructor(e){this.name=e}static[a]="Placeholder";getSQL(){return new G([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 G([this])}}r.prototype.getSQL=function(){return new G([this])},R.prototype.getSQL=function(){return new G([this])},B.prototype.getSQL=function(){return new G([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 G.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,G)?ce(e,t):o(e,G.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,G)||o(s,G.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 ye(e){return e[R.Symbol.Columns]}function be(e){return o(e,B)?e._.alias:o(e,ae)?e[L].name:o(e,G)?void 0:e[R.Symbol.IsAlias]?e[R.Symbol.Name]:e[R.Symbol.BaseName]}function ve(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 S{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 Se(e,this.config)}}class Se extends k{static[a]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class ke extends we{static[a]="PgBigInt64Builder";constructor(e){super(e,"bigint","PgBigInt64")}build(e){return new xe(e,this.config)}}class xe extends k{static[a]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(e){return BigInt(e)}}function Ae(e,t){const{name:i,config:s}=ve(e,t);return"number"===s.mode?new Ne(i):new ke(i)}class Ce extends S{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 k{static[a]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class je extends S{static[a]="PgBigSerial64Builder";constructor(e){super(e,"bigint","PgBigSerial64"),this.config.hasDefault=!0}build(e){return new Te(e,this.config)}}class Te extends k{static[a]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(e){return BigInt(e)}}function $e(e,t){const{name:i,config:s}=ve(e,t);return"number"===s.mode?new Ce(i):new je(i)}class Pe extends S{static[a]="PgBooleanBuilder";constructor(e){super(e,"boolean","PgBoolean")}build(e){return new Oe(e,this.config)}}class Oe extends k{static[a]="PgBoolean";getSQLType(){return"boolean"}}function Be(e){return new Pe(e??"")}class ze extends S{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 k{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}=ve(e,t);return new ze(i,s)}class Ie extends S{static[a]="PgCidrBuilder";constructor(e){super(e,"string","PgCidr")}build(e){return new Fe(e,this.config)}}class Fe extends k{static[a]="PgCidr";getSQLType(){return"cidr"}}function Ee(e){return new Ie(e??"")}class Qe extends S{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 k{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}=ve(t,i);return new Qe(s,n,e)}}class Ue extends S{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 k{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 k{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}=ve(e,t);return"date"===s?.mode?new Ke(i):new Me(i)}class Ye extends S{static[a]="PgDoublePrecisionBuilder";constructor(e){super(e,"number","PgDoublePrecision")}build(e){return new Ge(e,this.config)}}class Ge extends k{static[a]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(e){return"string"==typeof e?Number.parseFloat(e):e}}function Ze(e){return new Ye(e??"")}class Xe extends S{static[a]="PgInetBuilder";constructor(e){super(e,"string","PgInet")}build(e){return new et(e,this.config)}}class et extends k{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 k{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 S{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 k{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}=ve(e,t);return new _t(i,s)}class rt extends S{static[a]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new lt(e,this.config)}}class lt extends k{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 S{static[a]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new ct(e,this.config)}}class ct extends k{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 S{static[a]="PgLineBuilder";constructor(e){super(e,"array","PgLine")}build(e){return new gt(e,this.config)}}class gt extends k{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 S{static[a]="PgLineABCBuilder";constructor(e){super(e,"json","PgLineABC")}build(e){return new ht(e,this.config)}}class ht extends k{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 yt(e,t){const{name:i,config:s}=ve(e,t);return s?.mode&&"tuple"!==s.mode?new ft(i):new pt(i)}class bt extends S{static[a]="PgMacaddrBuilder";constructor(e){super(e,"string","PgMacaddr")}build(e){return new vt(e,this.config)}}class vt extends k{static[a]="PgMacaddr";getSQLType(){return"macaddr"}}function wt(e){return new bt(e??"")}class Nt extends S{static[a]="PgMacaddr8Builder";constructor(e){super(e,"string","PgMacaddr8")}build(e){return new St(e,this.config)}}class St extends k{static[a]="PgMacaddr8";getSQLType(){return"macaddr8"}}function kt(e){return new Nt(e??"")}class xt extends S{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 k{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 S{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 k{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 S{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 k{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}=ve(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 S{static[a]="PgPointTupleBuilder";constructor(e){super(e,"array","PgPointTuple")}build(e){return new Ot(e,this.config)}}class Ot extends k{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 S{static[a]="PgPointObjectBuilder";constructor(e){super(e,"json","PgPointObject")}build(e){return new zt(e,this.config)}}class zt extends k{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}=ve(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 S{static[a]="PgGeometryBuilder";constructor(e){super(e,"array","PgGeometry")}build(e){return new Et(e,this.config)}}class Et extends k{static[a]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){return It(e)}mapToDriverValue(e){return`point(${e[0]} ${e[1]})`}}class Qt extends S{static[a]="PgGeometryObjectBuilder";constructor(e){super(e,"json","PgGeometryObject")}build(e){return new Vt(e,this.config)}}class Vt extends k{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}=ve(e,t);return s?.mode&&"tuple"!==s.mode?new Qt(i):new Ft(i)}class Ut extends S{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 k{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 S{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 k{static[a]="PgSerial";getSQLType(){return"serial"}}function Ht(e){return new Mt(e??"")}class Yt extends we{static[a]="PgSmallIntBuilder";constructor(e){super(e,"number","PgSmallInt")}build(e){return new Gt(e,this.config)}}class Gt extends k{static[a]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=e=>"string"==typeof e?Number(e):e}function Zt(e){return new Yt(e??"")}class Xt extends S{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 k{static[a]="PgSmallSerial";getSQLType(){return"smallserial"}}function ti(e){return new Xt(e??"")}class ii extends S{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 k{static[a]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function ni(e,t={}){const{name:i,config:s}=ve(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 k{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}=ve(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 k{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 k{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}=ve(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 S{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 k{static[a]="PgUUID";getSQLType(){return"uuid"}}function gi(e){return new mi(e??"")}class fi extends S{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 k{static[a]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return void 0===this.length?"varchar":`varchar(${this.length})`}}function yi(e,t={}){const{name:i,config:s}=ve(e,t);return new fi(i,s)}class bi extends S{static[a]="PgBinaryVectorBuilder";constructor(e,t){super(e,"string","PgBinaryVector"),this.config.dimensions=t.dimensions}build(e){return new vi(e,this.config)}}class vi extends k{static[a]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function wi(e,t){const{name:i,config:s}=ve(e,t);return new bi(i,s)}class Ni extends S{static[a]="PgHalfVectorBuilder";constructor(e,t){super(e,"array","PgHalfVector"),this.config.dimensions=t.dimensions}build(e){return new Si(e,this.config)}}class Si extends k{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 ki(e,t){const{name:i,config:s}=ve(e,t);return new Ni(i,s)}class xi extends S{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 k{static[a]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function Ci(e,t){const{name:i,config:s}=ve(e,t);return new xi(i,s)}class qi extends S{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 k{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}=ve(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,G.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!i.isSelectionField)return i.sql;const e=i.clone();return e.isSelectionField=!0,e}if(o(i,G)){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:yt,macaddr:wt,macaddr8:kt,numeric:$t,point:Dt,geometry:Jt,real:Rt,serial:Ht,smallint:Zt,smallserial:ti,text:ni,time:oi,timestamp:ci,uuid:gi,varchar:yi,bit:wi,halfvec:ki,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,G))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,G))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,G))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 Yi{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 Gi 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 G(t):new G([new Y("("),ie.join(t,new Y(" and ")),new Y(")")])}function is(...e){const t=e.filter(e=>void 0!==e);if(0!==t.length)return 1===t.length?new G(t):new G([new Y("("),ie.join(t,new Y(" or ")),new Y(")")])}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 ys(e,t){return ie`${e} ilike ${t}`}function bs(e,t){return ie`${e} not ilike ${t}`}function vs(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 Ss 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 Ss(this.sourceTable,this.referencedTable,this.config,this.isNullable);return t.fieldName=e,t}}class ks extends Ns{constructor(e,t,i){super(e,t,i?.relationName),this.config=i}static[a]="Many";withFieldName(e){const t=new ks(this.sourceTable,this.referencedTable,this.config);return t.fieldName=e,t}}function xs(e,t,i){if(o(i,Ss)&&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],Ss)&&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 Yi(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)} (
1
+ "use strict";var e=require("zod-to-camel-case"),i=require("drizzle-zod"),t=require("drizzle-orm"),_=require("zod");function s(e){return e&&e.__esModule?e:{default:e}}var n=s(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:_}=e();return{name:i,columns:t,foreignTable:_[0].table,foreignColumns:_}},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(),_=i.map(e=>e.name),s=t.map(e=>e.name),n=[this.table[d],..._,t[0].table[d],...s];return e??`${n.join("_")}_fk`}}function m(e){return new u(function(){const{name:i,columns:t,foreignColumns:_}=e;return{name:i,columns:t,foreignColumns:_}})}function p(e){return new f(e)}function g(e,i){return`${e[d]}_${i.join("_")}_unique`}class h{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 f{static[a]="PgUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new h(e,this.name)}}class v{constructor(e,i,t,_){this.table=e,this.columns=i,this.name=_??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 _=i;_<e.length;_++){const s=e[_];if("\\"!==s){if('"'===s)return[e.slice(i,_).replace(/\\/g,""),_+1];if(!t&&(","===s||"}"===s))return[e.slice(i,_).replace(/\\/g,""),_]}else _++}return[e.slice(i).replace(/\\/g,""),e.length]}function b(e,i=0){const t=[];let _=i,s=!1;for(;_<e.length;){const n=e[_];if(","===n){(s||_===i)&&t.push(""),s=!0,_++;continue}if(s=!1,"\\"===n){_+=2;continue}if('"'===n){const[i,s]=y(e,_+1,!0);t.push(i),_=s;continue}if("}"===n)return[t,_+1];if("{"===n){const[i,s]=b(e,_+1);t.push(i),_=s;continue}const[a,o]=y(e,_,!1);t.push(a),_=o}return[t,_]}function w(e){const[i]=b(e,1);return i}function S(e){return`{${e.map(e=>Array.isArray(e)?S(e):"string"==typeof e?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${e}`).join(",")}}`}class N extends l{foreignKeyConfigs=[];static[a]="PgColumnBuilder";array(e){return new q(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:_})=>function(e,...i){return e(...i)}((t,_)=>{const s=new u(()=>{const i=t();return{columns:[e],foreignColumns:[i]}});return _.onUpdate&&s.onUpdate(_.onUpdate),_.onDelete&&s.onDelete(_.onDelete),s.build(i)},t,_))}buildExtraConfigColumn(e){return new x(e,this.config)}}class k 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 k{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,_){this.name=e,this.keyAsName=i,this.type=t,this.indexConfig=_}name;keyAsName;type;indexConfig}class q extends N{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 T(e,this.config,i)}}class T extends k{constructor(e,i,t,_){super(e,i),this.baseColumn=t,this.range=_,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,T)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return i?t:S(t)}}class C extends N{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 k{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 O=Symbol.for("drizzle:isPgEnum");class $ extends N{static[a]="PgEnumColumnBuilder";constructor(e,i){super(e,"string","PgEnumColumn"),this.config.enum=i}build(e){return new z(e,this.config)}}class z extends k{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 P{static[a]="Subquery";constructor(e,i,t,_=!1,s=[]){this._={brand:"Subquery",sql:e,selectedFields:i,alias:t,isWith:_,usedTables:s}}}class D extends P{static[a]="WithSubquery"}const L={startActiveSpan:(e,i)=>i()},B=Symbol.for("drizzle:ViewBaseConfig"),I=Symbol.for("drizzle:Schema"),E=Symbol.for("drizzle:Columns"),F=Symbol.for("drizzle:ExtraConfigColumns"),Q=Symbol.for("drizzle:OriginalName"),V=Symbol.for("drizzle:BaseName"),J=Symbol.for("drizzle:IsAlias"),R=Symbol.for("drizzle:ExtraConfigBuilder"),U=Symbol.for("drizzle:IsDrizzleTable");class K{static[a]="Table";static Symbol={Name:d,Schema:I,OriginalName:Q,Columns:E,ExtraConfigColumns:F,BaseName:V,IsAlias:J,ExtraConfigBuilder:R};[d];[Q];[I];[E];[F];[V];[J]=!1;[U]=!0;[R]=void 0;constructor(e,i,t){this[d]=this[Q]=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 Y{static[a]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new G([this])}}class G{constructor(e){this.queryChunks=e;for(const i of e)if(o(i,K)){const e=i[K.Symbol.Schema];this.usedTables.push(void 0===e?i[K.Symbol.Name]:e+"."+i[K.Symbol.Name])}}static[a]="SQL";decoder=X;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return L.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:_,escapeName:s,escapeParam:n,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,Y))return{sql:e.value.join(""),params:[]};if(o(e,Z))return{sql:s(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){const i=[new Y("(")];for(const[t,_]of e.entries())i.push(_),t<e.length-1&&i.push(new Y(", "));return i.push(new Y(")")),this.buildQueryFromSourceParams(i,t)}if(o(e,G))return this.buildQueryFromSourceParams(e.queryChunks,{...t,inlineParams:l||e.shouldInlineParams});if(o(e,K)){const i=e[K.Symbol.Schema],t=e[K.Symbol.Name];return{sql:void 0===i||e[J]?s(t):s(i)+"."+s(t),params:[]}}if(o(e,r)){const t=_.getColumnCasing(e);if("indexes"===i.invokeSource)return{sql:s(t),params:[]};const n=e.table[K.Symbol.Schema];return{sql:e.table[J]||void 0===n?s(e.table[K.Symbol.Name])+"."+s(t):s(n)+"."+s(e.table[K.Symbol.Name])+"."+s(t),params:[]}}if(o(e,ae)){const i=e[B].schema,t=e[B].name;return{sql:void 0===i||e[B].isAlias?s(t):s(i)+"."+s(t),params:[]}}if(o(e,ie)){if(o(e.value,se))return{sql:n(d.value++,e),params:[e],typings:["none"]};const i=null===e.value?null:e.encoder.mapToDriverValue(e.value);if(o(i,G))return this.buildQueryFromSourceParams([i],t);if(l)return{sql:this.mapInlineParam(i,t),params:[]};let _=["none"];return a&&(_=[a(e.encoder)]),{sql:n(d.value++,i),params:[i],typings:_}}return o(e,se)?{sql:n(d.value++,e),params:[e],typings:["none"]}:o(e,G.Aliased)&&void 0!==e.fieldAlias?{sql:s(e.fieldAlias),params:[]}:o(e,P)?e._.isWith?{sql:s(e._.alias),params:[]}:this.buildQueryFromSourceParams([new Y("("),e._.sql,new Y(") "),new Z(e._.alias)],t):(u=e)&&"function"==typeof u&&O in u&&!0===u[O]?e.schema?{sql:s(e.schema)+"."+s(e.enumName),params:[]}:{sql:s(e.enumName),params:[]}:H(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],t):this.buildQueryFromSourceParams([new Y("("),e.getSQL(),new Y(")")],t):l?{sql:this.mapInlineParam(e,t),params:[]}:{sql:n(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 G.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 G([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 G([this])}}function te(e,...i){const t=[];(i.length>0||e.length>0&&""!==e[0])&&t.push(new Y(e[0]));for(const[_,s]of i.entries())t.push(s,new Y(e[_+1]));return new G(t)}var _e;(_e=te||(te={})).empty=function(){return new G([])},_e.fromList=function(e){return new G(e)},_e.raw=function(e){return new G([new Y(e)])},_e.join=function(e,i){const t=[];for(const[_,s]of e.entries())_>0&&void 0!==i&&t.push(i),t.push(s);return new G(t)},_e.identifier=function(e){return new Z(e)},_e.placeholder=function(e){return new se(e)},_e.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})(G||(G={}));class se{constructor(e){this.name=e}static[a]="Placeholder";getSQL(){return new G([this])}}const ne=Symbol.for("drizzle:IsDrizzleView");class ae{static[a]="View";[B];[ne]=!0;constructor({name:e,schema:i,selectedFields:t,query:_}){this[B]={name:e,originalName:e,schema:i,selectedFields:t,query:_,isExisting:!_,isAlias:!1}}getSQL(){return new G([this])}}r.prototype.getSQL=function(){return new G([this])},K.prototype.getSQL=function(){return new G([this])},P.prototype.getSQL=function(){return new G([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===K.Symbol.IsAlias)return!0;if(i===K.Symbol.Name)return this.alias;if(this.replaceOriginalName&&i===K.Symbol.OriginalName)return this.alias;if(i===B)return{...e[B],name:this.alias,isAlias:!0};if(i===K.Symbol.Columns){const i=e[K.Symbol.Columns];if(!i)return i;const t={};return Object.keys(i).map(_=>{t[_]=new Proxy(i[_],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 G.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,G)?ce(e,i):o(e,G.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 he(e,i){return Object.entries(e).reduce((e,[t,_])=>{if("string"!=typeof t)return e;const s=i?[...i,t]:[t];return o(_,r)||o(_,G)||o(_,G.Aliased)||o(_,P)?e.push({path:s,field:_}):o(_,K)?e.push(...he(_[K.Symbol.Columns],s)):e.push(...he(_,s)),e},[])}function fe(e,i){const t=Object.keys(e),_=Object.keys(i);if(t.length!==_.length)return!1;for(const[e,i]of t.entries())if(i!==_[e])return!1;return!0}function ve(e){return e[K.Symbol.Columns]}function ye(e){return o(e,P)?e._.alias:o(e,ae)?e[B].name:o(e,G)?void 0:e[K.Symbol.IsAlias]?e[K.Symbol.Name]:e[K.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 N{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 Se extends we{static[a]="PgBigInt53Builder";constructor(e){super(e,"number","PgBigInt53")}build(e){return new Ne(e,this.config)}}class Ne extends k{static[a]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class ke extends we{static[a]="PgBigInt64Builder";constructor(e){super(e,"bigint","PgBigInt64")}build(e){return new xe(e,this.config)}}class xe extends k{static[a]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(e){return BigInt(e)}}function Ae(e,i){const{name:t,config:_}=be(e,i);return"number"===_.mode?new Se(t):new ke(t)}class qe extends N{static[a]="PgBigSerial53Builder";constructor(e){super(e,"number","PgBigSerial53"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new Te(e,this.config)}}class Te extends k{static[a]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class Ce extends N{static[a]="PgBigSerial64Builder";constructor(e){super(e,"bigint","PgBigSerial64"),this.config.hasDefault=!0}build(e){return new je(e,this.config)}}class je extends k{static[a]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(e){return BigInt(e)}}function Oe(e,i){const{name:t,config:_}=be(e,i);return"number"===_.mode?new qe(t):new Ce(t)}class $e extends N{static[a]="PgBooleanBuilder";constructor(e){super(e,"boolean","PgBoolean")}build(e){return new ze(e,this.config)}}class ze extends k{static[a]="PgBoolean";getSQLType(){return"boolean"}}function Pe(e){return new $e(e??"")}class De extends N{static[a]="PgCharBuilder";constructor(e,i){super(e,"string","PgChar"),this.config.length=i.length,this.config.enumValues=i.enum}build(e){return new Le(e,this.config)}}class Le extends k{static[a]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return void 0===this.length?"char":`char(${this.length})`}}function Be(e,i={}){const{name:t,config:_}=be(e,i);return new De(t,_)}class Ie extends N{static[a]="PgCidrBuilder";constructor(e){super(e,"string","PgCidr")}build(e){return new Ee(e,this.config)}}class Ee extends k{static[a]="PgCidr";getSQLType(){return"cidr"}}function Fe(e){return new Ie(e??"")}class Qe extends N{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 k{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 Je(e){return(i,t)=>{const{name:_,config:s}=be(i,t);return new Qe(_,s,e)}}class Re extends N{static[a]="PgDateColumnBaseBuilder";defaultNow(){return this.default(te`now()`)}}class Ue extends Re{static[a]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new Ke(e,this.config)}}class Ke extends k{static[a]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class Me extends Re{static[a]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new We(e,this.config)}}class We extends k{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:_}=be(e,i);return"date"===_?.mode?new Ue(t):new Me(t)}class Ye extends N{static[a]="PgDoublePrecisionBuilder";constructor(e){super(e,"number","PgDoublePrecision")}build(e){return new Ge(e,this.config)}}class Ge extends k{static[a]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(e){return"string"==typeof e?Number.parseFloat(e):e}}function Ze(e){return new Ye(e??"")}class Xe extends N{static[a]="PgInetBuilder";constructor(e){super(e,"string","PgInet")}build(e){return new ei(e,this.config)}}class ei extends k{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 _i(e,this.config)}}class _i extends k{static[a]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(e){return"string"==typeof e?Number.parseInt(e):e}}function si(e){return new ti(e??"")}class ni extends N{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 k{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:_}=be(e,i);return new ni(t,_)}class ri extends N{static[a]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new li(e,this.config)}}class li extends k{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 N{static[a]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new ci(e,this.config)}}class ci extends k{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 N{static[a]="PgLineBuilder";constructor(e){super(e,"array","PgLine")}build(e){return new gi(e,this.config)}}class gi extends k{static[a]="PgLine";getSQLType(){return"line"}mapFromDriverValue(e){const[i,t,_]=e.slice(1,-1).split(",");return[Number.parseFloat(i),Number.parseFloat(t),Number.parseFloat(_)]}mapToDriverValue(e){return`{${e[0]},${e[1]},${e[2]}}`}}class hi extends N{static[a]="PgLineABCBuilder";constructor(e){super(e,"json","PgLineABC")}build(e){return new fi(e,this.config)}}class fi extends k{static[a]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(e){const[i,t,_]=e.slice(1,-1).split(",");return{a:Number.parseFloat(i),b:Number.parseFloat(t),c:Number.parseFloat(_)}}mapToDriverValue(e){return`{${e.a},${e.b},${e.c}}`}}function vi(e,i){const{name:t,config:_}=be(e,i);return _?.mode&&"tuple"!==_.mode?new hi(t):new pi(t)}class yi extends N{static[a]="PgMacaddrBuilder";constructor(e){super(e,"string","PgMacaddr")}build(e){return new bi(e,this.config)}}class bi extends k{static[a]="PgMacaddr";getSQLType(){return"macaddr"}}function wi(e){return new yi(e??"")}class Si extends N{static[a]="PgMacaddr8Builder";constructor(e){super(e,"string","PgMacaddr8")}build(e){return new Ni(e,this.config)}}class Ni extends k{static[a]="PgMacaddr8";getSQLType(){return"macaddr8"}}function ki(e){return new Si(e??"")}class xi extends N{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 k{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 qi extends N{static[a]="PgNumericNumberBuilder";constructor(e,i,t){super(e,"number","PgNumericNumber"),this.config.precision=i,this.config.scale=t}build(e){return new Ti(e,this.config)}}class Ti extends k{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 Ci extends N{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 k{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 Oi(e,i){const{name:t,config:_}=be(e,i),s=_?.mode;return"number"===s?new qi(t,_?.precision,_?.scale):"bigint"===s?new Ci(t,_?.precision,_?.scale):new xi(t,_?.precision,_?.scale)}class $i extends N{static[a]="PgPointTupleBuilder";constructor(e){super(e,"array","PgPointTuple")}build(e){return new zi(e,this.config)}}class zi extends k{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 Pi extends N{static[a]="PgPointObjectBuilder";constructor(e){super(e,"json","PgPointObject")}build(e){return new Di(e,this.config)}}class Di extends k{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 Li(e,i){const{name:t,config:_}=be(e,i);return _?.mode&&"tuple"!==_.mode?new Pi(t):new $i(t)}function Bi(e,i){const t=new ArrayBuffer(8),_=new DataView(t);for(let t=0;t<8;t++)_.setUint8(t,e[i+t]);return _.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 _=i[t];t+=1;const s=new DataView(i.buffer),n=s.getUint32(t,1===_);if(t+=4,536870912&n&&(s.getUint32(t,1===_),t+=4),1==(65535&n)){const e=Bi(i,t);t+=8;const _=Bi(i,t);return t+=8,[e,_]}throw new Error("Unsupported geometry type")}class Ei extends N{static[a]="PgGeometryBuilder";constructor(e){super(e,"array","PgGeometry")}build(e){return new Fi(e,this.config)}}class Fi extends k{static[a]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){return Ii(e)}mapToDriverValue(e){return`point(${e[0]} ${e[1]})`}}class Qi extends N{static[a]="PgGeometryObjectBuilder";constructor(e){super(e,"json","PgGeometryObject")}build(e){return new Vi(e,this.config)}}class Vi extends k{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 Ji(e,i){const{name:t,config:_}=be(e,i);return _?.mode&&"tuple"!==_.mode?new Qi(t):new Ei(t)}class Ri extends N{static[a]="PgRealBuilder";constructor(e,i){super(e,"number","PgReal"),this.config.length=i}build(e){return new Ui(e,this.config)}}class Ui extends k{static[a]="PgReal";constructor(e,i){super(e,i)}getSQLType(){return"real"}mapFromDriverValue=e=>"string"==typeof e?Number.parseFloat(e):e}function Ki(e){return new Ri(e??"")}class Mi extends N{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 k{static[a]="PgSerial";getSQLType(){return"serial"}}function Hi(e){return new Mi(e??"")}class Yi extends we{static[a]="PgSmallIntBuilder";constructor(e){super(e,"number","PgSmallInt")}build(e){return new Gi(e,this.config)}}class Gi extends k{static[a]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=e=>"string"==typeof e?Number(e):e}function Zi(e){return new Yi(e??"")}class Xi extends N{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 k{static[a]="PgSmallSerial";getSQLType(){return"smallserial"}}function it(e){return new Xi(e??"")}class tt extends N{static[a]="PgTextBuilder";constructor(e,i){super(e,"string","PgText"),this.config.enumValues=i.enum}build(e){return new _t(e,this.config)}}class _t extends k{static[a]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function st(e,i={}){const{name:t,config:_}=be(e,i);return new tt(t,_)}class nt extends Re{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 k{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:_}=be(e,i);return new nt(t,_.withTimezone??!1,_.precision)}class rt extends Re{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 k{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 Re{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 k{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:_}=be(e,i);return"string"===_?.mode?new dt(t,_.withTimezone??!1,_.precision):new rt(t,_?.withTimezone??!1,_?.precision)}class mt extends N{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 k{static[a]="PgUUID";getSQLType(){return"uuid"}}function gt(e){return new mt(e??"")}class ht extends N{static[a]="PgVarcharBuilder";constructor(e,i){super(e,"string","PgVarchar"),this.config.length=i.length,this.config.enumValues=i.enum}build(e){return new ft(e,this.config)}}class ft extends k{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:_}=be(e,i);return new ht(t,_)}class yt extends N{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 k{static[a]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function wt(e,i){const{name:t,config:_}=be(e,i);return new yt(t,_)}class St extends N{static[a]="PgHalfVectorBuilder";constructor(e,i){super(e,"array","PgHalfVector"),this.config.dimensions=i.dimensions}build(e){return new Nt(e,this.config)}}class Nt extends k{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 kt(e,i){const{name:t,config:_}=be(e,i);return new St(t,_)}class xt extends N{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 k{static[a]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function qt(e,i){const{name:t,config:_}=be(e,i);return new xt(t,_)}class Tt extends N{static[a]="PgVectorBuilder";constructor(e,i){super(e,"array","PgVector"),this.config.dimensions=i.dimensions}build(e){return new Ct(e,this.config)}}class Ct extends k{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:_}=be(e,i);return new Tt(t,_)}class Ot{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 $t{static[a]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,i){if("_"===i)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(i===B)return{...e[B],selectedFields:new Proxy(e[B].selectedFields,this)};if("symbol"==typeof i)return e[i];const t=(o(e,P)?e._.selectedFields:o(e,ae)?e[B].selectedFields:e)[i];if(o(t,G.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!t.isSelectionField)return t.sql;const e=t.clone();return e.isSelectionField=!0,e}if(o(t,G)){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 $t(this.config))}}const zt=Symbol.for("drizzle:PgInlineForeignKeys"),Pt=Symbol.for("drizzle:EnableRLS");class Dt extends K{static[a]="PgTable";static Symbol=Object.assign({},K.Symbol,{InlineForeignKeys:zt,EnableRLS:Pt});[zt]=[];[Pt]=!1;[K.Symbol.ExtraConfigBuilder]=void 0;[K.Symbol.ExtraConfigColumns]={}}function Lt(e,i,t,_,s=e){const n=new Dt(e,_,s),a="function"==typeof i?i({bigint:Ae,bigserial:Oe,boolean:Pe,char:Be,cidr:Fe,customType:Je,date:He,doublePrecision:Ze,inet:ii,integer:si,interval:oi,json:di,jsonb:mi,line:vi,macaddr:wi,macaddr8:ki,numeric:Oi,point:Li,geometry:Ji,real:Ki,serial:Hi,smallint:Zi,smallserial:it,text:st,time:ot,timestamp:ct,uuid:gt,varchar:vt,bit:wt,halfvec:kt,sparsevec:qt,vector:jt}):i,o=Object.fromEntries(Object.entries(a).map(([e,i])=>{const t=i;t.setName(e);const _=t.build(n);return n[zt].push(...t.buildForeignKeys(_,n)),[e,_]})),r=Object.fromEntries(Object.entries(a).map(([e,i])=>{const t=i;t.setName(e);return[e,t.buildExtraConfigColumn(n)]})),l=Object.assign(n,o);return l[K.Symbol.Columns]=o,l[K.Symbol.ExtraConfigColumns]=r,t&&(l[Dt.Symbol.ExtraConfigBuilder]=t),Object.assign(l,{enableRLS:()=>(l[Dt.Symbol.EnableRLS]=!0,l)})}const Bt=(e,i,t)=>Lt(e,i,t,void 0);class It{constructor(e,i){this.unique=e,this.name=i}static[a]="PgIndexBuilderOn";on(...e){return new Et(e.map(e=>{if(o(e,G))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 Et(e.map(e=>{if(o(e,G))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 Et(i.map(e=>{if(o(e,G))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 Et{static[a]="PgIndexBuilder";config;constructor(e,i,t,_,s="btree"){this.config={name:_,columns:e,unique:i,only:t,method:s}}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 Ft(this.config,e)}}class Ft{static[a]="PgIndex";config;constructor(e,i){this.config={...e,table:i}}}function Qt(e){return new It(!1,e)}function Vt(e){return new It(!0,e)}function Jt(...e){return e[0].columns?new Rt(e[0].columns,e[0].name):new Rt(e)}class Rt{static[a]="PgPrimaryKeyBuilder";columns;name;constructor(e,i){this.columns=e,this.name=i}build(e){return new Ut(e,this.columns,this.name)}}class Ut{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 Kt=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 Yt{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[K.Symbol.Schema]??"public"}.${e.table[K.Symbol.OriginalName]}.${e.name}`;return this.cache[i]||this.cacheTable(e.table),this.cache[i]}cacheTable(e){const i=`${e[K.Symbol.Schema]??"public"}.${e[K.Symbol.OriginalName]}`;if(!this.cachedTables[i]){for(const t of Object.values(e[K.Symbol.Columns])){const e=`${i}.${t.name}`;this.cache[e]=this.convert(t.name)}this.cachedTables[i]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class Gt 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,se)||o(e,r)||o(e,K)||o(e,ae)?e:new ie(e,i)}const Xt=(e,i)=>te`${e} = ${Zt(i,e)}`,e_=(e,i)=>te`${e} <> ${Zt(i,e)}`;function i_(...e){const i=e.filter(e=>void 0!==e);if(0!==i.length)return 1===i.length?new G(i):new G([new Y("("),te.join(i,new Y(" and ")),new Y(")")])}function t_(...e){const i=e.filter(e=>void 0!==e);if(0!==i.length)return 1===i.length?new G(i):new G([new Y("("),te.join(i,new Y(" or ")),new Y(")")])}function __(e){return te`not ${e}`}const s_=(e,i)=>te`${e} > ${Zt(i,e)}`,n_=(e,i)=>te`${e} >= ${Zt(i,e)}`,a_=(e,i)=>te`${e} < ${Zt(i,e)}`,o_=(e,i)=>te`${e} <= ${Zt(i,e)}`;function r_(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 l_(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 d_(e){return te`${e} is null`}function u_(e){return te`${e} is not null`}function c_(e){return te`exists ${e}`}function m_(e){return te`not exists ${e}`}function p_(e,i,t){return te`${e} between ${Zt(i,e)} and ${Zt(t,e)}`}function g_(e,i,t){return te`${e} not between ${Zt(i,e)} and ${Zt(t,e)}`}function h_(e,i){return te`${e} like ${i}`}function f_(e,i){return te`${e} not like ${i}`}function v_(e,i){return te`${e} ilike ${i}`}function y_(e,i){return te`${e} not ilike ${i}`}function b_(e){return te`${e} asc`}function w_(e){return te`${e} desc`}class S_{constructor(e,i,t){this.sourceTable=e,this.referencedTable=i,this.relationName=t,this.referencedTableName=i[K.Symbol.Name]}static[a]="Relation";referencedTableName;fieldName}class N_ extends S_{constructor(e,i,t,_){super(e,i,t?.relationName),this.config=t,this.isNullable=_}static[a]="One";withFieldName(e){const i=new N_(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=e,i}}class k_ extends S_{constructor(e,i,t){super(e,i,t?.relationName),this.config=t}static[a]="Many";withFieldName(e){const i=new k_(this.sourceTable,this.referencedTable,this.config);return i.fieldName=e,i}}function x_(e,i,t){if(o(t,N_)&&t.config)return{fields:t.config.fields,references:t.config.references};const _=i[W(t.referencedTable)];if(!_)throw new Error(`Table "${t.referencedTable[K.Symbol.Name]}" not found in schema`);const s=e[_];if(!s)throw new Error(`Table "${_}" not found in schema`);const n=t.sourceTable,a=i[W(n)];if(!a)throw new Error(`Table "${n[K.Symbol.Name]}" not found in schema`);const r=[];for(const e of Object.values(s.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 "${_}"`):new Error(`There are multiple relations between "${_}" and "${t.sourceTable[K.Symbol.Name]}". Please specify relation name`);if(r[0]&&o(r[0],N_)&&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 A_ extends ae{static[a]="PgViewBase"}class q_{static[a]="PgDialect";casing;constructor(e){this.casing=new Yt(e?.casing)}async migrate(e,i,t){const _="string"==typeof t?"__drizzle_migrations":t.migrationsTable??"__drizzle_migrations",s="string"==typeof t?"drizzle":t.migrationsSchema??"drizzle",n=te`
2
+ CREATE TABLE IF NOT EXISTS ${te.identifier(s)}.${te.identifier(_)} (
3
3
  id SERIAL PRIMARY KEY,
4
4
  hash text NOT NULL,
5
5
  created_at bigint
6
6
  )
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,G)?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,G.Aliased)&&e.isSelectionField)n.push(ie.identifier(e.fieldAlias));else if(o(e,G.Aliased)||o(e,G)){const i=o(e,G.Aliased)?e.sql:e;t?n.push(new G(i.queryChunks.map(e=>o(e,k)?ie.identifier(this.casing.getColumnCasing(e)):e))):n.push(i),o(e,G.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,G)?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(_,G)?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,y=this.buildWithCTE(e);let b;p&&(b=!0===p?ie` distinct`:ie` distinct on (${ie.join(p.on,ie`, `)})`);const v=this.buildSelection(f,{isSingleTable:h}),w=this.buildFromTable(_),N=this.buildJoins(a),S=s?ie` where ${s}`:void 0,k=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`${y}select${b} ${v} from ${w}${N}${S}${A}${k}${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,k))e.push(ie.identifier(t.name));else if(o(t,G)){for(let e=0;e<t.queryChunks.length;e++){const i=t.queryChunks[e];o(i,k)&&(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,G)?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,G)?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,G)?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:ys,inArray:rs,isNull:ds,isNotNull:us,like:fs,lt:as,lte:os,ne:es,not:ss,notBetween:gs,notExists:ms,notLike:hs,notIlike:bs,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,y=[];if(_.with&&(y=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,G.Aliased)?t.fieldAlias:n.columns[e].name,tsKey:e,field:o(t,r)?de(t,a):t,relationTableTsKey:void 0,isJson:!1,selection:[]});let b="function"==typeof _.orderBy?_.orderBy(s,{sql:ie,asc:vs,desc:ws}):_.orderBy??[];Array.isArray(b)||(b=[b]),g=b.map(e=>o(e,r)?de(e,a):ce(e,a)),u=_.limit,c=_.offset;for(const{tsKey:s,queryConfig:n,relation:_}of y){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(_,Ss)?!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 Gi({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,G.Aliased)?e.sql:e),ie`, `)})`;o(l,ks)&&(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,G)?{}:ye(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=be(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{};for(const t of Ys(e))this.usedTables.add(t)}getUsedTables(){return[...this.usedTables]}createJoin(e,t){return(i,s)=>{const n=this.tableName,_=be(i);for(const e of Ys(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,G))){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(...Ys(this.config.table)),this.config.joins)for(const e of this.config.joins)t.push(...Ys(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=ye(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=ye(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 Ys(e){return o(e,zi)?[e[I]?`${e[I]}.${e[R.Symbol.BaseName]}`:e[R.Symbol.BaseName]]:o(e,B)?e._.usedTables??[]:o(e,G)?e.usedTables??[]:[]}class Gs{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 Gs(e,t,i)}(e,t,this.schemaName);getSQL(){return new G([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("cohort",["acorn_20","cat_23","studio_27","unknown","orphaned"]),an=en.enum("restriction_level",["ogl_compatible","ogl_equivalent","restricted","highly_restricted"]),on=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"]),rn=en.enum("acquisition_basis",["oak_owned","public_domain","gratis","paid","creative_commons"]),ln=en.enum("permission_status",["not_required","granted","denied"]),dn=en.enum("territory",["uk","worldwide","worldwide_no_usa","other_territory"]),un=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"]),cn=en.enum("question_type",["explanatory-text","match","multiple-choice","order","short-answer","text"]),mn=en.enum("tag_category",["discipline","domain","world_view"]),pn=en.enum("media_kind",["video","sound"]),gn=en.enum("clip_section",["intro","lesson_outline"]),fn=en.enum("redirect_type",["301","302","307","308"]),hn=en.enum("redirect_entity_source",["lessons","units","programmes","subjects"]),yn=sn.enum("operation",["insert","update","delete"]),bn=sn.enum("media_type_enum",["video","sound","gdrive_file","bucket_file"]),vn=sn.enum("lesson_component_type_enum",["document","downloadable","lesson_video","media_clip","media_clip_collection","quiz"]),wn={_cohort:_n("_cohort")},Nn={created_at:ci("created_at",{withTimezone:!0}).defaultNow(),updated_at:ci("updated_at",{withTimezone:!0}).$onUpdateFn(()=>new Date)},Sn={created_at:ci("created_at",{withTimezone:!0}).notNull().defaultNow()},kn=sn.enum("release_type",["mathfix","migration"]),xn=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:kn("release_type"),release_uid:Le("release_uid",{length:16}),...Nn}),An={_state:nn("_state").notNull()},Cn={_authoring_state:nn("_authoring_state").notNull()},qn={_choice_state:nn("_choice_state").notNull()},jn={_lesson_state:nn("_lesson_state").notNull()},Tn={_programme_state:nn("_programme_state").notNull()},$n={_question_state:nn("_question_state").notNull()},Pn={_quiz_state:nn("_quiz_state").notNull()},On={_subject_phase_state:nn("_subject_phase_state").notNull()},Bn={_thread_state:nn("_thread_state").notNull()},zn={_unit_state:nn("_unit_state").notNull()},Dn={_unit_variant_state:nn("_unit_variant_state").notNull()},Ln={_works_copyright_state:nn("_works_copyright_state").notNull()},In={_choice_state:nn("_choice_state")},Fn={_unit_variant_state:nn("_unit_variant_state")},En=({name:e,columnA:t,columnB:s})=>ge(e,i.sql`${t} = 'expired' or ${s} = 'expired' or ${t} = ${s}`),Qn=({name:e,columnA:t,columnB:s})=>ge(e,i.sql`${t} = 'expired' or ${s} is null or ${s} = 'expired' or ${t} = ${s}`),Vn=({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 `)),Jn={_expire_on_release:Be("_expire_on_release").notNull().default(!1),_release_id:nt("_release_id").references(()=>xn.release_id)},Un=An,Kn=en.table("gdrive_files",{gdrive_file_id:nt("gdrive_file_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...wn,...Jn,...Nn}),Rn=en.table("lessons",{lesson_id:nt("lesson_id").notNull().generatedByDefaultAsIdentity(),...Un,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(),...wn,...Jn,...Nn},e=>[Ji({columns:[e.lesson_id,e._state]}),p("lessons_slug_unique").on(e.slug,e._state)]),Mn=en.enum("document_type",["slidedeck","worksheet","worksheet_answers","supplementary_resource","lesson_guide"]);en.table("documents",{document_id:nt("document_id").notNull().generatedByDefaultAsIdentity(),...Un,gdrive_file_id:nt("gdrive_file_id").notNull(),lesson_id:nt("lesson_id"),deprecated_fields:mt("deprecated_fields"),document_type:Mn("document_type").notNull(),document_uid:Le("document_uid",{length:16}),previous_lesson_id:nt("previous_lesson_id"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.document_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Rn.lesson_id,Rn._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 Wn=en.table("bucket_files",{bucket_file_id:nt("bucket_file_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...wn,...Jn,...Nn},e=>[p("bucket_files_cloudinary_public_id_unique").on(e.cloudinary_public_id)]);en.table("downloadables",{downloadable_id:nt("downloadable_id").notNull().generatedByDefaultAsIdentity(),...Un,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"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.downloadable_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Rn.lesson_id,Rn._state]}),m({name:"downloadables_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Wn.bucket_file_id]}),Vi("downloadables_lesson_position_unique").on(e.lesson_id,e.position,e._state)]);const Hn=en.table("videos",{video_id:nt("video_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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}),...wn,...Jn,...Nn},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(),...Un,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"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.lesson_video_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Rn.lesson_id,Rn._state]}),m({columns:[e.video_id],foreignColumns:[Hn.video_id]}),m({name:"lesson_videos_sign_lang_video_fk",columns:[e.sign_language_video_id],foreignColumns:[Hn.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 Yn=en.table("media_clip_collection",{media_clip_collection_id:nt("media_clip_collection_id").notNull().generatedByDefaultAsIdentity(),...Un,lesson_id:nt("lesson_id"),previous_lesson_id:nt("previous_lesson_id"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.media_clip_collection_id,e._state]}),m({name:"mc_collection_lesson_fk",columns:[e.lesson_id,e._state],foreignColumns:[Rn.lesson_id,Rn._state]}),Vi("media_clip_collection_lesson_unique").on(e.lesson_id,e._state)]),Gn=en.table("sounds",{sound_id:nt("sound_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...wn,...Jn,...Nn},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(),...Un,media_clip_collection_id:nt("media_clip_collection_id").notNull(),sound_id:nt("sound_id"),video_id:nt("video_id"),clip_section:gn("clip_section").notNull(),custom_title:ni("custom_title"),lesson_outline_index:nt("lesson_outline_index"),media_kind:pn("media_kind"),position:nt("position"),...wn,...Jn,...Nn},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:[Yn.media_clip_collection_id,Yn._state]}),m({columns:[e.sound_id],foreignColumns:[Gn.sound_id]}),m({columns:[e.video_id],foreignColumns:[Hn.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)`),ge("media_clips_position_required_unless_expiring",i.sql`position IS NOT NULL
7
+ `;await i.execute(te`CREATE SCHEMA IF NOT EXISTS ${te.identifier(s)}`),await i.execute(n);const a=(await i.all(te`select id, hash, created_at from ${te.identifier(s)}.${te.identifier(_)} 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(s)}.${te.identifier(_)} ("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,_]of e.entries())i.push(te`${te.identifier(_._.alias)} as (${_._.sql})`),t<e.length-1&&i.push(te`, `);return i.push(te` `),te.join(i)}buildDeleteQuery({table:e,where:i,returning:t,withList:_}){return te`${this.buildWithCTE(_)}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[K.Symbol.Columns],_=Object.keys(t).filter(e=>void 0!==i[e]||void 0!==t[e]?.onUpdateFn),s=_.length;return te.join(_.flatMap((e,_)=>{const n=t[e],a=n.onUpdateFn?.(),r=i[e]??(o(a,G)?a:te.param(a,n)),l=te`${te.identifier(this.casing.getColumnCasing(n))} = ${r}`;return _<s-1?[l,te.raw(", ")]:[l]}))}buildUpdateQuery({table:e,set:i,where:t,returning:_,withList:s,from:n,joins:a}){const o=this.buildWithCTE(s),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=n&&te.join([te.raw(" from "),this.buildFromTable(n)]);return te`${o}update ${c} set ${m}${p}${this.buildJoins(a)}${t?te` where ${t}`:void 0}${_?te` returning ${this.buildSelection(_,{isSingleTable:!n})}`:void 0}`}buildSelection(e,{isSingleTable:i=!1}={}){const t=e.length,_=e.flatMap(({field:e},_)=>{const s=[];if(o(e,G.Aliased)&&e.isSelectionField)s.push(te.identifier(e.fieldAlias));else if(o(e,G.Aliased)||o(e,G)){const t=o(e,G.Aliased)?e.sql:e;i?s.push(new G(t.queryChunks.map(e=>o(e,k)?te.identifier(this.casing.getColumnCasing(e)):e))):s.push(t),o(e,G.Aliased)&&s.push(te` as ${te.identifier(e.fieldAlias)}`)}else if(o(e,r))i?s.push(te.identifier(this.casing.getColumnCasing(e))):s.push(e);else if(o(e,P)){const i=Object.entries(e._.selectedFields);if(1===i.length){const t=i[0][1],_=o(t,G)?t.decoder:o(t,r)?{mapFromDriverValue:e=>t.mapFromDriverValue(e)}:t.sql.decoder;_&&(e._.sql.decoder=_)}s.push(e)}return _<t-1&&s.push(te`, `),s});return te.join(_)}buildJoins(e){if(!e||0===e.length)return;const i=[];for(const[t,_]of e.entries()){0===t&&i.push(te` `);const s=_.table,n=_.lateral?te` lateral`:void 0,a=_.on?te` on ${_.on}`:void 0;if(o(s,Dt)){const e=s[Dt.Symbol.Name],t=s[Dt.Symbol.Schema],o=s[Dt.Symbol.OriginalName],r=e===o?void 0:_.alias;i.push(te`${te.raw(_.joinType)} join${n} ${t?te`${te.identifier(t)}.`:void 0}${te.identifier(o)}${r&&te` ${te.identifier(r)}`}${a}`)}else if(o(s,ae)){const e=s[B].name,t=s[B].schema,o=s[B].originalName,r=e===o?void 0:_.alias;i.push(te`${te.raw(_.joinType)} join${n} ${t?te`${te.identifier(t)}.`:void 0}${te.identifier(o)}${r&&te` ${te.identifier(r)}`}${a}`)}else i.push(te`${te.raw(_.joinType)} join${n} ${s}${a}`);t<e.length-1&&i.push(te` `)}return te.join(i)}buildFromTable(e){if(o(e,K)&&e[K.Symbol.IsAlias]){let i=te`${te.identifier(e[K.Symbol.OriginalName])}`;return e[K.Symbol.Schema]&&(i=te`${te.identifier(e[K.Symbol.Schema])}.${i}`),te`${i} ${te.identifier(e[K.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:i,fieldsFlat:t,where:_,having:s,table:n,joins:a,orderBy:l,groupBy:d,limit:u,offset:c,lockingClause:m,distinct:p,setOperators:g}){const h=t??he(i);for(const e of h)if(o(e.field,r)&&M(e.field.table)!==(o(n,P)?n._.alias:o(n,A_)?n[B].name:o(n,G)?void 0:M(n))&&!(e=>a?.some(({alias:i})=>i===(e[K.Symbol.IsAlias]?M(e):e[K.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 f=!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(h,{isSingleTable:f}),w=this.buildFromTable(n),S=this.buildJoins(a),N=_?te` where ${_}`:void 0,k=s?te` having ${s}`: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 q="object"==typeof u||"number"==typeof u&&u>=0?te` limit ${u}`:void 0,T=c?te` offset ${c}`:void 0,C=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`),C.append(e)}const j=te`${v}select${y} ${b} from ${w}${S}${N}${A}${k}${x}${q}${T}${C}`;return g.length>0?this.buildSetOperations(j,g):j}buildSetOperations(e,i){const[t,..._]=i;if(!t)throw new Error("Cannot pass undefined values to any set operator");return 0===_.length?this.buildSetOperationQuery({leftSelect:e,setOperator:t}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:t}),_)}buildSetOperationQuery({leftSelect:e,setOperator:{type:i,isAll:t,rightSelect:_,limit:s,orderBy:n,offset:a}}){const r=te`(${e.getSQL()}) `,l=te`(${_.getSQL()})`;let d;if(n&&n.length>0){const e=[];for(const i of n)if(o(i,k))e.push(te.identifier(i.name));else if(o(i,G)){for(let e=0;e<i.queryChunks.length;e++){const t=i.queryChunks[e];o(t,k)&&(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 s||"number"==typeof s&&s>=0?te` limit ${s}`: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:_,withList:s,select:n,overridingSystemValue_:a}){const r=[],l=e[K.Symbol.Columns],d=Object.entries(l).filter(([e,i])=>!i.shouldDisableInsert()),u=d.map(([,e])=>te.identifier(this.casing.getColumnCasing(e)));if(n){const e=i;o(e,G)?r.push(e):r.push(e.getSQL())}else{const e=i;r.push(te.raw("values "));for(const[i,t]of e.entries()){const _=[];for(const[e,i]of d){const s=t[e];if(void 0===s||o(s,ie)&&void 0===s.value)if(void 0!==i.defaultFn){const e=i.defaultFn(),t=o(e,G)?e:te.param(e,i);_.push(t)}else if(i.default||void 0===i.onUpdateFn)_.push(te`default`);else{const e=i.onUpdateFn(),t=o(e,G)?e:te.param(e,i);_.push(t)}else _.push(s)}r.push(_),i<e.length-1&&r.push(te`, `)}}const c=this.buildWithCTE(s),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}${_?te` returning ${this.buildSelection(_,{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,Ke)||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:_,tableConfig:s,queryConfig:n,tableAlias:a,nestedQueryRelation:l,joinOn:d}){let u,c,m,p=[],g=[];const h=[];if(!0===n){p=Object.entries(s.columns).map(([e,i])=>({dbKey:i.name,tsKey:e,field:de(i,a),relationTableTsKey:void 0,isJson:!1,selection:[]}))}else{const _=Object.fromEntries(Object.entries(s.columns).map(([e,i])=>[e,de(i,a)]));if(n.where){const e="function"==typeof n.where?n.where(_,{and:i_,between:p_,eq:Xt,exists:c_,gt:s_,gte:n_,ilike:v_,inArray:r_,isNull:d_,isNotNull:u_,like:h_,lt:a_,lte:o_,ne:e_,not:__,notBetween:g_,notExists:m_,notLike:f_,notIlike:y_,notInArray:l_,or:t_,sql:te}):n.where;m=e&&ce(e,a)}const l=[];let d=[];if(n.columns){let e=!1;for(const[i,t]of Object.entries(n.columns))void 0!==t&&i in s.columns&&(e||!0!==t||(e=!0),d.push(i));d.length>0&&(d=e?d.filter(e=>!0===n.columns?.[e]):Object.keys(s.columns).filter(e=>!d.includes(e)))}else d=Object.keys(s.columns);for(const e of d){const i=s.columns[e];l.push({tsKey:e,value:i})}let f,v=[];if(n.with&&(v=Object.entries(n.with).filter(e=>!!e[1]).map(([e,i])=>({tsKey:e,queryConfig:i,relation:s.relations[e]}))),n.extras){f="function"==typeof n.extras?n.extras(_,{sql:te}):n.extras;for(const[e,i]of Object.entries(f))l.push({tsKey:e,value:ue(i,a)})}for(const{tsKey:e,value:i}of l)p.push({dbKey:o(i,G.Aliased)?i.fieldAlias:s.columns[e].name,tsKey:e,field:o(i,r)?de(i,a):i,relationTableTsKey:void 0,isJson:!1,selection:[]});let y="function"==typeof n.orderBy?n.orderBy(_,{sql:te,asc:b_,desc:w_}):n.orderBy??[];Array.isArray(y)||(y=[y]),g=y.map(e=>o(e,r)?de(e,a):ce(e,a)),u=n.limit,c=n.offset;for(const{tsKey:_,queryConfig:s,relation:n}of v){const r=x_(i,t,n),l=t[W(n.referencedTable)],d=`${a}_${_}`,u=i_(...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(n,N_)?!0===s?{limit:1}:{...s,limit:1}:s,tableAlias:d,joinOn:u,nestedQueryRelation:n}),m=te`${te.identifier(d)}.${te.identifier("data")}`.as(_);h.push({on:te`true`,table:new P(c.sql,{},d),alias:d,joinType:"left",lateral:!0}),p.push({dbKey:_,tsKey:_,field:m,relationTableTsKey:l,isJson:!0,selection:c.selection})}}if(0===p.length)throw new Gt({message:`No fields selected for table "${s.tsName}" ("${a}")`});let f;if(m=i_(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,G.Aliased)?e.sql:e),te`, `)})`;o(l,k_)&&(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:s.tsName,selection:p}];void 0!==u||void 0!==c||g.length>0?(f=this.buildSelectQuery({table:le(_,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=[]):f=le(_,a),f=this.buildSelectQuery({table:o(f,Dt)?f:new P(f,{},a),fields:{},fieldsFlat:i.map(({field:e})=>({path:[],field:o(e,r)?de(e,a):e})),joins:h,where:m,limit:u,offset:c,orderBy:g,setOperators:[]})}else f=this.buildSelectQuery({table:le(_,a),fields:{},fieldsFlat:p.map(({field:e})=>({path:[],field:o(e,r)?de(e,a):e})),joins:h,where:m,limit:u,offset:c,orderBy:g,setOperators:[]});return{tableTsKey:s.tsName,sql:f,selection:p}}}class T_{static[a]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class C_{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 _;return _=this.fields?this.fields:o(t,P)?Object.fromEntries(Object.keys(t._.selectedFields).map(e=>[e,t[e]])):o(t,A_)?t[B].selectedFields:o(t,G)?{}:ve(t),new O_({table:t,fields:_,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class j_ extends T_{static[a]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:i,isPartialSelect:t,session:_,dialect:s,withList:n,distinct:a}){super(),this.config={withList:n,table:e,fields:{...i},distinct:a,setOperators:[]},this.isPartialSelect=t,this.session=_,this.dialect=s,this._={selectedFields:i,config:this.config},this.tableName=ye(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{};for(const i of Y_(e))this.usedTables.add(i)}getUsedTables(){return[...this.usedTables]}createJoin(e,i){return(t,_)=>{const s=this.tableName,n=ye(t);for(const e of Y_(t))this.usedTables.add(e);if("string"==typeof n&&this.config.joins?.some(e=>e.alias===n))throw new Error(`Alias "${n}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof s&&(this.config.fields={[s]:this.config.fields}),"string"==typeof n&&!o(t,G))){const e=o(t,P)?t._.selectedFields:o(t,ae)?t[B].selectedFields:t[K.Symbol.Columns];this.config.fields[n]=e}if("function"==typeof _&&(_=_(new Proxy(this.config.fields,new $t({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:_,table:t,joinType:e,alias:n,lateral:i}),"string"==typeof n)switch(e){case"left":this.joinsNotNullableMap[n]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[n]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[n]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[n]=!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 _="function"==typeof t?t(z_()):t;if(!fe(this.getSelectedFields(),_.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:_}),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 $t({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new $t({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 $t({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 $t({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(...Y_(this.config.table)),this.config.joins)for(const e of this.config.joins)i.push(...Y_(e.table));return new Proxy(new P(this.getSQL(),this.config.fields,e,!1,[...new Set(i)]),new $t({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new $t({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 O_ extends j_{static[a]="PgSelect";_prepare(e){const{session:i,config:t,dialect:_,joinsNotNullableMap:s,authToken:n,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 L.startActiveSpan("drizzle.prepareQuery",()=>{const t=he(r),l=i.prepareQuery(_.sqlToQuery(this.getSQL()),t,e,!0,void 0,{type:"select",tables:[...o]},a);return l.joinsNotNullableMap=s,l.setToken(n)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>L.startActiveSpan("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}function $_(e,i){return(t,_,...s)=>{const n=[_,...s].map(t=>({type:e,isAll:i,rightSelect:t}));for(const e of n)if(!fe(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(n)}}!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))}(O_,[Ot]);const z_=()=>({union:P_,unionAll:D_,intersect:L_,intersectAll:B_,except:I_,exceptAll:E_}),P_=$_("union",!1),D_=$_("union",!0),L_=$_("intersect",!1),B_=$_("intersect",!0),I_=$_("except",!1),E_=$_("except",!0);class F_{static[a]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=o(e,q_)?e:void 0,this.dialectConfig=o(e,q_)?void 0:e}$with=(e,i)=>{const t=this;return{as:_=>("function"==typeof _&&(_=_(t)),new Proxy(new D(_.getSQL(),i??("getSelectedFields"in _?_.getSelectedFields()??{}:{}),e,!0),new $t({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){const i=this;return{select:function(t){return new C_({fields:t??void 0,session:void 0,dialect:i.getDialect(),withList:e})},selectDistinct:function(e){return new C_({fields:e??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})},selectDistinctOn:function(e,t){return new C_({fields:t??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:e}})}}}select(e){return new C_({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new C_({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,i){return new C_({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new q_(this.dialectConfig)),this.dialect}}class Q_{constructor(e,i){this.name=e,this.schema=i}static[a]="PgDefaultViewBuilderCore";config={};with(e){return this.config.with=e,this}}class V_ extends Q_{static[a]="PgViewBuilder";as(e){"function"==typeof e&&(e=e(new F_));const i=new $t({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),t=new Proxy(e.getSelectedFields(),i);return new Proxy(new M_({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:t,query:e.getSQL().inlineParams()}}),i)}}class J_ extends Q_{static[a]="PgManualViewBuilder";columns;constructor(e,i,t){super(e,t),this.columns=ve(Bt(e,i))}existing(){return new Proxy(new M_({pgConfig:void 0,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:void 0}}),new $t({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new M_({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:e.inlineParams()}}),new $t({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}}class R_{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 U_ extends R_{static[a]="PgMaterializedViewBuilder";as(e){"function"==typeof e&&(e=e(new F_));const i=new $t({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),t=new Proxy(e.getSelectedFields(),i);return new Proxy(new H_({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 K_ extends R_{static[a]="PgManualMaterializedViewBuilder";columns;constructor(e,i,t){super(e,t),this.columns=ve(Bt(e,i))}existing(){return new Proxy(new H_({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 $t({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new H_({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 $t({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}}class M_ extends A_{static[a]="PgView";[Kt];constructor({pgConfig:e,config:i}){super(i),e&&(this[Kt]={with:e.with})}}const W_=Symbol.for("drizzle:PgMaterializedViewConfig");class H_ extends A_{static[a]="PgMaterializedView";[W_];constructor({pgConfig:e,config:i}){super(i),this[W_]={with:e?.with,using:e?.using,tablespace:e?.tablespace,withNoData:e?.withNoData}}}function Y_(e){return o(e,Dt)?[e[I]?`${e[I]}.${e[K.Symbol.BaseName]}`:e[K.Symbol.BaseName]]:o(e,P)?e._.usedTables??[]:o(e,G)?e.usedTables??[]:[]}class G_{constructor(e,i,t){this.seqName=e,this.seqOptions=i,this.schema=t}static[a]="PgSequence"}class Z_{constructor(e){this.schemaName=e}static[a]="PgSchema";table=(e,i,t)=>Lt(e,i,t,this.schemaName);view=(e,i)=>function(e,i,t){return i?new J_(e,i,t):new V_(e,t)}(e,i,this.schemaName);materializedView=(e,i)=>function(e,i,t){return i?new K_(e,i,t):new U_(e,t)}(e,i,this.schemaName);enum(e,i){return Array.isArray(i)?function(e,i,t){const _=Object.assign(e=>new $(e??"",_),{enumName:e,enumValues:i,schema:t,[O]:!0});return _}(e,[...i],this.schemaName):function(e,i,t){const _=Object.assign(e=>new C(e??"",_),{enumName:e,enumValues:Object.values(i),schema:t,[O]:!0});return _}(e,i,this.schemaName)}sequence=(e,i)=>function(e,i,t){return new G_(e,i,t)}(e,i,this.schemaName);getSQL(){return new G([te.identifier(this.schemaName)])}shouldOmitSQLParens(){return!0}}function X_(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 Z_(e)}const es=X_("raw"),is=X_("rendered"),ts=X_("internal"),_s=X_("cached"),ss=es.enum("state",["draft","published","expired"]),ns=es.enum("cohort",["acorn_20","cat_23","studio_27","unknown","orphaned"]),as=es.enum("restriction_level",["ogl_compatible","ogl_equivalent","restricted","highly_restricted"]),os=es.enum("media_provenance",["oak_created","oak_illustration","partner_created","creative_commons","pixabay","pexels","unsplash","openverse","freesvg","needpix","bridgeman","shutterstock","dall_e","adobe_firefly","other"]),rs=es.enum("acquisition_basis",["oak_owned","public_domain","gratis","paid","creative_commons"]),ls=es.enum("permission_status",["not_required","granted","denied"]),ds=es.enum("usage_restrictions",["restricted_use","ogl__open_government_license_","internal_use_only","attribution_required"]),us=es.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"]),cs=es.enum("question_type",["explanatory-text","match","multiple-choice","order","short-answer","text"]),ms=es.enum("tag_category",["discipline","domain","world_view"]),ps=es.enum("media_kind",["video","sound"]),gs=es.enum("clip_section",["intro","lesson_outline"]),hs=es.enum("redirect_type",["301","302","307","308"]),fs=es.enum("redirect_entity_source",["lessons","units","programmes","subjects"]),vs=ts.enum("operation",["insert","update","delete"]),ys=ts.enum("media_type_enum",["video","sound","gdrive_file","bucket_file"]),bs=ts.enum("lesson_component_type_enum",["document","downloadable","lesson_video","media_clip","media_clip_collection","quiz"]),ws={_cohort:ns("_cohort")},Ss={created_at:ct("created_at",{withTimezone:!0}).notNull().defaultNow()},Ns={...Ss,updated_at:ct("updated_at",{withTimezone:!0}).notNull().defaultNow().$onUpdateFn(()=>new Date)},ks=ts.enum("release_type",["mathfix","migration"]),xs=ts.table("releases",{release_id:si("release_id").primaryKey().generatedByDefaultAsIdentity(),_authoring_state:ss("_authoring_state").notNull(),approved:Pe("approved").notNull().default(!1),approver:mi("approver"),description:st("description"),estimated_release_date:He("estimated_release_date"),locked:Pe("locked").notNull().default(!1),name:st("name"),notes:st("notes"),release_type:ks("release_type"),release_uid:Be("release_uid",{length:16}),...Ns}),As={_state:ss("_state").notNull()},qs={_authoring_state:ss("_authoring_state").notNull()},Ts={_choice_state:ss("_choice_state").notNull()},Cs={_lesson_state:ss("_lesson_state").notNull()},js={_programme_state:ss("_programme_state").notNull()},Os={_question_state:ss("_question_state").notNull()},$s={_quiz_state:ss("_quiz_state").notNull()},zs={_subject_phase_state:ss("_subject_phase_state").notNull()},Ps={_thread_state:ss("_thread_state").notNull()},Ds={_unit_state:ss("_unit_state").notNull()},Ls={_unit_variant_state:ss("_unit_variant_state").notNull()},Bs={_works_copyright_state:ss("_works_copyright_state").notNull()},Is={_choice_state:ss("_choice_state")},Es={_unit_variant_state:ss("_unit_variant_state")},Fs=({name:e,columnA:i,columnB:_})=>ge(e,t.sql`${i} = 'expired' or ${_} = 'expired' or ${i} = ${_}`),Qs=({name:e,columnA:i,columnB:_})=>ge(e,t.sql`${i} = 'expired' or ${_} is null or ${_} = 'expired' or ${i} = ${_}`),Vs=({name:e,columnA:i,columnB:_,allow:s})=>ge(e,t.sql.join([t.sql`${i} = 'expired'`,t.sql`${_} = 'expired'`,t.sql`${i} = ${_}`,...s.map(([e,s])=>t.sql`(${i} = ${t.sql.raw(`'${e}'`)} and ${_} = ${t.sql.raw(`'${s}'`)})`)],t.sql` or `)),Js={_expire_on_release:Pe("_expire_on_release").notNull().default(!1),_release_id:si("_release_id").references(()=>xs.release_id)},Rs=As,Us=es.table("gdrive_files",{gdrive_file_id:si("gdrive_file_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),epoch:st("epoch"),google_drive_id:st("google_drive_id"),google_drive_url:st("google_drive_url"),opendocument_presentation_bucket_name:st("opendocument_presentation_bucket_name"),opendocument_presentation_bucket_path:st("opendocument_presentation_bucket_path"),opendocument_text_bucket_name:st("opendocument_text_bucket_name"),opendocument_text_bucket_path:st("opendocument_text_bucket_path"),pdf_bucket_name:st("pdf_bucket_name"),pdf_bucket_path:st("pdf_bucket_path"),powerpoint_bucket_name:st("powerpoint_bucket_name"),powerpoint_bucket_path:st("powerpoint_bucket_path"),previous_document_id:si("previous_document_id"),word_bucket_name:st("word_bucket_name"),word_bucket_path:st("word_bucket_path"),...ws,...Js,...Ns}),Ks=es.table("lessons",{lesson_id:si("lesson_id").notNull().generatedByDefaultAsIdentity(),...Rs,deprecated_fields:mi("deprecated_fields"),equipment_and_resources:mi("equipment_and_resources"),has_tag_practical_not_remote:Pe("has_tag_practical_not_remote").notNull().default(!1),is_sensitive:Pe("is_sensitive").notNull().default(!1),key_learning_points:mi("key_learning_points"),keywords:mi("keywords"),lesson_outline:mi("lesson_outline"),lesson_uid:Be("lesson_uid",{length:16}).notNull(),misconceptions_and_common_mistakes:mi("misconceptions_and_common_mistakes"),phonics_outcome:st("phonics_outcome"),pupil_lesson_outcome:st("pupil_lesson_outcome"),slug:st("slug").notNull(),teacher_tips:mi("teacher_tips"),title:st("title").notNull(),...ws,...Js,...Ns},e=>[Jt({columns:[e.lesson_id,e._state]}),p("lessons_slug_unique").on(e.slug,e._state)]),Ms=es.enum("document_type",["slidedeck","worksheet","worksheet_answers","supplementary_resource","lesson_guide"]);es.table("documents",{document_id:si("document_id").notNull().generatedByDefaultAsIdentity(),...Rs,gdrive_file_id:si("gdrive_file_id").notNull(),lesson_id:si("lesson_id"),deprecated_fields:mi("deprecated_fields"),document_type:Ms("document_type").notNull(),document_uid:Be("document_uid",{length:16}),previous_lesson_id:si("previous_lesson_id"),...ws,...Js,...Ns},e=>[Jt({columns:[e.document_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Ks.lesson_id,Ks._state]}),m({name:"documents_gdrive_file_fk",columns:[e.gdrive_file_id],foreignColumns:[Us.gdrive_file_id]}),p().on(e.lesson_id,e.document_type,e._state)]);const Ws=es.table("bucket_files",{bucket_file_id:si("bucket_file_id").primaryKey().generatedByDefaultAsIdentity(),...qs,bucket_name:st("bucket_name"),bucket_path:st("bucket_path"),byte_size:si("byte_size"),cloudinary_public_id:st("cloudinary_public_id"),cloudinary_source_url:st("cloudinary_source_url"),content_type:st("content_type"),deprecated_fields:mi("deprecated_fields"),filename:st("filename"),media_description:st("media_description"),name:st("name"),previous_downloadable_id:si("previous_downloadable_id"),...ws,...Js,...Ns},e=>[p("bucket_files_cloudinary_public_id_unique").on(e.cloudinary_public_id)]);es.table("downloadables",{downloadable_id:si("downloadable_id").notNull().generatedByDefaultAsIdentity(),...Rs,bucket_file_id:si("bucket_file_id").notNull(),lesson_id:si("lesson_id"),custom_title:st("custom_title"),deprecated_fields:mi("deprecated_fields"),position:si("position").notNull(),previous_lesson_id:si("previous_lesson_id"),...ws,...Js,...Ns},e=>[Jt({columns:[e.downloadable_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Ks.lesson_id,Ks._state]}),m({name:"downloadables_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Ws.bucket_file_id]}),Vt("downloadables_lesson_position_unique").on(e.lesson_id,e.position,e._state)]);const Hs=es.table("videos",{video_id:si("video_id").primaryKey().generatedByDefaultAsIdentity(),...qs,cloudinary_public_id:st("cloudinary_public_id"),cloudinary_source_url:st("cloudinary_source_url"),contains_identifiable_face:Pe("contains_identifiable_face"),deprecated_fields:mi("deprecated_fields"),duration_seconds:Oi("duration_seconds"),has_bsl:Pe("has_bsl"),media_description:st("media_description"),mux_asset_id:st("mux_asset_id"),mux_open_playback_id:st("mux_open_playback_id"),mux_secure_playback_id:st("mux_secure_playback_id"),name:st("name"),previous_lesson_video_id:si("previous_lesson_video_id"),previous_media_clip_ids:si("previous_media_clip_ids").array(),raw_mux_data:mi("raw_mux_data"),title:st("title"),url:st("url"),video_uid:Be("video_uid",{length:16}),...ws,...Js,...Ns},e=>[p("videos_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("videos_cloudinary_source_url_unique").on(e.cloudinary_source_url)]);es.table("lesson_videos",{lesson_video_id:si("lesson_video_id").notNull().generatedByDefaultAsIdentity(),...Rs,lesson_id:si("lesson_id"),sign_language_video_id:si("sign_language_video_id"),video_id:si("video_id"),previous_lesson_id:si("previous_lesson_id"),...ws,...Js,...Ns},e=>[Jt({columns:[e.lesson_video_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Ks.lesson_id,Ks._state]}),m({columns:[e.video_id],foreignColumns:[Hs.video_id]}),m({name:"lesson_videos_sign_lang_video_fk",columns:[e.sign_language_video_id],foreignColumns:[Hs.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 Ys=es.table("media_clip_collection",{media_clip_collection_id:si("media_clip_collection_id").notNull().generatedByDefaultAsIdentity(),...Rs,lesson_id:si("lesson_id"),previous_lesson_id:si("previous_lesson_id"),...ws,...Js,...Ns},e=>[Jt({columns:[e.media_clip_collection_id,e._state]}),m({name:"mc_collection_lesson_fk",columns:[e.lesson_id,e._state],foreignColumns:[Ks.lesson_id,Ks._state]}),Vt("media_clip_collection_lesson_unique").on(e.lesson_id,e._state)]),Gs=es.table("sounds",{sound_id:si("sound_id").primaryKey().generatedByDefaultAsIdentity(),...qs,cloudinary_public_id:st("cloudinary_public_id"),cloudinary_source_url:st("cloudinary_source_url"),duration_seconds:Oi("duration_seconds"),media_description:st("media_description"),mux_asset_id:st("mux_asset_id"),mux_open_playback_id:st("mux_open_playback_id"),name:st("name"),previous_media_clip_ids:si("previous_media_clip_ids").array(),title:st("title"),...ws,...Js,...Ns},e=>[p("sounds_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("sounds_cloudinary_source_url_unique").on(e.cloudinary_source_url)]);es.table("media_clips",{media_clip_id:si("media_clip_id").notNull().generatedByDefaultAsIdentity(),...Rs,media_clip_collection_id:si("media_clip_collection_id").notNull(),sound_id:si("sound_id"),video_id:si("video_id"),clip_section:gs("clip_section").notNull(),custom_title:st("custom_title"),lesson_outline_index:si("lesson_outline_index"),media_kind:ps("media_kind"),position:si("position"),...ws,...Js,...Ns},e=>[Jt({columns:[e.media_clip_id,e._state]}),m({name:"media_clips_mc_collection_fk",columns:[e.media_clip_collection_id,e._state],foreignColumns:[Ys.media_clip_collection_id,Ys._state]}),m({columns:[e.sound_id],foreignColumns:[Gs.sound_id]}),m({columns:[e.video_id],foreignColumns:[Hs.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)`),ge("media_clips_position_required_unless_expiring",t.sql`position IS NOT NULL
9
9
  OR _state = 'expired'
10
- OR (_state = 'draft' AND _expire_on_release)`),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 Zn=en.table("images",{image_id:nt("image_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...wn,...Jn,...Nn},e=>[p("images_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("images_cloudinary_source_url_unique").on(e.cloudinary_source_url)]),Xn=en.table("questions",{question_id:nt("question_id").notNull().generatedByDefaultAsIdentity(),...Un,stem_image_id:nt("stem_image_id"),deprecated_fields:mt("deprecated_fields"),feedback:ni("feedback"),hint:ni("hint"),question_type:cn("question_type").notNull(),question_uid:Le("question_uid",{length:16}).notNull(),stem_text:ni("stem_text"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.question_id,e._state]}),m({columns:[e.stem_image_id],foreignColumns:[Zn.image_id]})]);en.table("question_options",{option_id:nt("option_id").notNull().generatedByDefaultAsIdentity(),...Un,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"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.option_id,e._state]}),m({name:"question_options_question_fk",columns:[e.question_id,e._state],foreignColumns:[Xn.question_id,Xn._state]}),m({name:"question_options_body_image_fk",columns:[e.body_image_id],foreignColumns:[Zn.image_id]}),m({name:"question_options_match_partner_image_fk",columns:[e.match_partner_image_id],foreignColumns:[Zn.image_id]})]);const e_=en.table("units",{unit_id:nt("unit_id").notNull().generatedByDefaultAsIdentity(),...An,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"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.unit_id,e._state]})]);en.table("question_units",{question_id:nt("question_id").notNull(),unit_id:nt("unit_id").notNull(),...$n,...zn,...wn,...Jn,...Nn},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:[Xn.question_id,Xn._state]}),m({name:"question_units_unit_fk",columns:[e.unit_id,e._unit_state],foreignColumns:[e_.unit_id,e_._state]}),En({name:"question_units_state_coherence",columnA:e._question_state,columnB:e._unit_state})]);const t_=en.enum("quiz_role",["starter","exit"]),i_=en.table("quizzes",{quiz_id:nt("quiz_id").notNull().generatedByDefaultAsIdentity(),...Un,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:t_("quiz_role").notNull(),quiz_uid:Le("quiz_uid",{length:16}).notNull(),...wn,...Jn,...Nn},e=>[Ji({columns:[e.quiz_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Rn.lesson_id,Rn._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(),...Pn,...$n,position:nt("position").notNull(),...wn,...Jn,...Nn},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:[i_.quiz_id,i_._state]}),m({name:"quiz_questions_question_fk",columns:[e.question_id,e._question_state],foreignColumns:[Xn.question_id,Xn._state]}),En({name:"quiz_questions_state_coherence",columnA:e._quiz_state,columnB:e._question_state})]);const s_=en.table("urls",{url_id:nt("url_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,cloudinary_public_id:ni("cloudinary_public_id"),cloudinary_source_url:ni("cloudinary_source_url"),name:ni("name"),url:ni("url"),...wn,...Jn,...Nn},e=>[p("urls_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("urls_cloudinary_source_url_unique").on(e.cloudinary_source_url)]),n_=en.table("media_copyright",{media_copyright_id:nt("media_copyright_id").notNull().generatedByDefaultAsIdentity(),...Un,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:rn("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:un("licence"),media_copyright_uid:Le("media_copyright_uid",{length:16}).notNull(),media_provenance:on("media_provenance"),media_provenance_url:ni("media_provenance_url"),permission_status:ln("permission_status"),restriction_level_override:an("restriction_level_override"),territory_other:ni("territory_other"),territory_override:dn("territory_override"),third_party_id:ni("third_party_id"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.media_copyright_id,e._state]}),m({columns:[e.image_id],foreignColumns:[Zn.image_id]}),m({columns:[e.sound_id],foreignColumns:[Gn.sound_id]}),m({columns:[e.video_id],foreignColumns:[Hn.video_id]}),m({name:"media_copyright_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Wn.bucket_file_id]}),m({columns:[e.url_id],foreignColumns:[s_.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)]),__=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"]),a_=sn.table("tpc_contracts",{tpc_contract_id:nt("tpc_contract_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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:an(),signing_side:ni("signing_side"),territory:__("territory"),tpc_contract_uid:Le("tpc_contract_uid",{length:16}).notNull(),...Nn},()=>[]);en.table("media_copyright_tpc_contracts",{media_copyright_id:nt("media_copyright_id").notNull(),tpc_contract_id:nt("tpc_contract_id").notNull(),...Un,...wn,...Jn,_release_id:nt("_release_id"),...Nn},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:[n_.media_copyright_id,n_._state]}),m({name:"media_copyright_tpc_contract_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[a_.tpc_contract_id]}),m({name:"media_copyright_tpc_contracts_release_fk",columns:[e._release_id],foreignColumns:[xn.release_id]})]),en.table("gdrive_file_images",{gdrive_file_id:nt("gdrive_file_id").notNull(),image_id:nt("image_id").notNull(),...Cn,...wn,...Jn,...Nn},e=>[Ji({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:[Zn.image_id]})]),en.table("lesson_media",{lesson_media_id:nt("lesson_media_id").notNull().generatedByDefaultAsIdentity(),...An,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"),...wn,...Jn,...Nn},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:[Rn.lesson_id,Rn._state]}),m({name:"lesson_media_image_fk",columns:[e.image_id],foreignColumns:[Zn.image_id]}),m({name:"lesson_media_sound_fk",columns:[e.sound_id],foreignColumns:[Gn.sound_id]}),m({name:"lesson_media_video_fk",columns:[e.video_id],foreignColumns:[Hn.video_id]}),m({name:"lesson_media_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Wn.bucket_file_id]}),m({name:"lesson_media_url_fk",columns:[e.url_id],foreignColumns:[s_.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 o_=en.table("works_copyright",{works_copyright_id:nt("works_copyright_id").notNull().generatedByDefaultAsIdentity(),...An,attribution:ni("attribution"),author:ni("author"),deprecated_fields:mt("deprecated_fields"),raw_juro_data:mt("raw_juro_data"),restriction_level:an("restriction_level"),title:ni("title"),works_copyright_uid:Le("works_copyright_uid",{length:16}),...wn,...Jn,...Nn},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(),...jn,...Ln,...wn,...Jn,...Nn},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:[Rn.lesson_id,Rn._state]}),m({name:"lesson_works_copyright_works_copyright_fk",columns:[e.works_copyright_id,e._works_copyright_state],foreignColumns:[o_.works_copyright_id,o_._state]}),Vn({name:"lesson_works_copyright_state_coherence",columnA:e._lesson_state,columnB:e._works_copyright_state,allow:[["draft","published"]]})]);const r_=en.table("features",{feature_id:nt("feature_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,key:ni("key").notNull(),...Jn,...Nn},e=>[p("features_key_unique").on(e.key)]);en.table("lesson_features",{lesson_id:nt("lesson_id").notNull(),feature_id:nt("feature_id").notNull(),...Un,value:ni("value"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.lesson_id,e.feature_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Rn.lesson_id,Rn._state]}),m({name:"lesson_features_feature_fk",columns:[e.feature_id],foreignColumns:[r_.feature_id]})]),en.table("sound_transcripts",{sound_id:nt("sound_id").notNull(),...An,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"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.sound_id,e._state]}),m({columns:[e.sound_id],foreignColumns:[Gn.sound_id]})]),en.table("video_captions",{video_id:nt("video_id").notNull(),...An,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"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.video_id,e._state]}),m({columns:[e.video_id],foreignColumns:[Hn.video_id]})]),en.table("works_copyright_tpc_contracts",{works_copyright_id:nt("works_copyright_id").notNull(),tpc_contract_id:nt("tpc_contract_id").notNull(),...Un,...wn,...Jn,_release_id:nt("_release_id"),...Nn},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:[o_.works_copyright_id,o_._state]}),m({name:"works_copyright_tpc_contract_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[a_.tpc_contract_id]}),m({name:"works_copyright_tpc_contracts_release_fk",columns:[e._release_id],foreignColumns:[xn.release_id]})]),en.table("videos_works_copyright",{video_id:nt("video_id").notNull(),works_copyright_id:nt("works_copyright_id").notNull(),...An,...wn,...Jn,...Nn},e=>[Ji({columns:[e.video_id,e.works_copyright_id,e._state]}),m({name:"videos_works_copyright_video_fk",columns:[e.video_id],foreignColumns:[Hn.video_id]}),m({name:"videos_works_copyright_works_copyright_fk",columns:[e.works_copyright_id,e._state],foreignColumns:[o_.works_copyright_id,o_._state]})]);const l_=en.table("supervision_levels",{supervision_level_id:nt("supervision_level_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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(),...Jn,...Nn}),d_=en.table("content_guidance",{content_guidance_id:nt("content_guidance_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...Jn,...Nn},e=>[m({name:"content_guid_super_level_fk",columns:[e.supervision_level_id],foreignColumns:[l_.supervision_level_id]})]),u_=en.table("key_stages",{key_stage_id:nt("key_stage_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),global_position:nt("global_position").notNull(),key_stage:ni("key_stage"),slug:ni("slug"),...Jn,...Nn}),c_=en.table("phases",{phase_id:nt("phase_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),global_position:nt("global_position").notNull(),phase:ni("phase"),slug:ni("slug"),...Jn,...Nn}),m_=en.table("subjects",{subject_id:nt("subject_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...Jn,...Nn},e=>[m({name:"subjects_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[e.subject_id]})]),p_=en.table("years",{year_id:nt("year_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...Jn,...Nn},e=>[m({columns:[e.key_stage_id],foreignColumns:[u_.key_stage_id]}),m({columns:[e.phase_id],foreignColumns:[c_.phase_id]})]);en.table("content_guidance_scopes",{scope_id:nt("scope_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...Jn,...Nn},e=>[m({name:"content_guid_scopes_content_guid_fk",columns:[e.content_guidance_id],foreignColumns:[d_.content_guidance_id]}),m({name:"content_guid_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[m_.subject_id]}),m({name:"content_guid_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[m_.subject_id]}),m({name:"content_guid_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[c_.phase_id]}),m({name:"content_guid_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[u_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[p_.year_id]})]);const g_=en.table("exam_board_specs",{exam_board_spec_id:nt("exam_board_spec_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),title:ni("title").notNull(),...Jn,...Nn});en.table("exam_board_spec_scopes",{scope_id:nt("scope_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...Jn,...Nn},e=>[m({name:"exam_spec_scopes_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[g_.exam_board_spec_id]}),m({name:"exam_spec_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[m_.subject_id]}),m({name:"exam_spec_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[m_.subject_id]}),m({name:"exam_spec_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[c_.phase_id]}),m({name:"exam_spec_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[u_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[p_.year_id]})]),en.table("lesson_content_guidance",{lesson_id:nt("lesson_id").notNull(),content_guidance_id:nt("content_guidance_id").notNull(),...Un,position:nt("position").notNull(),...wn,...Jn,...Nn},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:[Rn.lesson_id,Rn._state]}),m({name:"lesson_content_guid_content_guid_fk",columns:[e.content_guidance_id],foreignColumns:[d_.content_guidance_id]})]);const f_=en.table("tags",{tag_id:nt("tag_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,deprecated_fields:mt("deprecated_fields"),tag_category:mn("tag_category"),title:ni("title").notNull(),...Jn,...Nn});en.table("lesson_tags",{lesson_id:nt("lesson_id").notNull(),tag_id:nt("tag_id").notNull(),...Un,position:nt("position").notNull(),...wn,...Jn,...Nn},e=>[Ji({columns:[e.lesson_id,e.tag_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Rn.lesson_id,Rn._state]}),m({columns:[e.tag_id],foreignColumns:[f_.tag_id]})]);const h_=en.table("national_curriculum",{national_curriculum_id:nt("national_curriculum_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),title:ni("title").notNull(),...Jn,...Nn});en.table("national_curriculum_scopes",{scope_id:nt("scope_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...Jn,...Nn},e=>[m({name:"nat_curric_scopes_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[h_.national_curriculum_id]}),m({name:"nat_curric_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[m_.subject_id]}),m({name:"nat_curric_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[m_.subject_id]}),m({name:"nat_curric_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[c_.phase_id]}),m({name:"nat_curric_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[u_.key_stage_id]}),m({name:"nat_curric_scopes_year_fk",columns:[e.year_id],foreignColumns:[p_.year_id]})]);const y_=en.table("subject_categories",{subject_category_id:nt("subject_category_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),slug:ni("slug"),title:ni("title").notNull(),...Jn,...Nn});en.table("subject_category_scopes",{scope_id:nt("scope_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...Jn,...Nn},e=>[m({name:"subj_cat_scopes_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[y_.subject_category_id]}),m({name:"subj_cat_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[m_.subject_id]}),m({name:"subj_cat_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[m_.subject_id]}),m({name:"subj_cat_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[c_.phase_id]}),m({name:"subj_cat_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[u_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[p_.year_id]})]),en.table("tag_scopes",{scope_id:nt("scope_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,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"),...Jn,...Nn},e=>[m({columns:[e.tag_id],foreignColumns:[f_.tag_id]}),m({columns:[e.subject_id],foreignColumns:[m_.subject_id]}),m({name:"tag_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[m_.subject_id]}),m({columns:[e.phase_id],foreignColumns:[c_.phase_id]}),m({name:"tag_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[u_.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[p_.year_id]})]),en.table("unit_exam_board_specs",{unit_id:nt("unit_id").notNull(),exam_board_spec_id:nt("exam_board_spec_id").notNull(),...Un,position:nt("position").notNull(),...wn,...Jn,...Nn},e=>[Ji({columns:[e.unit_id,e.exam_board_spec_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[e_.unit_id,e_._state]}),m({name:"unit_exam_spec_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[g_.exam_board_spec_id]})]),en.table("unit_national_curriculum",{unit_id:nt("unit_id").notNull(),national_curriculum_id:nt("national_curriculum_id").notNull(),...Un,position:nt("position").notNull(),...wn,...Jn,...Nn},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:[e_.unit_id,e_._state]}),m({name:"unit_nat_curric_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[h_.national_curriculum_id]})]),en.table("unit_subject_categories",{unit_id:nt("unit_id").notNull(),subject_category_id:nt("subject_category_id").notNull(),...Un,position:nt("position").notNull(),...wn,...Jn,...Nn},e=>[Ji({columns:[e.unit_id,e.subject_category_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[e_.unit_id,e_._state]}),m({name:"unit_subj_cat_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[y_.subject_category_id]})]);const b_=en.table("exam_boards",{exam_board_id:nt("exam_board_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),exam_board:ni("exam_board"),global_position:nt("global_position").notNull(),slug:ni("slug"),...Jn,...Nn}),v_=en.table("pathways",{pathway_id:nt("pathway_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),global_position:nt("global_position").notNull(),pathway:ni("pathway"),slug:ni("slug"),...Jn,...Nn}),w_=en.table("tiers",{tier_id:nt("tier_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,deprecated_fields:mt("deprecated_fields"),description:ni("description"),global_position:nt("global_position").notNull(),slug:ni("slug"),tier:ni("tier"),...Jn,...Nn}),N_=en.table("unit_variants",{unit_variant_id:nt("unit_variant_id").notNull().generatedByDefaultAsIdentity(),...Un,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"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.unit_variant_id,e._state]}),m({name:"unit_variants_exam_board_fk",columns:[e.exam_board_id],foreignColumns:[b_.exam_board_id]}),m({columns:[e.pathway_id],foreignColumns:[v_.pathway_id]}),m({columns:[e.subject_id],foreignColumns:[m_.subject_id]}),m({columns:[e.tier_id],foreignColumns:[w_.tier_id]}),m({columns:[e.unit_id,e._state],foreignColumns:[e_.unit_id,e_._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(),...Un,position:nt("position").notNull(),...wn,...Jn,_release_id:nt("_release_id"),...Nn},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:[xn.release_id]}),m({name:"unit_var_exam_spec_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[N_.unit_variant_id,N_._state]}),m({name:"unit_var_exam_spec_ovr_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[g_.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(),...Un,position:nt("position").notNull(),...wn,...Jn,_release_id:nt("_release_id"),...Nn},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:[xn.release_id]}),m({name:"unit_var_nat_curric_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[N_.unit_variant_id,N_._state]}),m({name:"unit_var_nat_curric_ovr_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[h_.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(),...Un,position:nt("position").notNull(),...wn,...Jn,_release_id:nt("_release_id"),...Nn},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:[xn.release_id]}),m({name:"unit_var_subj_cat_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[N_.unit_variant_id,N_._state]}),m({name:"unit_var_subj_cat_ovr_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[y_.subject_category_id]})]);const S_=en.table("actions",{action_id:nt("action_id").primaryKey().generatedByDefaultAsIdentity(),...Cn,key:ni("key").notNull(),...Jn,...Nn},e=>[p("actions_key_unique").on(e.key)]),k_=en.table("overrides_and_exceptions",{overrides_and_exceptions_id:nt("overrides_and_exceptions_id").notNull().generatedByDefaultAsIdentity(),...An,description:ni("description"),temporary_fields:mt("temporary_fields"),used_by_queries:mt("used_by_queries").notNull().default([]),...wn,...Jn,...Nn},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(),...An,value:mt("value").notNull(),...wn,...Jn,_release_id:nt("_release_id"),...Nn},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:[xn.release_id]}),m({name:"ovr_exc_actions_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[k_.overrides_and_exceptions_id,k_._state]}),m({name:"ovr_exc_actions_action_fk",columns:[e.action_id],foreignColumns:[S_.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(),...An,value:ni("value").notNull(),...wn,...Jn,_release_id:nt("_release_id"),...Nn},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:[xn.release_id]}),m({name:"ovr_exc_feature_scopes_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[k_.overrides_and_exceptions_id,k_._state]}),m({name:"ovr_exc_feature_scopes_feature_fk",columns:[e.feature_id],foreignColumns:[r_.feature_id]})]),en.table("overrides_and_exceptions_programme_scopes",{scope_id:nt("scope_id").notNull().generatedByDefaultAsIdentity(),...An,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"),...wn,...Jn,_release_id:nt("_release_id"),...Nn},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:[xn.release_id]}),m({name:"ovr_exc_programme_scopes_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[k_.overrides_and_exceptions_id,k_._state]}),m({name:"ovr_exc_programme_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[u_.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:[c_.phase_id]}),m({name:"ovr_exc_programme_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[m_.subject_id]}),m({name:"ovr_exc_programme_scopes_tier_fk",columns:[e.tier_id],foreignColumns:[w_.tier_id]})]),en.table("redirects",{entity_id:nt("entity_id").notNull(),entity_source:hn("entity_source").notNull(),...Un,description:ni("description"),redirect_entity_id:nt("redirect_entity_id"),redirect_entity_source:hn("redirect_entity_source"),redirect_type:fn("redirect_type").notNull(),redirect_url:ni("redirect_url"),...wn,...Jn,...Nn},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 x_=en.table("choices",{choice_id:nt("choice_id").notNull().generatedByDefaultAsIdentity(),...Un,unit_id:nt("unit_id").notNull(),temporary_fields:mt("temporary_fields"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.choice_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[e_.unit_id,e_._state]})]);en.table("choices_unit_variants",{unit_variant_id:nt("unit_variant_id").notNull(),choice_id:nt("choice_id").notNull(),...Dn,...qn,position:nt("position").notNull(),...wn,...Jn,...Nn},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:[N_.unit_variant_id,N_._state]}),m({name:"choices_unit_var_choice_fk",columns:[e.choice_id,e._choice_state],foreignColumns:[x_.choice_id,x_._state]}),En({name:"choices_unit_var_state_coherence",columnA:e._unit_variant_state,columnB:e._choice_state})]);const A_=en.table("programmes",{programme_id:nt("programme_id").notNull().generatedByDefaultAsIdentity(),...Un,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}),...wn,...Jn,...Nn},e=>[Ji({columns:[e.programme_id,e._state]}),m({columns:[e.subject_id],foreignColumns:[m_.subject_id]}),m({columns:[e.year_id],foreignColumns:[p_.year_id]}),m({columns:[e.tier_id],foreignColumns:[w_.tier_id]}),m({name:"programmes_exam_board_fk",columns:[e.exam_board_id],foreignColumns:[b_.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(),...Tn,...In,...Fn,choice_id:nt("choice_id"),unit_variant_id:nt("unit_variant_id"),...wn,...Jn,...Nn},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:[A_.programme_id,A_._state]}),m({name:"inclusions_choice_fk",columns:[e.choice_id,e._choice_state],foreignColumns:[x_.choice_id,x_._state]}),m({name:"inclusions_unit_var_fk",columns:[e.unit_variant_id,e._unit_variant_state],foreignColumns:[N_.unit_variant_id,N_._state]}),Qn({name:"inclusions_choice_state_coherence",columnA:e._programme_state,columnB:e._choice_state}),Qn({name:"inclusions_unit_var_state_coherence",columnA:e._programme_state,columnB:e._unit_variant_state})]);const C_=en.table("subject_phases",{subject_id:nt("subject_id").notNull(),phase_id:nt("phase_id").notNull(),...Un,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),...wn,...Jn,...Nn},e=>[Ji({columns:[e.subject_id,e.phase_id,e._state]}),m({columns:[e.subject_id],foreignColumns:[m_.subject_id]}),m({columns:[e.phase_id],foreignColumns:[c_.phase_id]})]),q_=en.table("threads",{thread_id:nt("thread_id").notNull().generatedByDefaultAsIdentity(),...An,deprecated_fields:mt("deprecated_fields"),description:ni("description"),slug:ni("slug"),thread_uid:Le("thread_uid",{length:16}),title:ni("title"),...wn,...Jn,...Nn},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(),...On,...Bn,deprecated_fields:mt("deprecated_fields"),position:nt("position").notNull(),...wn,...Jn,...Nn},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:[C_.subject_id,C_.phase_id,C_._state]}),m({name:"subject_phase_threads_thread_fk",columns:[e.thread_id,e._thread_state],foreignColumns:[q_.thread_id,q_._state]}),En({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(),...Bn,...zn,deprecated_fields:mt("deprecated_fields"),position:nt("position").notNull(),...wn,...Jn,...Nn},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:[q_.thread_id,q_._state]}),m({name:"unit_threads_unit_fk",columns:[e.unit_id,e._unit_state],foreignColumns:[e_.unit_id,e_._state]}),En({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(),...Un,...wn,...Jn,...Nn},e=>[Ji({columns:[e.subject_id,e.year_id,e.unit_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[e_.unit_id,e_._state]}),m({columns:[e.subject_id],foreignColumns:[m_.subject_id]}),m({columns:[e.year_id],foreignColumns:[p_.year_id]})]),en.table("unit_lessons",{unit_id:nt("unit_id").notNull(),lesson_id:nt("lesson_id").notNull(),...zn,...jn,position:nt("position").notNull(),...wn,...Jn,...Nn},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:[e_.unit_id,e_._state]}),m({name:"unit_lessons_lesson_fk",columns:[e.lesson_id,e._lesson_state],foreignColumns:[Rn.lesson_id,Rn._state]}),En({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(),...Dn,...jn,deprecated_fields:mt("deprecated_fields"),position:nt("position").notNull(),...wn,...Jn,...Nn},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:[N_.unit_variant_id,N_._state]}),m({name:"unit_var_lessons_lesson_fk",columns:[e.lesson_id,e._lesson_state],foreignColumns:[Rn.lesson_id,Rn._state]}),En({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(),...Un,value:ni("value"),...wn,...Jn,...Nn},e=>[Ji({columns:[e.unit_id,e.feature_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[e_.unit_id,e_._state]}),m({columns:[e.feature_id],foreignColumns:[r_.feature_id]})]);const j_=sn.enum("lesson_component_operation_status_enum",["api_neutral","api_in_progress","api_failed","ingest_queued","ingest_in_progress","ingest_failed","ingest_completed"]),T_=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:vn("lesson_component_type").notNull(),active_media_id:nt("active_media_id"),active_media_type:bn("active_media_type"),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"),last_ingest_id:gi("last_ingest_id"),operation_status:j_("operation_status").notNull().default("api_neutral"),previous_media_id:nt("previous_media_id"),previous_media_type:bn("previous_media_type"),retired_at:ci("retired_at",{withTimezone:!0}),retired_reason:T_("retired_reason"),...Nn},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 $_=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:$_("status").notNull().default("api_neutral"),...Nn});const P_=sn.enum("media_status_enum",["neutral","in_progress","failed"]),O_=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:bn("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:vn("last_lesson_component_type"),retired_at:ci("retired_at",{withTimezone:!0}),retired_reason:O_("retired_reason"),status:P_("status").notNull().default("neutral"),...Nn},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:yn("operation").notNull(),record_key:mt("record_key").notNull(),table_name:ni("table_name").notNull(),...Sn},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:[xn.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 B_=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:B_("event_type").notNull(),payload:mt("payload")},e=>[m({name:"tpc_contract_log_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[a_.tpc_contract_id]})]);const z_=sn.enum("restrictions_type_enum",["Restrictions 1","Restrictions 2","Restrictions 3","Restrictions 4","Restrictions 5","Restrictions 6","Restrictions 7","Additional Restrictions"]),D_=sn.table("tpc_restriction_definitions",{tpc_restriction_definition_id:nt("tpc_restriction_definition_id").primaryKey().generatedByDefaultAsIdentity(),restriction_text:ni("restriction_text").notNull(),type:z_("type").notNull(),...Nn},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(),...Un,restriction_override:ni("restriction_override"),...Nn},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:[a_.tpc_contract_id]}),m({name:"tpc_restrictions_tpc_restriction_definition_fk",columns:[e.tpc_restriction_definition_id],foreignColumns:[D_.tpc_restriction_definition_id]})]),tn.view("sub_live_lesson_component_status",{lesson_component_id:nt("lesson_component_id"),lesson_component_type:vn("lesson_component_type"),operation_status:j_("operation_status"),active_media_id:nt("active_media_id"),active_media_type:bn("active_media_type"),last_ingest_id:gi("last_ingest_id"),created_at:ci("created_at",{withTimezone:!0})}).as(i.sql`
10
+ OR (_state = 'draft' AND _expire_on_release)`),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 Zs=es.table("images",{image_id:si("image_id").primaryKey().generatedByDefaultAsIdentity(),...qs,cloudinary_public_id:st("cloudinary_public_id"),cloudinary_source_url:st("cloudinary_source_url"),contains_identifiable_face:Pe("contains_identifiable_face"),height:si("height"),media_description:st("media_description"),name:st("name"),width:si("width"),...ws,...Js,...Ns},e=>[p("images_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("images_cloudinary_source_url_unique").on(e.cloudinary_source_url)]),Xs=es.table("questions",{question_id:si("question_id").notNull().generatedByDefaultAsIdentity(),...Rs,stem_image_id:si("stem_image_id"),deprecated_fields:mi("deprecated_fields"),feedback:st("feedback"),hint:st("hint"),question_type:cs("question_type").notNull(),question_uid:Be("question_uid",{length:16}).notNull(),stem_text:st("stem_text"),...ws,...Js,...Ns},e=>[Jt({columns:[e.question_id,e._state]}),m({columns:[e.stem_image_id],foreignColumns:[Zs.image_id]})]);es.table("question_options",{option_id:si("option_id").notNull().generatedByDefaultAsIdentity(),...Rs,body_image_id:si("body_image_id"),match_partner_image_id:si("match_partner_image_id"),question_id:si("question_id").notNull(),body_text:st("body_text"),correct_order:si("correct_order"),is_default:Pe("is_default"),is_correct:Pe("is_correct"),match_partner_text:st("match_partner_text"),position:si("position"),temporary_fields:mi("temporary_fields"),...ws,...Js,...Ns},e=>[Jt({columns:[e.option_id,e._state]}),m({name:"question_options_question_fk",columns:[e.question_id,e._state],foreignColumns:[Xs.question_id,Xs._state]}),m({name:"question_options_body_image_fk",columns:[e.body_image_id],foreignColumns:[Zs.image_id]}),m({name:"question_options_match_partner_image_fk",columns:[e.match_partner_image_id],foreignColumns:[Zs.image_id]})]);const en=es.table("units",{unit_id:si("unit_id").notNull().generatedByDefaultAsIdentity(),...As,deprecated_fields:mi("deprecated_fields"),description:st("description").notNull(),slug:st("slug"),title:st("title").notNull(),unit_uid:Be("unit_uid",{length:16}),why_this_why_now:st("why_this_why_now"),...ws,...Js,...Ns},e=>[Jt({columns:[e.unit_id,e._state]})]);es.table("question_units",{question_id:si("question_id").notNull(),unit_id:si("unit_id").notNull(),...Os,...Ds,...ws,...Js,...Ns},e=>[Jt({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:[Xs.question_id,Xs._state]}),m({name:"question_units_unit_fk",columns:[e.unit_id,e._unit_state],foreignColumns:[en.unit_id,en._state]}),Fs({name:"question_units_state_coherence",columnA:e._question_state,columnB:e._unit_state})]);const tn=es.enum("quiz_role",["starter","exit"]),_n=es.table("quizzes",{quiz_id:si("quiz_id").notNull().generatedByDefaultAsIdentity(),...Rs,lesson_id:si("lesson_id"),deprecated_fields:mi("deprecated_fields"),previous_lesson_id:si("previous_lesson_id"),quiz_answers_pdf_bucket_name:st("quiz_answers_pdf_bucket_name"),quiz_answers_pdf_bucket_path:st("quiz_answers_pdf_bucket_path"),quiz_pdf_bucket_name:st("quiz_pdf_bucket_name"),quiz_pdf_bucket_path:st("quiz_pdf_bucket_path"),quiz_role:tn("quiz_role").notNull(),quiz_uid:Be("quiz_uid",{length:16}).notNull(),...ws,...Js,...Ns},e=>[Jt({columns:[e.quiz_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Ks.lesson_id,Ks._state]}),Vt("quizzes_lesson_role_unique").on(e.lesson_id,e.quiz_role,e._state)]);es.table("quiz_questions",{quiz_id:si("quiz_id").notNull(),question_id:si("question_id").notNull(),...$s,...Os,position:si("position").notNull(),...ws,...Js,...Ns},e=>[Jt({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:[_n.quiz_id,_n._state]}),m({name:"quiz_questions_question_fk",columns:[e.question_id,e._question_state],foreignColumns:[Xs.question_id,Xs._state]}),Fs({name:"quiz_questions_state_coherence",columnA:e._quiz_state,columnB:e._question_state})]);const sn=es.table("urls",{url_id:si("url_id").primaryKey().generatedByDefaultAsIdentity(),...qs,cloudinary_public_id:st("cloudinary_public_id"),cloudinary_source_url:st("cloudinary_source_url"),name:st("name"),url:st("url"),...ws,...Js,...Ns},e=>[p("urls_cloudinary_public_id_unique").on(e.cloudinary_public_id),p("urls_cloudinary_source_url_unique").on(e.cloudinary_source_url)]),nn=es.table("media_copyright",{media_copyright_id:si("media_copyright_id").notNull().generatedByDefaultAsIdentity(),...Rs,bucket_file_id:si("bucket_file_id"),image_id:si("image_id"),sound_id:si("sound_id"),url_id:si("url_id"),video_id:si("video_id"),acquisition_basis:rs("acquisition_basis"),additional_restrictions:st("additional_restrictions"),attribution:st("attribution"),attribution_required:Pe("attribution_required"),deprecated_fields:mi("deprecated_fields"),internal_notes:st("internal_notes"),legacy_data_shape:Pe("legacy_data_shape").notNull(),licence:us("licence"),media_copyright_uid:Be("media_copyright_uid",{length:16}).notNull(),media_provenance:os("media_provenance"),media_provenance_url:st("media_provenance_url"),permission_status:ls("permission_status"),restriction_level_override:as("restriction_level_override"),third_party_id:st("third_party_id"),usage_restrictions:ds("usage_restrictions"),...ws,...Js,...Ns},e=>[Jt({columns:[e.media_copyright_id,e._state]}),m({columns:[e.image_id],foreignColumns:[Zs.image_id]}),m({columns:[e.sound_id],foreignColumns:[Gs.sound_id]}),m({columns:[e.video_id],foreignColumns:[Hs.video_id]}),m({name:"media_copyright_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Ws.bucket_file_id]}),m({columns:[e.url_id],foreignColumns:[sn.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)]),an=ts.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"]),on=ts.table("tpc_contracts",{tpc_contract_id:si("tpc_contract_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),effective_date:He("effective_date"),end_date:He("end_date"),juro_id:st("juro_id").notNull(),juro_url:st("juro_url"),name:st("name").notNull(),raw_contract:mi("raw_contract"),restriction_level_override:as("restriction_level_override"),signing_side:st("signing_side"),territory:an("territory"),tpc_contract_uid:Be("tpc_contract_uid",{length:16}).notNull(),...Ns},()=>[]);es.table("media_copyright_tpc_contracts",{media_copyright_id:si("media_copyright_id").notNull(),tpc_contract_id:si("tpc_contract_id").notNull(),...Rs,...ws,...Js,_release_id:si("_release_id"),...Ns},e=>[Jt({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:[nn.media_copyright_id,nn._state]}),m({name:"media_copyright_tpc_contract_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[on.tpc_contract_id]}),m({name:"media_copyright_tpc_contracts_release_fk",columns:[e._release_id],foreignColumns:[xs.release_id]})]),es.table("gdrive_file_images",{gdrive_file_id:si("gdrive_file_id").notNull(),image_id:si("image_id").notNull(),...qs,...ws,...Js,...Ns},e=>[Jt({columns:[e.gdrive_file_id,e.image_id]}),m({name:"gdrive_file_images_gdrive_file_fk",columns:[e.gdrive_file_id],foreignColumns:[Us.gdrive_file_id]}),m({columns:[e.image_id],foreignColumns:[Zs.image_id]})]),es.table("lesson_media",{lesson_media_id:si("lesson_media_id").notNull().generatedByDefaultAsIdentity(),...As,lesson_id:si("lesson_id").notNull(),bucket_file_id:si("bucket_file_id"),image_id:si("image_id"),sound_id:si("sound_id"),url_id:si("url_id"),video_id:si("video_id"),...ws,...Js,...Ns},e=>[Jt({name:"lesson_media_pk",columns:[e.lesson_media_id,e._state]}),m({name:"lesson_media_lesson_fk",columns:[e.lesson_id,e._state],foreignColumns:[Ks.lesson_id,Ks._state]}),m({name:"lesson_media_image_fk",columns:[e.image_id],foreignColumns:[Zs.image_id]}),m({name:"lesson_media_sound_fk",columns:[e.sound_id],foreignColumns:[Gs.sound_id]}),m({name:"lesson_media_video_fk",columns:[e.video_id],foreignColumns:[Hs.video_id]}),m({name:"lesson_media_bucket_file_fk",columns:[e.bucket_file_id],foreignColumns:[Ws.bucket_file_id]}),m({name:"lesson_media_url_fk",columns:[e.url_id],foreignColumns:[sn.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 rn=es.table("works_copyright",{works_copyright_id:si("works_copyright_id").notNull().generatedByDefaultAsIdentity(),...As,attribution:st("attribution"),author:st("author"),deprecated_fields:mi("deprecated_fields"),raw_juro_data:mi("raw_juro_data"),restriction_level_override:as("restriction_level_override"),title:st("title"),works_copyright_uid:Be("works_copyright_uid",{length:16}),...ws,...Js,...Ns},e=>[Jt({columns:[e.works_copyright_id,e._state]})]);es.table("lesson_works_copyright",{lesson_id:si("lesson_id").notNull(),works_copyright_id:si("works_copyright_id").notNull(),...Cs,...Bs,...ws,...Js,...Ns},e=>[Jt({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:[Ks.lesson_id,Ks._state]}),m({name:"lesson_works_copyright_works_copyright_fk",columns:[e.works_copyright_id,e._works_copyright_state],foreignColumns:[rn.works_copyright_id,rn._state]}),Vs({name:"lesson_works_copyright_state_coherence",columnA:e._lesson_state,columnB:e._works_copyright_state,allow:[["draft","published"]]})]);const ln=es.table("features",{feature_id:si("feature_id").primaryKey().generatedByDefaultAsIdentity(),...qs,key:st("key").notNull(),...Js,...Ns},e=>[p("features_key_unique").on(e.key)]);es.table("lesson_features",{lesson_id:si("lesson_id").notNull(),feature_id:si("feature_id").notNull(),...Rs,value:st("value"),...ws,...Js,...Ns},e=>[Jt({columns:[e.lesson_id,e.feature_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Ks.lesson_id,Ks._state]}),m({name:"lesson_features_feature_fk",columns:[e.feature_id],foreignColumns:[ln.feature_id]})]),es.table("sound_transcripts",{sound_id:si("sound_id").notNull(),...As,bad_language_detected:Pe("bad_language_detected"),deprecated_fields:mi("deprecated_fields"),inappropriate_words:mi("inappropriate_words"),language_approved:Pe("language_approved"),transcript:st("transcript"),transcript_vtt_url:st("transcript_vtt_url"),...ws,...Js,...Ns},e=>[Jt({columns:[e.sound_id,e._state]}),m({columns:[e.sound_id],foreignColumns:[Gs.sound_id]})]),es.table("video_captions",{video_id:si("video_id").notNull(),...As,bad_language_detected:Pe("bad_language_detected"),deprecated_fields:mi("deprecated_fields"),inappropriate_words:mi("inappropriate_words"),language_approved:Pe("language_approved"),transcript:st("transcript"),transcript_vtt_url:st("transcript_vtt_url"),...ws,...Js,...Ns},e=>[Jt({columns:[e.video_id,e._state]}),m({columns:[e.video_id],foreignColumns:[Hs.video_id]})]),es.table("works_copyright_tpc_contracts",{works_copyright_id:si("works_copyright_id").notNull(),tpc_contract_id:si("tpc_contract_id").notNull(),...Rs,...ws,...Js,_release_id:si("_release_id"),...Ns},e=>[Jt({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:[rn.works_copyright_id,rn._state]}),m({name:"works_copyright_tpc_contract_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[on.tpc_contract_id]}),m({name:"works_copyright_tpc_contracts_release_fk",columns:[e._release_id],foreignColumns:[xs.release_id]})]),es.table("videos_works_copyright",{video_id:si("video_id").notNull(),works_copyright_id:si("works_copyright_id").notNull(),...As,...ws,...Js,...Ns},e=>[Jt({columns:[e.video_id,e.works_copyright_id,e._state]}),m({name:"videos_works_copyright_video_fk",columns:[e.video_id],foreignColumns:[Hs.video_id]}),m({name:"videos_works_copyright_works_copyright_fk",columns:[e.works_copyright_id,e._state],foreignColumns:[rn.works_copyright_id,rn._state]})]);const dn=es.table("supervision_levels",{supervision_level_id:si("supervision_level_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),description:st("description"),global_position:si("global_position").notNull(),supervision_level_rating:si("supervision_level_rating"),title:st("title").notNull(),...Js,...Ns}),un=es.table("content_guidance",{content_guidance_id:si("content_guidance_id").primaryKey().generatedByDefaultAsIdentity(),...qs,supervision_level_id:si("supervision_level_id").notNull(),content_guidance_area:st("content_guidance_area"),content_guidance_code:st("content_guidance_code"),content_guidance_description:st("content_guidance_description"),content_guidance_label:st("content_guidance_label"),deprecated_fields:mi("deprecated_fields"),...Js,...Ns},e=>[m({name:"content_guid_super_level_fk",columns:[e.supervision_level_id],foreignColumns:[dn.supervision_level_id]})]),cn=es.table("key_stages",{key_stage_id:si("key_stage_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),description:st("description"),global_position:si("global_position").notNull(),key_stage:st("key_stage"),slug:st("slug"),...Js,...Ns}),mn=es.table("phases",{phase_id:si("phase_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),description:st("description"),global_position:si("global_position").notNull(),phase:st("phase"),slug:st("slug"),...Js,...Ns}),pn=es.table("subjects",{subject_id:si("subject_id").primaryKey().generatedByDefaultAsIdentity(),...qs,subject_parent_id:si("subject_parent_id"),deprecated_fields:mi("deprecated_fields"),description:st("description"),global_position:si("global_position").notNull(),non_curriculum:Pe("non_curriculum"),slug:st("slug"),subject:st("subject"),...Js,...Ns},e=>[m({name:"subjects_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[e.subject_id]})]),gn=es.table("years",{year_id:si("year_id").primaryKey().generatedByDefaultAsIdentity(),...qs,key_stage_id:si("key_stage_id").notNull(),phase_id:si("phase_id").notNull(),deprecated_fields:mi("deprecated_fields"),description:st("description"),global_position:si("global_position").notNull(),slug:st("slug"),year:st("year"),...Js,...Ns},e=>[m({columns:[e.key_stage_id],foreignColumns:[cn.key_stage_id]}),m({columns:[e.phase_id],foreignColumns:[mn.phase_id]})]);es.table("content_guidance_scopes",{scope_id:si("scope_id").primaryKey().generatedByDefaultAsIdentity(),...qs,content_guidance_id:si("content_guidance_id").notNull(),key_stage_id:si("key_stage_id"),phase_id:si("phase_id"),subject_id:si("subject_id"),subject_parent_id:si("subject_parent_id"),year_id:si("year_id"),...Js,...Ns},e=>[m({name:"content_guid_scopes_content_guid_fk",columns:[e.content_guidance_id],foreignColumns:[un.content_guidance_id]}),m({name:"content_guid_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[pn.subject_id]}),m({name:"content_guid_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[pn.subject_id]}),m({name:"content_guid_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[mn.phase_id]}),m({name:"content_guid_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[cn.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[gn.year_id]}),Qt("content_guid_scopes_guidance_idx").on(e.content_guidance_id)]);const hn=es.table("exam_board_specs",{exam_board_spec_id:si("exam_board_spec_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),description:st("description"),title:st("title").notNull(),...Js,...Ns});es.table("exam_board_spec_scopes",{scope_id:si("scope_id").primaryKey().generatedByDefaultAsIdentity(),...qs,exam_board_spec_id:si("exam_board_spec_id").notNull(),key_stage_id:si("key_stage_id"),phase_id:si("phase_id"),subject_id:si("subject_id"),subject_parent_id:si("subject_parent_id"),year_id:si("year_id"),...Js,...Ns},e=>[m({name:"exam_spec_scopes_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[hn.exam_board_spec_id]}),m({name:"exam_spec_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[pn.subject_id]}),m({name:"exam_spec_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[pn.subject_id]}),m({name:"exam_spec_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[mn.phase_id]}),m({name:"exam_spec_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[cn.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[gn.year_id]})]),es.table("lesson_content_guidance",{lesson_id:si("lesson_id").notNull(),content_guidance_id:si("content_guidance_id").notNull(),...Rs,position:si("position").notNull(),...ws,...Js,...Ns},e=>[Jt({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:[Ks.lesson_id,Ks._state]}),m({name:"lesson_content_guid_content_guid_fk",columns:[e.content_guidance_id],foreignColumns:[un.content_guidance_id]})]);const fn=es.table("tags",{tag_id:si("tag_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),tag_category:ms("tag_category"),title:st("title").notNull(),...Js,...Ns});es.table("lesson_tags",{lesson_id:si("lesson_id").notNull(),tag_id:si("tag_id").notNull(),...Rs,position:si("position").notNull(),...ws,...Js,...Ns},e=>[Jt({columns:[e.lesson_id,e.tag_id,e._state]}),m({columns:[e.lesson_id,e._state],foreignColumns:[Ks.lesson_id,Ks._state]}),m({columns:[e.tag_id],foreignColumns:[fn.tag_id]})]);const vn=es.table("national_curriculum",{national_curriculum_id:si("national_curriculum_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),description:st("description"),title:st("title").notNull(),...Js,...Ns});es.table("national_curriculum_scopes",{scope_id:si("scope_id").primaryKey().generatedByDefaultAsIdentity(),...qs,key_stage_id:si("key_stage_id"),national_curriculum_id:si("national_curriculum_id").notNull(),phase_id:si("phase_id"),subject_id:si("subject_id"),subject_parent_id:si("subject_parent_id"),year_id:si("year_id"),...Js,...Ns},e=>[m({name:"nat_curric_scopes_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[vn.national_curriculum_id]}),m({name:"nat_curric_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[pn.subject_id]}),m({name:"nat_curric_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[pn.subject_id]}),m({name:"nat_curric_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[mn.phase_id]}),m({name:"nat_curric_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[cn.key_stage_id]}),m({name:"nat_curric_scopes_year_fk",columns:[e.year_id],foreignColumns:[gn.year_id]})]);const yn=es.table("subject_categories",{subject_category_id:si("subject_category_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),description:st("description"),slug:st("slug"),title:st("title").notNull(),...Js,...Ns});es.table("subject_category_scopes",{scope_id:si("scope_id").primaryKey().generatedByDefaultAsIdentity(),...qs,key_stage_id:si("key_stage_id"),phase_id:si("phase_id"),subject_category_id:si("subject_category_id").notNull(),subject_id:si("subject_id"),subject_parent_id:si("subject_parent_id"),year_id:si("year_id"),...Js,...Ns},e=>[m({name:"subj_cat_scopes_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[yn.subject_category_id]}),m({name:"subj_cat_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[pn.subject_id]}),m({name:"subj_cat_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[pn.subject_id]}),m({name:"subj_cat_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[mn.phase_id]}),m({name:"subj_cat_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[cn.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[gn.year_id]})]),es.table("tag_scopes",{scope_id:si("scope_id").primaryKey().generatedByDefaultAsIdentity(),...qs,key_stage_id:si("key_stage_id"),phase_id:si("phase_id"),subject_id:si("subject_id"),subject_parent_id:si("subject_parent_id"),tag_id:si("tag_id").notNull(),year_id:si("year_id"),...Js,...Ns},e=>[m({columns:[e.tag_id],foreignColumns:[fn.tag_id]}),m({columns:[e.subject_id],foreignColumns:[pn.subject_id]}),m({name:"tag_scopes_subj_parent_fk",columns:[e.subject_parent_id],foreignColumns:[pn.subject_id]}),m({columns:[e.phase_id],foreignColumns:[mn.phase_id]}),m({name:"tag_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[cn.key_stage_id]}),m({columns:[e.year_id],foreignColumns:[gn.year_id]})]),es.table("unit_exam_board_specs",{unit_id:si("unit_id").notNull(),exam_board_spec_id:si("exam_board_spec_id").notNull(),...Rs,position:si("position").notNull(),...ws,...Js,...Ns},e=>[Jt({columns:[e.unit_id,e.exam_board_spec_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[en.unit_id,en._state]}),m({name:"unit_exam_spec_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[hn.exam_board_spec_id]})]),es.table("unit_national_curriculum",{unit_id:si("unit_id").notNull(),national_curriculum_id:si("national_curriculum_id").notNull(),...Rs,position:si("position").notNull(),...ws,...Js,...Ns},e=>[Jt({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:[en.unit_id,en._state]}),m({name:"unit_nat_curric_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[vn.national_curriculum_id]})]),es.table("unit_subject_categories",{unit_id:si("unit_id").notNull(),subject_category_id:si("subject_category_id").notNull(),...Rs,position:si("position").notNull(),...ws,...Js,...Ns},e=>[Jt({columns:[e.unit_id,e.subject_category_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[en.unit_id,en._state]}),m({name:"unit_subj_cat_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[yn.subject_category_id]})]);const bn=es.table("exam_boards",{exam_board_id:si("exam_board_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),description:st("description"),exam_board:st("exam_board"),global_position:si("global_position").notNull(),slug:st("slug"),...Js,...Ns}),wn=es.table("pathways",{pathway_id:si("pathway_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),description:st("description"),global_position:si("global_position").notNull(),pathway:st("pathway"),slug:st("slug"),...Js,...Ns}),Sn=es.table("tiers",{tier_id:si("tier_id").primaryKey().generatedByDefaultAsIdentity(),...qs,deprecated_fields:mi("deprecated_fields"),description:st("description"),global_position:si("global_position").notNull(),slug:st("slug"),tier:st("tier"),...Js,...Ns}),Nn=es.table("unit_variants",{unit_variant_id:si("unit_variant_id").notNull().generatedByDefaultAsIdentity(),...Rs,exam_board_id:si("exam_board_id"),pathway_id:si("pathway_id"),subject_id:si("subject_id"),tier_id:si("tier_id"),unit_id:si("unit_id").notNull(),deprecated_fields:mi("deprecated_fields"),description_override:st("description_override"),optionality:st("optionality"),planned_number_of_lessons_override:si("planned_number_of_lessons_override"),prior_knowledge_requirements_override:st("prior_knowledge_requirements_override").array(),title_override:st("title_override"),unit_variant_uid:Be("unit_variant_uid",{length:16}),why_this_why_now_override:st("why_this_why_now_override"),...ws,...Js,...Ns},e=>[Jt({columns:[e.unit_variant_id,e._state]}),m({name:"unit_variants_exam_board_fk",columns:[e.exam_board_id],foreignColumns:[bn.exam_board_id]}),m({columns:[e.pathway_id],foreignColumns:[wn.pathway_id]}),m({columns:[e.subject_id],foreignColumns:[pn.subject_id]}),m({columns:[e.tier_id],foreignColumns:[Sn.tier_id]}),m({columns:[e.unit_id,e._state],foreignColumns:[en.unit_id,en._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()]);es.table("unit_variant_exam_board_specs_override",{unit_variant_id:si("unit_variant_id").notNull(),exam_board_spec_id:si("exam_board_spec_id").notNull(),...Rs,position:si("position").notNull(),...ws,...Js,_release_id:si("_release_id"),...Ns},e=>[Jt({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:[xs.release_id]}),m({name:"unit_var_exam_spec_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[Nn.unit_variant_id,Nn._state]}),m({name:"unit_var_exam_spec_ovr_exam_spec_fk",columns:[e.exam_board_spec_id],foreignColumns:[hn.exam_board_spec_id]})]),es.table("unit_variant_national_curriculum_override",{unit_variant_id:si("unit_variant_id").notNull(),national_curriculum_id:si("national_curriculum_id").notNull(),...Rs,position:si("position").notNull(),...ws,...Js,_release_id:si("_release_id"),...Ns},e=>[Jt({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:[xs.release_id]}),m({name:"unit_var_nat_curric_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[Nn.unit_variant_id,Nn._state]}),m({name:"unit_var_nat_curric_ovr_nat_curric_fk",columns:[e.national_curriculum_id],foreignColumns:[vn.national_curriculum_id]})]),es.table("unit_variant_subject_categories_override",{unit_variant_id:si("unit_variant_id").notNull(),subject_category_id:si("subject_category_id").notNull(),...Rs,position:si("position").notNull(),...ws,...Js,_release_id:si("_release_id"),...Ns},e=>[Jt({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:[xs.release_id]}),m({name:"unit_var_subj_cat_ovr_unit_var_fk",columns:[e.unit_variant_id,e._state],foreignColumns:[Nn.unit_variant_id,Nn._state]}),m({name:"unit_var_subj_cat_ovr_subj_cat_fk",columns:[e.subject_category_id],foreignColumns:[yn.subject_category_id]})]);const kn=es.table("actions",{action_id:si("action_id").primaryKey().generatedByDefaultAsIdentity(),...qs,key:st("key").notNull(),...Js,...Ns},e=>[p("actions_key_unique").on(e.key)]),xn=es.table("overrides_and_exceptions",{overrides_and_exceptions_id:si("overrides_and_exceptions_id").notNull().generatedByDefaultAsIdentity(),...As,description:st("description"),temporary_fields:mi("temporary_fields"),used_by_queries:mi("used_by_queries").notNull().default([]),...ws,...Js,...Ns},e=>[Jt({columns:[e.overrides_and_exceptions_id,e._state]})]);es.table("overrides_and_exceptions_actions",{overrides_and_exceptions_id:si("overrides_and_exceptions_id").notNull(),action_id:si("action_id").notNull(),...As,value:mi("value").notNull(),...ws,...Js,_release_id:si("_release_id"),...Ns},e=>[Jt({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:[xs.release_id]}),m({name:"ovr_exc_actions_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[xn.overrides_and_exceptions_id,xn._state]}),m({name:"ovr_exc_actions_action_fk",columns:[e.action_id],foreignColumns:[kn.action_id]})]),es.table("overrides_and_exceptions_feature_scopes",{overrides_and_exceptions_id:si("overrides_and_exceptions_id").notNull(),condition_id:si("condition_id").notNull(),feature_id:si("feature_id").notNull(),...As,value:st("value").notNull(),...ws,...Js,_release_id:si("_release_id"),...Ns},e=>[Jt({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:[xs.release_id]}),m({name:"ovr_exc_feature_scopes_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[xn.overrides_and_exceptions_id,xn._state]}),m({name:"ovr_exc_feature_scopes_feature_fk",columns:[e.feature_id],foreignColumns:[ln.feature_id]})]),es.table("overrides_and_exceptions_programme_scopes",{scope_id:si("scope_id").notNull().generatedByDefaultAsIdentity(),...As,key_stage_id:si("key_stage_id"),overrides_and_exceptions_id:si("overrides_and_exceptions_id").notNull(),pathway_id:si("pathway_id"),phase_id:si("phase_id"),subject_id:si("subject_id"),tier_id:si("tier_id"),legacy:Pe("legacy"),subject_slug:st("subject_slug"),...ws,...Js,_release_id:si("_release_id"),...Ns},e=>[Jt({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:[xs.release_id]}),m({name:"ovr_exc_programme_scopes_ovr_exc_fk",columns:[e.overrides_and_exceptions_id,e._state],foreignColumns:[xn.overrides_and_exceptions_id,xn._state]}),m({name:"ovr_exc_programme_scopes_key_stage_fk",columns:[e.key_stage_id],foreignColumns:[cn.key_stage_id]}),m({name:"ovr_exc_programme_scopes_pathway_fk",columns:[e.pathway_id],foreignColumns:[wn.pathway_id]}),m({name:"ovr_exc_programme_scopes_phase_fk",columns:[e.phase_id],foreignColumns:[mn.phase_id]}),m({name:"ovr_exc_programme_scopes_subject_fk",columns:[e.subject_id],foreignColumns:[pn.subject_id]}),m({name:"ovr_exc_programme_scopes_tier_fk",columns:[e.tier_id],foreignColumns:[Sn.tier_id]})]),es.table("redirects",{entity_id:si("entity_id").notNull(),entity_source:fs("entity_source").notNull(),...Rs,description:st("description"),redirect_entity_id:si("redirect_entity_id"),redirect_entity_source:fs("redirect_entity_source"),redirect_type:hs("redirect_type").notNull(),redirect_url:st("redirect_url"),...ws,...Js,...Ns},e=>[Jt({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 An=es.table("choices",{choice_id:si("choice_id").notNull().generatedByDefaultAsIdentity(),...Rs,unit_id:si("unit_id").notNull(),temporary_fields:mi("temporary_fields"),...ws,...Js,...Ns},e=>[Jt({columns:[e.choice_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[en.unit_id,en._state]})]);es.table("choices_unit_variants",{unit_variant_id:si("unit_variant_id").notNull(),choice_id:si("choice_id").notNull(),...Ls,...Ts,position:si("position").notNull(),...ws,...Js,...Ns},e=>[Jt({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:[Nn.unit_variant_id,Nn._state]}),m({name:"choices_unit_var_choice_fk",columns:[e.choice_id,e._choice_state],foreignColumns:[An.choice_id,An._state]}),Fs({name:"choices_unit_var_state_coherence",columnA:e._unit_variant_state,columnB:e._choice_state})]);const qn=es.table("programmes",{programme_id:si("programme_id").notNull().generatedByDefaultAsIdentity(),...Rs,exam_board_id:si("exam_board_id"),pathway_id:si("pathway_id"),subject_id:si("subject_id").notNull(),tier_id:si("tier_id"),year_id:si("year_id").notNull(),deprecated_fields:mi("deprecated_fields"),legacy:Pe("legacy").notNull().default(!1),national_curriculum_content:Pe("national_curriculum_content").notNull().default(!1),programme_uid:Be("programme_uid",{length:16}),...ws,...Js,...Ns},e=>[Jt({columns:[e.programme_id,e._state]}),m({columns:[e.subject_id],foreignColumns:[pn.subject_id]}),m({columns:[e.year_id],foreignColumns:[gn.year_id]}),m({columns:[e.tier_id],foreignColumns:[Sn.tier_id]}),m({name:"programmes_exam_board_fk",columns:[e.exam_board_id],foreignColumns:[bn.exam_board_id]}),m({columns:[e.pathway_id],foreignColumns:[wn.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()]);es.table("inclusions",{programme_id:si("programme_id").notNull(),position:si("position").notNull(),...js,...Is,...Es,choice_id:si("choice_id"),unit_variant_id:si("unit_variant_id"),...ws,...Js,...Ns},e=>[Jt({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:[qn.programme_id,qn._state]}),m({name:"inclusions_choice_fk",columns:[e.choice_id,e._choice_state],foreignColumns:[An.choice_id,An._state]}),m({name:"inclusions_unit_var_fk",columns:[e.unit_variant_id,e._unit_variant_state],foreignColumns:[Nn.unit_variant_id,Nn._state]}),Qs({name:"inclusions_choice_state_coherence",columnA:e._programme_state,columnB:e._choice_state}),Qs({name:"inclusions_unit_var_state_coherence",columnA:e._programme_state,columnB:e._unit_variant_state})]);const Tn=es.table("subject_phases",{subject_id:si("subject_id").notNull(),phase_id:si("phase_id").notNull(),...Rs,curriculum_intent:st("curriculum_intent"),deprecated_fields:mi("deprecated_fields"),prior_knowledge_requirements:Pe("prior_knowledge_requirements").notNull().default(!1),related_units:Pe("related_units").notNull().default(!1),unit_description:Pe("unit_description").notNull().default(!1),...ws,...Js,...Ns},e=>[Jt({columns:[e.subject_id,e.phase_id,e._state]}),m({columns:[e.subject_id],foreignColumns:[pn.subject_id]}),m({columns:[e.phase_id],foreignColumns:[mn.phase_id]})]),Cn=es.table("threads",{thread_id:si("thread_id").notNull().generatedByDefaultAsIdentity(),...As,deprecated_fields:mi("deprecated_fields"),description:st("description"),slug:st("slug"),thread_uid:Be("thread_uid",{length:16}),title:st("title"),...ws,...Js,...Ns},e=>[Jt({columns:[e.thread_id,e._state]})]);es.table("subject_phase_threads",{subject_id:si("subject_id").notNull(),phase_id:si("phase_id").notNull(),thread_id:si("thread_id").notNull(),...zs,...Ps,deprecated_fields:mi("deprecated_fields"),position:si("position").notNull(),...ws,...Js,...Ns},e=>[Jt({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:[Tn.subject_id,Tn.phase_id,Tn._state]}),m({name:"subject_phase_threads_thread_fk",columns:[e.thread_id,e._thread_state],foreignColumns:[Cn.thread_id,Cn._state]}),Fs({name:"subject_phase_threads_state_coherence",columnA:e._subject_phase_state,columnB:e._thread_state})]),es.table("unit_threads",{thread_id:si("thread_id").notNull(),unit_id:si("unit_id").notNull(),...Ps,...Ds,deprecated_fields:mi("deprecated_fields"),position:si("position").notNull(),...ws,...Js,...Ns},e=>[Jt({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:[Cn.thread_id,Cn._state]}),m({name:"unit_threads_unit_fk",columns:[e.unit_id,e._unit_state],foreignColumns:[en.unit_id,en._state]}),Fs({name:"unit_threads_state_coherence",columnA:e._thread_state,columnB:e._unit_state})]),es.table("unit_catalogue",{subject_id:si("subject_id").notNull(),year_id:si("year_id").notNull(),unit_id:si("unit_id").notNull(),...Rs,...ws,...Js,...Ns},e=>[Jt({columns:[e.subject_id,e.year_id,e.unit_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[en.unit_id,en._state]}),m({columns:[e.subject_id],foreignColumns:[pn.subject_id]}),m({columns:[e.year_id],foreignColumns:[gn.year_id]}),Qt("unit_catalogue_unit_idx").on(e.unit_id,e._state,e.subject_id,e.year_id)]),es.table("unit_lessons",{unit_id:si("unit_id").notNull(),lesson_id:si("lesson_id").notNull(),...Ds,...Cs,position:si("position").notNull(),...ws,...Js,...Ns},e=>[Jt({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:[en.unit_id,en._state]}),m({name:"unit_lessons_lesson_fk",columns:[e.lesson_id,e._lesson_state],foreignColumns:[Ks.lesson_id,Ks._state]}),Fs({name:"unit_lessons_state_coherence",columnA:e._unit_state,columnB:e._lesson_state}),Qt("unit_lessons_lesson_idx").on(e.lesson_id,e._lesson_state,e.unit_id,e._unit_state)]),es.table("unit_variant_lessons",{unit_variant_id:si("unit_variant_id").notNull(),lesson_id:si("lesson_id").notNull(),...Ls,...Cs,deprecated_fields:mi("deprecated_fields"),position:si("position").notNull(),...ws,...Js,...Ns},e=>[Jt({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:[Nn.unit_variant_id,Nn._state]}),m({name:"unit_var_lessons_lesson_fk",columns:[e.lesson_id,e._lesson_state],foreignColumns:[Ks.lesson_id,Ks._state]}),Fs({name:"unit_var_lessons_state_coherence",columnA:e._unit_variant_state,columnB:e._lesson_state})]),es.table("unit_features",{unit_id:si("unit_id").notNull(),feature_id:si("feature_id").notNull(),...Rs,value:st("value"),...ws,...Js,...Ns},e=>[Jt({columns:[e.unit_id,e.feature_id,e._state]}),m({columns:[e.unit_id,e._state],foreignColumns:[en.unit_id,en._state]}),m({columns:[e.feature_id],foreignColumns:[ln.feature_id]})]);const jn=ts.enum("lesson_component_operation_status_enum",["api_neutral","api_in_progress","api_failed","ingest_queued","ingest_in_progress","ingest_failed","ingest_completed"]),On=ts.enum("lesson_component_status_retirement_enum",["superseded","draft_discarded","component_expired","component_removed","orphaned"]);ts.table("lesson_component_status",{lesson_component_status_id:gt("lesson_component_status_id").primaryKey().defaultRandom(),lesson_component_id:si("lesson_component_id").notNull(),lesson_component_type:bs("lesson_component_type").notNull(),active_media_id:si("active_media_id"),active_media_type:ys("active_media_type"),approved:Pe("approved").notNull().default(!1),last_approved:ct("last_approved"),last_error_location:st("last_error_location"),last_error_message:st("last_error_message"),last_error_timestamp:ct("last_error_timestamp"),last_ingest_id:gt("last_ingest_id"),operation_status:jn("operation_status").notNull().default("api_neutral"),previous_media_id:si("previous_media_id"),previous_media_type:ys("previous_media_type"),retired_at:ct("retired_at",{withTimezone:!0}),retired_reason:On("retired_reason"),...Ns},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 $n=ts.enum("lesson_status_enum",["api_neutral","ingest_queued","ingest_in_progress","ingest_complete","ingest_failed"]);ts.table("lesson_status",{lesson_id:si("lesson_id").primaryKey(),approved:Pe("approved").notNull().default(!1),last_approved:ct("last_approved"),last_error_location:st("last_error_location"),last_error_message:st("last_error_message"),last_error_timestamp:ct("last_error_timestamp"),status:$n("status").notNull().default("api_neutral"),...Ns});const zn=ts.enum("media_status_enum",["neutral","in_progress","failed"]),Pn=ts.enum("media_status_retirement_enum",["superseded","media_retired","orphaned"]);ts.table("media_status",{media_status_id:gt("media_status_id").primaryKey().defaultRandom(),media_id:si("media_id").notNull(),media_type:ys("media_type").notNull(),last_error_location:st("last_error_location"),last_error_message:st("last_error_message"),last_error_timestamp:ct("last_error_timestamp"),last_lesson_component_id:si("last_lesson_component_id"),last_lesson_component_type:bs("last_lesson_component_type"),retired_at:ct("retired_at",{withTimezone:!0}),retired_reason:Pn("retired_reason"),status:zn("status").notNull().default("neutral"),...Ns},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`)]),ts.table("mutations_log",{mutations_log_id:gt("mutations_log_id").primaryKey().defaultRandom(),actor_role:st("actor_role"),actor_type:st("actor_type"),app_id:st("app_id"),changes:mi("changes").notNull(),operation:vs("operation").notNull(),record_key:mi("record_key").notNull(),table_name:st("table_name").notNull(),...Ss},e=>[Qt("idx_mutations_log_record_key").using("gin",e.record_key)]),ts.table("release_snapshots",{release_snapshot_id:gt("release_snapshot_id").primaryKey().defaultRandom(),_release_id:si("_release_id"),source_created_at:ct("source_created_at"),source_id:si("source_id"),source_row:mi("source_row"),source_schema:st("source_schema").default(""),source_state:ss("source_state").notNull(),source_table:st("source_table").default(""),source_uid:Be("source_uid",{length:16}),source_updated_at:ct("source_updated_at")},e=>[m({columns:[e._release_id],foreignColumns:[xs.release_id]}),Qt("release_snapshots_source_idx").on(e.source_schema,e.source_table,e.source_id),Qt("release_snapshots_release_idx").on(e._release_id)]);const Dn=ts.enum("contract_log_event_type_enum",["works_change","contract_change","works_added_to_contract"]);ts.table("tpc_contract_log",{tpc_contract_log_id:si("tpc_contract_log_id").primaryKey().generatedByDefaultAsIdentity(),tpc_contract_id:si("tpc_contract_id").notNull(),changed_at:ct("changed_at",{withTimezone:!0}).notNull(),event_type:Dn("event_type").notNull(),payload:mi("payload")},e=>[m({name:"tpc_contract_log_tpc_contract_fk",columns:[e.tpc_contract_id],foreignColumns:[on.tpc_contract_id]})]);const Ln=ts.enum("restrictions_type_enum",["Restrictions 1","Restrictions 2","Restrictions 3","Restrictions 4","Restrictions 5","Restrictions 6","Restrictions 7","Additional Restrictions"]),Bn=ts.table("tpc_restriction_definitions",{tpc_restriction_definition_id:si("tpc_restriction_definition_id").primaryKey().generatedByDefaultAsIdentity(),restriction_text:st("restriction_text").notNull(),type:Ln("type").notNull(),...Ns},e=>[p("tpc_restriction_definitions_type_unique").on(e.type,e.restriction_text)]);ts.table("tpc_restrictions",{tpc_contract_id:si("tpc_contract_id").notNull(),tpc_restriction_definition_id:si("tpc_restriction_definition_id").notNull(),...Rs,restriction_override:st("restriction_override"),...Ns},e=>[Jt({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:[on.tpc_contract_id]}),m({name:"tpc_restrictions_tpc_restriction_definition_fk",columns:[e.tpc_restriction_definition_id],foreignColumns:[Bn.tpc_restriction_definition_id]})]),is.view("sub_live_lesson_component_status",{lesson_component_id:si("lesson_component_id"),lesson_component_type:bs("lesson_component_type"),operation_status:jn("operation_status"),active_media_id:si("active_media_id"),active_media_type:ys("active_media_type"),last_ingest_id:gt("last_ingest_id"),created_at:ct("created_at",{withTimezone:!0})}).as(t.sql`
11
11
  SELECT lesson_component_id,
12
12
  lesson_component_type,
13
13
  operation_status,
@@ -17,7 +17,7 @@
17
17
  created_at
18
18
  FROM internal.lesson_component_status
19
19
  WHERE retired_at IS NULL
20
- `);const L_=tn.view("draft_documents_with_status_by_lesson",{document_id:nt("document_id").notNull(),document_type:Mn("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}),lesson_component_status__operation_status:j_("lesson_component_status__operation_status"),lesson_component_status__active_media_id:nt("lesson_component_status__active_media_id"),lesson_component_status__active_media_type:bn("lesson_component_status__active_media_type"),lesson_component_status__last_ingest_id:gi("lesson_component_status__last_ingest_id"),lesson_component_status__created_at:ci("lesson_component_status__created_at",{withTimezone:!0})}).as(i.sql`
20
+ `);const In=is.view("draft_documents_with_status_by_lesson",{document_id:si("document_id").notNull(),document_type:Ms("document_type").notNull(),document_uid:Be("document_uid",{length:16}),lesson_id:si("lesson_id"),previous_lesson_id:si("previous_lesson_id"),gdrive_file_id:si("gdrive_file_id").notNull(),gdrive_files__epoch:st("gdrive_files__epoch"),gdrive_files__google_drive_id:st("gdrive_files__google_drive_id"),gdrive_files__google_drive_url:st("gdrive_files__google_drive_url"),gdrive_files__opendocument_presentation_bucket_name:st("gdrive_files__opendocument_presentation_bucket_name"),gdrive_files__opendocument_presentation_bucket_path:st("gdrive_files__opendocument_presentation_bucket_path"),gdrive_files__opendocument_text_bucket_name:st("gdrive_files__opendocument_text_bucket_name"),gdrive_files__opendocument_text_bucket_path:st("gdrive_files__opendocument_text_bucket_path"),gdrive_files__pdf_bucket_name:st("gdrive_files__pdf_bucket_name"),gdrive_files__pdf_bucket_path:st("gdrive_files__pdf_bucket_path"),gdrive_files__powerpoint_bucket_name:st("gdrive_files__powerpoint_bucket_name"),gdrive_files__powerpoint_bucket_path:st("gdrive_files__powerpoint_bucket_path"),gdrive_files__word_bucket_name:st("gdrive_files__word_bucket_name"),gdrive_files__word_bucket_path:st("gdrive_files__word_bucket_path"),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_release_id"),created_at:ct("created_at",{withTimezone:!0}),updated_at:ct("updated_at",{withTimezone:!0}),lesson_component_status__operation_status:jn("lesson_component_status__operation_status"),lesson_component_status__active_media_id:si("lesson_component_status__active_media_id"),lesson_component_status__active_media_type:ys("lesson_component_status__active_media_type"),lesson_component_status__last_ingest_id:gt("lesson_component_status__last_ingest_id"),lesson_component_status__created_at:ct("lesson_component_status__created_at",{withTimezone:!0})}).as(t.sql`
21
21
  SELECT
22
22
  d.document_id,
23
23
  d.document_type,
@@ -56,7 +56,7 @@
56
56
  ON lcs.lesson_component_id = d.document_id
57
57
  AND lcs.lesson_component_type = 'document'
58
58
  WHERE d._state = 'draft'
59
- `),I_=tn.view("draft_downloadables_with_status_by_lesson",{downloadable_id:nt("downloadable_id").notNull(),bucket_file_id:nt("bucket_file_id").notNull(),lesson_id:nt("lesson_id"),custom_title:ni("custom_title"),position:nt("position").notNull(),previous_lesson_id:nt("previous_lesson_id"),bucket_files___authoring_state:nn("bucket_files___authoring_state").notNull(),bucket_files__bucket_name:ni("bucket_files__bucket_name"),bucket_files__bucket_path:ni("bucket_files__bucket_path"),bucket_files__byte_size:nt("bucket_files__byte_size"),bucket_files__cloudinary_public_id:ni("bucket_files__cloudinary_public_id"),bucket_files__cloudinary_source_url:ni("bucket_files__cloudinary_source_url"),bucket_files__content_type:ni("bucket_files__content_type"),bucket_files__filename:ni("bucket_files__filename"),bucket_files__media_description:ni("bucket_files__media_description"),bucket_files__name:ni("bucket_files__name"),bucket_files__previous_downloadable_id:nt("bucket_files__previous_downloadable_id"),bucket_files___expire_on_release:Be("bucket_files___expire_on_release").notNull(),bucket_files___release_id:nt("bucket_files___release_id"),_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}),bucket_files__created_at:ci("bucket_files__created_at",{withTimezone:!0}),bucket_files__updated_at:ci("bucket_files__updated_at",{withTimezone:!0}),lesson_component_status__operation_status:j_("lesson_component_status__operation_status"),lesson_component_status__active_media_id:nt("lesson_component_status__active_media_id"),lesson_component_status__active_media_type:bn("lesson_component_status__active_media_type"),lesson_component_status__last_ingest_id:gi("lesson_component_status__last_ingest_id"),lesson_component_status__created_at:ci("lesson_component_status__created_at",{withTimezone:!0})}).as(i.sql`
59
+ `),En=is.view("draft_downloadables_with_status_by_lesson",{downloadable_id:si("downloadable_id").notNull(),bucket_file_id:si("bucket_file_id").notNull(),lesson_id:si("lesson_id"),custom_title:st("custom_title"),position:si("position").notNull(),previous_lesson_id:si("previous_lesson_id"),bucket_files___authoring_state:ss("bucket_files___authoring_state").notNull(),bucket_files__bucket_name:st("bucket_files__bucket_name"),bucket_files__bucket_path:st("bucket_files__bucket_path"),bucket_files__byte_size:si("bucket_files__byte_size"),bucket_files__cloudinary_public_id:st("bucket_files__cloudinary_public_id"),bucket_files__cloudinary_source_url:st("bucket_files__cloudinary_source_url"),bucket_files__content_type:st("bucket_files__content_type"),bucket_files__filename:st("bucket_files__filename"),bucket_files__media_description:st("bucket_files__media_description"),bucket_files__name:st("bucket_files__name"),bucket_files__previous_downloadable_id:si("bucket_files__previous_downloadable_id"),bucket_files___expire_on_release:Pe("bucket_files___expire_on_release").notNull(),bucket_files___release_id:si("bucket_files___release_id"),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_release_id"),created_at:ct("created_at",{withTimezone:!0}),updated_at:ct("updated_at",{withTimezone:!0}),bucket_files__created_at:ct("bucket_files__created_at",{withTimezone:!0}),bucket_files__updated_at:ct("bucket_files__updated_at",{withTimezone:!0}),lesson_component_status__operation_status:jn("lesson_component_status__operation_status"),lesson_component_status__active_media_id:si("lesson_component_status__active_media_id"),lesson_component_status__active_media_type:ys("lesson_component_status__active_media_type"),lesson_component_status__last_ingest_id:gt("lesson_component_status__last_ingest_id"),lesson_component_status__created_at:ct("lesson_component_status__created_at",{withTimezone:!0})}).as(t.sql`
60
60
  SELECT
61
61
  d.downloadable_id,
62
62
  d.bucket_file_id,
@@ -95,11 +95,9 @@
95
95
  AND lcs.lesson_component_type = 'downloadable'
96
96
  WHERE d._state = 'draft'
97
97
  ORDER BY d.position
98
- `),F_=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:$_("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
+ `),Fn=is.view("draft_lesson_with_status",{lesson_id:si("lesson_id").notNull(),equipment_and_resources:mi("equipment_and_resources"),has_tag_practical_not_remote:Pe("has_tag_practical_not_remote").notNull(),is_sensitive:Pe("is_sensitive").notNull(),key_learning_points:mi("key_learning_points"),keywords:mi("keywords"),lesson_outline:mi("lesson_outline"),lesson_uid:Be("lesson_uid",{length:16}).notNull(),misconceptions_and_common_mistakes:mi("misconceptions_and_common_mistakes"),phonics_outcome:st("phonics_outcome"),pupil_lesson_outcome:st("pupil_lesson_outcome"),slug:st("slug").notNull(),teacher_tips:mi("teacher_tips"),title:st("title").notNull(),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_release_id"),created_at:ct("created_at",{withTimezone:!0}),updated_at:ct("updated_at",{withTimezone:!0}),lesson_status__status:$n("lesson_status__status"),lesson_status__approved:Pe("lesson_status__approved"),lesson_status__last_approved:ct("lesson_status__last_approved"),lesson_status__last_error_location:st("lesson_status__last_error_location"),lesson_status__last_error_message:st("lesson_status__last_error_message"),lesson_status__last_error_timestamp:ct("lesson_status__last_error_timestamp"),lesson_status__created_at:ct("lesson_status__created_at",{withTimezone:!0}),lesson_status__updated_at:ct("lesson_status__updated_at",{withTimezone:!0})}).as(t.sql`
99
99
  SELECT
100
100
  l.lesson_id,
101
- l.agf__has_copyright_restrictions,
102
- l.agf__restricted_download,
103
101
  l.equipment_and_resources,
104
102
  l.has_tag_practical_not_remote,
105
103
  l.is_sensitive,
@@ -128,7 +126,7 @@
128
126
  FROM raw.lessons l
129
127
  LEFT JOIN internal.lesson_status ls ON ls.lesson_id = l.lesson_id
130
128
  WHERE l._state = 'draft'
131
- `),E_=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}),lesson_component_status__operation_status:j_("lesson_component_status__operation_status"),lesson_component_status__active_media_id:nt("lesson_component_status__active_media_id"),lesson_component_status__active_media_type:bn("lesson_component_status__active_media_type"),lesson_component_status__last_ingest_id:gi("lesson_component_status__last_ingest_id"),lesson_component_status__created_at:ci("lesson_component_status__created_at",{withTimezone:!0})}).as(i.sql`
129
+ `),Qn=is.view("draft_lesson_video_with_status_by_lesson",{lesson_video_id:si("lesson_video_id").notNull(),lesson_id:si("lesson_id").notNull(),video_id:si("video_id"),main_video___authoring_state:ss("main_video___authoring_state"),main_video__cloudinary_public_id:st("main_video__cloudinary_public_id"),main_video__cloudinary_source_url:st("main_video__cloudinary_source_url"),main_video__contains_identifiable_face:Pe("main_video__contains_identifiable_face"),main_video__duration_seconds:Oi("main_video__duration_seconds"),main_video__has_bsl:Pe("main_video__has_bsl"),main_video__media_description:st("main_video__media_description"),main_video__mux_asset_id:st("main_video__mux_asset_id"),main_video__mux_open_playback_id:st("main_video__mux_open_playback_id"),main_video__mux_secure_playback_id:st("main_video__mux_secure_playback_id"),main_video__name:st("main_video__name"),main_video__previous_lesson_video_id:si("main_video__previous_lesson_video_id"),main_video__previous_media_clip_ids:si("main_video__previous_media_clip_ids").array(),main_video__raw_mux_data:mi("main_video__raw_mux_data"),main_video__title:st("main_video__title"),main_video__url:st("main_video__url"),main_video__video_uid:Be("main_video__video_uid",{length:16}),main_video___expire_on_release:Pe("main_video___expire_on_release"),main_video___release_id:si("main_video___release_id"),main_video__created_at:ct("main_video__created_at",{withTimezone:!0}),main_video__updated_at:ct("main_video__updated_at",{withTimezone:!0}),sign_language_video_id:si("sign_language_video_id"),sign_language_video___authoring_state:ss("sign_language_video___authoring_state"),sign_language_video__cloudinary_public_id:st("sign_language_video__cloudinary_public_id"),sign_language_video__cloudinary_source_url:st("sign_language_video__cloudinary_source_url"),sign_language_video__contains_identifiable_face:Pe("sign_language_video__contains_identifiable_face"),sign_language_video__duration_seconds:Oi("sign_language_video__duration_seconds"),sign_language_video__has_bsl:Pe("sign_language_video__has_bsl"),sign_language_video__media_description:st("sign_language_video__media_description"),sign_language_video__mux_asset_id:st("sign_language_video__mux_asset_id"),sign_language_video__mux_open_playback_id:st("sign_language_video__mux_open_playback_id"),sign_language_video__mux_secure_playback_id:st("sign_language_video__mux_secure_playback_id"),sign_language_video__name:st("sign_language_video__name"),sign_language_video__previous_lesson_video_id:si("sign_language_video__previous_lesson_video_id"),sign_language_video__previous_media_clip_ids:si("sign_language_video__previous_media_clip_ids").array(),sign_language_video__raw_mux_data:mi("sign_language_video__raw_mux_data"),sign_language_video__title:st("sign_language_video__title"),sign_language_video__url:st("sign_language_video__url"),sign_language_video__video_uid:Be("sign_language_video__video_uid",{length:16}),sign_language_video___expire_on_release:Pe("sign_language_video___expire_on_release"),sign_language_video___release_id:si("sign_language_video___release_id"),sign_language_video__created_at:ct("sign_language_video__created_at",{withTimezone:!0}),sign_language_video__updated_at:ct("sign_language_video__updated_at",{withTimezone:!0}),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_release_id"),created_at:ct("created_at",{withTimezone:!0}),updated_at:ct("updated_at",{withTimezone:!0}),lesson_component_status__operation_status:jn("lesson_component_status__operation_status"),lesson_component_status__active_media_id:si("lesson_component_status__active_media_id"),lesson_component_status__active_media_type:ys("lesson_component_status__active_media_type"),lesson_component_status__last_ingest_id:gt("lesson_component_status__last_ingest_id"),lesson_component_status__created_at:ct("lesson_component_status__created_at",{withTimezone:!0})}).as(t.sql`
132
130
  SELECT
133
131
  lv.lesson_video_id,
134
132
  lv.lesson_id,
@@ -141,12 +139,12 @@
141
139
  v.has_bsl AS main_video__has_bsl,
142
140
  v.media_description AS main_video__media_description,
143
141
  v.mux_asset_id AS main_video__mux_asset_id,
144
- v.mux_playback_id AS main_video__mux_playback_id,
142
+ v.mux_open_playback_id AS main_video__mux_open_playback_id,
143
+ v.mux_secure_playback_id AS main_video__mux_secure_playback_id,
145
144
  v.name AS main_video__name,
146
145
  v.previous_lesson_video_id AS main_video__previous_lesson_video_id,
147
146
  v.previous_media_clip_ids AS main_video__previous_media_clip_ids,
148
147
  v.raw_mux_data AS main_video__raw_mux_data,
149
- v.signed_stream_id AS main_video__signed_stream_id,
150
148
  v.title AS main_video__title,
151
149
  v.url AS main_video__url,
152
150
  v.video_uid AS main_video__video_uid,
@@ -163,12 +161,12 @@
163
161
  slv.has_bsl AS sign_language_video__has_bsl,
164
162
  slv.media_description AS sign_language_video__media_description,
165
163
  slv.mux_asset_id AS sign_language_video__mux_asset_id,
166
- slv.mux_playback_id AS sign_language_video__mux_playback_id,
164
+ slv.mux_open_playback_id AS sign_language_video__mux_open_playback_id,
165
+ slv.mux_secure_playback_id AS sign_language_video__mux_secure_playback_id,
167
166
  slv.name AS sign_language_video__name,
168
167
  slv.previous_lesson_video_id AS sign_language_video__previous_lesson_video_id,
169
168
  slv.previous_media_clip_ids AS sign_language_video__previous_media_clip_ids,
170
169
  slv.raw_mux_data AS sign_language_video__raw_mux_data,
171
- slv.signed_stream_id AS sign_language_video__signed_stream_id,
172
170
  slv.title AS sign_language_video__title,
173
171
  slv.url AS sign_language_video__url,
174
172
  slv.video_uid AS sign_language_video__video_uid,
@@ -195,11 +193,65 @@
195
193
  ON lcs.lesson_component_id = lv.lesson_video_id
196
194
  AND lcs.lesson_component_type = 'lesson_video'
197
195
  WHERE lv._state = 'draft'
198
- `),Q_=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:kn("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`
196
+ `);is.view("draft_media_clip_collection_with_status_by_lesson",{media_clip_collection_id:si("media_clip_collection_id").notNull(),lesson_id:si("lesson_id"),previous_lesson_id:si("previous_lesson_id"),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_release_id"),created_at:ct("created_at",{withTimezone:!0}),updated_at:ct("updated_at",{withTimezone:!0}),lesson_component_status__operation_status:jn("lesson_component_status__operation_status")}).as(t.sql`
197
+ SELECT
198
+ mcc.media_clip_collection_id,
199
+ mcc.lesson_id,
200
+ mcc.previous_lesson_id,
201
+ mcc._expire_on_release,
202
+ mcc._release_id,
203
+ mcc.created_at,
204
+ mcc.updated_at,
205
+ lcs.operation_status AS lesson_component_status__operation_status
206
+ FROM raw.media_clip_collection mcc
207
+ LEFT JOIN rendered.sub_live_lesson_component_status lcs
208
+ ON lcs.lesson_component_id = mcc.media_clip_collection_id
209
+ AND lcs.lesson_component_type = 'media_clip_collection'
210
+ WHERE mcc._state = 'draft'
211
+ `),is.view("draft_media_clips_with_media_and_status_by_lesson",{media_clip_id:si("media_clip_id").notNull(),media_clip_collection_id:si("media_clip_collection_id").notNull(),lesson_id:si("lesson_id").notNull(),video_id:si("video_id"),sound_id:si("sound_id"),clip_section:gs("clip_section").notNull(),custom_title:st("custom_title"),lesson_outline_index:si("lesson_outline_index"),lesson_outline_entry:mi("lesson_outline_entry"),media_kind:ps("media_kind"),position:si("position"),videos___authoring_state:ss("videos___authoring_state"),videos__cloudinary_public_id:st("videos__cloudinary_public_id"),videos__cloudinary_source_url:st("videos__cloudinary_source_url"),videos__contains_identifiable_face:Pe("videos__contains_identifiable_face"),videos__duration_seconds:Oi("videos__duration_seconds"),videos__has_bsl:Pe("videos__has_bsl"),videos__media_description:st("videos__media_description"),videos__mux_asset_id:st("videos__mux_asset_id"),videos__mux_open_playback_id:st("videos__mux_open_playback_id"),videos__mux_secure_playback_id:st("videos__mux_secure_playback_id"),videos__name:st("videos__name"),videos__previous_lesson_video_id:si("videos__previous_lesson_video_id"),videos__previous_media_clip_ids:si("videos__previous_media_clip_ids").array(),videos__raw_mux_data:mi("videos__raw_mux_data"),videos__title:st("videos__title"),videos__url:st("videos__url"),videos__video_uid:Be("videos__video_uid",{length:16}),videos___cohort:ns("videos___cohort"),videos___expire_on_release:Pe("videos___expire_on_release"),videos___release_id:si("videos___release_id"),videos__created_at:ct("videos__created_at",{withTimezone:!0}),videos__updated_at:ct("videos__updated_at",{withTimezone:!0}),sounds___authoring_state:ss("sounds___authoring_state"),sounds__cloudinary_public_id:st("sounds__cloudinary_public_id"),sounds__cloudinary_source_url:st("sounds__cloudinary_source_url"),sounds__duration_seconds:Oi("sounds__duration_seconds"),sounds__media_description:st("sounds__media_description"),sounds__mux_asset_id:st("sounds__mux_asset_id"),sounds__mux_open_playback_id:st("sounds__mux_open_playback_id"),sounds__name:st("sounds__name"),sounds__previous_media_clip_ids:si("sounds__previous_media_clip_ids").array(),sounds__title:st("sounds__title"),sounds___cohort:ns("sounds___cohort"),sounds___expire_on_release:Pe("sounds___expire_on_release"),sounds___release_id:si("sounds___release_id"),sounds__created_at:ct("sounds__created_at",{withTimezone:!0}),sounds__updated_at:ct("sounds__updated_at",{withTimezone:!0}),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_release_id"),created_at:ct("created_at",{withTimezone:!0}),updated_at:ct("updated_at",{withTimezone:!0}),lesson_component_status__operation_status:jn("lesson_component_status__operation_status"),lesson_component_status__active_media_id:si("lesson_component_status__active_media_id"),lesson_component_status__active_media_type:ys("lesson_component_status__active_media_type"),lesson_component_status__last_ingest_id:gt("lesson_component_status__last_ingest_id"),lesson_component_status__created_at:ct("lesson_component_status__created_at",{withTimezone:!0})}).as(t.sql`
212
+ SELECT c.media_clip_id, c.media_clip_collection_id, mc.lesson_id,
213
+ c.video_id, c.sound_id, c.clip_section, c.custom_title,
214
+ c.lesson_outline_index,
215
+ CASE
216
+ WHEN jsonb_typeof(l.lesson_outline) = 'array' THEN
217
+ CASE
218
+ WHEN c.lesson_outline_index >= 0
219
+ AND c.lesson_outline_index < jsonb_array_length(l.lesson_outline)
220
+ THEN l.lesson_outline -> c.lesson_outline_index
221
+ END
222
+ END AS lesson_outline_entry,
223
+ c.media_kind, c.position,
224
+ v._authoring_state AS videos___authoring_state, v.cloudinary_public_id AS videos__cloudinary_public_id,
225
+ v.cloudinary_source_url AS videos__cloudinary_source_url, v.contains_identifiable_face AS videos__contains_identifiable_face,
226
+ v.duration_seconds AS videos__duration_seconds, v.has_bsl AS videos__has_bsl, v.media_description AS videos__media_description,
227
+ v.mux_asset_id AS videos__mux_asset_id, v.mux_open_playback_id AS videos__mux_open_playback_id, v.mux_secure_playback_id AS videos__mux_secure_playback_id,
228
+ v.name AS videos__name, v.previous_lesson_video_id AS videos__previous_lesson_video_id, v.previous_media_clip_ids AS videos__previous_media_clip_ids,
229
+ v.raw_mux_data AS videos__raw_mux_data, v.title AS videos__title, v.url AS videos__url, v.video_uid AS videos__video_uid,
230
+ v._cohort AS videos___cohort, v._expire_on_release AS videos___expire_on_release, v._release_id AS videos___release_id,
231
+ v.created_at AS videos__created_at, v.updated_at AS videos__updated_at,
232
+ s._authoring_state AS sounds___authoring_state, s.cloudinary_public_id AS sounds__cloudinary_public_id, s.cloudinary_source_url AS sounds__cloudinary_source_url,
233
+ s.duration_seconds AS sounds__duration_seconds, s.media_description AS sounds__media_description,
234
+ s.mux_asset_id AS sounds__mux_asset_id, s.mux_open_playback_id AS sounds__mux_open_playback_id, s.name AS sounds__name,
235
+ s.previous_media_clip_ids AS sounds__previous_media_clip_ids, s.title AS sounds__title,
236
+ s._cohort AS sounds___cohort, s._expire_on_release AS sounds___expire_on_release, s._release_id AS sounds___release_id,
237
+ s.created_at AS sounds__created_at, s.updated_at AS sounds__updated_at,
238
+ c._expire_on_release, c._release_id, c.created_at, c.updated_at,
239
+ lcs.operation_status AS lesson_component_status__operation_status,
240
+ lcs.active_media_id AS lesson_component_status__active_media_id,
241
+ lcs.active_media_type AS lesson_component_status__active_media_type,
242
+ lcs.last_ingest_id AS lesson_component_status__last_ingest_id,
243
+ lcs.created_at AS lesson_component_status__created_at
244
+ FROM raw.media_clips c
245
+ JOIN raw.media_clip_collection mc ON mc.media_clip_collection_id = c.media_clip_collection_id AND mc._state = c._state
246
+ JOIN raw.lessons l ON l.lesson_id = mc.lesson_id AND l._state = mc._state
247
+ LEFT JOIN raw.videos v ON v.video_id = c.video_id
248
+ LEFT JOIN raw.sounds s ON s.sound_id = c.sound_id
249
+ LEFT JOIN rendered.sub_live_lesson_component_status lcs ON lcs.lesson_component_id = c.media_clip_id AND lcs.lesson_component_type = 'media_clip'
250
+ WHERE c._state = 'draft'
251
+ ORDER BY CASE c.clip_section WHEN 'intro' THEN 0 ELSE 1 END, c.lesson_outline_index NULLS LAST, c.position NULLS LAST, c.media_clip_id
252
+ `);const Vn=is.view("published_lesson_with_release",{lesson_id:si("lesson_id").notNull(),equipment_and_resources:mi("equipment_and_resources"),has_tag_practical_not_remote:Pe("has_tag_practical_not_remote").notNull(),is_sensitive:Pe("is_sensitive").notNull(),key_learning_points:mi("key_learning_points").notNull(),keywords:mi("keywords"),lesson_outline:mi("lesson_outline"),lesson_uid:Be("lesson_uid",{length:16}).notNull(),misconceptions_and_common_mistakes:mi("misconceptions_and_common_mistakes"),phonics_outcome:st("phonics_outcome"),pupil_lesson_outcome:st("pupil_lesson_outcome").notNull(),slug:st("slug").notNull(),teacher_tips:mi("teacher_tips"),title:st("title").notNull(),releases__approved:Pe("releases__approved"),releases__description:st("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:st("releases__name"),releases__notes:st("releases__notes"),releases__release_type:ks("releases__release_type"),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_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`
199
253
  SELECT
200
254
  l.lesson_id,
201
- l.agf__has_copyright_restrictions,
202
- l.agf__restricted_download,
203
255
  l.equipment_and_resources,
204
256
  l.has_tag_practical_not_remote,
205
257
  l.is_sensitive,
@@ -228,7 +280,7 @@
228
280
  FROM raw.lessons l
229
281
  LEFT JOIN internal.releases r ON r.release_id = l._release_id
230
282
  WHERE l._state = 'published'
231
- `),V_=tn.view("published_documents_with_release_by_lesson",{document_id:nt("document_id").notNull(),document_type:Mn("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:kn("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`
283
+ `),Jn=is.view("published_documents_with_release_by_lesson",{document_id:si("document_id").notNull(),document_type:Ms("document_type").notNull(),document_uid:Be("document_uid",{length:16}).notNull(),lesson_id:si("lesson_id"),previous_lesson_id:si("previous_lesson_id"),gdrive_file_id:si("gdrive_file_id").notNull(),gdrive_files__epoch:st("gdrive_files__epoch"),gdrive_files__google_drive_id:st("gdrive_files__google_drive_id").notNull(),gdrive_files__google_drive_url:st("gdrive_files__google_drive_url").notNull(),gdrive_files__opendocument_presentation_bucket_name:st("gdrive_files__opendocument_presentation_bucket_name"),gdrive_files__opendocument_presentation_bucket_path:st("gdrive_files__opendocument_presentation_bucket_path"),gdrive_files__opendocument_text_bucket_name:st("gdrive_files__opendocument_text_bucket_name"),gdrive_files__opendocument_text_bucket_path:st("gdrive_files__opendocument_text_bucket_path"),gdrive_files__pdf_bucket_name:st("gdrive_files__pdf_bucket_name"),gdrive_files__pdf_bucket_path:st("gdrive_files__pdf_bucket_path"),gdrive_files__powerpoint_bucket_name:st("gdrive_files__powerpoint_bucket_name"),gdrive_files__powerpoint_bucket_path:st("gdrive_files__powerpoint_bucket_path"),gdrive_files__word_bucket_name:st("gdrive_files__word_bucket_name"),gdrive_files__word_bucket_path:st("gdrive_files__word_bucket_path"),releases__approved:Pe("releases__approved"),releases__description:st("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:st("releases__name"),releases__notes:st("releases__notes"),releases__release_type:ks("releases__release_type"),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_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`
232
284
  SELECT
233
285
  d.document_id,
234
286
  d.document_type,
@@ -265,7 +317,7 @@
265
317
  JOIN raw.gdrive_files gf ON gf.gdrive_file_id = d.gdrive_file_id
266
318
  LEFT JOIN internal.releases r ON r.release_id = d._release_id
267
319
  WHERE d._state = 'published'
268
- `),J_=tn.view("published_downloadables_with_release_by_lesson",{downloadable_id:nt("downloadable_id").notNull(),bucket_file_id:nt("bucket_file_id").notNull(),lesson_id:nt("lesson_id"),custom_title:ni("custom_title").notNull(),position:nt("position").notNull(),bucket_files__bucket_name:ni("bucket_files__bucket_name").notNull(),bucket_files__bucket_path:ni("bucket_files__bucket_path").notNull(),bucket_files__byte_size:nt("bucket_files__byte_size"),bucket_files__cloudinary_public_id:ni("bucket_files__cloudinary_public_id"),bucket_files__cloudinary_source_url:ni("bucket_files__cloudinary_source_url").notNull(),bucket_files__content_type:ni("bucket_files__content_type").notNull(),bucket_files__filename:ni("bucket_files__filename"),bucket_files__media_description:ni("bucket_files__media_description"),bucket_files__name:ni("bucket_files__name"),bucket_files__previous_downloadable_id:nt("bucket_files__previous_downloadable_id"),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:kn("releases__release_type"),_expire_on_release:Be("_expire_on_release").notNull(),_release_id:nt("_release_id")}).as(i.sql`
320
+ `),Rn=is.view("published_downloadables_with_release_by_lesson",{downloadable_id:si("downloadable_id").notNull(),bucket_file_id:si("bucket_file_id").notNull(),lesson_id:si("lesson_id"),custom_title:st("custom_title").notNull(),position:si("position").notNull(),bucket_files__bucket_name:st("bucket_files__bucket_name").notNull(),bucket_files__bucket_path:st("bucket_files__bucket_path").notNull(),bucket_files__byte_size:si("bucket_files__byte_size"),bucket_files__cloudinary_public_id:st("bucket_files__cloudinary_public_id"),bucket_files__cloudinary_source_url:st("bucket_files__cloudinary_source_url").notNull(),bucket_files__content_type:st("bucket_files__content_type").notNull(),bucket_files__filename:st("bucket_files__filename"),bucket_files__media_description:st("bucket_files__media_description"),bucket_files__name:st("bucket_files__name"),bucket_files__previous_downloadable_id:si("bucket_files__previous_downloadable_id"),releases__approved:Pe("releases__approved"),releases__description:st("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:st("releases__name"),releases__notes:st("releases__notes"),releases__release_type:ks("releases__release_type"),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_release_id")}).as(t.sql`
269
321
  SELECT
270
322
  d.downloadable_id,
271
323
  d.bucket_file_id,
@@ -295,7 +347,7 @@
295
347
  LEFT JOIN internal.releases r ON r.release_id = d._release_id
296
348
  WHERE d._state = 'published'
297
349
  ORDER BY d.position
298
- `),U_=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:kn("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`
350
+ `),Un=is.view("published_lesson_video_with_release_by_lesson",{lesson_video_id:si("lesson_video_id").notNull(),lesson_id:si("lesson_id").notNull(),video_id:si("video_id").notNull(),main_video___authoring_state:ss("main_video___authoring_state").notNull(),main_video__cloudinary_public_id:st("main_video__cloudinary_public_id"),main_video__cloudinary_source_url:st("main_video__cloudinary_source_url"),main_video__contains_identifiable_face:Pe("main_video__contains_identifiable_face"),main_video__duration_seconds:Oi("main_video__duration_seconds"),main_video__has_bsl:Pe("main_video__has_bsl").notNull(),main_video__media_description:st("main_video__media_description"),main_video__mux_asset_id:st("main_video__mux_asset_id").notNull(),main_video__mux_open_playback_id:st("main_video__mux_open_playback_id"),main_video__mux_secure_playback_id:st("main_video__mux_secure_playback_id"),main_video__name:st("main_video__name"),main_video__previous_lesson_video_id:si("main_video__previous_lesson_video_id"),main_video__previous_media_clip_ids:si("main_video__previous_media_clip_ids").array(),main_video__raw_mux_data:mi("main_video__raw_mux_data").notNull(),main_video__title:st("main_video__title"),main_video__url:st("main_video__url").notNull(),main_video__video_uid:Be("main_video__video_uid",{length:16}).notNull(),main_video___expire_on_release:Pe("main_video___expire_on_release").notNull(),main_video___release_id:si("main_video___release_id"),main_video__created_at:ct("main_video__created_at",{withTimezone:!0}).notNull(),main_video__updated_at:ct("main_video__updated_at",{withTimezone:!0}).notNull(),sign_language_video_id:si("sign_language_video_id"),sign_language_video___authoring_state:ss("sign_language_video___authoring_state"),sign_language_video__cloudinary_public_id:st("sign_language_video__cloudinary_public_id"),sign_language_video__cloudinary_source_url:st("sign_language_video__cloudinary_source_url"),sign_language_video__contains_identifiable_face:Pe("sign_language_video__contains_identifiable_face"),sign_language_video__duration_seconds:Oi("sign_language_video__duration_seconds"),sign_language_video__has_bsl:Pe("sign_language_video__has_bsl"),sign_language_video__media_description:st("sign_language_video__media_description"),sign_language_video__mux_asset_id:st("sign_language_video__mux_asset_id"),sign_language_video__mux_open_playback_id:st("sign_language_video__mux_open_playback_id"),sign_language_video__mux_secure_playback_id:st("sign_language_video__mux_secure_playback_id"),sign_language_video__name:st("sign_language_video__name"),sign_language_video__previous_lesson_video_id:si("sign_language_video__previous_lesson_video_id"),sign_language_video__previous_media_clip_ids:si("sign_language_video__previous_media_clip_ids").array(),sign_language_video__raw_mux_data:mi("sign_language_video__raw_mux_data"),sign_language_video__title:st("sign_language_video__title"),sign_language_video__url:st("sign_language_video__url"),sign_language_video__video_uid:Be("sign_language_video__video_uid",{length:16}),sign_language_video___expire_on_release:Pe("sign_language_video___expire_on_release"),sign_language_video___release_id:si("sign_language_video___release_id"),sign_language_video__created_at:ct("sign_language_video__created_at",{withTimezone:!0}),sign_language_video__updated_at:ct("sign_language_video__updated_at",{withTimezone:!0}),releases__approved:Pe("releases__approved"),releases__description:st("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:st("releases__name"),releases__notes:st("releases__notes"),releases__release_type:ks("releases__release_type"),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_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`
299
351
  SELECT
300
352
  lv.lesson_video_id,
301
353
  lv.lesson_id,
@@ -308,12 +360,12 @@
308
360
  v.has_bsl AS main_video__has_bsl,
309
361
  v.media_description AS main_video__media_description,
310
362
  v.mux_asset_id AS main_video__mux_asset_id,
311
- v.mux_playback_id AS main_video__mux_playback_id,
363
+ v.mux_open_playback_id AS main_video__mux_open_playback_id,
364
+ v.mux_secure_playback_id AS main_video__mux_secure_playback_id,
312
365
  v.name AS main_video__name,
313
366
  v.previous_lesson_video_id AS main_video__previous_lesson_video_id,
314
367
  v.previous_media_clip_ids AS main_video__previous_media_clip_ids,
315
368
  v.raw_mux_data AS main_video__raw_mux_data,
316
- v.signed_stream_id AS main_video__signed_stream_id,
317
369
  v.title AS main_video__title,
318
370
  v.url AS main_video__url,
319
371
  v.video_uid AS main_video__video_uid,
@@ -330,12 +382,12 @@
330
382
  slv.has_bsl AS sign_language_video__has_bsl,
331
383
  slv.media_description AS sign_language_video__media_description,
332
384
  slv.mux_asset_id AS sign_language_video__mux_asset_id,
333
- slv.mux_playback_id AS sign_language_video__mux_playback_id,
385
+ slv.mux_open_playback_id AS sign_language_video__mux_open_playback_id,
386
+ slv.mux_secure_playback_id AS sign_language_video__mux_secure_playback_id,
334
387
  slv.name AS sign_language_video__name,
335
388
  slv.previous_lesson_video_id AS sign_language_video__previous_lesson_video_id,
336
389
  slv.previous_media_clip_ids AS sign_language_video__previous_media_clip_ids,
337
390
  slv.raw_mux_data AS sign_language_video__raw_mux_data,
338
- slv.signed_stream_id AS sign_language_video__signed_stream_id,
339
391
  slv.title AS sign_language_video__title,
340
392
  slv.url AS sign_language_video__url,
341
393
  slv.video_uid AS sign_language_video__video_uid,
@@ -363,7 +415,50 @@
363
415
  LEFT JOIN raw.videos slv ON slv.video_id = lv.sign_language_video_id
364
416
  LEFT JOIN internal.releases r ON r.release_id = lv._release_id
365
417
  WHERE lv._state = 'published'
366
- `),K_=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`
418
+ `);is.view("published_media_clip_collection_with_release_by_lesson",{media_clip_collection_id:si("media_clip_collection_id").notNull(),lesson_id:si("lesson_id"),previous_lesson_id:si("previous_lesson_id"),releases__approved:Pe("releases__approved"),releases__description:st("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:st("releases__name"),releases__notes:st("releases__notes"),releases__release_type:ks("releases__release_type"),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_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`
419
+ SELECT
420
+ mcc.media_clip_collection_id,
421
+ mcc.lesson_id,
422
+ mcc.previous_lesson_id,
423
+ r.approved AS releases__approved,
424
+ r.description AS releases__description,
425
+ r.estimated_release_date AS releases__estimated_release_date,
426
+ r.name AS releases__name,
427
+ r.notes AS releases__notes,
428
+ r.release_type AS releases__release_type,
429
+ mcc._expire_on_release,
430
+ mcc._release_id,
431
+ mcc.created_at,
432
+ mcc.updated_at,
433
+ r.created_at AS releases__created_at,
434
+ r.updated_at AS releases__updated_at
435
+ FROM raw.media_clip_collection mcc
436
+ LEFT JOIN internal.releases r ON r.release_id = mcc._release_id
437
+ WHERE mcc._state = 'published'
438
+ `),is.view("published_media_clips_with_media_and_release_by_lesson",{media_clip_id:si("media_clip_id").notNull(),media_clip_collection_id:si("media_clip_collection_id").notNull(),lesson_id:si("lesson_id").notNull(),video_id:si("video_id"),sound_id:si("sound_id"),clip_section:gs("clip_section").notNull(),custom_title:st("custom_title"),lesson_outline_index:si("lesson_outline_index"),lesson_outline_entry:mi("lesson_outline_entry"),media_kind:ps("media_kind"),position:si("position").notNull(),videos___authoring_state:ss("videos___authoring_state"),videos__cloudinary_public_id:st("videos__cloudinary_public_id"),videos__cloudinary_source_url:st("videos__cloudinary_source_url"),videos__contains_identifiable_face:Pe("videos__contains_identifiable_face"),videos__duration_seconds:Oi("videos__duration_seconds"),videos__has_bsl:Pe("videos__has_bsl"),videos__media_description:st("videos__media_description"),videos__mux_asset_id:st("videos__mux_asset_id"),videos__mux_open_playback_id:st("videos__mux_open_playback_id"),videos__mux_secure_playback_id:st("videos__mux_secure_playback_id"),videos__name:st("videos__name"),videos__previous_lesson_video_id:si("videos__previous_lesson_video_id"),videos__previous_media_clip_ids:si("videos__previous_media_clip_ids").array(),videos__raw_mux_data:mi("videos__raw_mux_data"),videos__title:st("videos__title"),videos__url:st("videos__url"),videos__video_uid:Be("videos__video_uid",{length:16}),videos___cohort:ns("videos___cohort"),videos___expire_on_release:Pe("videos___expire_on_release"),videos___release_id:si("videos___release_id"),videos__created_at:ct("videos__created_at",{withTimezone:!0}),videos__updated_at:ct("videos__updated_at",{withTimezone:!0}),sounds___authoring_state:ss("sounds___authoring_state"),sounds__cloudinary_public_id:st("sounds__cloudinary_public_id"),sounds__cloudinary_source_url:st("sounds__cloudinary_source_url"),sounds__duration_seconds:Oi("sounds__duration_seconds"),sounds__media_description:st("sounds__media_description"),sounds__mux_asset_id:st("sounds__mux_asset_id"),sounds__mux_open_playback_id:st("sounds__mux_open_playback_id"),sounds__name:st("sounds__name"),sounds__previous_media_clip_ids:si("sounds__previous_media_clip_ids").array(),sounds__title:st("sounds__title"),sounds___cohort:ns("sounds___cohort"),sounds___expire_on_release:Pe("sounds___expire_on_release"),sounds___release_id:si("sounds___release_id"),sounds__created_at:ct("sounds__created_at",{withTimezone:!0}),sounds__updated_at:ct("sounds__updated_at",{withTimezone:!0}),releases__approved:Pe("releases__approved"),releases__description:st("releases__description"),releases__estimated_release_date:He("releases__estimated_release_date"),releases__name:st("releases__name"),releases__notes:st("releases__notes"),releases__release_type:ks("releases__release_type"),_expire_on_release:Pe("_expire_on_release").notNull(),_release_id:si("_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`
439
+ SELECT c.media_clip_id, c.media_clip_collection_id, mc.lesson_id, c.video_id, c.sound_id, c.clip_section, c.custom_title, c.lesson_outline_index,
440
+ CASE
441
+ WHEN jsonb_typeof(l.lesson_outline) = 'array' THEN
442
+ CASE
443
+ WHEN c.lesson_outline_index >= 0
444
+ AND c.lesson_outline_index < jsonb_array_length(l.lesson_outline)
445
+ THEN l.lesson_outline -> c.lesson_outline_index
446
+ END
447
+ END AS lesson_outline_entry,
448
+ c.media_kind, c.position,
449
+ v._authoring_state AS videos___authoring_state, v.cloudinary_public_id AS videos__cloudinary_public_id, v.cloudinary_source_url AS videos__cloudinary_source_url, v.contains_identifiable_face AS videos__contains_identifiable_face, v.duration_seconds AS videos__duration_seconds, v.has_bsl AS videos__has_bsl, v.media_description AS videos__media_description, v.mux_asset_id AS videos__mux_asset_id, v.mux_open_playback_id AS videos__mux_open_playback_id, v.mux_secure_playback_id AS videos__mux_secure_playback_id, v.name AS videos__name, v.previous_lesson_video_id AS videos__previous_lesson_video_id, v.previous_media_clip_ids AS videos__previous_media_clip_ids, v.raw_mux_data AS videos__raw_mux_data, v.title AS videos__title, v.url AS videos__url, v.video_uid AS videos__video_uid, v._cohort AS videos___cohort, v._expire_on_release AS videos___expire_on_release, v._release_id AS videos___release_id, v.created_at AS videos__created_at, v.updated_at AS videos__updated_at,
450
+ s._authoring_state AS sounds___authoring_state, s.cloudinary_public_id AS sounds__cloudinary_public_id, s.cloudinary_source_url AS sounds__cloudinary_source_url, s.duration_seconds AS sounds__duration_seconds, s.media_description AS sounds__media_description, s.mux_asset_id AS sounds__mux_asset_id, s.mux_open_playback_id AS sounds__mux_open_playback_id, s.name AS sounds__name, s.previous_media_clip_ids AS sounds__previous_media_clip_ids, s.title AS sounds__title, s._cohort AS sounds___cohort, s._expire_on_release AS sounds___expire_on_release, s._release_id AS sounds___release_id, s.created_at AS sounds__created_at, s.updated_at AS sounds__updated_at,
451
+ r.approved AS releases__approved, r.description AS releases__description, r.estimated_release_date AS releases__estimated_release_date, r.name AS releases__name, r.notes AS releases__notes, r.release_type AS releases__release_type,
452
+ c._expire_on_release, c._release_id, c.created_at, c.updated_at, r.created_at AS releases__created_at, r.updated_at AS releases__updated_at
453
+ FROM raw.media_clips c
454
+ JOIN raw.media_clip_collection mc ON mc.media_clip_collection_id = c.media_clip_collection_id AND mc._state = c._state
455
+ JOIN raw.lessons l ON l.lesson_id = mc.lesson_id AND l._state = mc._state
456
+ LEFT JOIN raw.videos v ON v.video_id = c.video_id
457
+ LEFT JOIN raw.sounds s ON s.sound_id = c.sound_id
458
+ LEFT JOIN internal.releases r ON r.release_id = c._release_id
459
+ WHERE c._state = 'published'
460
+ ORDER BY CASE c.clip_section WHEN 'intro' THEN 0 ELSE 1 END, c.lesson_outline_index NULLS LAST, c.position NULLS LAST, c.media_clip_id
461
+ `);const Kn=is.view("unit_contexts_by_unit",{subject_id:si("subject_id").notNull(),year_id:si("year_id").notNull(),unit_id:si("unit_id").notNull(),_state:ss("_state").notNull(),subjects__subject:st("subjects__subject"),subjects__subject_parent_id:si("subjects__subject_parent_id"),subjects__non_curriculum:Pe("subjects__non_curriculum"),subjects__description:st("subjects__description"),subjects__global_position:si("subjects__global_position").notNull(),subjects__slug:st("subjects__slug"),years__year:st("years__year"),years__key_stage_id:si("years__key_stage_id").notNull(),years__phase_id:si("years__phase_id").notNull(),years__description:st("years__description"),years__global_position:si("years__global_position").notNull(),years__slug:st("years__slug"),key_stages__key_stage:st("key_stages__key_stage"),key_stages__description:st("key_stages__description"),key_stages__global_position:si("key_stages__global_position").notNull(),key_stages__slug:st("key_stages__slug"),phases__phase:st("phases__phase"),phases__description:st("phases__description"),phases__global_position:si("phases__global_position").notNull(),phases__slug:st("phases__slug")}).as(t.sql`
367
462
  SELECT
368
463
  uc.subject_id,
369
464
  uc.year_id,
@@ -394,7 +489,7 @@
394
489
  JOIN raw.years y ON y.year_id = uc.year_id
395
490
  JOIN raw.key_stages ks ON ks.key_stage_id = y.key_stage_id
396
491
  JOIN raw.phases p ON p.phase_id = y.phase_id
397
- `);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`
492
+ `);is.view("unitvariant_contexts_by_lesson",{lesson_id:si("lesson_id").notNull(),_lesson_state:ss("_lesson_state").notNull(),unit_variant_id:si("unit_variant_id").notNull(),_unit_variant_state:ss("_unit_variant_state").notNull(),programme_id:si("programme_id").notNull(),position:si("position").notNull(),_programme_state:ss("_programme_state").notNull(),programmes__subject_id:si("programmes__subject_id").notNull(),programmes__year_id:si("programmes__year_id").notNull(),programmes__tier_id:si("programmes__tier_id"),programmes__exam_board_id:si("programmes__exam_board_id"),programmes__pathway_id:si("programmes__pathway_id"),programmes__legacy:Pe("programmes__legacy").notNull(),unit_variants__unit_id:si("unit_variants__unit_id").notNull(),unit_variants__subject_id:si("unit_variants__subject_id"),unit_variants__tier_id:si("unit_variants__tier_id"),unit_variants__exam_board_id:si("unit_variants__exam_board_id"),unit_variants__pathway_id:si("unit_variants__pathway_id"),unit_variants__title_override:st("unit_variants__title_override"),unit_variants__optionality:st("unit_variants__optionality"),subjects__subject:st("subjects__subject"),years__year:st("years__year"),years__key_stage_id:si("years__key_stage_id").notNull(),key_stages__key_stage:st("key_stages__key_stage"),years__phase_id:si("years__phase_id").notNull(),phases__phase:st("phases__phase"),tiers__tier:st("tiers__tier"),exam_boards__exam_board:st("exam_boards__exam_board"),pathways__pathway:st("pathways__pathway"),units__title:st("units__title").notNull(),choice_id:si("choice_id"),slot_kind:st("slot_kind").notNull()}).as(t.sql`
398
493
  WITH placements AS (
399
494
  SELECT
400
495
  uvl.lesson_id,
@@ -481,7 +576,7 @@
481
576
  LEFT JOIN raw.tiers t ON t.tier_id = pr.tier_id
482
577
  LEFT JOIN raw.exam_boards eb ON eb.exam_board_id = pr.exam_board_id
483
578
  LEFT JOIN raw.pathways pa ON pa.pathway_id = pr.pathway_id
484
- `);const R_=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`
579
+ `);const Mn=is.view("units_by_lesson",{lesson_id:si("lesson_id").notNull(),_lesson_state:ss("_lesson_state").notNull(),unit_id:si("unit_id").notNull(),_unit_state:ss("_unit_state").notNull(),position:si("position").notNull(),units__title:st("units__title").notNull(),units__slug:st("units__slug"),units__description:st("units__description").notNull()}).as(t.sql`
485
580
  SELECT
486
581
  ul.lesson_id,
487
582
  ul._lesson_state,
@@ -495,7 +590,7 @@
495
590
  JOIN raw.units u
496
591
  ON u.unit_id = ul.unit_id
497
592
  AND u._state = ul._unit_state
498
- `),M_=tn.view("tags_by_lesson",{lesson_id:nt("lesson_id").notNull(),tag_id:nt("tag_id").notNull(),_state:nn("_state").notNull(),position:nt("position").notNull(),tags__tag_category:mn("tags__tag_category"),tags__title:ni("tags__title").notNull(),tags___authoring_state:nn("tags___authoring_state").notNull()}).as(i.sql`
593
+ `),Wn=is.view("tags_by_lesson",{lesson_id:si("lesson_id").notNull(),tag_id:si("tag_id").notNull(),_state:ss("_state").notNull(),position:si("position").notNull(),tags__tag_category:ms("tags__tag_category"),tags__title:st("tags__title").notNull(),tags___authoring_state:ss("tags___authoring_state").notNull()}).as(t.sql`
499
594
  SELECT
500
595
  lt.lesson_id,
501
596
  lt.tag_id,
@@ -511,5 +606,87 @@
511
606
  JOIN raw.tags t
512
607
  ON t.tag_id = lt.tag_id
513
608
  ORDER BY lt.position
514
- `),W_=s.z.object({equipment:s.z.string()}),H_=s.z.object({key_learning_point:s.z.string()}),Y_=s.z.object({keyword:s.z.string(),description:s.z.string()}),G_=s.z.object({lesson_outline:s.z.string()}),Z_=s.z.object({misconception:s.z.string(),response:s.z.string()}),X_=s.z.object({teacher_tip:s.z.string()}),ea=t.createSelectSchema(F_,{equipment_and_resources:s.z.array(W_).nullable(),key_learning_points:s.z.array(H_).nullable(),keywords:s.z.array(Y_).nullable(),lesson_outline:s.z.array(G_).nullable(),misconceptions_and_common_mistakes:s.z.array(Z_).nullable(),teacher_tips:s.z.array(X_).nullable()}),ta=_.default(ea),ia=s.z.record(s.z.string(),s.z.unknown()),sa=t.createSelectSchema(E_,{main_video__raw_mux_data:ia.nullable(),sign_language_video__raw_mux_data:ia.nullable()}),na=_.default(sa),_a=t.createSelectSchema(Q_,{equipment_and_resources:s.z.array(W_).nullable(),key_learning_points:s.z.array(H_),keywords:s.z.array(Y_).nullable(),lesson_outline:s.z.array(G_).nullable(),misconceptions_and_common_mistakes:s.z.array(Z_).nullable(),teacher_tips:s.z.array(X_).nullable()}),aa=_.default(_a),oa=t.createSelectSchema(L_),ra=_.default(oa),la=t.createSelectSchema(V_),da=_.default(la),ua=t.createSelectSchema(U_,{main_video__raw_mux_data:ia,sign_language_video__raw_mux_data:ia.nullable()}),ca=_.default(ua),ma=t.createSelectSchema(K_),pa=_.default(ma),ga=t.createSelectSchema(R_),fa=_.default(ga),ha=t.createSelectSchema(I_),ya=_.default(ha),ba=t.createSelectSchema(J_),va=_.default(ba),wa=t.createSelectSchema(M_),Na=_.default(wa);exports.draftDocumentsWithStatusByLessonCamelSchema=ra,exports.draftDocumentsWithStatusByLessonSchema=oa,exports.draftDownloadablesWithStatusByLessonCamelSchema=ya,exports.draftDownloadablesWithStatusByLessonSchema=ha,exports.draftLessonVideoWithStatusByLessonCamelSchema=na,exports.draftLessonVideoWithStatusByLessonSchema=sa,exports.draftLessonWithStatusCamelSchema=ta,exports.draftLessonWithStatusSchema=ea,exports.publishedDocumentsWithReleaseByLessonCamelSchema=da,exports.publishedDocumentsWithReleaseByLessonSchema=la,exports.publishedDownloadablesWithReleaseByLessonCamelSchema=va,exports.publishedDownloadablesWithReleaseByLessonSchema=ba,exports.publishedLessonVideoWithReleaseByLessonCamelSchema=ca,exports.publishedLessonVideoWithReleaseByLessonSchema=ua,exports.publishedLessonWithReleaseCamelSchema=aa,exports.publishedLessonWithReleaseSchema=_a,exports.tagsByLessonCamelSchema=Na,exports.tagsByLessonSchema=wa,exports.unitContextsByUnitCamelSchema=pa,exports.unitContextsByUnitSchema=ma,exports.unitsByLessonCamelSchema=fa,exports.unitsByLessonSchema=ga;
609
+ `);is.view("assigned_content_guidance_by_lesson",{lesson_id:si("lesson_id").notNull(),_state:ss("_state").notNull(),content_guidance_id:si("content_guidance_id").notNull(),position:si("position").notNull(),content_guidance__content_guidance_area:st("content_guidance__content_guidance_area"),content_guidance__content_guidance_code:st("content_guidance__content_guidance_code"),content_guidance__content_guidance_description:st("content_guidance__content_guidance_description"),content_guidance__content_guidance_label:st("content_guidance__content_guidance_label"),content_guidance__supervision_level_id:si("content_guidance__supervision_level_id").notNull(),supervision_levels__description:st("supervision_levels__description"),supervision_levels__global_position:si("supervision_levels__global_position").notNull(),supervision_levels__supervision_level_rating:si("supervision_levels__supervision_level_rating"),supervision_levels__title:st("supervision_levels__title").notNull(),content_guidance___authoring_state:ss("content_guidance___authoring_state").notNull()}).as(t.sql`
610
+ SELECT
611
+ lcg.lesson_id,
612
+ lcg._state,
613
+ lcg.content_guidance_id,
614
+ lcg.position,
615
+ cg.content_guidance_area AS content_guidance__content_guidance_area,
616
+ cg.content_guidance_code AS content_guidance__content_guidance_code,
617
+ cg.content_guidance_description AS content_guidance__content_guidance_description,
618
+ cg.content_guidance_label AS content_guidance__content_guidance_label,
619
+ cg.supervision_level_id AS content_guidance__supervision_level_id,
620
+ sl.description AS supervision_levels__description,
621
+ sl.global_position AS supervision_levels__global_position,
622
+ sl.supervision_level_rating AS supervision_levels__supervision_level_rating,
623
+ sl.title AS supervision_levels__title,
624
+ cg._authoring_state AS content_guidance___authoring_state
625
+ FROM raw.lesson_content_guidance lcg
626
+ JOIN raw.lessons l
627
+ ON l.lesson_id = lcg.lesson_id
628
+ AND l._state = lcg._state
629
+ JOIN raw.content_guidance cg
630
+ ON cg.content_guidance_id = lcg.content_guidance_id
631
+ JOIN raw.supervision_levels sl
632
+ ON sl.supervision_level_id = cg.supervision_level_id
633
+ ORDER BY lcg.position
634
+ `),is.view("question_options_by_lesson",{quiz_id:si("quiz_id").notNull(),question_id:si("question_id").notNull(),option_id:si("option_id").notNull(),_quiz_state:ss("_quiz_state").notNull(),_state:ss("_state").notNull(),lesson_id:si("lesson_id").notNull(),_lesson_state:ss("_lesson_state").notNull(),quizzes__quiz_role:tn("quizzes__quiz_role").notNull(),body_image_id:si("body_image_id"),body_text:st("body_text"),correct_order:si("correct_order"),is_correct:Pe("is_correct"),match_partner_image_id:si("match_partner_image_id"),match_partner_text:st("match_partner_text"),position:si("position"),body_image__cloudinary_public_id:st("body_image__cloudinary_public_id"),body_image__cloudinary_source_url:st("body_image__cloudinary_source_url"),body_image__height:si("body_image__height"),body_image__media_description:st("body_image__media_description"),body_image__width:si("body_image__width"),match_partner_image__cloudinary_public_id:st("match_partner_image__cloudinary_public_id"),match_partner_image__cloudinary_source_url:st("match_partner_image__cloudinary_source_url"),match_partner_image__height:si("match_partner_image__height"),match_partner_image__media_description:st("match_partner_image__media_description"),match_partner_image__width:si("match_partner_image__width")}).as(t.sql`
635
+ SELECT
636
+ qq.quiz_id,
637
+ qq.question_id,
638
+ qo.option_id,
639
+ qq._quiz_state,
640
+ qo._state,
641
+ l.lesson_id,
642
+ l._state AS _lesson_state,
643
+ qz.quiz_role AS quizzes__quiz_role,
644
+ qo.body_image_id,
645
+ qo.body_text,
646
+ qo.correct_order,
647
+ qo.is_correct,
648
+ qo.match_partner_image_id,
649
+ qo.match_partner_text,
650
+ qo.position,
651
+ bi.cloudinary_public_id AS body_image__cloudinary_public_id,
652
+ bi.cloudinary_source_url AS body_image__cloudinary_source_url,
653
+ bi.height AS body_image__height,
654
+ bi.media_description AS body_image__media_description,
655
+ bi.width AS body_image__width,
656
+ mpi.cloudinary_public_id AS match_partner_image__cloudinary_public_id,
657
+ mpi.cloudinary_source_url AS match_partner_image__cloudinary_source_url,
658
+ mpi.height AS match_partner_image__height,
659
+ mpi.media_description AS match_partner_image__media_description,
660
+ mpi.width AS match_partner_image__width
661
+ FROM raw.quiz_questions qq
662
+ JOIN raw.quizzes qz
663
+ ON qz.quiz_id = qq.quiz_id
664
+ AND qz._state = qq._quiz_state
665
+ JOIN raw.lessons l
666
+ ON l.lesson_id = qz.lesson_id
667
+ AND l._state = qz._state
668
+ JOIN raw.questions q
669
+ ON q.question_id = qq.question_id
670
+ AND q._state = qq._question_state
671
+ JOIN raw.question_options qo
672
+ ON qo.question_id = q.question_id
673
+ AND qo._state = q._state
674
+ LEFT JOIN raw.images bi ON bi.image_id = qo.body_image_id
675
+ LEFT JOIN raw.images mpi ON mpi.image_id = qo.match_partner_image_id
676
+ ORDER BY qz.quiz_role, qq.position, qo.position
677
+ `),_s.view("published_lesson_by_slug",{lesson_id:si("lesson_id").notNull(),slug:st("slug").notNull(),equipment_and_resources:mi("equipment_and_resources"),key_learning_points:mi("key_learning_points").notNull(),keywords:mi("keywords"),misconceptions_and_common_mistakes:mi("misconceptions_and_common_mistakes"),phonics_outcome:st("phonics_outcome"),pupil_lesson_outcome:st("pupil_lesson_outcome").notNull(),teacher_tips:mi("teacher_tips"),title:st("title").notNull()}).as(t.sql`
678
+ SELECT
679
+ l.lesson_id,
680
+ l.slug,
681
+ l.equipment_and_resources,
682
+ l.key_learning_points,
683
+ l.keywords,
684
+ l.misconceptions_and_common_mistakes,
685
+ l.phonics_outcome,
686
+ l.pupil_lesson_outcome,
687
+ l.teacher_tips,
688
+ l.title
689
+ FROM raw.lessons l
690
+ WHERE l._state = 'published'
691
+ `);const Hn=_.z.object({equipment:_.z.string()}),Yn=_.z.object({key_learning_point:_.z.string()}),Gn=_.z.object({keyword:_.z.string(),description:_.z.string()}),Zn=_.z.object({lesson_outline:_.z.string()}),Xn=_.z.object({misconception:_.z.string(),response:_.z.string()}),ea=_.z.object({teacher_tip:_.z.string()}),ia=i.createSelectSchema(Fn,{equipment_and_resources:_.z.array(Hn).nullable(),key_learning_points:_.z.array(Yn).nullable(),keywords:_.z.array(Gn).nullable(),lesson_outline:_.z.array(Zn).nullable(),misconceptions_and_common_mistakes:_.z.array(Xn).nullable(),teacher_tips:_.z.array(ea).nullable()}),ta=n.default(ia),_a=_.z.record(_.z.string(),_.z.unknown()),sa=i.createSelectSchema(Qn,{main_video__raw_mux_data:_a.nullable(),sign_language_video__raw_mux_data:_a.nullable()}),na=n.default(sa),aa=i.createSelectSchema(Vn,{equipment_and_resources:_.z.array(Hn).nullable(),key_learning_points:_.z.array(Yn),keywords:_.z.array(Gn).nullable(),lesson_outline:_.z.array(Zn).nullable(),misconceptions_and_common_mistakes:_.z.array(Xn).nullable(),teacher_tips:_.z.array(ea).nullable()}),oa=n.default(aa),ra=i.createSelectSchema(In),la=n.default(ra),da=i.createSelectSchema(Jn),ua=n.default(da),ca=i.createSelectSchema(Un,{main_video__raw_mux_data:_a,sign_language_video__raw_mux_data:_a.nullable()}),ma=n.default(ca),pa=i.createSelectSchema(Kn),ga=n.default(pa),ha=i.createSelectSchema(Mn),fa=n.default(ha),va=i.createSelectSchema(En),ya=n.default(va),ba=i.createSelectSchema(Rn),wa=n.default(ba),Sa=i.createSelectSchema(Wn),Na=n.default(Sa);exports.draftDocumentsWithStatusByLessonCamelSchema=la,exports.draftDocumentsWithStatusByLessonSchema=ra,exports.draftDownloadablesWithStatusByLessonCamelSchema=ya,exports.draftDownloadablesWithStatusByLessonSchema=va,exports.draftLessonVideoWithStatusByLessonCamelSchema=na,exports.draftLessonVideoWithStatusByLessonSchema=sa,exports.draftLessonWithStatusCamelSchema=ta,exports.draftLessonWithStatusSchema=ia,exports.publishedDocumentsWithReleaseByLessonCamelSchema=ua,exports.publishedDocumentsWithReleaseByLessonSchema=da,exports.publishedDownloadablesWithReleaseByLessonCamelSchema=wa,exports.publishedDownloadablesWithReleaseByLessonSchema=ba,exports.publishedLessonVideoWithReleaseByLessonCamelSchema=ma,exports.publishedLessonVideoWithReleaseByLessonSchema=ca,exports.publishedLessonWithReleaseCamelSchema=oa,exports.publishedLessonWithReleaseSchema=aa,exports.tagsByLessonCamelSchema=Na,exports.tagsByLessonSchema=Sa,exports.unitContextsByUnitCamelSchema=ga,exports.unitContextsByUnitSchema=pa,exports.unitsByLessonCamelSchema=fa,exports.unitsByLessonSchema=ha;
515
692
  //# sourceMappingURL=index.cjs.map