@decaf-ts/for-typeorm 0.2.24 → 0.2.25
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/dist/for-typeorm.cjs +1 -1
- package/dist/for-typeorm.cjs.map +1 -1
- package/dist/for-typeorm.js +1 -1
- package/dist/for-typeorm.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/for-typeorm.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,r,a,n,o,s,i){"use strict";const c=/^(select|from|where|and|or|insert|update|delete|drop|create|table|index|primary|key|foreign|references|constraint|unique|check|default|null|not|as|order|by|group|having|limit|offset|join|inner|outer|left|right|full|on|using|values|returning|set|into|case|when|then|else|end|cast|coalesce|exists|any|all|some|in|between|like|ilike|similar|to|is|true|false|asc|desc|distinct|union|intersect|except|natural|lateral|window|over|partition|range|rows|unbounded|preceding|following|current|row|with|recursive|materialized|view|function|trigger|procedure|language|returns|return|declare|begin|commit|rollback|savepoint|transaction|temporary|temp|if|loop|while|for|continue|exit|raise|exception|notice|info|log|debug|assert|execute|perform|get|diagnostics|call|do|alias|comment|vacuum|analyze|explain|copy|grant|revoke|privileges|public|usage|schema|sequence|owned|owner|tablespace|storage|inherits|type|operator|collate|collation|cascade|restrict|add|alter|column|rename|to|enable|disable|force|no|instead|of|before|after|each|statement|row|execute|also|only|exclude|nulls|others|ordinality|ties|nothing|cache|cycle|increment|minvalue|maxvalue|start|restart|by|called|returns|language|immutable|stable|volatile|strict|security|definer|invoker|cost|rows|support|handler|inline|validator|options|storage|inheritance|oids|without|data|dictionary|encoding|lc_collate|lc_ctype|connection|limit|password|valid|until|superuser|nosuperuser|createdb|nocreatedb|createrole|nocreaterole|inherit|noinherit|login|nologin|replication|noreplication|bypassrls|nobypassrls|encrypted|unencrypted|new|old|session_user|current_user|current_role|current_schema|current_catalog|current_date|current_time|current_timestamp|localtime|localtimestamp|current_database|inet|cidr|macaddr|macaddr8|bit|varbit|tsvector|tsquery|uuid|xml|json|jsonb|int|integer|smallint|bigint|decimal|numeric|real|double|precision|float|boolean|bool|char|character|varchar|text|bytea|date|time|timestamp|interval|point|line|lseg|box|path|polygon|circle|money|void)$/i,l="type-orm",d={SEPARATOR:".",ID:"id",VERSION:"version",DELETED:"deleted_at",TABLE:"table_name",SCHEMA:"schema_name",SEQUENCE:"sequence_name",INDEX:"index"};class p extends n.BaseError{constructor(e){super(p.name,e,404)}}var u;e.SQLOperator=void 0,(u=e.SQLOperator||(e.SQLOperator={})).EQUAL="=",u.NOT_EQUAL="<>",u.LESS_THAN="<",u.LESS_THAN_OR_EQUAL="<=",u.GREATER_THAN=">",u.GREATER_THAN_OR_EQUAL=">=",u.IN="IN",u.NOT_IN="NOT IN",u.LIKE="LIKE",u.ILIKE="ILIKE",u.BETWEEN="BETWEEN",u.IS_NULL="IS NULL",u.IS_NOT_NULL="IS NOT NULL",u.EXISTS="EXISTS",u.NOT_EXISTS="NOT EXISTS",u.ANY="ANY",u.ALL="ALL",u.SOME="SOME";const h={EQUAL:e.SQLOperator.EQUAL,DIFFERENT:e.SQLOperator.NOT_EQUAL,BIGGER:e.SQLOperator.GREATER_THAN,BIGGER_EQ:e.SQLOperator.GREATER_THAN_OR_EQUAL,SMALLER:e.SQLOperator.LESS_THAN,SMALLER_EQ:e.SQLOperator.LESS_THAN_OR_EQUAL,BETWEEN:e.SQLOperator.BETWEEN,NOT:"NOT",IN:e.SQLOperator.IN,IS_NULL:e.SQLOperator.IS_NULL,IS_NOT_NULL:e.SQLOperator.IS_NOT_NULL,REGEXP:"~",IREGEXP:"~*",LIKE:e.SQLOperator.LIKE,ILIKE:e.SQLOperator.ILIKE},y={AND:"AND",OR:"OR"};class g extends a.Paginator{get total(){return this._totalPages}get count(){return this._recordCount}get repo(){return this.__repo||(this.__repo=this.adapter.client.getRepository(t.Metadata.constr(this.clazz))),this.__repo}constructor(e,t,r,a){super(e,t,r,a)}prepare(e){return{...e}}async page(e=1,...t){const{ctxArgs:r,ctx:n}=this.adapter.logCtx(t,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...r);const o={...this.statement};this._recordCount&&this._totalPages||(this._totalPages=this._recordCount=0);const i=Object.assign(o,{skip:(this.current||0)*this.size,take:this.size}),c=await this.repo.findAndCount(i);if(this._recordCount=c[1],this._totalPages=Math.ceil(this._recordCount/this.size),!this.clazz)throw new a.PagingError("No statement target defined");const l=s.Model.pk(this.clazz),d=(c[0]||[]).map(e=>this.adapter.revert(e,this.clazz,e[l],void 0,n));return this._currentPage=e,d}}function E(e){for(const t of[h,y]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new a.QueryError("Could not find adapter translation for operator "+e)}function f(e){const t=RegExp(/^\/(.+)\/(\w+)$/g);if("string"==typeof e){const r=t.exec(e);if(r){const[,t]=r;e=t}}return("string"==typeof e?RegExp(e):e).source}function m(e,r={}){const a=s.Model.relations(e);if(r[e.name]=r[e.name]||void 0,r[e.name])return r[e.name];const i=a.reduce((a,s)=>{const i=t.Metadata.relations(e,s),c=i.populate;let l=i.class;if(o.isClass(l)||(l=l()),!l)throw new n.InternalError(`Could not find class for property ${s} on model ${e.name}`);if(c?a.relations.push(s):a.nonEager.push(s),a.relations.includes(s)){const{nonEager:e,relations:t}=m(l,r);if(e.length&&a.relations.includes(s)){const t=e.map(e=>`${s}.${e}`);a.nonEager.push(...t)}if(t.length){const e=t.map(e=>`${s}.${e}`);a.relations.push(...e)}}return a},{nonEager:[],relations:[]});return r[e.name]=i,i}class A extends a.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),r=s.Model.tableName(this.fromSelector),n={query:this.adapter.client.getRepository(t.Metadata.constr(this.fromSelector)).createQueryBuilder(r)};if(void 0!==this.countSelector){const e=null===this.countSelector?"*":`${r}.${this.countSelector}`;n.query=n.query.select(`COUNT(${e})`,"count")}else if(void 0!==this.countDistinctSelector){const e=null===this.countDistinctSelector?"*":`${r}.${this.countDistinctSelector}`;n.query=n.query.select(`COUNT(DISTINCT ${e})`,"count")}else this.sumSelector?n.query=n.query.select(`SUM(${r}.${this.sumSelector})`,"sum"):this.avgSelector?n.query=n.query.select(`AVG(${r}.${this.avgSelector})`,"avg"):this.maxSelector?n.query=n.query.select(`MAX(${r}.${this.maxSelector})`,"max"):this.minSelector?n.query=n.query.select(`MIN(${r}.${this.minSelector})`,"min"):this.distinctSelector?n.query=n.query.select(`DISTINCT ${r}.${this.distinctSelector}`,this.distinctSelector):this.selectSelector?n.query=n.query.select(this.selectSelector.map(e=>`${r}.${e}`)):n.query=n.query.select();if(this.whereCondition&&(n.query=this.parseCondition(this.whereCondition,r,n.query).query),this.groupBySelectors&&this.groupBySelectors.length){const[e,...t]=this.groupBySelectors;n.query=n.query.groupBy(`${r}.${e}`);for(const e of t)n.query=n.query.addGroupBy(`${r}.${e}`)}const o=this.hasAggregation();if(o){if(this.orderBySelectors&&this.orderBySelectors.length){const[e,t]=this.orderBySelectors[0];n.query=n.query.orderBy(`${r}.${e}`,t.toUpperCase());for(let e=1;e<this.orderBySelectors.length;e++){const[t,a]=this.orderBySelectors[e];n.query=n.query.addOrderBy(`${r}.${t}`,a.toUpperCase())}}}else if(this.orderBySelectors&&this.orderBySelectors.length){const[e,t]=this.orderBySelectors[0];n.query=n.query.orderBy(`${r}.${e}`,t.toUpperCase());for(let e=1;e<this.orderBySelectors.length;e++){const[t,a]=this.orderBySelectors[e];n.query=n.query.addOrderBy(`${r}.${t}`,a.toUpperCase())}}else n.query=n.query.orderBy(`${r}.${s.Model.pk(this.fromSelector)}`,a.OrderDirection.ASC.toUpperCase());return o?this.limitSelector&&(n.query=n.query.limit(this.limitSelector)):this.limitSelector?n.query=n.query.limit(this.limitSelector):(e.debug("No limit selector defined. Using default limit of 250"),n.query=n.query.limit(250)),this.offsetSelector&&(n.query=n.query.skip(this.offsetSelector)),n}async paginate(e){try{const t={};if(this.whereCondition&&(t.where=this.parseConditionForPagination(this.whereCondition,s.Model.tableName(this.fromSelector))),this.orderBySelectors&&this.orderBySelectors.length){const e={};for(const[t,r]of this.orderBySelectors)e[t]=r.toString().toUpperCase();t.order=e}return this.adapter.Paginator(t,e,this.fromSelector)}catch(e){throw new a.QueryError(e)}}async raw(e,...t){const{ctx:r}=this.logCtx(t,this.raw);if(!r.get("allowRawStatements"))throw new a.UnsupportedError("Raw statements are not allowed in the current configuration");const n=e.query;if(this.hasAggregation()){if(this.groupBySelectors&&this.groupBySelectors.length){const e=await n.getRawMany();return this.groupResults(e)}{const e=await n.getRawOne();return void 0!==this.countSelector||void 0!==this.countDistinctSelector?Number(e?.count||0):this.sumSelector?Number(e?.sum||0):this.avgSelector?Number(e?.avg||0):this.maxSelector?e?.max:this.minSelector?e?.min:this.distinctSelector?(await n.getRawMany()).map(e=>e[this.distinctSelector]):e}}const{nonEager:o}=m(this.fromSelector);return e.query=n.setFindOptions({loadEagerRelations:!0,loadRelationIds:{relations:o}}),await e.query.getMany()}groupResults(e){if(!this.groupBySelectors||!this.groupBySelectors.length)return e;const t=s.Model.tableName(this.fromSelector),r=this.groupBySelectors.map(e=>`${t}_${e}`),a={};for(const t of e){let e=a;for(let a=0;a<r.length-1;a++){const n=t[r[a]];e[n]||(e[n]={}),e=e[n]}const n=t[r[r.length-1]];e[n]||(e[n]=[]),e[n].push(t)}return a}parseConditionForPagination(e,t,r=0,a){throw new n.InternalError("Not implemented")}parseCondition(e,t,r,n=0,o){const{attr1:s,operator:i,comparison:c}=e;if(-1===[a.GroupOperator.AND,a.GroupOperator.OR,a.Operator.NOT].indexOf(i))return(()=>{const e=E(i),l=`${s}${n}`;let d,p;if(i===a.Operator.BETWEEN){const[r,a]=c,o=`${s}${n}_min`,i=`${s}${n}_max`;d=`${t}.${s} ${e} :${o} AND :${i}`,p={[o]:r,[i]:a}}else i===a.Operator.IN?(d=`${t}.${s} ${e} (:...${l})`,p={[l]:c}):(d=`${t}.${s} ${e} :${l}`,p={[l]:c});switch(o){case a.GroupOperator.AND:return{query:r.andWhere(d,p)};case a.GroupOperator.OR:return{query:r.orWhere(d,p)};case a.Operator.NOT:throw Error("NOT operator not implemented");default:return{query:r.where(d,p)}}})();if(i===a.Operator.NOT)throw Error("NOT operator not implemented");return r=this.parseCondition(s,t,r,++n).query,this.parseCondition(c,t,r,++n,i)}}class w extends a.Sequence{constructor(e,t){super(e,t)}async current(...e){const{ctx:t}=(await this.logCtx(e,n.OperationKeys.READ,!0)).for(this.current),{name:r,startWith:a}=this.options;try{if(!r)throw new n.InternalError("Sequence name is required to read current");const e=`"${r.replace(/"/g,'""')}"`,a=await this.adapter.raw({query:`SELECT last_value, is_called FROM ${e};`,values:[]},!0,t);if(!Array.isArray(a)||0===a.length)throw new n.InternalError("Failed to read current value for "+r);const o=a[0];return this.parse(o.last_value)}catch(e){if(e instanceof n.NotFoundError){if(void 0===a)throw new n.InternalError("Starting value is not defined for a non existing sequence");return this.parse(a)}throw this.adapter.parseError(e)}}async increment(e,t){const{type:r,incrementBy:a,name:o,startWith:s,minValue:i,maxValue:c,cycle:l}=this.options;if("Number"!==r&&"BigInt"!==r)throw new n.InternalError(`Cannot increment sequence of type ${r} with ${e}`);if(!o)throw new n.InternalError("Cannot increment sequence without a name: "+o);try{const s=e??a;if(s%a!==0)throw new n.InternalError("Value to increment does not consider the incrementBy setting: "+a);const i=await this.current(t),c="BigInt"===r?this.parse(i)+BigInt(s):this.parse(i)+s;return await this.adapter.raw({query:"SELECT setval($1::regclass, $2, true) AS nextval;",values:[o,c]},!0,t),c}catch(d){if(!(d instanceof n.NotFoundError))throw d;const p=`"${o.replace(/"/g,'""')}"`,u="number"==typeof s?s:a,h="number"==typeof i?" MINVALUE "+i:"number"==typeof s&&1>s?" MINVALUE "+s:"",y="number"==typeof c?" MAXVALUE "+c:"",g=l?" CYCLE":" NO CYCLE";await this.adapter.raw({query:`CREATE SEQUENCE IF NOT EXISTS ${p} START WITH ${u} INCREMENT BY ${a}${h}${y}${g};`,values:[]},!0,t);const E=e??a;if(E%a!==0)throw new n.InternalError("Value to increment does not consider the incrementBy setting: "+a);const f="number"==typeof s?s:this.parse(s),m="BigInt"===r?this.parse(f)+BigInt(E):this.parse(f)+E;return await this.adapter.raw({query:"SELECT setval($1::regclass, $2, true) AS nextval;",values:[o,m]},!0,t),m}}async next(...e){const{ctx:t}=(await this.logCtx(e,n.OperationKeys.UPDATE,!0)).for(this.next);return this.increment(void 0,t)}async range(e,...t){const{ctx:r}=(await this.logCtx(t,n.OperationKeys.UPDATE,!0)).for(this.range),a=await this.current(r),o=this.parse(this.options.incrementBy),s=await this.increment(this.parse(e)*o,r),i=[];for(let t=1;e>=t;t++)i.push(a+o*this.parse(t));if(i[i.length-1]!==s)throw new n.InternalError("Miscalculation of range");return i}}function O(e){const t=((e,t,r,a=n.DefaultSeparator)=>[...e.map(e=>e===d.TABLE?"table":e),...r||[],...t?[t]:[],d.INDEX].join(a))([d.TABLE]),r={};return r[t]={query:"",values:[]},e.forEach(e=>{const t=s.Model.indexes(e);Object.entries(t).forEach(([t,o])=>{const i=Object.keys(o)[0];let{compositions:c}=o[i];const l=s.Model.tableName(e);c=c||[],(()=>{const e=[t,...c,a.PersistenceKeys.INDEX].join(n.DefaultSeparator);r[e]={query:"CREATE INDEX $1 ON $2 ($3);",values:[e,l,t]}})()})}),Object.values(r)}async function S(e,r,o,i,c,l){async function d(e,t){const o=a.Repository.forModel(e.constructor);await S(o,r,e,t||i!==n.OperationKeys.UPDATE?i:n.OperationKeys.CREATE,c,t)}await n.enforceDBDecorators(e,r,o,i,c,l);for(const e of Object.keys(o))s.Model.isPropertyModel(o,e)&&void 0!==o[e]?await d(o[e],l?l[e]:void 0):t.Metadata.validationFor(o.constructor,e,s.ValidationKeys.LIST)&&o[e]&&Array.isArray(o[e])&&await Promise.all(o[e].map((t,r)=>d(t,l&&l[e]?l[e][r]:void 0)))}class N extends a.Repository{constructor(e,t,...r){super(e,t,...r),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!1,ignoreHandlers:!1,allowRawStatements:!0,forcePrepareSimpleQueries:!1,forcePrepareComplexQueries:!1})}queryBuilder(){return this.nativeRepo().createQueryBuilder()}nativeRepo(){const e=t.Metadata.constr(this.class);return this.adapter.dataSource.getRepository(e)}async createPrefix(e,...t){const{ctx:r,ctxArgs:a,log:o}=(await this.logCtx(t,n.OperationKeys.CREATE,!0)).for(this.createPrefix),s=r.get("ignoreHandlers"),i=r.get("ignoreValidation");if(o.silly(`handlerSetting: ${s}, validationSetting: ${i}`),e=new this.class(e),s||await S(this,r,e,n.OperationKeys.CREATE,n.OperationKeys.ON),!i){const t=r.get("ignoredValidationProperties")||[];o.silly("ignored validation properties: "+t);const a=await Promise.resolve(e.hasErrors(...t));if(a)throw new n.ValidationError(a.toString())}return[e,...a]}async create(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.create);n.debug(`Creating new ${this.class.name} in table ${s.Model.tableName(this.class)}`);let{record:i,id:c,transient:l}=this.adapter.prepare(e,!1,a);return i=await this.adapter.create(t.Metadata.constr(this.class),c,e,...o),this.adapter.revert(i,this.class,c,l,a)}async createSuffix(e,t){return t.get("ignoreHandlers")||await S(this,t,e,n.OperationKeys.CREATE,n.OperationKeys.AFTER),e}async readPrefix(e,...t){const{ctx:r,ctxArgs:a,log:o}=(await this.logCtx(t,n.OperationKeys.READ,!0)).for(this.readPrefix),s=r.get("ignoreHandlers");o.silly("handlerSetting: "+s);const i=new this.class;return i[this.pk]=e,s||await S(this,r,i,n.OperationKeys.READ,n.OperationKeys.ON),[e,...a]}async read(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.read);n.debug(`reading ${this.class.name} from table ${s.Model.tableName(this.class)} with pk ${this.pk}`);const i=await this.adapter.read(t.Metadata.constr(this.class),e,...o);return this.adapter.revert(i,this.class,e,void 0,a)}async readSuffix(e,t){return t.get("ignoreHandlers")||await S(this,t,e,n.OperationKeys.READ,n.OperationKeys.AFTER),e}async updatePrefix(e,...t){const{ctx:r,ctxArgs:a,log:o}=(await this.logCtx(t,n.OperationKeys.UPDATE,!0)).for(this.updatePrefix),i=r.get("ignoreHandlers"),c=r.get("ignoreValidation");o.silly(`handlerSetting: ${i}, validationSetting: ${c}`);const l=e[this.pk];if(!l)throw new n.InternalError("No value for the Id is defined under the property "+this.pk);let d;if(r.get("applyUpdateValidation")&&(d=await this.read(l,r),r.get("mergeForUpdate")&&(e=s.Model.merge(d,e,this.class))),i||await S(this,r,e,n.OperationKeys.UPDATE,n.OperationKeys.ON,d),!c){const t=r.get("ignoredValidationProperties")||[];o.silly("ignored validation properties: "+t);const a=await Promise.resolve(e.hasErrors(d,...s.Model.relations(this.class),...t));if(a)throw new n.ValidationError(a.toString())}return[e,...a,d]}async update(e,...r){const{ctxArgs:a,log:n,ctx:o}=this.logCtx(r,this.update);let{record:i,id:c,transient:l}=this.adapter.prepare(e,!1,o);return n.debug(`updating ${this.class.name} in table ${s.Model.tableName(this.class)} with id ${c}`),i=await this.adapter.update(t.Metadata.constr(this.class),c,e,...a),this.adapter.revert(i,this.class,c,l,o)}async updateSuffix(e,t,r){return r.get("ignoreHandlers")||await S(this,r,e,n.OperationKeys.UPDATE,n.OperationKeys.AFTER,t),e}async delete(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.delete);n.debug(`deleting new ${this.class.name} in table ${s.Model.tableName(this.class)} with pk ${e}`);const i=await this.adapter.delete(t.Metadata.constr(this.class),e,...o);return this.adapter.revert(i,this.class,e,void 0,a)}async deleteSuffix(e,t){return t.get("ignoreHandlers")||await S(this,t,e,n.OperationKeys.DELETE,n.OperationKeys.AFTER),e}async createAllPrefix(e,...t){const{ctx:r,ctxArgs:a,log:o}=(await this.logCtx(t,n.BulkCrudOperationKeys.CREATE_ALL,!0)).for(this.createAllPrefix),i=r.get("ignoreHandlers"),c=r.get("ignoreValidation");if(o.silly(`handlerSetting: ${i}, validationSetting: ${c}`),!e.length)return[e,...a];const l=s.Model.sequenceFor(e[0]);let d=[];s.Model.generatedBySequence(this.class)?(l.name||(l.name=s.Model.sequenceName(e[0],"pk")),d=await(await this.adapter.Sequence(l)).range(e.length,...a)):s.Model.generated(this.class,this.pk)||(d=e.map((e,t)=>{if(void 0===e[this.pk])throw new n.InternalError("Primary key is not defined for model in position "+t);return e[this.pk]})),e=await Promise.all(e.map(async(e,t)=>(e=new this.class(e),l.type&&(e[this.pk]="String"!==l.type||l.generated?d[t]:""+e[this.pk]),i||await S(this,r,e,n.OperationKeys.CREATE,n.OperationKeys.ON),e)));const p=r.timestamp||new Date;if(e=e.map(e=>("createdAt"in e&&Object.assign(e,{createdAt:p}),"updatedAt"in e&&Object.assign(e,{updatedAt:p}),e)),!c){const t=r.get("ignoredValidationProperties")||[];o.silly("ignored validation properties: "+t);const a=await Promise.all(e.map(e=>Promise.resolve(e.hasErrors(...t)))),s=n.reduceErrorsToPrint(a);if(s)throw new n.ValidationError(s)}return[e,...a]}async createAll(e,...r){if(!e.length)return e;const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.createAll);n.debug(`Creating ${e.length} new ${this.class.name} in table ${s.Model.tableName(this.class)}`);const i=e.map(e=>this.adapter.prepare(e,!1,a)),c=i.map(e=>e.id);let l=i.map(e=>e.record);return l=await this.adapter.createAll(t.Metadata.constr(this.class),c,e,...o),l.map((e,t)=>this.adapter.revert(e,this.class,c[t],a.get("rebuildWithTransient")?i[t].transient:void 0,a))}async createAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map(e=>S(this,t,e,n.OperationKeys.CREATE,n.OperationKeys.AFTER))),e}async readAll(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.readAll);return n.debug(`reading ${e.length} ${this.class.name} in table ${s.Model.tableName(this.class)}`),(await this.adapter.readAll(t.Metadata.constr(this.class),e,...o)).map((t,r)=>this.adapter.revert(t,this.class,e[r],void 0,a))}async readAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map(e=>S(this,t,e,n.OperationKeys.READ,n.OperationKeys.AFTER))),e}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:a,log:o}=(await this.logCtx(t,n.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAllPrefix),i=r.get("ignoreHandlers"),c=r.get("ignoreValidation");o.silly(`handlerSetting: ${i}, validationSetting: ${c}`);const l=e.map(e=>{const t=e[this.pk];if(!t)throw new n.InternalError("missing id on update operation");return t});let d;if(r.get("applyUpdateValidation")&&(d=await this.readAll(l,r),r.get("mergeForUpdate")&&(e=e.map((e,t)=>s.Model.merge(d[t],e,this.class)))),i||await Promise.all(e.map((e,t)=>S(this,r,e,n.OperationKeys.UPDATE,n.OperationKeys.ON,d?d[t]:void 0))),!c){const t=r.get("ignoredValidationProperties")||[];let a;o.silly("ignored validation properties: "+t),a=r.get("applyUpdateValidation")?await Promise.all(e.map((e,r)=>Promise.resolve(e.hasErrors(d[r],...t)))):await Promise.resolve(e.map(e=>e.hasErrors(...t)));const s=n.reduceErrorsToPrint(a);if(s)throw new n.ValidationError(s)}return[e,...a,d]}async updateAll(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.updateAll);n.verbose(`Updating ${e.length} new ${this.class.name} in table ${s.Model.tableName(this.class)}`);const i=e.map(e=>this.adapter.prepare(e,!1,a));return(await this.adapter.updateAll(t.Metadata.constr(this.class),i.map(e=>e.id),e,...o)).map((e,t)=>this.adapter.revert(e,this.class,i[t].id,a.get("rebuildWithTransient")?i[t].transient:void 0,a))}async updateAllSuffix(e,t,r){if(r.get("applyUpdateValidation")&&!r.get("ignoreDevSafeGuards")&&!t)throw new n.InternalError("No previous versions of models provided");return r.get("ignoreHandlers")||await Promise.all(e.map((e,a)=>S(this,r,e,n.OperationKeys.UPDATE,n.OperationKeys.AFTER,t?t[a]:void 0))),e}async deleteAll(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.create);return n.debug(`deleting ${e.length} ${this.class.name} in table ${s.Model.tableName(this.class)}`),(await this.adapter.deleteAll(t.Metadata.constr(this.class),e,...o)).map((t,r)=>this.adapter.revert(t,this.class,e[r],void 0,a))}}let T=class{constructor(e,t){if(this.adapter=e,this.handler=t,!this.adapter)throw new n.InternalError("Missing adapter. Should not be possible")}async afterInsert(e){const t=e.entity.constructor,r=await this.adapter.context(n.OperationKeys.CREATE,{},t);this.handler(t,n.OperationKeys.CREATE,e.entityId,e.entity,r)}async afterRemove(e){const t=e.metadata.target,r=await this.adapter.context(n.OperationKeys.DELETE,{},t);this.handler(t,n.OperationKeys.DELETE,"",{},r)}async afterUpdate(e){const t=e.databaseEntity.constructor,r=await this.adapter.context(n.OperationKeys.UPDATE,{},t);return this.handler(t,n.OperationKeys.UPDATE,e.entity[s.Model.pk(t)],e.entity,r)}};T=r.__decorate([i.EventSubscriber(),r.__metadata("design:paramtypes",[a.Adapter,Function])],T);class b extends a.Dispatch{constructor(){super()}async notificationHandler(e,t,r,...a){const{log:n,ctxArgs:o}=this.logCtx(a,this.notificationHandler);try{await this.updateObservers(e,t,r,...o),n.verbose(`Observer refresh dispatched by ${t} for ${e}`),n.debug("pks: "+r)}catch(e){n.error("Failed to process notification: "+e)}}async initialize(...e){const{log:t}=(await this.logCtx(e,a.PersistenceKeys.INITIALIZATION,!0)).for(this.initialize);(async function(){if(!this.adapter)throw new n.InternalError("No adapter/native observed for dispatch");try{this.adapter.client.isInitialized||await this.adapter.client.initialize(),this.adapter.client.subscribers.push(new T(this.adapter,this.notificationHandler.bind(this)))}catch(e){throw new n.InternalError(e)}}).call(this).then(()=>{t.info("Subscribed to TypeORM notifications")}).catch(e=>{throw new n.InternalError("Failed to subscribe to TypeORM notifications: "+e)})}async updateObservers(e,t,r,...a){if(this.adapter)return super.updateObservers(e,t,r,...a);this.log.verbose(`No adapter observed for dispatch; skipping observer update for ${e}:${t}`)}}function C(e,t,r){let n=0;const o=r.filter((r,a)=>(n=a,r.target===e&&r.propertyName===t));return o.length?(r.splice(n,1),Object.entries(o[0].options).reduce((e,[t,r])=>{switch(t){case"nullable":e[t]=r;break;case s.ValidationKeys.TYPE:break;default:throw new a.UnsupportedError("Unsupported option for a relation: "+t)}return e},{})):{}}function R(e,t,r,a={},o="regular",s,i){const c=r.filter(r=>r.target===e&&r.propertyName===t),l=s.filter(r=>r.target===e&&r.propertyName===t);if(i&&i.filter(r=>r.target===e&&r.columns.includes(t)).forEach(e=>{Object.assign(e,a)}),c.length>1)throw new n.InternalError(`Multiple columns for ${t} found for given target: ${r.map(e=>e.propertyName).join(", ")}`);if(l.length>1)throw new n.InternalError(`Multiple relations for ${t} found for given target: ${l.map(e=>e.propertyName).join(", ")}`);let d;0!==c.length||l.length?(l.length||(d=c[0],"regular"!==o&&Object.defineProperty(d,"mode",{value:o,writable:!0,enumerable:!0,configurable:!0})),l.length&&(a=Object.entries(a).reduce((e,[t,r])=>("nullable"===t&&(e[t]=r),e),{})),d=d||l[0],Object.defineProperty(d,"options",{value:{...d.options,...a},writable:!0,enumerable:!0,configurable:!0})):r.push({target:e,propertyName:t,mode:o,options:a})}function M(e,r){return(a,n)=>{let o;"string"==typeof e||"function"==typeof e?o=e:e&&(r=e,o=e.type),r||(r={});let s=Reflect&&Reflect.getMetadata?Reflect.getMetadata("design:type",a,n):void 0;!o&&s&&(o=s);const c=t.Metadata.allowedTypes(a.constructor,n)[0];if(c!==s&&(o=c,s=c),!r.type&&o&&(r.type=o),"hstore"!==r.type||r.hstoreType||(r.hstoreType=s===Object?"object":"string"),"function"==typeof e)i.getMetadataArgsStorage().embeddeds.push({target:a.constructor,propertyName:n,isArray:s===Array||!0===r.array,prefix:void 0!==r.prefix?r.prefix:void 0,type:e});else{if(!r.type)throw new i.ColumnTypeUndefinedError(a,n);!0===r.unique&&i.getMetadataArgsStorage().uniques.push({target:a.constructor,columns:[n]});const e=i.getMetadataArgsStorage();R(a.constructor,n,e.columns,r,"regular",e.relations,r.unique?e.indices:void 0),r.generated&&i.getMetadataArgsStorage().generations.push({target:a.constructor,propertyName:n,strategy:"string"==typeof r.generated?r.generated:"increment"})}}}class I{static isObject(e){return null!==e&&"object"==typeof e}static isObjectWithName(e){return null!==e&&"object"==typeof e&&void 0!==e.name}static assign(e,...t){for(const r of t)for(const t of Object.getOwnPropertyNames(r))e[t]=r[t]}}function L(e,t){const r={};let a;return e?("string"==typeof e&&(a=e),I.isObject(e)&&(a="increment",Object.assign(r,e))):a="increment",I.isObject(t)&&Object.assign(r,t),(e,t)=>{r.type||("increment"===a||"identity"===a?r.type=Number:"uuid"===a?r.type="uuid":"rowid"===a&&(r.type="int")),r.primary=!0;const n=i.getMetadataArgsStorage();R(e.constructor,t,n.columns,r,"regular",n.relations),i.getMetadataArgsStorage().generations.push({target:e.constructor,propertyName:t,strategy:a})}}function _(e,t){const r=(I.isObject(e)?e:t)||{},a="string"==typeof e?e:r.name;return e=>{i.getMetadataArgsStorage().tables.push({target:e,name:a,type:"regular",orderBy:r.orderBy?r.orderBy:void 0,engine:r.engine?r.engine:void 0,database:r.database?r.database:void 0,schema:r.schema?r.schema:void 0,synchronize:r.synchronize,withoutRowid:r.withoutRowid,comment:r.comment?r.comment:void 0})}}async function v(e,t,r,a){try{const t=e.get("user");a[r]=t}catch(e){throw new n.InternalError("No User found in context. Please provide a user in the context")}}class $ extends a.Adapter{getClient(){const e=a.Adapter.models(this.alias).map(t.Metadata.constr);return new i.DataSource(Object.assign({},this.config,{entities:e}))}constructor(e,t){super(e,l,t)}async shutdown(){await super.shutdown(),this._client&&await this._client.destroy()}async flags(e,t,r){return super.flags(e,t,Object.assign({user:this.config.username},r))}Dispatch(){return new b}repository(){return N}Statement(){return new A(this)}Paginator(e,t,r){return new g(this,e,t,r)}async Sequence(e){return new w(e,this)}async initialize(...e){const{log:t}=(await this.logCtx(e,a.PersistenceKeys.INITIALIZATION,!0)).for(this.initialize),r=this.client;try{await r.initialize()}catch(e){throw this.parseError(e)}t.verbose(this.toString()+" initialized")}async index(...e){(await this.logCtx(e,a.PersistenceKeys.INDEX,!0)).for(this.index);const t=O(e);try{await this.client.query("BEGIN");for(const e of t)await this.client.query(e.query,e.values);await this.client.query("COMMIT")}catch(e){throw await this.client.query("ROLLBACK"),this.parseError(e)}}async raw(e,t=!0,...r){const{log:a}=this.logCtx(r,this.raw);try{this.client.isInitialized||await this.client.initialize()}catch(e){throw this.parseError(e)}try{const{query:t,values:r}=e;return a.debug("executing query: "+("string"!=typeof t?t.getSql():t)),await this.client.query(t,r)}catch(e){throw this.parseError(e)}}prepare(e,r=!1,o){const i=super.prepare(e,o);i.record=Object.entries(i.record).reduce((e,[t,r])=>(t===a.PersistenceKeys.METADATA||this.isReserved(t)||void 0===r||(r instanceof Date?r=new Date(r.getTime()):s.Model.isModel(r)?r=this.prepare(r,!0,o).record:"string"==typeof r&&(r=""+r),e[t]=r),e),{});const c=s.Model.get(e.constructor.name);if(!c)throw new n.InternalError(`Model ${e.constructor.name} not found in registry`);const l=r?new(t.Metadata.constr(c)):new c;return r&&Object.defineProperty(l,"constructor",{configurable:!1,enumerable:!1,value:t.Metadata,writable:!1}),Object.entries(i.record).forEach(([e,t])=>l[e]=t),i.record=l,i}revert(e,t,r,a,...o){const{log:s}=this.logCtx(o,this.revert);return a&&(s.verbose("re-adding transient properties: "+Object.keys(a).join(", ")),Object.entries(a).forEach(([r,a])=>{if(r in e&&void 0!==e[r])throw new n.InternalError(`Transient property ${r} already exists on model ${"string"==typeof t?t:t.name}. should be impossible`);e[r]=a})),new t(e)}async create(e,t,r,...a){const o=this.client.getRepository(e);if(void 0!==t){const r=s.Model.pk(e);if(await o.findOne({where:{[r]:t}}))throw new n.ConflictError(`Record already exists in table ${s.Model.tableName(e)} with id: ${t}`)}try{return await o.save(r)}catch(e){throw this.parseError(e)}}async read(e,t,...r){let a;try{const r=this.client.getRepository(e),{nonEager:n,relations:o}=m(e),i=s.Model.pk(e),c={where:{[i]:t},relations:o,loadRelationIds:{relations:n}};a=await r.findOneOrFail(c)}catch(e){throw this.parseError(e)}return a}async update(e,t,r,...a){const{ctx:n}=this.logCtx(a,this.update);await this.read(e,t,n);try{return this.client.getRepository(e).save(r)}catch(e){throw this.parseError(e)}}async delete(e,t,...r){const{ctx:a}=this.logCtx(r,this.delete),n=await this.read(e,t,a);try{const r=this.client.getRepository(e);return await r.delete(t),n}catch(e){throw this.parseError(e)}}async createAll(e,t,r,...a){const{ctx:n,log:o}=this.logCtx(a,this.createAll),i=s.Model.tableName(e);o.debug(`Creating ${t.length} entries ${i} table`);try{const t=this.client.getRepository(e),a=await t.insert(r);return this.readAll(e,a.identifiers.map(e=>e.id),n)}catch(e){throw this.parseError(e)}}async readAll(e,t,...r){if(!t.length)return[];const{log:a}=this.logCtx(r,this.readAll),n=s.Model.tableName(e);a.debug(`Reading ${t.length} entries ${n} table`);try{const r=s.Model.pk(e);return this.client.getRepository(e).findBy({[r]:i.In(t)})}catch(e){throw this.parseError(e)}}async updateAll(e,t,r,...a){const{log:n,ctxArgs:o}=this.logCtx(a,this.updateAll),i=s.Model.tableName(e);n.debug(`Updating ${t.length} entries ${i} table`);const c=[],l=s.Model.pk(e);for(const t of r)c.push(await this.update(e,t[l],t,...o));return c}async deleteAll(e,t,...r){if(!t.length)return[];const{ctxArgs:a,log:n}=this.logCtx(r,this.deleteAll),o=s.Model.tableName(e);n.debug(`Deleting ${t.length} entries from ${o} table`);try{const r=this.client.getRepository(e),n=await this.readAll(e,t,...a),o=s.Model.pk(e);return await r.delete({[o]:i.In(t)}),n}catch(e){throw this.parseError(e)}}parseError(e,t){return $.parseError(e,t)}isReserved(e){return!!e.match(c)}static parseError(e,t){if(e instanceof n.BaseError)return e;const r="string"==typeof e?e:e.message;if(r.match(/duplicate key|already exists/g))return new n.ConflictError(r);if(r.match(/does not exist|not found|Could not find/g))return new n.NotFoundError(r);switch(r.toString()){case"23505":case"23503":case"42P07":return new n.ConflictError(t);case"42P01":case"42703":return new n.NotFoundError(t);case"42P16":return new p(e);default:return r.toString().match(/ECONNREFUSED/g)?new a.ConnectionError(e):new n.InternalError(e)}}static async connect(e){const t=new i.DataSource(e);return t.isInitialized||await t.initialize(),t}static async createDatabase(e,t){const r=o.Logging.for(this.createDatabase);r.verbose("Creating database "+t);try{await e.query("CREATE DATABASE "+t),r.info("Created database "+t)}catch(e){throw this.parseError(e)}}static async createNotifyFunction(e,t){const r=o.Logging.for(this.createNotifyFunction);r.verbose("Creating notify function");try{await e.query("CREATE OR REPLACE FUNCTION notify_table_changes()\nRETURNS trigger AS $$\nBEGIN\n PERFORM pg_notify(\n 'table_changes',\n json_build_object(\n 'table', TG_TABLE_NAME,\n 'action', TG_OP,\n 'data', row_to_json(NEW),\n 'old_data', row_to_json(OLD)\n )::text\n );\n RETURN NEW;\nEND;\n$$ LANGUAGE plpgsql SECURITY DEFINER\n;"),await e.query(`ALTER FUNCTION notify_table_changes() OWNER TO ${t};`),await e.query("\n GRANT EXECUTE ON FUNCTION notify_table_changes() TO public;\n "),r.info("Created notify function")}catch(e){throw this.parseError(e)}}static async deleteDatabase(e,t,r){try{r&&await e.query(`DROP OWNED BY ${r} CASCADE;`),await e.query("DROP DATABASE "+t)}catch(e){throw this.parseError(e)}}static async createUser(e,t,r,a){try{await e.query(`CREATE USER ${r} WITH PASSWORD '${a}'`),await e.query(`GRANT CONNECT ON DATABASE ${t} TO ${r}`),await e.query("GRANT USAGE ON SCHEMA public TO "+r),await e.query("GRANT CREATE ON SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO "+r),await e.query("ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO "+r),await e.query("ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO "+r)}catch(e){throw this.parseError(e)}}static async deleteUser(e,t,r){try{await e.query(`REASSIGN OWNED BY ${t} TO ${r}`),await e.query("REVOKE ALL ON ALL TABLES IN SCHEMA public FROM "+t),await e.query("REVOKE ALL ON SCHEMA public FROM "+t),await e.query("REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public FROM "+t),await e.query("REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public FROM "+t),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON TABLES FROM ${t}`),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON SEQUENCES FROM ${t};`),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON FUNCTIONS FROM ${t}`),await e.query(`DROP OWNED BY ${t} CASCADE`),await e.query(`DROP USER IF EXISTS "${t}"`)}catch(e){throw this.parseError(e)}}static parseTypeToPostgres(e,r,a=!1){switch(e.toLowerCase()){case"string":return r?"TEXT PRIMARY KEY":a?"TEXT":"VARCHAR";case"number":return r?"SERIAL PRIMARY KEY":"INTEGER";case"boolean":return"BOOLEAN";case"date":return"TIMESTAMP";case"bigint":return r?"BIGINT PRIMARY KEY":"BIGINT";default:{const r=s.Model.get(e);if(r)return{model:r,pkType:t.Metadata.type(r,s.Model.pk(r))};throw new n.InternalError("Unsupported type: "+e)}}}static parseValidationToPostgres(e,t,r,a,o){switch(a){case s.ValidationKeys.REQUIRED:return"NOT NULL";case s.ValidationKeys.MAX_LENGTH:return r||!o||"string"!==t.toLowerCase()?"":`(${o[s.ValidationKeys.MAX_LENGTH]})`;case s.ValidationKeys.MIN_LENGTH:return`CONSTRAINT ${e}_min_length_check CHECK (LENGTH(${e}) >= ${o[s.ValidationKeys.MIN_LENGTH]})`;case s.ValidationKeys.PATTERN:case s.ValidationKeys.URL:case s.ValidationKeys.EMAIL:return`CONSTRAINT ${e}_pattern_check CHECK (${e} ~ '${f(o[s.ValidationKeys.PATTERN])}')`;case s.ValidationKeys.TYPE:case s.ValidationKeys.DATE:return"";case s.ValidationKeys.MIN:return`CONSTRAINT ${e}_${a}_check CHECK (${e} >= ${o[s.ValidationKeys.MIN]})`;case s.ValidationKeys.MAX:return`CONSTRAINT ${e}_${a}_check CHECK (${e} <= ${o[s.ValidationKeys.MAX]})`;case s.ValidationKeys.PASSWORD:default:throw new n.InternalError("Unsupported type: "+a)}}static parseRelationsToPostgres(e,t,r,o,i){const c=s.Model.tableName(t),{cascade:l}=i,d=`${l.update?" ON UPDATE CASCADE":""}${l.delete?" ON DELETE CASCADE":""}`;if("relations"+o===a.PersistenceKeys.ONE_TO_ONE)return`FOREIGN KEY (${e}) REFERENCES ${c}(${r})${d}`;throw new n.InternalError("Unsupported operation: "+o)}static async getCurrentUser(e){try{return(await e.query("SELECT CURRENT_USER;"))[0].current_user}catch(e){throw this.parseError(e)}}static decoration(){super.decoration(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.TABLE).extend({decorator:e=>r=>{const a=t.Metadata.constr(r),n=i.getMetadataArgsStorage().tables.find(e=>e.target===a);return n?(e&&(n.name=e),r):(_(e||(()=>{try{return s.Model.tableName(a)}catch{return a?.name}})())(a),r)}}).apply(),t.Decoration.flavouredAs(l).for(n.DBKeys.ID).define({decorator:e=>(r,o)=>{const c=t.Metadata.constr(r.constructor);i.getMetadataArgsStorage().tables.find(e=>e.target===c)||_((()=>{try{return s.Model.tableName(c)}catch{return c?.name}})()||c?.name)(c),t.prop()(r,o);const l=[s.required(),n.readonly(),t.propMetadata(t.Metadata.key(n.DBKeys.ID,o),e)];let d=e.type||t.Metadata.type(r.constructor,o);switch(d){case String.name||String.name.toLowerCase():case String:e.generated=void 0!==e.generated&&e.generated;break;case Number.name||String.name.toLowerCase():case BigInt.name||BigInt.name.toLowerCase():case BigInt:case Number:e.generated=void 0===e.generated||e.generated;break;case"uuid":case"serial":e.generated=!0;break;case!d:throw new n.InternalError(`Missing type information for property ${o} of ${r.name}`);default:throw Error("Unsupported type")}if(void 0===e.generated&&(e.generated=!0),e.generated){const t={name:e.name||s.Model.sequenceName(r.constructor,"pk")};"serial"===e.type||"uuid"===e.type?l.push(L("uuid"===e.type?e.type:"identity",t)):l.push(L(t)),l.push(a.noValidateOnCreate())}else{switch("function"==typeof d&&d?.name?d.name:d){case Number.name||Number.name.toLowerCase():d="numeric";break;case"serial":case"uuid":break;case String.name||String.name.toLowerCase():d="varchar";break;case BigInt.name||BigInt.name.toLowerCase():d="bigint";break;default:throw new n.InternalError("Unsupported type: "+d)}l.push(((e,t)=>(r,a)=>{let n;e===String||e===Boolean||e===Number?n=e:t=Object.assign({},e),t||(t={});const o=Reflect&&Reflect.getMetadata?Reflect.getMetadata("design:type",r,a):void 0;if(!n&&o&&(n=o),!t.type&&n&&(t.type=n),!t.type)throw new i.ColumnTypeUndefinedError(r,a);if(t.nullable)throw new i.PrimaryColumnCannotBeNullableError(r,a);t.primary=!0;const s=i.getMetadataArgsStorage();R(r.constructor,a,s.columns,t,"regular",s.relations),t.generated&&i.getMetadataArgsStorage().generations.push({target:r.constructor,propertyName:a,strategy:"string"==typeof t.generated?t.generated:"increment"})})({type:d,unique:!0}))}return e.generated&&l.push(n.generated()),t.apply(...l)(r,o)}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.COLUMN).extend({decorator:e=>(t,r)=>{const a={};let n;e&&(a.name=e);try{n=s.Model.pk(t.constructor)}catch(e){n=void 0}return n!==r&&(a.nullable=!0),M(a)(t,r)}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.UNIQUE).define(t.propMetadata(a.PersistenceKeys.UNIQUE,{})).extend(M({unique:!0})).apply();const e=s.Validation.key(s.ValidationKeys.REQUIRED);t.Decoration.flavouredAs(l).for(e).extend(M({nullable:!1})).apply(),t.Decoration.flavouredAs(l).for(n.DBKeys.VERSION).define(s.type(Number),i.VersionColumn(),a.noValidateOnCreate()).apply();const r=n.DBKeys.TIMESTAMP,o=(c=n.DBKeys.TIMESTAMP,n.UpdateValidationKeys.REFLECT+c);var c;t.Decoration.flavouredAs(l).for(r).define({decorator:(e,r)=>{const i=[s.date(r,n.DEFAULT_ERROR_MESSAGES.TIMESTAMP.DATE),s.required(n.DEFAULT_ERROR_MESSAGES.TIMESTAMP.REQUIRED),t.propMetadata(s.Validation.key(n.DBKeys.TIMESTAMP),{operation:e,format:r}),a.noValidateOnCreate()];return-1!==e.indexOf(n.OperationKeys.UPDATE)?i.push(t.propMetadata(o,{message:n.DEFAULT_ERROR_MESSAGES.TIMESTAMP.INVALID}),a.noValidateOnCreateUpdate()):i.push(n.readonly()),t.apply(...i)}}).extend({decorator:(e,t)=>(t,r)=>-1!==e.indexOf(n.OperationKeys.UPDATE)?((e,t)=>{const r=i.getMetadataArgsStorage();R(e.constructor,t,r.columns,{},"updateDate",r.relations)})(t,r):((e,t)=>{const r=i.getMetadataArgsStorage();R(e.constructor,t,r.columns,{},"createDate",r.relations)})(t,r)}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.ONE_TO_ONE).define({decorator:(e,r,o,c,l)=>{const d={class:e,cascade:r,populate:o};c&&(d.joinTable=c),l&&(d.name=l);const p={cascade:r.update===a.Cascade.CASCADE||r.delete===a.Cascade.CASCADE,onDelete:r.delete?"CASCADE":"DEFAULT",onUpdate:r.update?"CASCADE":"DEFAULT",nullable:!0,eager:o};return t.apply(t.prop(),a.relation(a.PersistenceKeys.ONE_TO_ONE,d),s.type([e,String,Number,BigInt]),t.propMetadata(a.PersistenceKeys.ONE_TO_ONE,d),((e,t,r)=>{let a;return I.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let o=!(!r||!0!==r.lazy);if(!o&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(o=!0)}const s=i.getMetadataArgsStorage();r=Object.assign(r,C(t.constructor,n,s.columns)),s.relations.push({target:t.constructor,propertyName:n,isLazy:o,relationType:"one-to-one",type:e,inverseSideProperty:a,options:r})}})(()=>{"function"!=typeof e||e.name||(e=e());const r=t.Metadata.constr(e);if(r===e)throw new n.InternalError("Original Model not found in constructor");return r},t=>("function"!=typeof e||e.name||(e=e()),t[s.Model.pk(e)]),p),i.JoinColumn(c||d.name?{foreignKeyConstraintName:d.name}:void 0))}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.ONE_TO_MANY).define({decorator:(e,r,o,c,l)=>{const d={class:e,cascade:r,populate:o};c&&(d.joinTable=c),l&&(d.name=l);const p=[t.prop(),a.relation(a.PersistenceKeys.ONE_TO_MANY,d),s.list(e),t.propMetadata(a.PersistenceKeys.ONE_TO_MANY,d),(c,l)=>{const d={cascade:r.update===a.Cascade.CASCADE||r.delete===a.Cascade.CASCADE,onDelete:r.delete?"CASCADE":"DEFAULT",onUpdate:r.update?"CASCADE":"DEFAULT",nullable:!0,eager:o};return(p=()=>{"function"!=typeof e||e.name||(e=e());const r=t.Metadata.constr(e);if(r===e)throw new n.InternalError("Original Model not found in constructor");return r},u=r=>{"function"!=typeof e||e.name||(e=e());const o=t.Metadata.relations(e);if(!o)throw new n.InternalError("No relations found on model "+e.name);const i=o.find(r=>{const n=s.Model.relations(e,r);if(n.key!==a.PersistenceKeys.MANY_TO_ONE)return!1;const o="function"!=typeof n.class||n.class.name?n.class:n.class(),i=t.Metadata.constr(c.constructor);return o.name===i.name});if(!i)throw new n.InternalError(`Cross relation not found. Did you use @manyToOne on the ${e.name}?`);return r[i]},h=d,(e,t)=>{h||(h={});let r=h&&!0===h.lazy;if(!r&&Reflect&&Reflect.getMetadata){const a=Reflect.getMetadata("design:type",e,t);a&&"string"==typeof a.name&&"promise"===a.name.toLowerCase()&&(r=!0)}const a=i.getMetadataArgsStorage();h=Object.assign(h,C(e.constructor,t,a.columns)),a.relations.push({target:e.constructor,propertyName:t,isLazy:r,relationType:"one-to-many",type:p,inverseSideProperty:u,options:h})})(c,l);var p,u,h}];return t.apply(...p)}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.MANY_TO_ONE).define({decorator:(e,r,o,c,l)=>{const d={class:e,cascade:r,populate:o};c&&(d.joinTable=c),l&&(d.name=l);const p={cascade:r.update===a.Cascade.CASCADE||r.delete===a.Cascade.CASCADE,onDelete:r.delete?"CASCADE":"NO ACTION",onUpdate:r.update?"CASCADE":"NO ACTION",nullable:!0,eager:o};return t.apply(a.relation(a.PersistenceKeys.MANY_TO_ONE,d),s.type([e,String,Number,BigInt]),t.propMetadata(a.PersistenceKeys.MANY_TO_ONE,d),(r,o)=>((e,t,r)=>{let a;return I.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let o=r&&!0===r.lazy;if(!o&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(o=!0)}const s=i.getMetadataArgsStorage();r=Object.assign(r,C(t.constructor,n,s.columns)),s.relations.push({target:t.constructor,propertyName:n,relationType:"many-to-one",isLazy:o,type:e,inverseSideProperty:a,options:r})}})(()=>{"function"!=typeof e||e.name||(e=e());const r=t.Metadata.constr(e);if(r===e)throw new n.InternalError("Original Model not found in constructor");return r},n=>{"function"!=typeof e||e.name||(e=e());const o=t.Metadata.relations(e);let i=s.Model.pk(e);return o?(i=o.find(n=>{const o=s.Model.relations(e,n);if(o.key!==a.PersistenceKeys.ONE_TO_MANY)return!1;const i="function"!=typeof o.class||o.class.name?o.class:o.class(),c=t.Metadata.constr(r.constructor);return i.name===c.name})||i,n[i]):n[i]},p)(r,o))}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.MANY_TO_MANY).define({decorator:(e,r,o,c,l)=>{const d={class:e,cascade:r,populate:o};c&&(d.joinTable=c),l&&(d.name=l);const p={cascade:r.update===a.Cascade.CASCADE||r.delete===a.Cascade.CASCADE,onDelete:r.delete?"CASCADE":"DEFAULT",onUpdate:r.update?"CASCADE":"DEFAULT",nullable:!0,eager:o};return t.apply(a.relation(a.PersistenceKeys.MANY_TO_MANY,d),s.list(e),t.propMetadata(a.PersistenceKeys.MANY_TO_MANY,d),((e,t,r)=>{let a;return I.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let o=!0===r.lazy;if(!o&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(o=!0)}const s=i.getMetadataArgsStorage();r=Object.assign(r,C(t.constructor,n,s.columns)),s.relations.push({target:t.constructor,propertyName:n,relationType:"many-to-many",isLazy:o,type:e,inverseSideProperty:a,options:r})}})(()=>{"function"!=typeof e||e.name||(e=e());const r=t.Metadata.constr(e);if(r===e)throw new n.InternalError("Original Model not found in constructor");return r},t=>("function"!=typeof e||e.name||(e=e()),t[s.Model.pk(e)]),p),i.JoinTable(c))}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.INDEX).extend({decorator:(e,t,r)=>(r,n)=>("string"==typeof e&&(e=void 0,t=void 0),"string"==typeof t&&(t=void 0),!t&&e&&e.find(e=>![a.OrderDirection.ASC,a.OrderDirection.DSC].includes(e))&&(t=e,e=void 0),t&&t.length?i.Index([n,...t])(r):i.Index()(r,n))}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.CREATED_BY).define(n.onCreate(v,{}),s.required(),t.propMetadata(a.PersistenceKeys.CREATED_BY,{}),a.noValidateOnCreate()).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.UPDATED_BY).define(n.onCreateUpdate(v,{}),s.required(),t.propMetadata(a.PersistenceKeys.UPDATED_BY,{}),a.noValidateOnCreateUpdate()).apply()}}r.__decorate([o.final(),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[]),r.__metadata("design:returntype",b)],$.prototype,"Dispatch",null),r.__decorate([o.final(),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[]),r.__metadata("design:returntype",Object)],$.prototype,"repository",null),r.__decorate([o.final(),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[]),r.__metadata("design:returntype",A)],$.prototype,"Statement",null),r.__decorate([o.final(),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[Object]),r.__metadata("design:returntype",Promise)],$.prototype,"Sequence",null),r.__decorate([o.final(),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[Object]),r.__metadata("design:returntype",Promise)],$.prototype,"index",null),$.decoration(),a.Adapter.setCurrent(l);const D="##VERSION##",x="##PACKAGE##";t.Metadata.registerLibrary(x,D),e.IndexError=p,e.PACKAGE_NAME=x,e.TypeORMAdapter=$,e.TypeORMConst={NULL:"NULL"},e.TypeORMDispatch=b,e.TypeORMFlavour=l,e.TypeORMGroupOperator=y,e.TypeORMKeys=d,e.TypeORMOperator=h,e.TypeORMPaginator=g,e.TypeORMQueryLimit=250,e.TypeORMRepository=N,e.TypeORMSequence=w,e.TypeORMStatement=A,e.VERSION=D,e.convertJsRegexToPostgres=f,e.enforceDbDecoratorsRecursive=S,e.generateIndexes=O,e.reservedAttributes=c,e.splitEagerRelations=m,e.translateOperators=E},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("tslib"),require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/logging"),require("@decaf-ts/decorator-validation"),require("typeorm")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","tslib","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/logging","@decaf-ts/decorator-validation","typeorm"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-typeorm"]={},e.decafTsDecoration,e.tslib,e.decafTsCore,e.decafTsDbDecorators,e.decafTsLogging,e.decafTsDecoratorValidation,e.typeorm);
|
|
1
|
+
var e,t;e=this,t=function(e,t,r,a,n,o,s,i){"use strict";const c=/^(select|from|where|and|or|insert|update|delete|drop|create|table|index|primary|key|foreign|references|constraint|unique|check|default|null|not|as|order|by|group|having|limit|offset|join|inner|outer|left|right|full|on|using|values|returning|set|into|case|when|then|else|end|cast|coalesce|exists|any|all|some|in|between|like|ilike|similar|to|is|true|false|asc|desc|distinct|union|intersect|except|natural|lateral|window|over|partition|range|rows|unbounded|preceding|following|current|row|with|recursive|materialized|view|function|trigger|procedure|language|returns|return|declare|begin|commit|rollback|savepoint|transaction|temporary|temp|if|loop|while|for|continue|exit|raise|exception|notice|info|log|debug|assert|execute|perform|get|diagnostics|call|do|alias|comment|vacuum|analyze|explain|copy|grant|revoke|privileges|public|usage|schema|sequence|owned|owner|tablespace|storage|inherits|type|operator|collate|collation|cascade|restrict|add|alter|column|rename|to|enable|disable|force|no|instead|of|before|after|each|statement|row|execute|also|only|exclude|nulls|others|ordinality|ties|nothing|cache|cycle|increment|minvalue|maxvalue|start|restart|by|called|returns|language|immutable|stable|volatile|strict|security|definer|invoker|cost|rows|support|handler|inline|validator|options|storage|inheritance|oids|without|data|dictionary|encoding|lc_collate|lc_ctype|connection|limit|password|valid|until|superuser|nosuperuser|createdb|nocreatedb|createrole|nocreaterole|inherit|noinherit|login|nologin|replication|noreplication|bypassrls|nobypassrls|encrypted|unencrypted|new|old|session_user|current_user|current_role|current_schema|current_catalog|current_date|current_time|current_timestamp|localtime|localtimestamp|current_database|inet|cidr|macaddr|macaddr8|bit|varbit|tsvector|tsquery|uuid|xml|json|jsonb|int|integer|smallint|bigint|decimal|numeric|real|double|precision|float|boolean|bool|char|character|varchar|text|bytea|date|time|timestamp|interval|point|line|lseg|box|path|polygon|circle|money|void)$/i,l="type-orm",d={SEPARATOR:".",ID:"id",VERSION:"version",DELETED:"deleted_at",TABLE:"table_name",SCHEMA:"schema_name",SEQUENCE:"sequence_name",INDEX:"index"};class p extends n.BaseError{constructor(e){super(p.name,e,404)}}var u;e.SQLOperator=void 0,(u=e.SQLOperator||(e.SQLOperator={})).EQUAL="=",u.NOT_EQUAL="<>",u.LESS_THAN="<",u.LESS_THAN_OR_EQUAL="<=",u.GREATER_THAN=">",u.GREATER_THAN_OR_EQUAL=">=",u.IN="IN",u.NOT_IN="NOT IN",u.LIKE="LIKE",u.ILIKE="ILIKE",u.BETWEEN="BETWEEN",u.IS_NULL="IS NULL",u.IS_NOT_NULL="IS NOT NULL",u.EXISTS="EXISTS",u.NOT_EXISTS="NOT EXISTS",u.ANY="ANY",u.ALL="ALL",u.SOME="SOME";const h={EQUAL:e.SQLOperator.EQUAL,DIFFERENT:e.SQLOperator.NOT_EQUAL,BIGGER:e.SQLOperator.GREATER_THAN,BIGGER_EQ:e.SQLOperator.GREATER_THAN_OR_EQUAL,SMALLER:e.SQLOperator.LESS_THAN,SMALLER_EQ:e.SQLOperator.LESS_THAN_OR_EQUAL,BETWEEN:e.SQLOperator.BETWEEN,NOT:"NOT",IN:e.SQLOperator.IN,IS_NULL:e.SQLOperator.IS_NULL,IS_NOT_NULL:e.SQLOperator.IS_NOT_NULL,REGEXP:"~",IREGEXP:"~*",LIKE:e.SQLOperator.LIKE,ILIKE:e.SQLOperator.ILIKE},y={AND:"AND",OR:"OR"};class g extends a.Paginator{get total(){return this._totalPages}get count(){return this._recordCount}get repo(){return this.__repo||(this.__repo=this.adapter.client.getRepository(t.Metadata.constr(this.clazz))),this.__repo}constructor(e,t,r,a){super(e,t,r,a)}prepare(e){return{...e}}async page(e=1,...t){const{ctxArgs:r,ctx:n}=this.adapter.logCtx(t,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...r);const o={...this.statement};this._recordCount&&this._totalPages||(this._totalPages=this._recordCount=0);const i=Object.assign(o,{skip:(this.current||0)*this.size,take:this.size}),c=await this.repo.findAndCount(i);if(this._recordCount=c[1],this._totalPages=Math.ceil(this._recordCount/this.size),!this.clazz)throw new a.PagingError("No statement target defined");const l=s.Model.pk(this.clazz),d=(c[0]||[]).map((e=>this.adapter.revert(e,this.clazz,e[l],void 0,n)));return this._currentPage=e,d}}function E(e){for(const t of[h,y]){const r=Object.keys(t).find((t=>t===e));if(r)return t[r]}throw new a.QueryError("Could not find adapter translation for operator "+e)}function f(e){const t=RegExp(/^\/(.+)\/(\w+)$/g);if("string"==typeof e){const r=t.exec(e);if(r){const[,t]=r;e=t}}return("string"==typeof e?RegExp(e):e).source}function m(e,r={}){const a=s.Model.relations(e);if(r[e.name]=r[e.name]||void 0,r[e.name])return r[e.name];const i=a.reduce(((a,s)=>{const i=t.Metadata.relations(e,s),c=i.populate;let l=i.class;if(o.isClass(l)||(l=l()),!l)throw new n.InternalError(`Could not find class for property ${s} on model ${e.name}`);if(c?a.relations.push(s):a.nonEager.push(s),a.relations.includes(s)){const{nonEager:e,relations:t}=m(l,r);if(e.length&&a.relations.includes(s)){const t=e.map((e=>`${s}.${e}`));a.nonEager.push(...t)}if(t.length){const e=t.map((e=>`${s}.${e}`));a.relations.push(...e)}}return a}),{nonEager:[],relations:[]});return r[e.name]=i,i}class A extends a.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),r=s.Model.tableName(this.fromSelector),n={query:this.adapter.client.getRepository(t.Metadata.constr(this.fromSelector)).createQueryBuilder(r)};if(void 0!==this.countSelector){const e=null===this.countSelector?"*":`${r}.${this.countSelector}`;n.query=n.query.select(`COUNT(${e})`,"count")}else if(void 0!==this.countDistinctSelector){const e=null===this.countDistinctSelector?"*":`${r}.${this.countDistinctSelector}`;n.query=n.query.select(`COUNT(DISTINCT ${e})`,"count")}else this.sumSelector?n.query=n.query.select(`SUM(${r}.${this.sumSelector})`,"sum"):this.avgSelector?n.query=n.query.select(`AVG(${r}.${this.avgSelector})`,"avg"):this.maxSelector?n.query=n.query.select(`MAX(${r}.${this.maxSelector})`,"max"):this.minSelector?n.query=n.query.select(`MIN(${r}.${this.minSelector})`,"min"):this.distinctSelector?n.query=n.query.select(`DISTINCT ${r}.${this.distinctSelector}`,this.distinctSelector):this.selectSelector?n.query=n.query.select(this.selectSelector.map((e=>`${r}.${e}`))):n.query=n.query.select();if(this.whereCondition&&(n.query=this.parseCondition(this.whereCondition,r,n.query).query),this.groupBySelectors&&this.groupBySelectors.length){const[e,...t]=this.groupBySelectors;n.query=n.query.groupBy(`${r}.${e}`);for(const e of t)n.query=n.query.addGroupBy(`${r}.${e}`)}const o=this.hasAggregation();if(o){if(this.orderBySelectors&&this.orderBySelectors.length){const[e,t]=this.orderBySelectors[0];n.query=n.query.orderBy(`${r}.${e}`,t.toUpperCase());for(let e=1;e<this.orderBySelectors.length;e++){const[t,a]=this.orderBySelectors[e];n.query=n.query.addOrderBy(`${r}.${t}`,a.toUpperCase())}}}else if(this.orderBySelectors&&this.orderBySelectors.length){const[e,t]=this.orderBySelectors[0];n.query=n.query.orderBy(`${r}.${e}`,t.toUpperCase());for(let e=1;e<this.orderBySelectors.length;e++){const[t,a]=this.orderBySelectors[e];n.query=n.query.addOrderBy(`${r}.${t}`,a.toUpperCase())}}else n.query=n.query.orderBy(`${r}.${s.Model.pk(this.fromSelector)}`,a.OrderDirection.ASC.toUpperCase());return o?this.limitSelector&&(n.query=n.query.limit(this.limitSelector)):this.limitSelector?n.query=n.query.limit(this.limitSelector):(e.debug("No limit selector defined. Using default limit of 250"),n.query=n.query.limit(250)),this.offsetSelector&&(n.query=n.query.skip(this.offsetSelector)),n}async paginate(e){try{const t={};if(this.whereCondition&&(t.where=this.parseConditionForPagination(this.whereCondition,s.Model.tableName(this.fromSelector))),this.orderBySelectors&&this.orderBySelectors.length){const e={};for(const[t,r]of this.orderBySelectors)e[t]=r.toString().toUpperCase();t.order=e}return this.adapter.Paginator(t,e,this.fromSelector)}catch(e){throw new a.QueryError(e)}}async raw(e,...t){const{ctx:r}=this.logCtx(t,this.raw);if(!r.get("allowRawStatements"))throw new a.UnsupportedError("Raw statements are not allowed in the current configuration");const n=e.query;if(this.hasAggregation()){if(this.groupBySelectors&&this.groupBySelectors.length){const e=await n.getRawMany();return this.groupResults(e)}{const e=await n.getRawOne();return void 0!==this.countSelector||void 0!==this.countDistinctSelector?Number(e?.count||0):this.sumSelector?Number(e?.sum||0):this.avgSelector?Number(e?.avg||0):this.maxSelector?e?.max:this.minSelector?e?.min:this.distinctSelector?(await n.getRawMany()).map((e=>e[this.distinctSelector])):e}}const{nonEager:o}=m(this.fromSelector);return e.query=n.setFindOptions({loadEagerRelations:!0,loadRelationIds:{relations:o}}),await e.query.getMany()}groupResults(e){if(!this.groupBySelectors||!this.groupBySelectors.length)return e;const t=s.Model.tableName(this.fromSelector),r=this.groupBySelectors.map((e=>`${t}_${e}`)),a={};for(const t of e){let e=a;for(let a=0;a<r.length-1;a++){const n=t[r[a]];e[n]||(e[n]={}),e=e[n]}const n=t[r[r.length-1]];e[n]||(e[n]=[]),e[n].push(t)}return a}parseConditionForPagination(e,t,r=0,a){throw new n.InternalError("Not implemented")}parseCondition(e,t,r,n=0,o){const{attr1:s,operator:i,comparison:c}=e;if(-1===[a.GroupOperator.AND,a.GroupOperator.OR,a.Operator.NOT].indexOf(i))return(()=>{const e=E(i),l=`${s}${n}`;let d,p;if(i===a.Operator.BETWEEN){const[r,a]=c,o=`${s}${n}_min`,i=`${s}${n}_max`;d=`${t}.${s} ${e} :${o} AND :${i}`,p={[o]:r,[i]:a}}else i===a.Operator.IN?(d=`${t}.${s} ${e} (:...${l})`,p={[l]:c}):(d=`${t}.${s} ${e} :${l}`,p={[l]:c});switch(o){case a.GroupOperator.AND:return{query:r.andWhere(d,p)};case a.GroupOperator.OR:return{query:r.orWhere(d,p)};case a.Operator.NOT:throw Error("NOT operator not implemented");default:return{query:r.where(d,p)}}})();if(i===a.Operator.NOT)throw Error("NOT operator not implemented");return r=this.parseCondition(s,t,r,++n).query,this.parseCondition(c,t,r,++n,i)}}class w extends a.Sequence{constructor(e,t){super(e,t)}async current(...e){const{ctx:t}=(await this.logCtx(e,n.OperationKeys.READ,!0)).for(this.current),{name:r,startWith:a}=this.options;try{if(!r)throw new n.InternalError("Sequence name is required to read current");const e=`"${r.replace(/"/g,'""')}"`,a=await this.adapter.raw({query:`SELECT last_value, is_called FROM ${e};`,values:[]},!0,t);if(!Array.isArray(a)||0===a.length)throw new n.InternalError("Failed to read current value for "+r);const o=a[0];return this.parse(o.last_value)}catch(e){if(e instanceof n.NotFoundError){if(void 0===a)throw new n.InternalError("Starting value is not defined for a non existing sequence");return this.parse(a)}throw this.adapter.parseError(e)}}async increment(e,t){const{type:r,incrementBy:a,name:o,startWith:s,minValue:i,maxValue:c,cycle:l}=this.options;if("Number"!==r&&"BigInt"!==r)throw new n.InternalError(`Cannot increment sequence of type ${r} with ${e}`);if(!o)throw new n.InternalError("Cannot increment sequence without a name: "+o);try{const s=e??a;if(s%a!=0)throw new n.InternalError("Value to increment does not consider the incrementBy setting: "+a);const i=await this.current(t),c="BigInt"===r?this.parse(i)+BigInt(s):this.parse(i)+s;return await this.adapter.raw({query:"SELECT setval($1::regclass, $2, true) AS nextval;",values:[o,c]},!0,t),c}catch(d){if(!(d instanceof n.NotFoundError))throw d;const p=`"${o.replace(/"/g,'""')}"`,u="number"==typeof s?s:a,h="number"==typeof i?" MINVALUE "+i:"number"==typeof s&&1>s?" MINVALUE "+s:"",y="number"==typeof c?" MAXVALUE "+c:"",g=l?" CYCLE":" NO CYCLE";await this.adapter.raw({query:`CREATE SEQUENCE IF NOT EXISTS ${p} START WITH ${u} INCREMENT BY ${a}${h}${y}${g};`,values:[]},!0,t);const E=e??a;if(E%a!=0)throw new n.InternalError("Value to increment does not consider the incrementBy setting: "+a);const f="number"==typeof s?s:this.parse(s),m="BigInt"===r?this.parse(f)+BigInt(E):this.parse(f)+E;return await this.adapter.raw({query:"SELECT setval($1::regclass, $2, true) AS nextval;",values:[o,m]},!0,t),m}}async next(...e){const{ctx:t}=(await this.logCtx(e,n.OperationKeys.UPDATE,!0)).for(this.next);return this.increment(void 0,t)}async range(e,...t){const{ctx:r}=(await this.logCtx(t,n.OperationKeys.UPDATE,!0)).for(this.range),a=await this.current(r),o=this.parse(this.options.incrementBy),s=await this.increment(this.parse(e)*o,r),i=[];for(let t=1;e>=t;t++)i.push(a+o*this.parse(t));if(i[i.length-1]!==s)throw new n.InternalError("Miscalculation of range");return i}}function O(e){const t=((e,t,r,a=n.DefaultSeparator)=>[...e.map((e=>e===d.TABLE?"table":e)),...r||[],...t?[t]:[],d.INDEX].join(a))([d.TABLE]),r={};return r[t]={query:"",values:[]},e.forEach((e=>{const t=s.Model.indexes(e);Object.entries(t).forEach((([t,o])=>{const i=Object.keys(o)[0];let{compositions:c}=o[i];const l=s.Model.tableName(e);c=c||[],(()=>{const e=[t,...c,a.PersistenceKeys.INDEX].join(n.DefaultSeparator);r[e]={query:"CREATE INDEX $1 ON $2 ($3);",values:[e,l,t]}})()}))})),Object.values(r)}async function S(e,r,o,i,c,l){async function d(e,t){const o=a.Repository.forModel(e.constructor);await S(o,r,e,t||i!==n.OperationKeys.UPDATE?i:n.OperationKeys.CREATE,c,t)}await n.enforceDBDecorators(e,r,o,i,c,l);for(const e of Object.keys(o))s.Model.isPropertyModel(o,e)&&void 0!==o[e]?await d(o[e],l?l[e]:void 0):t.Metadata.validationFor(o.constructor,e,s.ValidationKeys.LIST)&&o[e]&&Array.isArray(o[e])&&await Promise.all(o[e].map(((t,r)=>d(t,l&&l[e]?l[e][r]:void 0))))}class N extends a.Repository{constructor(e,t,...r){super(e,t,...r),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!1,ignoreHandlers:!1,allowRawStatements:!0,forcePrepareSimpleQueries:!1,forcePrepareComplexQueries:!1})}queryBuilder(){return this.nativeRepo().createQueryBuilder()}nativeRepo(){const e=t.Metadata.constr(this.class);return this.adapter.dataSource.getRepository(e)}async createPrefix(e,...t){const{ctx:r,ctxArgs:a,log:o}=(await this.logCtx(t,n.OperationKeys.CREATE,!0)).for(this.createPrefix),s=r.get("ignoreHandlers"),i=r.get("ignoreValidation");if(o.silly(`handlerSetting: ${s}, validationSetting: ${i}`),e=new this.class(e),s||await S(this,r,e,n.OperationKeys.CREATE,n.OperationKeys.ON),!i){const t=r.get("ignoredValidationProperties")||[];o.silly("ignored validation properties: "+t);const a=await Promise.resolve(e.hasErrors(...t));if(a)throw new n.ValidationError(a.toString())}return[e,...a]}async create(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.create);n.debug(`Creating new ${this.class.name} in table ${s.Model.tableName(this.class)}`);let{record:i,id:c,transient:l}=this.adapter.prepare(e,!1,a);return i=await this.adapter.create(t.Metadata.constr(this.class),c,e,...o),this.adapter.revert(i,this.class,c,l,a)}async createSuffix(e,t){return t.get("ignoreHandlers")||await S(this,t,e,n.OperationKeys.CREATE,n.OperationKeys.AFTER),e}async readPrefix(e,...t){const{ctx:r,ctxArgs:a,log:o}=(await this.logCtx(t,n.OperationKeys.READ,!0)).for(this.readPrefix),s=r.get("ignoreHandlers");o.silly("handlerSetting: "+s);const i=new this.class;return i[this.pk]=e,s||await S(this,r,i,n.OperationKeys.READ,n.OperationKeys.ON),[e,...a]}async read(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.read);n.debug(`reading ${this.class.name} from table ${s.Model.tableName(this.class)} with pk ${this.pk}`);const i=await this.adapter.read(t.Metadata.constr(this.class),e,...o);return this.adapter.revert(i,this.class,e,void 0,a)}async readSuffix(e,t){return t.get("ignoreHandlers")||await S(this,t,e,n.OperationKeys.READ,n.OperationKeys.AFTER),e}async updatePrefix(e,...t){const{ctx:r,ctxArgs:a,log:o}=(await this.logCtx(t,n.OperationKeys.UPDATE,!0)).for(this.updatePrefix),i=r.get("ignoreHandlers"),c=r.get("ignoreValidation");o.silly(`handlerSetting: ${i}, validationSetting: ${c}`);const l=e[this.pk];if(!l)throw new n.InternalError("No value for the Id is defined under the property "+this.pk);let d;if(r.get("applyUpdateValidation")&&(d=await this.read(l,r),r.get("mergeForUpdate")&&(e=s.Model.merge(d,e,this.class))),i||await S(this,r,e,n.OperationKeys.UPDATE,n.OperationKeys.ON,d),!c){const t=r.get("ignoredValidationProperties")||[];o.silly("ignored validation properties: "+t);const a=await Promise.resolve(e.hasErrors(d,...s.Model.relations(this.class),...t));if(a)throw new n.ValidationError(a.toString())}return[e,...a,d]}async update(e,...r){const{ctxArgs:a,log:n,ctx:o}=this.logCtx(r,this.update);let{record:i,id:c,transient:l}=this.adapter.prepare(e,!1,o);return n.debug(`updating ${this.class.name} in table ${s.Model.tableName(this.class)} with id ${c}`),i=await this.adapter.update(t.Metadata.constr(this.class),c,e,...a),this.adapter.revert(i,this.class,c,l,o)}async updateSuffix(e,t,r){return r.get("ignoreHandlers")||await S(this,r,e,n.OperationKeys.UPDATE,n.OperationKeys.AFTER,t),e}async delete(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.delete);n.debug(`deleting new ${this.class.name} in table ${s.Model.tableName(this.class)} with pk ${e}`);const i=await this.adapter.delete(t.Metadata.constr(this.class),e,...o);return this.adapter.revert(i,this.class,e,void 0,a)}async deleteSuffix(e,t){return t.get("ignoreHandlers")||await S(this,t,e,n.OperationKeys.DELETE,n.OperationKeys.AFTER),e}async createAllPrefix(e,...t){const{ctx:r,ctxArgs:a,log:o}=(await this.logCtx(t,n.BulkCrudOperationKeys.CREATE_ALL,!0)).for(this.createAllPrefix),i=r.get("ignoreHandlers"),c=r.get("ignoreValidation");if(o.silly(`handlerSetting: ${i}, validationSetting: ${c}`),!e.length)return[e,...a];const l=s.Model.sequenceFor(e[0]);let d=[];s.Model.generatedBySequence(this.class)?(l.name||(l.name=s.Model.sequenceName(e[0],"pk")),d=await(await this.adapter.Sequence(l)).range(e.length,...a)):s.Model.generated(this.class,this.pk)||(d=e.map(((e,t)=>{if(void 0===e[this.pk])throw new n.InternalError("Primary key is not defined for model in position "+t);return e[this.pk]}))),e=await Promise.all(e.map((async(e,t)=>(e=new this.class(e),l.type&&(e[this.pk]="String"!==l.type||l.generated?d[t]:""+e[this.pk]),i||await S(this,r,e,n.OperationKeys.CREATE,n.OperationKeys.ON),e))));const p=r.timestamp||new Date;if(e=e.map((e=>("createdAt"in e&&Object.assign(e,{createdAt:p}),"updatedAt"in e&&Object.assign(e,{updatedAt:p}),e))),!c){const t=r.get("ignoredValidationProperties")||[];o.silly("ignored validation properties: "+t);const a=await Promise.all(e.map((e=>Promise.resolve(e.hasErrors(...t))))),s=n.reduceErrorsToPrint(a);if(s)throw new n.ValidationError(s)}return[e,...a]}async createAll(e,...r){if(!e.length)return e;const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.createAll);n.debug(`Creating ${e.length} new ${this.class.name} in table ${s.Model.tableName(this.class)}`);const i=e.map((e=>this.adapter.prepare(e,!1,a))),c=i.map((e=>e.id));let l=i.map((e=>e.record));return l=await this.adapter.createAll(t.Metadata.constr(this.class),c,e,...o),l.map(((e,t)=>this.adapter.revert(e,this.class,c[t],a.get("rebuildWithTransient")?i[t].transient:void 0,a)))}async createAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map((e=>S(this,t,e,n.OperationKeys.CREATE,n.OperationKeys.AFTER)))),e}async readAll(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.readAll);return n.debug(`reading ${e.length} ${this.class.name} in table ${s.Model.tableName(this.class)}`),(await this.adapter.readAll(t.Metadata.constr(this.class),e,...o)).map(((t,r)=>this.adapter.revert(t,this.class,e[r],void 0,a)))}async readAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map((e=>S(this,t,e,n.OperationKeys.READ,n.OperationKeys.AFTER)))),e}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:a,log:o}=(await this.logCtx(t,n.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAllPrefix),i=r.get("ignoreHandlers"),c=r.get("ignoreValidation");o.silly(`handlerSetting: ${i}, validationSetting: ${c}`);const l=e.map((e=>{const t=e[this.pk];if(!t)throw new n.InternalError("missing id on update operation");return t}));let d;if(r.get("applyUpdateValidation")&&(d=await this.readAll(l,r),r.get("mergeForUpdate")&&(e=e.map(((e,t)=>s.Model.merge(d[t],e,this.class))))),i||await Promise.all(e.map(((e,t)=>S(this,r,e,n.OperationKeys.UPDATE,n.OperationKeys.ON,d?d[t]:void 0)))),!c){const t=r.get("ignoredValidationProperties")||[];let a;o.silly("ignored validation properties: "+t),a=r.get("applyUpdateValidation")?await Promise.all(e.map(((e,r)=>Promise.resolve(e.hasErrors(d[r],...t))))):await Promise.resolve(e.map((e=>e.hasErrors(...t))));const s=n.reduceErrorsToPrint(a);if(s)throw new n.ValidationError(s)}return[e,...a,d]}async updateAll(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.updateAll);n.verbose(`Updating ${e.length} new ${this.class.name} in table ${s.Model.tableName(this.class)}`);const i=e.map((e=>this.adapter.prepare(e,!1,a)));return(await this.adapter.updateAll(t.Metadata.constr(this.class),i.map((e=>e.id)),e,...o)).map(((e,t)=>this.adapter.revert(e,this.class,i[t].id,a.get("rebuildWithTransient")?i[t].transient:void 0,a)))}async updateAllSuffix(e,t,r){if(r.get("applyUpdateValidation")&&!r.get("ignoreDevSafeGuards")&&!t)throw new n.InternalError("No previous versions of models provided");return r.get("ignoreHandlers")||await Promise.all(e.map(((e,a)=>S(this,r,e,n.OperationKeys.UPDATE,n.OperationKeys.AFTER,t?t[a]:void 0)))),e}async deleteAll(e,...r){const{ctx:a,log:n,ctxArgs:o}=this.logCtx(r,this.create);return n.debug(`deleting ${e.length} ${this.class.name} in table ${s.Model.tableName(this.class)}`),(await this.adapter.deleteAll(t.Metadata.constr(this.class),e,...o)).map(((t,r)=>this.adapter.revert(t,this.class,e[r],void 0,a)))}}let T=class{constructor(e,t){if(this.adapter=e,this.handler=t,!this.adapter)throw new n.InternalError("Missing adapter. Should not be possible")}async afterInsert(e){const t=e.entity.constructor,r=await this.adapter.context(n.OperationKeys.CREATE,{},t);this.handler(t,n.OperationKeys.CREATE,e.entityId,e.entity,r)}async afterRemove(e){const t=e.metadata.target,r=await this.adapter.context(n.OperationKeys.DELETE,{},t);this.handler(t,n.OperationKeys.DELETE,"",{},r)}async afterUpdate(e){const t=e.databaseEntity.constructor,r=await this.adapter.context(n.OperationKeys.UPDATE,{},t);return this.handler(t,n.OperationKeys.UPDATE,e.entity[s.Model.pk(t)],e.entity,r)}};T=r.__decorate([i.EventSubscriber(),r.__metadata("design:paramtypes",[a.Adapter,Function])],T);class b extends a.Dispatch{constructor(){super()}async notificationHandler(e,t,r,...a){const{log:n,ctxArgs:o}=this.logCtx(a,this.notificationHandler);try{await this.updateObservers(e,t,r,...o),n.verbose(`Observer refresh dispatched by ${t} for ${e}`),n.debug("pks: "+r)}catch(e){n.error("Failed to process notification: "+e)}}async initialize(...e){const{log:t}=(await this.logCtx(e,a.PersistenceKeys.INITIALIZATION,!0)).for(this.initialize);(async function(){if(!this.adapter)throw new n.InternalError("No adapter/native observed for dispatch");try{this.adapter.client.isInitialized||await this.adapter.client.initialize(),this.adapter.client.subscribers.push(new T(this.adapter,this.notificationHandler.bind(this)))}catch(e){throw new n.InternalError(e)}}).call(this).then((()=>{t.info("Subscribed to TypeORM notifications")})).catch((e=>{throw new n.InternalError("Failed to subscribe to TypeORM notifications: "+e)}))}async updateObservers(e,t,r,...a){if(this.adapter)return super.updateObservers(e,t,r,...a);this.log.verbose(`No adapter observed for dispatch; skipping observer update for ${e}:${t}`)}}function C(e,t,r){let n=0;const o=r.filter(((r,a)=>(n=a,r.target===e&&r.propertyName===t)));return o.length?(r.splice(n,1),Object.entries(o[0].options).reduce(((e,[t,r])=>{switch(t){case"nullable":e[t]=r;break;case s.ValidationKeys.TYPE:break;default:throw new a.UnsupportedError("Unsupported option for a relation: "+t)}return e}),{})):{}}function R(e,t,r,a={},o="regular",s,i){const c=r.filter((r=>r.target===e&&r.propertyName===t)),l=s.filter((r=>r.target===e&&r.propertyName===t));if(i&&i.filter((r=>r.target===e&&r.columns.includes(t))).forEach((e=>{Object.assign(e,a)})),c.length>1)throw new n.InternalError(`Multiple columns for ${t} found for given target: ${r.map((e=>e.propertyName)).join(", ")}`);if(l.length>1)throw new n.InternalError(`Multiple relations for ${t} found for given target: ${l.map((e=>e.propertyName)).join(", ")}`);let d;0!==c.length||l.length?(l.length||(d=c[0],"regular"!==o&&Object.defineProperty(d,"mode",{value:o,writable:!0,enumerable:!0,configurable:!0})),l.length&&(a=Object.entries(a).reduce(((e,[t,r])=>("nullable"===t&&(e[t]=r),e)),{})),d=d||l[0],Object.defineProperty(d,"options",{value:{...d.options,...a},writable:!0,enumerable:!0,configurable:!0})):r.push({target:e,propertyName:t,mode:o,options:a})}function M(e,r){return(a,n)=>{let o;"string"==typeof e||"function"==typeof e?o=e:e&&(r=e,o=e.type),r||(r={});let s=Reflect&&Reflect.getMetadata?Reflect.getMetadata("design:type",a,n):void 0;!o&&s&&(o=s);const c=t.Metadata.allowedTypes(a.constructor,n)[0];if(c!==s&&(o=c,s=c),!r.type&&o&&(r.type=o),"hstore"!==r.type||r.hstoreType||(r.hstoreType=s===Object?"object":"string"),"function"==typeof e)i.getMetadataArgsStorage().embeddeds.push({target:a.constructor,propertyName:n,isArray:s===Array||!0===r.array,prefix:void 0!==r.prefix?r.prefix:void 0,type:e});else{if(!r.type)throw new i.ColumnTypeUndefinedError(a,n);!0===r.unique&&i.getMetadataArgsStorage().uniques.push({target:a.constructor,columns:[n]});const e=i.getMetadataArgsStorage();R(a.constructor,n,e.columns,r,"regular",e.relations,r.unique?e.indices:void 0),r.generated&&i.getMetadataArgsStorage().generations.push({target:a.constructor,propertyName:n,strategy:"string"==typeof r.generated?r.generated:"increment"})}}}class I{static isObject(e){return null!==e&&"object"==typeof e}static isObjectWithName(e){return null!==e&&"object"==typeof e&&void 0!==e.name}static assign(e,...t){for(const r of t)for(const t of Object.getOwnPropertyNames(r))e[t]=r[t]}}function L(e,t){const r={};let a;return e?("string"==typeof e&&(a=e),I.isObject(e)&&(a="increment",Object.assign(r,e))):a="increment",I.isObject(t)&&Object.assign(r,t),(e,t)=>{r.type||("increment"===a||"identity"===a?r.type=Number:"uuid"===a?r.type="uuid":"rowid"===a&&(r.type="int")),r.primary=!0;const n=i.getMetadataArgsStorage();R(e.constructor,t,n.columns,r,"regular",n.relations),i.getMetadataArgsStorage().generations.push({target:e.constructor,propertyName:t,strategy:a})}}function _(e,t){const r=(I.isObject(e)?e:t)||{},a="string"==typeof e?e:r.name;return e=>{i.getMetadataArgsStorage().tables.push({target:e,name:a,type:"regular",orderBy:r.orderBy?r.orderBy:void 0,engine:r.engine?r.engine:void 0,database:r.database?r.database:void 0,schema:r.schema?r.schema:void 0,synchronize:r.synchronize,withoutRowid:r.withoutRowid,comment:r.comment?r.comment:void 0})}}async function v(e,t,r,a){try{const t=e.get("user");a[r]=t}catch(e){throw new n.InternalError("No User found in context. Please provide a user in the context")}}class $ extends a.Adapter{getClient(){const e=a.Adapter.models(this.alias).map(t.Metadata.constr);return new i.DataSource(Object.assign({},this.config,{entities:e}))}constructor(e,t){super(e,l,t)}async shutdown(){await super.shutdown(),this._client&&await this._client.destroy()}async flags(e,t,r){return super.flags(e,t,Object.assign({user:this.config.username},r))}Dispatch(){return new b}repository(){return N}Statement(){return new A(this)}Paginator(e,t,r){return new g(this,e,t,r)}async Sequence(e){return new w(e,this)}async initialize(...e){const{log:t}=(await this.logCtx(e,a.PersistenceKeys.INITIALIZATION,!0)).for(this.initialize),r=this.client;try{await r.initialize()}catch(e){throw this.parseError(e)}t.verbose(this.toString()+" initialized")}async index(...e){(await this.logCtx(e,a.PersistenceKeys.INDEX,!0)).for(this.index);const t=O(e);try{await this.client.query("BEGIN");for(const e of t)await this.client.query(e.query,e.values);await this.client.query("COMMIT")}catch(e){throw await this.client.query("ROLLBACK"),this.parseError(e)}}async raw(e,t=!0,...r){const{log:a}=this.logCtx(r,this.raw);try{this.client.isInitialized||await this.client.initialize()}catch(e){throw this.parseError(e)}try{const{query:t,values:r}=e;return a.debug("executing query: "+("string"!=typeof t?t.getSql():t)),await this.client.query(t,r)}catch(e){throw this.parseError(e)}}prepare(e,r=!1,o){const i=super.prepare(e,o);i.record=Object.entries(i.record).reduce(((e,[t,r])=>(t===a.PersistenceKeys.METADATA||this.isReserved(t)||void 0===r||(r instanceof Date?r=new Date(r.getTime()):s.Model.isModel(r)?r=this.prepare(r,!0,o).record:"string"==typeof r&&(r=""+r),e[t]=r),e)),{});const c=s.Model.get(e.constructor.name);if(!c)throw new n.InternalError(`Model ${e.constructor.name} not found in registry`);const l=r?new(t.Metadata.constr(c)):new c;return r&&Object.defineProperty(l,"constructor",{configurable:!1,enumerable:!1,value:t.Metadata,writable:!1}),Object.entries(i.record).forEach((([e,t])=>l[e]=t)),i.record=l,i}revert(e,t,r,a,...o){const{log:s}=this.logCtx(o,this.revert);return a&&(s.verbose("re-adding transient properties: "+Object.keys(a).join(", ")),Object.entries(a).forEach((([r,a])=>{if(r in e&&void 0!==e[r])throw new n.InternalError(`Transient property ${r} already exists on model ${"string"==typeof t?t:t.name}. should be impossible`);e[r]=a}))),new t(e)}async create(e,t,r,...a){const o=this.client.getRepository(e);if(void 0!==t){const r=s.Model.pk(e);if(await o.findOne({where:{[r]:t}}))throw new n.ConflictError(`Record already exists in table ${s.Model.tableName(e)} with id: ${t}`)}try{return await o.save(r)}catch(e){throw this.parseError(e)}}async read(e,t,...r){let a;try{const r=this.client.getRepository(e),{nonEager:n,relations:o}=m(e),i=s.Model.pk(e),c={where:{[i]:t},relations:o,loadRelationIds:{relations:n}};a=await r.findOneOrFail(c)}catch(e){throw this.parseError(e)}return a}async update(e,t,r,...a){const{ctx:n}=this.logCtx(a,this.update);await this.read(e,t,n);try{return this.client.getRepository(e).save(r)}catch(e){throw this.parseError(e)}}async delete(e,t,...r){const{ctx:a}=this.logCtx(r,this.delete),n=await this.read(e,t,a);try{const r=this.client.getRepository(e);return await r.delete(t),n}catch(e){throw this.parseError(e)}}async createAll(e,t,r,...a){const{ctx:n,log:o}=this.logCtx(a,this.createAll),i=s.Model.tableName(e);o.debug(`Creating ${t.length} entries ${i} table`);try{const t=this.client.getRepository(e),a=await t.insert(r);return this.readAll(e,a.identifiers.map((e=>e.id)),n)}catch(e){throw this.parseError(e)}}async readAll(e,t,...r){if(!t.length)return[];const{log:a}=this.logCtx(r,this.readAll),n=s.Model.tableName(e);a.debug(`Reading ${t.length} entries ${n} table`);try{const r=s.Model.pk(e);return this.client.getRepository(e).findBy({[r]:i.In(t)})}catch(e){throw this.parseError(e)}}async updateAll(e,t,r,...a){const{log:n,ctxArgs:o}=this.logCtx(a,this.updateAll),i=s.Model.tableName(e);n.debug(`Updating ${t.length} entries ${i} table`);const c=[],l=s.Model.pk(e);for(const t of r)c.push(await this.update(e,t[l],t,...o));return c}async deleteAll(e,t,...r){if(!t.length)return[];const{ctxArgs:a,log:n}=this.logCtx(r,this.deleteAll),o=s.Model.tableName(e);n.debug(`Deleting ${t.length} entries from ${o} table`);try{const r=this.client.getRepository(e),n=await this.readAll(e,t,...a),o=s.Model.pk(e);return await r.delete({[o]:i.In(t)}),n}catch(e){throw this.parseError(e)}}parseError(e,t){return $.parseError(e,t)}isReserved(e){return!!e.match(c)}static parseError(e,t){if(e instanceof n.BaseError)return e;const r="string"==typeof e?e:e.message;if(r.match(/duplicate key|already exists/g))return new n.ConflictError(r);if(r.match(/does not exist|not found|Could not find/g))return new n.NotFoundError(r);switch(r.toString()){case"23505":case"23503":case"42P07":return new n.ConflictError(t);case"42P01":case"42703":return new n.NotFoundError(t);case"42P16":return new p(e);default:return r.toString().match(/ECONNREFUSED/g)?new a.ConnectionError(e):new n.InternalError(e)}}static async connect(e){const t=new i.DataSource(e);return t.isInitialized||await t.initialize(),t}static async createDatabase(e,t){const r=o.Logging.for(this.createDatabase);r.verbose("Creating database "+t);try{await e.query("CREATE DATABASE "+t),r.info("Created database "+t)}catch(e){throw this.parseError(e)}}static async createNotifyFunction(e,t){const r=o.Logging.for(this.createNotifyFunction);r.verbose("Creating notify function");try{await e.query("CREATE OR REPLACE FUNCTION notify_table_changes()\nRETURNS trigger AS $$\nBEGIN\n PERFORM pg_notify(\n 'table_changes',\n json_build_object(\n 'table', TG_TABLE_NAME,\n 'action', TG_OP,\n 'data', row_to_json(NEW),\n 'old_data', row_to_json(OLD)\n )::text\n );\n RETURN NEW;\nEND;\n$$ LANGUAGE plpgsql SECURITY DEFINER\n;"),await e.query(`ALTER FUNCTION notify_table_changes() OWNER TO ${t};`),await e.query("\n GRANT EXECUTE ON FUNCTION notify_table_changes() TO public;\n "),r.info("Created notify function")}catch(e){throw this.parseError(e)}}static async deleteDatabase(e,t,r){try{r&&await e.query(`DROP OWNED BY ${r} CASCADE;`),await e.query("DROP DATABASE "+t)}catch(e){throw this.parseError(e)}}static async createUser(e,t,r,a){try{await e.query(`CREATE USER ${r} WITH PASSWORD '${a}'`),await e.query(`GRANT CONNECT ON DATABASE ${t} TO ${r}`),await e.query("GRANT USAGE ON SCHEMA public TO "+r),await e.query("GRANT CREATE ON SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO "+r),await e.query("ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO "+r),await e.query("ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO "+r)}catch(e){throw this.parseError(e)}}static async deleteUser(e,t,r){try{await e.query(`REASSIGN OWNED BY ${t} TO ${r}`),await e.query("REVOKE ALL ON ALL TABLES IN SCHEMA public FROM "+t),await e.query("REVOKE ALL ON SCHEMA public FROM "+t),await e.query("REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public FROM "+t),await e.query("REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public FROM "+t),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON TABLES FROM ${t}`),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON SEQUENCES FROM ${t};`),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON FUNCTIONS FROM ${t}`),await e.query(`DROP OWNED BY ${t} CASCADE`),await e.query(`DROP USER IF EXISTS "${t}"`)}catch(e){throw this.parseError(e)}}static parseTypeToPostgres(e,r,a=!1){switch(e.toLowerCase()){case"string":return r?"TEXT PRIMARY KEY":a?"TEXT":"VARCHAR";case"number":return r?"SERIAL PRIMARY KEY":"INTEGER";case"boolean":return"BOOLEAN";case"date":return"TIMESTAMP";case"bigint":return r?"BIGINT PRIMARY KEY":"BIGINT";default:{const r=s.Model.get(e);if(r)return{model:r,pkType:t.Metadata.type(r,s.Model.pk(r))};throw new n.InternalError("Unsupported type: "+e)}}}static parseValidationToPostgres(e,t,r,a,o){switch(a){case s.ValidationKeys.REQUIRED:return"NOT NULL";case s.ValidationKeys.MAX_LENGTH:return r||!o||"string"!==t.toLowerCase()?"":`(${o[s.ValidationKeys.MAX_LENGTH]})`;case s.ValidationKeys.MIN_LENGTH:return`CONSTRAINT ${e}_min_length_check CHECK (LENGTH(${e}) >= ${o[s.ValidationKeys.MIN_LENGTH]})`;case s.ValidationKeys.PATTERN:case s.ValidationKeys.URL:case s.ValidationKeys.EMAIL:return`CONSTRAINT ${e}_pattern_check CHECK (${e} ~ '${f(o[s.ValidationKeys.PATTERN])}')`;case s.ValidationKeys.TYPE:case s.ValidationKeys.DATE:return"";case s.ValidationKeys.MIN:return`CONSTRAINT ${e}_${a}_check CHECK (${e} >= ${o[s.ValidationKeys.MIN]})`;case s.ValidationKeys.MAX:return`CONSTRAINT ${e}_${a}_check CHECK (${e} <= ${o[s.ValidationKeys.MAX]})`;case s.ValidationKeys.PASSWORD:default:throw new n.InternalError("Unsupported type: "+a)}}static parseRelationsToPostgres(e,t,r,o,i){const c=s.Model.tableName(t),{cascade:l}=i,d=`${l.update?" ON UPDATE CASCADE":""}${l.delete?" ON DELETE CASCADE":""}`;if("relations"+o===a.PersistenceKeys.ONE_TO_ONE)return`FOREIGN KEY (${e}) REFERENCES ${c}(${r})${d}`;throw new n.InternalError("Unsupported operation: "+o)}static async getCurrentUser(e){try{return(await e.query("SELECT CURRENT_USER;"))[0].current_user}catch(e){throw this.parseError(e)}}static decoration(){super.decoration(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.TABLE).extend({decorator:e=>r=>{const a=t.Metadata.constr(r),n=i.getMetadataArgsStorage().tables.find((e=>e.target===a));return n?(e&&(n.name=e),r):(_(e||(()=>{try{return s.Model.tableName(a)}catch{return a?.name}})())(a),r)}}).apply(),t.Decoration.flavouredAs(l).for(n.DBKeys.ID).define({decorator:e=>(r,o)=>{const c=t.Metadata.constr(r.constructor);i.getMetadataArgsStorage().tables.find((e=>e.target===c))||_((()=>{try{return s.Model.tableName(c)}catch{return c?.name}})()||c?.name)(c),t.prop()(r,o);const l=[s.required(),n.readonly(),t.propMetadata(t.Metadata.key(n.DBKeys.ID,o),e)];let d=e.type||t.Metadata.type(r.constructor,o);switch(d){case String.name||String.name.toLowerCase():case String:e.generated=void 0!==e.generated&&e.generated;break;case Number.name||String.name.toLowerCase():case BigInt.name||BigInt.name.toLowerCase():case BigInt:case Number:e.generated=void 0===e.generated||e.generated;break;case"uuid":case"serial":e.generated=!0;break;case!d:throw new n.InternalError(`Missing type information for property ${o} of ${r.name}`);default:throw Error("Unsupported type")}if(void 0===e.generated&&(e.generated=!0),e.generated){const t={name:e.name||s.Model.sequenceName(r.constructor,"pk")};"serial"===e.type||"uuid"===e.type?l.push(L("uuid"===e.type?e.type:"identity",t)):l.push(L(t)),l.push(a.noValidateOnCreate())}else{switch("function"==typeof d&&d?.name?d.name:d){case Number.name||Number.name.toLowerCase():d="numeric";break;case"serial":case"uuid":break;case String.name||String.name.toLowerCase():d="varchar";break;case BigInt.name||BigInt.name.toLowerCase():d="bigint";break;default:throw new n.InternalError("Unsupported type: "+d)}l.push(((e,t)=>(r,a)=>{let n;e===String||e===Boolean||e===Number?n=e:t=Object.assign({},e),t||(t={});const o=Reflect&&Reflect.getMetadata?Reflect.getMetadata("design:type",r,a):void 0;if(!n&&o&&(n=o),!t.type&&n&&(t.type=n),!t.type)throw new i.ColumnTypeUndefinedError(r,a);if(t.nullable)throw new i.PrimaryColumnCannotBeNullableError(r,a);t.primary=!0;const s=i.getMetadataArgsStorage();R(r.constructor,a,s.columns,t,"regular",s.relations),t.generated&&i.getMetadataArgsStorage().generations.push({target:r.constructor,propertyName:a,strategy:"string"==typeof t.generated?t.generated:"increment"})})({type:d,unique:!0}))}return e.generated&&l.push(n.generated()),t.apply(...l)(r,o)}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.COLUMN).extend({decorator:e=>(t,r)=>{const a={};let n;e&&(a.name=e);try{n=s.Model.pk(t.constructor)}catch(e){n=void 0}return n!==r&&(a.nullable=!0),M(a)(t,r)}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.UNIQUE).define(t.propMetadata(a.PersistenceKeys.UNIQUE,{})).extend(M({unique:!0})).apply();const e=s.Validation.key(s.ValidationKeys.REQUIRED);t.Decoration.flavouredAs(l).for(e).extend(M({nullable:!1})).apply(),t.Decoration.flavouredAs(l).for(n.DBKeys.VERSION).define(s.type(Number),i.VersionColumn(),a.noValidateOnCreate()).apply();const r=n.DBKeys.TIMESTAMP,o=(c=n.DBKeys.TIMESTAMP,n.UpdateValidationKeys.REFLECT+c);var c;t.Decoration.flavouredAs(l).for(r).define({decorator:(e,r)=>{const i=[s.date(r,n.DEFAULT_ERROR_MESSAGES.TIMESTAMP.DATE),s.required(n.DEFAULT_ERROR_MESSAGES.TIMESTAMP.REQUIRED),t.propMetadata(s.Validation.key(n.DBKeys.TIMESTAMP),{operation:e,format:r}),a.noValidateOnCreate()];return-1!==e.indexOf(n.OperationKeys.UPDATE)?i.push(t.propMetadata(o,{message:n.DEFAULT_ERROR_MESSAGES.TIMESTAMP.INVALID}),a.noValidateOnCreateUpdate()):i.push(n.readonly()),t.apply(...i)}}).extend({decorator:(e,t)=>(t,r)=>-1!==e.indexOf(n.OperationKeys.UPDATE)?((e,t)=>{const r=i.getMetadataArgsStorage();R(e.constructor,t,r.columns,{},"updateDate",r.relations)})(t,r):((e,t)=>{const r=i.getMetadataArgsStorage();R(e.constructor,t,r.columns,{},"createDate",r.relations)})(t,r)}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.ONE_TO_ONE).define({decorator:(e,r,o,c,l)=>{const d={class:e,cascade:r,populate:o};c&&(d.joinTable=c),l&&(d.name=l);const p={cascade:r.update===a.Cascade.CASCADE||r.delete===a.Cascade.CASCADE,onDelete:r.delete?"CASCADE":"DEFAULT",onUpdate:r.update?"CASCADE":"DEFAULT",nullable:!0,eager:o};return t.apply(t.prop(),a.relation(a.PersistenceKeys.ONE_TO_ONE,d),s.type([e,String,Number,BigInt]),t.propMetadata(a.PersistenceKeys.ONE_TO_ONE,d),((e,t,r)=>{let a;return I.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let o=!(!r||!0!==r.lazy);if(!o&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(o=!0)}const s=i.getMetadataArgsStorage();r=Object.assign(r,C(t.constructor,n,s.columns)),s.relations.push({target:t.constructor,propertyName:n,isLazy:o,relationType:"one-to-one",type:e,inverseSideProperty:a,options:r})}})((()=>{"function"!=typeof e||e.name||(e=e());const r=t.Metadata.constr(e);if(r===e)throw new n.InternalError("Original Model not found in constructor");return r}),(t=>("function"!=typeof e||e.name||(e=e()),t[s.Model.pk(e)])),p),i.JoinColumn(c||d.name?{foreignKeyConstraintName:d.name}:void 0))}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.ONE_TO_MANY).define({decorator:(e,r,o,c,l)=>{const d={class:e,cascade:r,populate:o};c&&(d.joinTable=c),l&&(d.name=l);const p=[t.prop(),a.relation(a.PersistenceKeys.ONE_TO_MANY,d),s.list(e),t.propMetadata(a.PersistenceKeys.ONE_TO_MANY,d),(c,l)=>{const d={cascade:r.update===a.Cascade.CASCADE||r.delete===a.Cascade.CASCADE,onDelete:r.delete?"CASCADE":"DEFAULT",onUpdate:r.update?"CASCADE":"DEFAULT",nullable:!0,eager:o};return(p=()=>{"function"!=typeof e||e.name||(e=e());const r=t.Metadata.constr(e);if(r===e)throw new n.InternalError("Original Model not found in constructor");return r},u=r=>{"function"!=typeof e||e.name||(e=e());const o=t.Metadata.relations(e);if(!o)throw new n.InternalError("No relations found on model "+e.name);const i=o.find((r=>{const n=s.Model.relations(e,r);if(n.key!==a.PersistenceKeys.MANY_TO_ONE)return!1;const o="function"!=typeof n.class||n.class.name?n.class:n.class(),i=t.Metadata.constr(c.constructor);return o.name===i.name}));if(!i)throw new n.InternalError(`Cross relation not found. Did you use @manyToOne on the ${e.name}?`);return r[i]},h=d,(e,t)=>{h||(h={});let r=h&&!0===h.lazy;if(!r&&Reflect&&Reflect.getMetadata){const a=Reflect.getMetadata("design:type",e,t);a&&"string"==typeof a.name&&"promise"===a.name.toLowerCase()&&(r=!0)}const a=i.getMetadataArgsStorage();h=Object.assign(h,C(e.constructor,t,a.columns)),a.relations.push({target:e.constructor,propertyName:t,isLazy:r,relationType:"one-to-many",type:p,inverseSideProperty:u,options:h})})(c,l);var p,u,h}];return t.apply(...p)}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.MANY_TO_ONE).define({decorator:(e,r,o,c,l)=>{const d={class:e,cascade:r,populate:o};c&&(d.joinTable=c),l&&(d.name=l);const p={cascade:r.update===a.Cascade.CASCADE||r.delete===a.Cascade.CASCADE,onDelete:r.delete?"CASCADE":"NO ACTION",onUpdate:r.update?"CASCADE":"NO ACTION",nullable:!0,eager:o};return t.apply(a.relation(a.PersistenceKeys.MANY_TO_ONE,d),s.type([e,String,Number,BigInt]),t.propMetadata(a.PersistenceKeys.MANY_TO_ONE,d),((r,o)=>((e,t,r)=>{let a;return I.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let o=r&&!0===r.lazy;if(!o&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(o=!0)}const s=i.getMetadataArgsStorage();r=Object.assign(r,C(t.constructor,n,s.columns)),s.relations.push({target:t.constructor,propertyName:n,relationType:"many-to-one",isLazy:o,type:e,inverseSideProperty:a,options:r})}})((()=>{"function"!=typeof e||e.name||(e=e());const r=t.Metadata.constr(e);if(r===e)throw new n.InternalError("Original Model not found in constructor");return r}),(n=>{"function"!=typeof e||e.name||(e=e());const o=t.Metadata.relations(e);let i=s.Model.pk(e);return o?(i=o.find((n=>{const o=s.Model.relations(e,n);if(o.key!==a.PersistenceKeys.ONE_TO_MANY)return!1;const i="function"!=typeof o.class||o.class.name?o.class:o.class(),c=t.Metadata.constr(r.constructor);return i.name===c.name}))||i,n[i]):n[i]}),p)(r,o)))}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.MANY_TO_MANY).define({decorator:(e,r,o,c,l)=>{const d={class:e,cascade:r,populate:o};c&&(d.joinTable=c),l&&(d.name=l);const p={cascade:r.update===a.Cascade.CASCADE||r.delete===a.Cascade.CASCADE,onDelete:r.delete?"CASCADE":"DEFAULT",onUpdate:r.update?"CASCADE":"DEFAULT",nullable:!0,eager:o};return t.apply(a.relation(a.PersistenceKeys.MANY_TO_MANY,d),s.list(e),t.propMetadata(a.PersistenceKeys.MANY_TO_MANY,d),((e,t,r)=>{let a;return I.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let o=!0===r.lazy;if(!o&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(o=!0)}const s=i.getMetadataArgsStorage();r=Object.assign(r,C(t.constructor,n,s.columns)),s.relations.push({target:t.constructor,propertyName:n,relationType:"many-to-many",isLazy:o,type:e,inverseSideProperty:a,options:r})}})((()=>{"function"!=typeof e||e.name||(e=e());const r=t.Metadata.constr(e);if(r===e)throw new n.InternalError("Original Model not found in constructor");return r}),(t=>("function"!=typeof e||e.name||(e=e()),t[s.Model.pk(e)])),p),i.JoinTable(c))}}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.INDEX).extend({decorator:(e,t,r)=>(r,n)=>("string"==typeof e&&(e=void 0,t=void 0),"string"==typeof t&&(t=void 0),!t&&e&&e.find((e=>![a.OrderDirection.ASC,a.OrderDirection.DSC].includes(e)))&&(t=e,e=void 0),t&&t.length?i.Index([n,...t])(r):i.Index()(r,n))}).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.CREATED_BY).define(n.onCreate(v,{}),s.required(),t.propMetadata(a.PersistenceKeys.CREATED_BY,{}),a.noValidateOnCreate()).apply(),t.Decoration.flavouredAs(l).for(a.PersistenceKeys.UPDATED_BY).define(n.onCreateUpdate(v,{}),s.required(),t.propMetadata(a.PersistenceKeys.UPDATED_BY,{}),a.noValidateOnCreateUpdate()).apply()}}r.__decorate([o.final(),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[]),r.__metadata("design:returntype",b)],$.prototype,"Dispatch",null),r.__decorate([o.final(),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[]),r.__metadata("design:returntype",Object)],$.prototype,"repository",null),r.__decorate([o.final(),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[]),r.__metadata("design:returntype",A)],$.prototype,"Statement",null),r.__decorate([o.final(),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[Object]),r.__metadata("design:returntype",Promise)],$.prototype,"Sequence",null),r.__decorate([o.final(),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[Object]),r.__metadata("design:returntype",Promise)],$.prototype,"index",null),$.decoration(),a.Adapter.setCurrent(l);const D="##VERSION##",x="##PACKAGE##";t.Metadata.registerLibrary(x,D),e.IndexError=p,e.PACKAGE_NAME=x,e.TypeORMAdapter=$,e.TypeORMConst={NULL:"NULL"},e.TypeORMDispatch=b,e.TypeORMFlavour=l,e.TypeORMGroupOperator=y,e.TypeORMKeys=d,e.TypeORMOperator=h,e.TypeORMPaginator=g,e.TypeORMQueryLimit=250,e.TypeORMRepository=N,e.TypeORMSequence=w,e.TypeORMStatement=A,e.VERSION=D,e.convertJsRegexToPostgres=f,e.enforceDbDecoratorsRecursive=S,e.generateIndexes=O,e.reservedAttributes=c,e.splitEagerRelations=m,e.translateOperators=E},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("tslib"),require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/logging"),require("@decaf-ts/decorator-validation"),require("typeorm")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","tslib","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/logging","@decaf-ts/decorator-validation","typeorm"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-typeorm"]={},e.decafTsDecoration,e.tslib,e.decafTsCore,e.decafTsDbDecorators,e.decafTsLogging,e.decafTsDecoratorValidation,e.typeorm);
|
|
2
2
|
//# sourceMappingURL=for-typeorm.cjs.map
|
package/dist/for-typeorm.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-typeorm.cjs","sources":["../src/constants.ts","../src/errors.ts","../src/types.ts","../src/query/constants.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/utils.ts","../src/query/Statement.ts","../src/sequences/Sequence.ts","../src/indexes/generator.ts","../src/TypeORMRepository.ts","../src/TypeORMEventSubscriber.ts","../src/TypeORMDispatch.ts","../src/overrides/utils.ts","../src/overrides/Column.ts","../src/overrides/ObjectUtils.ts","../src/overrides/PrimaryGeneratedColumn.ts","../src/overrides/Entity.ts","../src/TypeORMAdapter.ts","../src/overrides/PrimaryColumn.ts","../src/overrides/UpdateDateColumn.ts","../src/overrides/CreateDateColumn.ts","../src/overrides/OneToOne.ts","../src/overrides/OneToMany.ts","../src/overrides/ManyToOne.ts","../src/overrides/ManyToMany.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","TypeORMFlavour","TypeORMKeys","SEPARATOR","ID","VERSION","DELETED","TABLE","SCHEMA","SEQUENCE","INDEX","IndexError","BaseError","constructor","msg","super","name","SQLOperator","exports","TypeORMOperator","EQUAL","DIFFERENT","NOT_EQUAL","BIGGER","GREATER_THAN","BIGGER_EQ","GREATER_THAN_OR_EQUAL","SMALLER","LESS_THAN","SMALLER_EQ","LESS_THAN_OR_EQUAL","BETWEEN","NOT","IN","IS_NULL","IS_NOT_NULL","REGEXP","IREGEXP","LIKE","ILIKE","TypeORMGroupOperator","AND","OR","TypeORMPaginator","Paginator","total","this","_totalPages","count","_recordCount","repo","__repo","adapter","client","getRepository","Metadata","constr","clazz","query","size","prepare","rawStatement","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","opts","Object","assign","skip","current","take","result","findAndCount","Math","ceil","PagingError","pkDef","Model","pk","results","map","row","revert","undefined","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","convertJsRegexToPostgres","jsRegex","rxp","RegExp","match","exec","p","source","splitEagerRelations","m","cache","rels","relations","reduce","accum","attr","decorator","eager","populate","class","isClass","InternalError","push","nonEager","includes","length","nonEagerRelations","ne","TypeORMStatement","Statement","build","log","for","tableName","fromSelector","q","createQueryBuilder","countSelector","field","select","countDistinctSelector","sumSelector","avgSelector","maxSelector","minSelector","distinctSelector","selectSelector","s","whereCondition","parseCondition","groupBySelectors","primary","rest","groupBy","addGroupBy","isAggregation","hasAggregation","orderBySelectors","primaryAttr","primaryDir","orderBy","toUpperCase","i","dir","addOrderBy","OrderDirection","ASC","limitSelector","limit","debug","offsetSelector","paginate","transformedQuery","where","parseConditionForPagination","orderObj","toString","order","e","raw","rawInput","logCtx","get","UnsupportedError","qb","getRawMany","groupResults","getRawOne","Number","sum","avg","max","min","r","setFindOptions","loadEagerRelations","loadRelationIds","getMany","groupKeys","grouped","key","lastKey","condition","counter","conditionalOp","attr1","comparison","GroupOperator","Operator","indexOf","sqlOperator","attrRef","queryStr","values","minRef","maxRef","andWhere","orWhere","Error","parse","TypeORMSequence","Sequence","options","OperationKeys","READ","startWith","quoted","replace","rows","Array","isArray","NotFoundError","parseError","increment","type","incrementBy","minValue","maxValue","cycle","toIncrementBy","next","BigInt","startValue","minValueClause","maxValueClause","cycleClause","argz","UPDATE","range","generateIndexes","models","direction","compositions","separator","DefaultSeparator","n","join","generateIndexName","indexes","forEach","ind","entries","value","PersistenceKeys","generate","async","enforceDbDecoratorsRecursive","context","model","operation","prefix","oldModel","innerLoop","Repository","forModel","CREATE","enforceDBDecorators","isPropertyModel","validationFor","ValidationKeys","LIST","Promise","all","TypeORMRepository","_overrides","ignoreValidation","ignoreHandlers","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","queryBuilder","nativeRepo","dataSource","createPrefix","ignoreValidate","silly","ON","propsToIgnore","errors","resolve","hasErrors","ValidationError","create","record","id","transient","createSuffix","AFTER","readPrefix","read","readSuffix","updatePrefix","merge","update","updateSuffix","delete","deleteSuffix","DELETE","createAllPrefix","BulkCrudOperationKeys","CREATE_ALL","sequenceFor","ids","generatedBySequence","sequenceName","generated","timestamp","Date","createdAt","updatedAt","ignoredProps","errorMessages","reduceErrorsToPrint","createAll","prepared","records","createAllSuffix","readAll","readAllSuffix","updateAllPrefix","UPDATE_ALL","oldModels","modelsValidation","updateAll","verbose","u","updateAllSuffix","deleteAll","TypeORMEventSubscriber","handler","afterInsert","event","entity","entityId","afterRemove","metadata","target","afterUpdate","databaseEntity","__decorate","EventSubscriber","Adapter","Function","TypeORMDispatch","Dispatch","notificationHandler","table","updateObservers","error","initialize","INITIALIZATION","isInitialized","subscribers","bind","call","then","info","catch","extractForRelations","property","columns","index","cols","filter","c","propertyName","splice","val","TYPE","aggregateOrNewColumn","mode","column","defineProperty","writable","enumerable","configurable","Column","typeOrOptions","object","reflectMetadataType","Reflect","getMetadata","primaryType","allowedTypes","hstoreType","getMetadataArgsStorage","embeddeds","array","ColumnTypeUndefinedError","unique","uniques","indices","generations","strategy","ObjectUtils","isObject","isObjectWithName","sources","prop","getOwnPropertyNames","PrimaryGeneratedColumn","strategyOrOptions","maybeOptions","Entity","nameOrOptions","tables","engine","database","schema","synchronize","withoutRowid","comment","createdByOnTypeORMCreateUpdate","data","user","TypeORMAdapter","getClient","entities","alias","DataSource","config","shutdown","_client","destroy","flags","username","repository","ds","docsOnly","getSql","child","METADATA","isReserved","getTime","isModel","obj","findOne","ConflictError","save","findOneOrFail","tableLabel","insert","identifiers","findBy","In","err","reason","code","message","ConnectionError","connect","con","createDatabase","dbName","Logging","createNotifyFunction","deleteDatabase","createUser","password","deleteUser","admin","parseTypeToPostgres","isPk","isFk","toLowerCase","pkType","parseValidationToPostgres","REQUIRED","MAX_LENGTH","MIN_LENGTH","PATTERN","URL","EMAIL","DATE","MIN","MAX","PASSWORD","parseRelationsToPostgres","cascade","cascadeStr","ONE_TO_ONE","getCurrentUser","current_user","decoration","Decoration","flavouredAs","extend","ctor","existing","apply","DBKeys","define","original","propertyKey","decorators","required","readonly","propMetadata","String","conf","noValidateOnCreate","Boolean","nullable","PrimaryColumnCannotBeNullableError","PrimaryColumn","COLUMN","UNIQUE","requiredKey","Validation","VersionColumn","timestampDecorationKey","TIMESTAMP","timestampUpdateKey","UpdateValidationKeys","REFLECT","format","date","DB_DEFAULT_ERROR_MESSAGES","INVALID","noValidateOnCreateUpdate","ops","UpdateDateColumn","CreateDateColumn","joinColumnOpts","fk","joinTable","ormMeta","Cascade","CASCADE","onDelete","onUpdate","relation","typeFunctionOrTarget","inverseSideOrOptions","inverseSideProperty","isLazy","lazy","reflectedType","meta","relationType","OneToOne","JoinColumn","foreignKeyConstraintName","ONE_TO_MANY","joinTableOpts","list","inverseSide","crossRelationKey","MANY_TO_ONE","ref","ManyToOne","MANY_TO_MANY","ManyToMany","JoinTable","directions","d","DSC","Index","CREATED_BY","onCreate","UPDATED_BY","onCreateUpdate","final","prototype","setCurrent","PACKAGE_NAME","registerLibrary","NULL"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-typeorm.cjs","sources":["../src/constants.ts","../src/errors.ts","../src/types.ts","../src/query/constants.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/utils.ts","../src/query/Statement.ts","../src/sequences/Sequence.ts","../src/indexes/generator.ts","../src/TypeORMRepository.ts","../src/TypeORMEventSubscriber.ts","../src/TypeORMDispatch.ts","../src/overrides/utils.ts","../src/overrides/Column.ts","../src/overrides/ObjectUtils.ts","../src/overrides/PrimaryGeneratedColumn.ts","../src/overrides/Entity.ts","../src/TypeORMAdapter.ts","../src/overrides/PrimaryColumn.ts","../src/overrides/UpdateDateColumn.ts","../src/overrides/CreateDateColumn.ts","../src/overrides/OneToOne.ts","../src/overrides/OneToMany.ts","../src/overrides/ManyToOne.ts","../src/overrides/ManyToMany.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","TypeORMFlavour","TypeORMKeys","SEPARATOR","ID","VERSION","DELETED","TABLE","SCHEMA","SEQUENCE","INDEX","IndexError","BaseError","constructor","msg","super","name","SQLOperator","exports","TypeORMOperator","EQUAL","DIFFERENT","NOT_EQUAL","BIGGER","GREATER_THAN","BIGGER_EQ","GREATER_THAN_OR_EQUAL","SMALLER","LESS_THAN","SMALLER_EQ","LESS_THAN_OR_EQUAL","BETWEEN","NOT","IN","IS_NULL","IS_NOT_NULL","REGEXP","IREGEXP","LIKE","ILIKE","TypeORMGroupOperator","AND","OR","TypeORMPaginator","Paginator","total","this","_totalPages","count","_recordCount","repo","__repo","adapter","client","getRepository","Metadata","constr","clazz","query","size","prepare","rawStatement","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","opts","Object","assign","skip","current","take","result","findAndCount","Math","ceil","PagingError","pkDef","Model","pk","results","map","row","revert","undefined","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","convertJsRegexToPostgres","jsRegex","rxp","RegExp","match","exec","p","source","splitEagerRelations","m","cache","rels","relations","reduce","accum","attr","decorator","eager","populate","class","isClass","InternalError","push","nonEager","includes","length","nonEagerRelations","ne","TypeORMStatement","Statement","build","log","for","tableName","fromSelector","q","createQueryBuilder","countSelector","field","select","countDistinctSelector","sumSelector","avgSelector","maxSelector","minSelector","distinctSelector","selectSelector","s","whereCondition","parseCondition","groupBySelectors","primary","rest","groupBy","addGroupBy","isAggregation","hasAggregation","orderBySelectors","primaryAttr","primaryDir","orderBy","toUpperCase","i","dir","addOrderBy","OrderDirection","ASC","limitSelector","limit","debug","offsetSelector","paginate","transformedQuery","where","parseConditionForPagination","orderObj","toString","order","e","raw","rawInput","logCtx","get","UnsupportedError","qb","getRawMany","groupResults","getRawOne","Number","sum","avg","max","min","r","setFindOptions","loadEagerRelations","loadRelationIds","getMany","groupKeys","grouped","key","lastKey","condition","counter","conditionalOp","attr1","comparison","GroupOperator","Operator","indexOf","sqlOperator","attrRef","queryStr","values","minRef","maxRef","andWhere","orWhere","Error","parse","TypeORMSequence","Sequence","options","OperationKeys","READ","startWith","quoted","replace","rows","Array","isArray","NotFoundError","parseError","increment","type","incrementBy","minValue","maxValue","cycle","toIncrementBy","next","BigInt","startValue","minValueClause","maxValueClause","cycleClause","argz","UPDATE","range","generateIndexes","models","direction","compositions","separator","DefaultSeparator","n","join","generateIndexName","indexes","forEach","ind","entries","value","PersistenceKeys","generate","async","enforceDbDecoratorsRecursive","context","model","operation","prefix","oldModel","innerLoop","Repository","forModel","CREATE","enforceDBDecorators","isPropertyModel","validationFor","ValidationKeys","LIST","Promise","all","TypeORMRepository","_overrides","ignoreValidation","ignoreHandlers","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","queryBuilder","nativeRepo","dataSource","createPrefix","ignoreValidate","silly","ON","propsToIgnore","errors","resolve","hasErrors","ValidationError","create","record","id","transient","createSuffix","AFTER","readPrefix","read","readSuffix","updatePrefix","merge","update","updateSuffix","delete","deleteSuffix","DELETE","createAllPrefix","BulkCrudOperationKeys","CREATE_ALL","sequenceFor","ids","generatedBySequence","sequenceName","generated","timestamp","Date","createdAt","updatedAt","ignoredProps","errorMessages","reduceErrorsToPrint","createAll","prepared","records","createAllSuffix","readAll","readAllSuffix","updateAllPrefix","UPDATE_ALL","oldModels","modelsValidation","updateAll","verbose","u","updateAllSuffix","deleteAll","TypeORMEventSubscriber","handler","afterInsert","event","entity","entityId","afterRemove","metadata","target","afterUpdate","databaseEntity","__decorate","EventSubscriber","Adapter","Function","TypeORMDispatch","Dispatch","notificationHandler","table","updateObservers","error","initialize","INITIALIZATION","isInitialized","subscribers","bind","call","then","info","catch","extractForRelations","property","columns","index","cols","filter","c","propertyName","splice","val","TYPE","aggregateOrNewColumn","mode","column","defineProperty","writable","enumerable","configurable","Column","typeOrOptions","object","reflectMetadataType","Reflect","getMetadata","primaryType","allowedTypes","hstoreType","getMetadataArgsStorage","embeddeds","array","ColumnTypeUndefinedError","unique","uniques","indices","generations","strategy","ObjectUtils","isObject","isObjectWithName","sources","prop","getOwnPropertyNames","PrimaryGeneratedColumn","strategyOrOptions","maybeOptions","Entity","nameOrOptions","tables","engine","database","schema","synchronize","withoutRowid","comment","createdByOnTypeORMCreateUpdate","data","user","TypeORMAdapter","getClient","entities","alias","DataSource","config","shutdown","_client","destroy","flags","username","repository","ds","docsOnly","getSql","child","METADATA","isReserved","getTime","isModel","obj","findOne","ConflictError","save","findOneOrFail","tableLabel","insert","identifiers","findBy","In","err","reason","code","message","ConnectionError","connect","con","createDatabase","dbName","Logging","createNotifyFunction","deleteDatabase","createUser","password","deleteUser","admin","parseTypeToPostgres","isPk","isFk","toLowerCase","pkType","parseValidationToPostgres","REQUIRED","MAX_LENGTH","MIN_LENGTH","PATTERN","URL","EMAIL","DATE","MIN","MAX","PASSWORD","parseRelationsToPostgres","cascade","cascadeStr","ONE_TO_ONE","getCurrentUser","current_user","decoration","Decoration","flavouredAs","extend","ctor","existing","apply","DBKeys","define","original","propertyKey","decorators","required","readonly","propMetadata","String","conf","noValidateOnCreate","Boolean","nullable","PrimaryColumnCannotBeNullableError","PrimaryColumn","COLUMN","UNIQUE","requiredKey","Validation","VersionColumn","timestampDecorationKey","TIMESTAMP","timestampUpdateKey","UpdateValidationKeys","REFLECT","format","date","DB_DEFAULT_ERROR_MESSAGES","INVALID","noValidateOnCreateUpdate","ops","UpdateDateColumn","CreateDateColumn","joinColumnOpts","fk","joinTable","ormMeta","Cascade","CASCADE","onDelete","onUpdate","relation","typeFunctionOrTarget","inverseSideOrOptions","inverseSideProperty","isLazy","lazy","reflectedType","meta","relationType","OneToOne","JoinColumn","foreignKeyConstraintName","ONE_TO_MANY","joinTableOpts","list","inverseSide","crossRelationKey","MANY_TO_ONE","ref","ManyToOne","MANY_TO_MANY","ManyToMany","JoinTable","directions","d","DSC","Index","CREATED_BY","onCreate","UPDATED_BY","onCreateUpdate","final","prototype","setCurrent","PACKAGE_NAME","registerLibrary","NULL"],"mappings":"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"}
|
package/dist/for-typeorm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Metadata as e,Decoration as t,propMetadata as r,apply as a,prop as n}from"@decaf-ts/decoration";import{__decorate as s,__metadata as i}from"tslib";import{Paginator as o,PagingError as c,QueryError as l,Statement as u,OrderDirection as d,UnsupportedError as p,GroupOperator as h,Operator as g,Sequence as y,PersistenceKeys as E,Repository as f,Adapter as m,Dispatch as A,ConnectionError as w,noValidateOnCreate as N,Cascade as S,relation as T,noValidateOnCreateUpdate as b}from"@decaf-ts/core";import{BaseError as O,InternalError as R,OperationKeys as C,NotFoundError as L,DefaultSeparator as $,enforceDBDecorators as I,ValidationError as v,BulkCrudOperationKeys as x,reduceErrorsToPrint as _,ConflictError as D,DBKeys as q,onCreate as U,onCreateUpdate as P,readonly as M,generated as B,UpdateValidationKeys as k,DEFAULT_ERROR_MESSAGES as F}from"@decaf-ts/db-decorators";import{isClass as j,final as G,Logging as H}from"@decaf-ts/logging";import{Model as V,ValidationKeys as Y,Validation as z,type as K,list as Q,required as X,date as W}from"@decaf-ts/decorator-validation";import{EventSubscriber as Z,getMetadataArgsStorage as J,ColumnTypeUndefinedError as ee,PrimaryColumnCannotBeNullableError as te,DataSource as re,In as ae,VersionColumn as ne,JoinColumn as se,JoinTable as ie,Index as oe}from"typeorm";const ce=/^(select|from|where|and|or|insert|update|delete|drop|create|table|index|primary|key|foreign|references|constraint|unique|check|default|null|not|as|order|by|group|having|limit|offset|join|inner|outer|left|right|full|on|using|values|returning|set|into|case|when|then|else|end|cast|coalesce|exists|any|all|some|in|between|like|ilike|similar|to|is|true|false|asc|desc|distinct|union|intersect|except|natural|lateral|window|over|partition|range|rows|unbounded|preceding|following|current|row|with|recursive|materialized|view|function|trigger|procedure|language|returns|return|declare|begin|commit|rollback|savepoint|transaction|temporary|temp|if|loop|while|for|continue|exit|raise|exception|notice|info|log|debug|assert|execute|perform|get|diagnostics|call|do|alias|comment|vacuum|analyze|explain|copy|grant|revoke|privileges|public|usage|schema|sequence|owned|owner|tablespace|storage|inherits|type|operator|collate|collation|cascade|restrict|add|alter|column|rename|to|enable|disable|force|no|instead|of|before|after|each|statement|row|execute|also|only|exclude|nulls|others|ordinality|ties|nothing|cache|cycle|increment|minvalue|maxvalue|start|restart|by|called|returns|language|immutable|stable|volatile|strict|security|definer|invoker|cost|rows|support|handler|inline|validator|options|storage|inheritance|oids|without|data|dictionary|encoding|lc_collate|lc_ctype|connection|limit|password|valid|until|superuser|nosuperuser|createdb|nocreatedb|createrole|nocreaterole|inherit|noinherit|login|nologin|replication|noreplication|bypassrls|nobypassrls|encrypted|unencrypted|new|old|session_user|current_user|current_role|current_schema|current_catalog|current_date|current_time|current_timestamp|localtime|localtimestamp|current_database|inet|cidr|macaddr|macaddr8|bit|varbit|tsvector|tsquery|uuid|xml|json|jsonb|int|integer|smallint|bigint|decimal|numeric|real|double|precision|float|boolean|bool|char|character|varchar|text|bytea|date|time|timestamp|interval|point|line|lseg|box|path|polygon|circle|money|void)$/i,le="type-orm",ue={SEPARATOR:".",ID:"id",VERSION:"version",DELETED:"deleted_at",TABLE:"table_name",SCHEMA:"schema_name",SEQUENCE:"sequence_name",INDEX:"index"};class de extends O{constructor(e){super(de.name,e,404)}}var pe;(e=>{e.EQUAL="=",e.NOT_EQUAL="<>",e.LESS_THAN="<",e.LESS_THAN_OR_EQUAL="<=",e.GREATER_THAN=">",e.GREATER_THAN_OR_EQUAL=">=",e.IN="IN",e.NOT_IN="NOT IN",e.LIKE="LIKE",e.ILIKE="ILIKE",e.BETWEEN="BETWEEN",e.IS_NULL="IS NULL",e.IS_NOT_NULL="IS NOT NULL",e.EXISTS="EXISTS",e.NOT_EXISTS="NOT EXISTS",e.ANY="ANY",e.ALL="ALL",e.SOME="SOME"})(pe||(pe={}));const he=250,ge={EQUAL:pe.EQUAL,DIFFERENT:pe.NOT_EQUAL,BIGGER:pe.GREATER_THAN,BIGGER_EQ:pe.GREATER_THAN_OR_EQUAL,SMALLER:pe.LESS_THAN,SMALLER_EQ:pe.LESS_THAN_OR_EQUAL,BETWEEN:pe.BETWEEN,NOT:"NOT",IN:pe.IN,IS_NULL:pe.IS_NULL,IS_NOT_NULL:pe.IS_NOT_NULL,REGEXP:"~",IREGEXP:"~*",LIKE:pe.LIKE,ILIKE:pe.ILIKE},ye={AND:"AND",OR:"OR"},Ee={NULL:"NULL"};class fe extends o{get total(){return this._totalPages}get count(){return this._recordCount}get repo(){return this.__repo||(this.__repo=this.adapter.client.getRepository(e.constr(this.clazz))),this.__repo}constructor(e,t,r,a){super(e,t,r,a)}prepare(e){return{...e}}async page(e=1,...t){const{ctxArgs:r,ctx:a}=this.adapter.logCtx(t,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...r);const n={...this.statement};this._recordCount&&this._totalPages||(this._totalPages=this._recordCount=0);const s=Object.assign(n,{skip:(this.current||0)*this.size,take:this.size}),i=await this.repo.findAndCount(s);if(this._recordCount=i[1],this._totalPages=Math.ceil(this._recordCount/this.size),!this.clazz)throw new c("No statement target defined");const o=V.pk(this.clazz),l=(i[0]||[]).map(e=>this.adapter.revert(e,this.clazz,e[o],void 0,a));return this._currentPage=e,l}}function me(e){for(const t of[ge,ye]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new l("Could not find adapter translation for operator "+e)}function Ae(e){const t=RegExp(/^\/(.+)\/(\w+)$/g);if("string"==typeof e){const r=t.exec(e);if(r){const[,t]=r;e=t}}return("string"==typeof e?RegExp(e):e).source}function we(t,r={}){const a=V.relations(t);if(r[t.name]=r[t.name]||void 0,r[t.name])return r[t.name];const n=a.reduce((a,n)=>{const s=e.relations(t,n),i=s.populate;let o=s.class;if(j(o)||(o=o()),!o)throw new R(`Could not find class for property ${n} on model ${t.name}`);if(i?a.relations.push(n):a.nonEager.push(n),a.relations.includes(n)){const{nonEager:e,relations:t}=we(o,r);if(e.length&&a.relations.includes(n)){const t=e.map(e=>`${n}.${e}`);a.nonEager.push(...t)}if(t.length){const e=t.map(e=>`${n}.${e}`);a.relations.push(...e)}}return a},{nonEager:[],relations:[]});return r[t.name]=n,n}class Ne extends u{constructor(e){super(e)}build(){const t=this.log.for(this.build),r=V.tableName(this.fromSelector),a={query:this.adapter.client.getRepository(e.constr(this.fromSelector)).createQueryBuilder(r)};if(void 0!==this.countSelector){const e=null===this.countSelector?"*":`${r}.${this.countSelector}`;a.query=a.query.select(`COUNT(${e})`,"count")}else if(void 0!==this.countDistinctSelector){const e=null===this.countDistinctSelector?"*":`${r}.${this.countDistinctSelector}`;a.query=a.query.select(`COUNT(DISTINCT ${e})`,"count")}else this.sumSelector?a.query=a.query.select(`SUM(${r}.${this.sumSelector})`,"sum"):this.avgSelector?a.query=a.query.select(`AVG(${r}.${this.avgSelector})`,"avg"):this.maxSelector?a.query=a.query.select(`MAX(${r}.${this.maxSelector})`,"max"):this.minSelector?a.query=a.query.select(`MIN(${r}.${this.minSelector})`,"min"):this.distinctSelector?a.query=a.query.select(`DISTINCT ${r}.${this.distinctSelector}`,this.distinctSelector):this.selectSelector?a.query=a.query.select(this.selectSelector.map(e=>`${r}.${e}`)):a.query=a.query.select();if(this.whereCondition&&(a.query=this.parseCondition(this.whereCondition,r,a.query).query),this.groupBySelectors&&this.groupBySelectors.length){const[e,...t]=this.groupBySelectors;a.query=a.query.groupBy(`${r}.${e}`);for(const e of t)a.query=a.query.addGroupBy(`${r}.${e}`)}const n=this.hasAggregation();if(n){if(this.orderBySelectors&&this.orderBySelectors.length){const[e,t]=this.orderBySelectors[0];a.query=a.query.orderBy(`${r}.${e}`,t.toUpperCase());for(let e=1;e<this.orderBySelectors.length;e++){const[t,n]=this.orderBySelectors[e];a.query=a.query.addOrderBy(`${r}.${t}`,n.toUpperCase())}}}else if(this.orderBySelectors&&this.orderBySelectors.length){const[e,t]=this.orderBySelectors[0];a.query=a.query.orderBy(`${r}.${e}`,t.toUpperCase());for(let e=1;e<this.orderBySelectors.length;e++){const[t,n]=this.orderBySelectors[e];a.query=a.query.addOrderBy(`${r}.${t}`,n.toUpperCase())}}else a.query=a.query.orderBy(`${r}.${V.pk(this.fromSelector)}`,d.ASC.toUpperCase());return n?this.limitSelector&&(a.query=a.query.limit(this.limitSelector)):this.limitSelector?a.query=a.query.limit(this.limitSelector):(t.debug("No limit selector defined. Using default limit of 250"),a.query=a.query.limit(250)),this.offsetSelector&&(a.query=a.query.skip(this.offsetSelector)),a}async paginate(e){try{const t={};if(this.whereCondition&&(t.where=this.parseConditionForPagination(this.whereCondition,V.tableName(this.fromSelector))),this.orderBySelectors&&this.orderBySelectors.length){const e={};for(const[t,r]of this.orderBySelectors)e[t]=r.toString().toUpperCase();t.order=e}return this.adapter.Paginator(t,e,this.fromSelector)}catch(e){throw new l(e)}}async raw(e,...t){const{ctx:r}=this.logCtx(t,this.raw);if(!r.get("allowRawStatements"))throw new p("Raw statements are not allowed in the current configuration");const a=e.query;if(this.hasAggregation()){if(this.groupBySelectors&&this.groupBySelectors.length){const e=await a.getRawMany();return this.groupResults(e)}{const e=await a.getRawOne();return void 0!==this.countSelector||void 0!==this.countDistinctSelector?Number(e?.count||0):this.sumSelector?Number(e?.sum||0):this.avgSelector?Number(e?.avg||0):this.maxSelector?e?.max:this.minSelector?e?.min:this.distinctSelector?(await a.getRawMany()).map(e=>e[this.distinctSelector]):e}}const{nonEager:n}=we(this.fromSelector);return e.query=a.setFindOptions({loadEagerRelations:!0,loadRelationIds:{relations:n}}),await e.query.getMany()}groupResults(e){if(!this.groupBySelectors||!this.groupBySelectors.length)return e;const t=V.tableName(this.fromSelector),r=this.groupBySelectors.map(e=>`${t}_${e}`),a={};for(const t of e){let e=a;for(let a=0;a<r.length-1;a++){const n=t[r[a]];e[n]||(e[n]={}),e=e[n]}const n=t[r[r.length-1]];e[n]||(e[n]=[]),e[n].push(t)}return a}parseConditionForPagination(e,t,r=0,a){throw new R("Not implemented")}parseCondition(e,t,r,a=0,n){const{attr1:s,operator:i,comparison:o}=e;if(-1===[h.AND,h.OR,g.NOT].indexOf(i))return(()=>{const e=me(i),c=`${s}${a}`;let l,u;if(i===g.BETWEEN){const[r,n]=o,i=`${s}${a}_min`,c=`${s}${a}_max`;l=`${t}.${s} ${e} :${i} AND :${c}`,u={[i]:r,[c]:n}}else i===g.IN?(l=`${t}.${s} ${e} (:...${c})`,u={[c]:o}):(l=`${t}.${s} ${e} :${c}`,u={[c]:o});switch(n){case h.AND:return{query:r.andWhere(l,u)};case h.OR:return{query:r.orWhere(l,u)};case g.NOT:throw Error("NOT operator not implemented");default:return{query:r.where(l,u)}}})();if(i===g.NOT)throw Error("NOT operator not implemented");return r=this.parseCondition(s,t,r,++a).query,this.parseCondition(o,t,r,++a,i)}}class Se extends y{constructor(e,t){super(e,t)}async current(...e){const{ctx:t}=(await this.logCtx(e,C.READ,!0)).for(this.current),{name:r,startWith:a}=this.options;try{if(!r)throw new R("Sequence name is required to read current");const e=`"${r.replace(/"/g,'""')}"`,a=await this.adapter.raw({query:`SELECT last_value, is_called FROM ${e};`,values:[]},!0,t);if(!Array.isArray(a)||0===a.length)throw new R("Failed to read current value for "+r);const n=a[0];return this.parse(n.last_value)}catch(e){if(e instanceof L){if(void 0===a)throw new R("Starting value is not defined for a non existing sequence");return this.parse(a)}throw this.adapter.parseError(e)}}async increment(e,t){const{type:r,incrementBy:a,name:n,startWith:s,minValue:i,maxValue:o,cycle:c}=this.options;if("Number"!==r&&"BigInt"!==r)throw new R(`Cannot increment sequence of type ${r} with ${e}`);if(!n)throw new R("Cannot increment sequence without a name: "+n);try{const s=e??a;if(s%a!==0)throw new R("Value to increment does not consider the incrementBy setting: "+a);const i=await this.current(t),o="BigInt"===r?this.parse(i)+BigInt(s):this.parse(i)+s;return await this.adapter.raw({query:"SELECT setval($1::regclass, $2, true) AS nextval;",values:[n,o]},!0,t),o}catch(l){if(!(l instanceof L))throw l;const u=`"${n.replace(/"/g,'""')}"`,d="number"==typeof s?s:a,p="number"==typeof i?" MINVALUE "+i:"number"==typeof s&&1>s?" MINVALUE "+s:"",h="number"==typeof o?" MAXVALUE "+o:"",g=c?" CYCLE":" NO CYCLE";await this.adapter.raw({query:`CREATE SEQUENCE IF NOT EXISTS ${u} START WITH ${d} INCREMENT BY ${a}${p}${h}${g};`,values:[]},!0,t);const y=e??a;if(y%a!==0)throw new R("Value to increment does not consider the incrementBy setting: "+a);const E="number"==typeof s?s:this.parse(s),f="BigInt"===r?this.parse(E)+BigInt(y):this.parse(E)+y;return await this.adapter.raw({query:"SELECT setval($1::regclass, $2, true) AS nextval;",values:[n,f]},!0,t),f}}async next(...e){const{ctx:t}=(await this.logCtx(e,C.UPDATE,!0)).for(this.next);return this.increment(void 0,t)}async range(e,...t){const{ctx:r}=(await this.logCtx(t,C.UPDATE,!0)).for(this.range),a=await this.current(r),n=this.parse(this.options.incrementBy),s=await this.increment(this.parse(e)*n,r),i=[];for(let t=1;e>=t;t++)i.push(a+n*this.parse(t));if(i[i.length-1]!==s)throw new R("Miscalculation of range");return i}}function Te(e){const t=((e,t,r,a=$)=>[...e.map(e=>e===ue.TABLE?"table":e),...r||[],...t?[t]:[],ue.INDEX].join(a))([ue.TABLE]),r={};return r[t]={query:"",values:[]},e.forEach(e=>{const t=V.indexes(e);Object.entries(t).forEach(([t,a])=>{const n=Object.keys(a)[0];let{compositions:s}=a[n];const i=V.tableName(e);s=s||[],(()=>{const e=[t,...s,E.INDEX].join($);r[e]={query:"CREATE INDEX $1 ON $2 ($3);",values:[e,i,t]}})()})}),Object.values(r)}async function be(t,r,a,n,s,i){async function o(e,t){const a=f.forModel(e.constructor);await be(a,r,e,t||n!==C.UPDATE?n:C.CREATE,s,t)}await I(t,r,a,n,s,i);for(const t of Object.keys(a))V.isPropertyModel(a,t)&&void 0!==a[t]?await o(a[t],i?i[t]:void 0):e.validationFor(a.constructor,t,Y.LIST)&&a[t]&&Array.isArray(a[t])&&await Promise.all(a[t].map((e,r)=>o(e,i&&i[t]?i[t][r]:void 0)))}class Oe extends f{constructor(e,t,...r){super(e,t,...r),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!1,ignoreHandlers:!1,allowRawStatements:!0,forcePrepareSimpleQueries:!1,forcePrepareComplexQueries:!1})}queryBuilder(){return this.nativeRepo().createQueryBuilder()}nativeRepo(){const t=e.constr(this.class);return this.adapter.dataSource.getRepository(t)}async createPrefix(e,...t){const{ctx:r,ctxArgs:a,log:n}=(await this.logCtx(t,C.CREATE,!0)).for(this.createPrefix),s=r.get("ignoreHandlers"),i=r.get("ignoreValidation");if(n.silly(`handlerSetting: ${s}, validationSetting: ${i}`),e=new this.class(e),s||await be(this,r,e,C.CREATE,C.ON),!i){const t=r.get("ignoredValidationProperties")||[];n.silly("ignored validation properties: "+t);const a=await Promise.resolve(e.hasErrors(...t));if(a)throw new v(a.toString())}return[e,...a]}async create(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.create);n.debug(`Creating new ${this.class.name} in table ${V.tableName(this.class)}`);let{record:i,id:o,transient:c}=this.adapter.prepare(t,!1,a);return i=await this.adapter.create(e.constr(this.class),o,t,...s),this.adapter.revert(i,this.class,o,c,a)}async createSuffix(e,t){return t.get("ignoreHandlers")||await be(this,t,e,C.CREATE,C.AFTER),e}async readPrefix(e,...t){const{ctx:r,ctxArgs:a,log:n}=(await this.logCtx(t,C.READ,!0)).for(this.readPrefix),s=r.get("ignoreHandlers");n.silly("handlerSetting: "+s);const i=new this.class;return i[this.pk]=e,s||await be(this,r,i,C.READ,C.ON),[e,...a]}async read(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.read);n.debug(`reading ${this.class.name} from table ${V.tableName(this.class)} with pk ${this.pk}`);const i=await this.adapter.read(e.constr(this.class),t,...s);return this.adapter.revert(i,this.class,t,void 0,a)}async readSuffix(e,t){return t.get("ignoreHandlers")||await be(this,t,e,C.READ,C.AFTER),e}async updatePrefix(e,...t){const{ctx:r,ctxArgs:a,log:n}=(await this.logCtx(t,C.UPDATE,!0)).for(this.updatePrefix),s=r.get("ignoreHandlers"),i=r.get("ignoreValidation");n.silly(`handlerSetting: ${s}, validationSetting: ${i}`);const o=e[this.pk];if(!o)throw new R("No value for the Id is defined under the property "+this.pk);let c;if(r.get("applyUpdateValidation")&&(c=await this.read(o,r),r.get("mergeForUpdate")&&(e=V.merge(c,e,this.class))),s||await be(this,r,e,C.UPDATE,C.ON,c),!i){const t=r.get("ignoredValidationProperties")||[];n.silly("ignored validation properties: "+t);const a=await Promise.resolve(e.hasErrors(c,...V.relations(this.class),...t));if(a)throw new v(a.toString())}return[e,...a,c]}async update(t,...r){const{ctxArgs:a,log:n,ctx:s}=this.logCtx(r,this.update);let{record:i,id:o,transient:c}=this.adapter.prepare(t,!1,s);return n.debug(`updating ${this.class.name} in table ${V.tableName(this.class)} with id ${o}`),i=await this.adapter.update(e.constr(this.class),o,t,...a),this.adapter.revert(i,this.class,o,c,s)}async updateSuffix(e,t,r){return r.get("ignoreHandlers")||await be(this,r,e,C.UPDATE,C.AFTER,t),e}async delete(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.delete);n.debug(`deleting new ${this.class.name} in table ${V.tableName(this.class)} with pk ${t}`);const i=await this.adapter.delete(e.constr(this.class),t,...s);return this.adapter.revert(i,this.class,t,void 0,a)}async deleteSuffix(e,t){return t.get("ignoreHandlers")||await be(this,t,e,C.DELETE,C.AFTER),e}async createAllPrefix(e,...t){const{ctx:r,ctxArgs:a,log:n}=(await this.logCtx(t,x.CREATE_ALL,!0)).for(this.createAllPrefix),s=r.get("ignoreHandlers"),i=r.get("ignoreValidation");if(n.silly(`handlerSetting: ${s}, validationSetting: ${i}`),!e.length)return[e,...a];const o=V.sequenceFor(e[0]);let c=[];V.generatedBySequence(this.class)?(o.name||(o.name=V.sequenceName(e[0],"pk")),c=await(await this.adapter.Sequence(o)).range(e.length,...a)):V.generated(this.class,this.pk)||(c=e.map((e,t)=>{if(void 0===e[this.pk])throw new R("Primary key is not defined for model in position "+t);return e[this.pk]})),e=await Promise.all(e.map(async(e,t)=>(e=new this.class(e),o.type&&(e[this.pk]="String"!==o.type||o.generated?c[t]:""+e[this.pk]),s||await be(this,r,e,C.CREATE,C.ON),e)));const l=r.timestamp||new Date;if(e=e.map(e=>("createdAt"in e&&Object.assign(e,{createdAt:l}),"updatedAt"in e&&Object.assign(e,{updatedAt:l}),e)),!i){const t=r.get("ignoredValidationProperties")||[];n.silly("ignored validation properties: "+t);const a=await Promise.all(e.map(e=>Promise.resolve(e.hasErrors(...t)))),s=_(a);if(s)throw new v(s)}return[e,...a]}async createAll(t,...r){if(!t.length)return t;const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.createAll);n.debug(`Creating ${t.length} new ${this.class.name} in table ${V.tableName(this.class)}`);const i=t.map(e=>this.adapter.prepare(e,!1,a)),o=i.map(e=>e.id);let c=i.map(e=>e.record);return c=await this.adapter.createAll(e.constr(this.class),o,t,...s),c.map((e,t)=>this.adapter.revert(e,this.class,o[t],a.get("rebuildWithTransient")?i[t].transient:void 0,a))}async createAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map(e=>be(this,t,e,C.CREATE,C.AFTER))),e}async readAll(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.readAll);return n.debug(`reading ${t.length} ${this.class.name} in table ${V.tableName(this.class)}`),(await this.adapter.readAll(e.constr(this.class),t,...s)).map((e,r)=>this.adapter.revert(e,this.class,t[r],void 0,a))}async readAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map(e=>be(this,t,e,C.READ,C.AFTER))),e}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:a,log:n}=(await this.logCtx(t,x.UPDATE_ALL,!0)).for(this.updateAllPrefix),s=r.get("ignoreHandlers"),i=r.get("ignoreValidation");n.silly(`handlerSetting: ${s}, validationSetting: ${i}`);const o=e.map(e=>{const t=e[this.pk];if(!t)throw new R("missing id on update operation");return t});let c;if(r.get("applyUpdateValidation")&&(c=await this.readAll(o,r),r.get("mergeForUpdate")&&(e=e.map((e,t)=>V.merge(c[t],e,this.class)))),s||await Promise.all(e.map((e,t)=>be(this,r,e,C.UPDATE,C.ON,c?c[t]:void 0))),!i){const t=r.get("ignoredValidationProperties")||[];let a;n.silly("ignored validation properties: "+t),a=r.get("applyUpdateValidation")?await Promise.all(e.map((e,r)=>Promise.resolve(e.hasErrors(c[r],...t)))):await Promise.resolve(e.map(e=>e.hasErrors(...t)));const s=_(a);if(s)throw new v(s)}return[e,...a,c]}async updateAll(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.updateAll);n.verbose(`Updating ${t.length} new ${this.class.name} in table ${V.tableName(this.class)}`);const i=t.map(e=>this.adapter.prepare(e,!1,a));return(await this.adapter.updateAll(e.constr(this.class),i.map(e=>e.id),t,...s)).map((e,t)=>this.adapter.revert(e,this.class,i[t].id,a.get("rebuildWithTransient")?i[t].transient:void 0,a))}async updateAllSuffix(e,t,r){if(r.get("applyUpdateValidation")&&!r.get("ignoreDevSafeGuards")&&!t)throw new R("No previous versions of models provided");return r.get("ignoreHandlers")||await Promise.all(e.map((e,a)=>be(this,r,e,C.UPDATE,C.AFTER,t?t[a]:void 0))),e}async deleteAll(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.create);return n.debug(`deleting ${t.length} ${this.class.name} in table ${V.tableName(this.class)}`),(await this.adapter.deleteAll(e.constr(this.class),t,...s)).map((e,r)=>this.adapter.revert(e,this.class,t[r],void 0,a))}}let Re=class{constructor(e,t){if(this.adapter=e,this.handler=t,!this.adapter)throw new R("Missing adapter. Should not be possible")}async afterInsert(e){const t=e.entity.constructor,r=await this.adapter.context(C.CREATE,{},t);this.handler(t,C.CREATE,e.entityId,e.entity,r)}async afterRemove(e){const t=e.metadata.target,r=await this.adapter.context(C.DELETE,{},t);this.handler(t,C.DELETE,"",{},r)}async afterUpdate(e){const t=e.databaseEntity.constructor,r=await this.adapter.context(C.UPDATE,{},t);return this.handler(t,C.UPDATE,e.entity[V.pk(t)],e.entity,r)}};Re=s([Z(),i("design:paramtypes",[m,Function])],Re);class Ce extends A{constructor(){super()}async notificationHandler(e,t,r,...a){const{log:n,ctxArgs:s}=this.logCtx(a,this.notificationHandler);try{await this.updateObservers(e,t,r,...s),n.verbose(`Observer refresh dispatched by ${t} for ${e}`),n.debug("pks: "+r)}catch(e){n.error("Failed to process notification: "+e)}}async initialize(...e){const{log:t}=(await this.logCtx(e,E.INITIALIZATION,!0)).for(this.initialize);(async function(){if(!this.adapter)throw new R("No adapter/native observed for dispatch");try{this.adapter.client.isInitialized||await this.adapter.client.initialize(),this.adapter.client.subscribers.push(new Re(this.adapter,this.notificationHandler.bind(this)))}catch(e){throw new R(e)}}).call(this).then(()=>{t.info("Subscribed to TypeORM notifications")}).catch(e=>{throw new R("Failed to subscribe to TypeORM notifications: "+e)})}async updateObservers(e,t,r,...a){if(this.adapter)return super.updateObservers(e,t,r,...a);this.log.verbose(`No adapter observed for dispatch; skipping observer update for ${e}:${t}`)}}function Le(e,t,r){let a=0;const n=r.filter((r,n)=>(a=n,r.target===e&&r.propertyName===t));return n.length?(r.splice(a,1),Object.entries(n[0].options).reduce((e,[t,r])=>{switch(t){case"nullable":e[t]=r;break;case Y.TYPE:break;default:throw new p("Unsupported option for a relation: "+t)}return e},{})):{}}function $e(e,t,r,a={},n="regular",s,i){const o=r.filter(r=>r.target===e&&r.propertyName===t),c=s.filter(r=>r.target===e&&r.propertyName===t);if(i&&i.filter(r=>r.target===e&&r.columns.includes(t)).forEach(e=>{Object.assign(e,a)}),o.length>1)throw new R(`Multiple columns for ${t} found for given target: ${r.map(e=>e.propertyName).join(", ")}`);if(c.length>1)throw new R(`Multiple relations for ${t} found for given target: ${c.map(e=>e.propertyName).join(", ")}`);let l;0!==o.length||c.length?(c.length||(l=o[0],"regular"!==n&&Object.defineProperty(l,"mode",{value:n,writable:!0,enumerable:!0,configurable:!0})),c.length&&(a=Object.entries(a).reduce((e,[t,r])=>("nullable"===t&&(e[t]=r),e),{})),l=l||c[0],Object.defineProperty(l,"options",{value:{...l.options,...a},writable:!0,enumerable:!0,configurable:!0})):r.push({target:e,propertyName:t,mode:n,options:a})}function Ie(t,r){return(a,n)=>{let s;"string"==typeof t||"function"==typeof t?s=t:t&&(r=t,s=t.type),r||(r={});let i=Reflect&&Reflect.getMetadata?Reflect.getMetadata("design:type",a,n):void 0;!s&&i&&(s=i);const o=e.allowedTypes(a.constructor,n)[0];if(o!==i&&(s=o,i=o),!r.type&&s&&(r.type=s),"hstore"!==r.type||r.hstoreType||(r.hstoreType=i===Object?"object":"string"),"function"==typeof t)J().embeddeds.push({target:a.constructor,propertyName:n,isArray:i===Array||!0===r.array,prefix:void 0!==r.prefix?r.prefix:void 0,type:t});else{if(!r.type)throw new ee(a,n);!0===r.unique&&J().uniques.push({target:a.constructor,columns:[n]});const e=J();$e(a.constructor,n,e.columns,r,"regular",e.relations,r.unique?e.indices:void 0),r.generated&&J().generations.push({target:a.constructor,propertyName:n,strategy:"string"==typeof r.generated?r.generated:"increment"})}}}class ve{static isObject(e){return null!==e&&"object"==typeof e}static isObjectWithName(e){return null!==e&&"object"==typeof e&&void 0!==e.name}static assign(e,...t){for(const r of t)for(const t of Object.getOwnPropertyNames(r))e[t]=r[t]}}function xe(e,t){const r={};let a;return e?("string"==typeof e&&(a=e),ve.isObject(e)&&(a="increment",Object.assign(r,e))):a="increment",ve.isObject(t)&&Object.assign(r,t),(e,t)=>{r.type||("increment"===a||"identity"===a?r.type=Number:"uuid"===a?r.type="uuid":"rowid"===a&&(r.type="int")),r.primary=!0;const n=J();$e(e.constructor,t,n.columns,r,"regular",n.relations),J().generations.push({target:e.constructor,propertyName:t,strategy:a})}}function _e(e,t){const r=(ve.isObject(e)?e:t)||{},a="string"==typeof e?e:r.name;return e=>{J().tables.push({target:e,name:a,type:"regular",orderBy:r.orderBy?r.orderBy:void 0,engine:r.engine?r.engine:void 0,database:r.database?r.database:void 0,schema:r.schema?r.schema:void 0,synchronize:r.synchronize,withoutRowid:r.withoutRowid,comment:r.comment?r.comment:void 0})}}async function De(e,t,r,a){try{const t=e.get("user");a[r]=t}catch(e){throw new R("No User found in context. Please provide a user in the context")}}class qe extends m{getClient(){const t=m.models(this.alias).map(e.constr);return new re(Object.assign({},this.config,{entities:t}))}constructor(e,t){super(e,le,t)}async shutdown(){await super.shutdown(),this._client&&await this._client.destroy()}async flags(e,t,r){return super.flags(e,t,Object.assign({user:this.config.username},r))}Dispatch(){return new Ce}repository(){return Oe}Statement(){return new Ne(this)}Paginator(e,t,r){return new fe(this,e,t,r)}async Sequence(e){return new Se(e,this)}async initialize(...e){const{log:t}=(await this.logCtx(e,E.INITIALIZATION,!0)).for(this.initialize),r=this.client;try{await r.initialize()}catch(e){throw this.parseError(e)}t.verbose(this.toString()+" initialized")}async index(...e){(await this.logCtx(e,E.INDEX,!0)).for(this.index);const t=Te(e);try{await this.client.query("BEGIN");for(const e of t)await this.client.query(e.query,e.values);await this.client.query("COMMIT")}catch(e){throw await this.client.query("ROLLBACK"),this.parseError(e)}}async raw(e,t=!0,...r){const{log:a}=this.logCtx(r,this.raw);try{this.client.isInitialized||await this.client.initialize()}catch(e){throw this.parseError(e)}try{const{query:t,values:r}=e;return a.debug("executing query: "+("string"!=typeof t?t.getSql():t)),await this.client.query(t,r)}catch(e){throw this.parseError(e)}}prepare(t,r=!1,a){const n=super.prepare(t,a);n.record=Object.entries(n.record).reduce((e,[t,r])=>(t===E.METADATA||this.isReserved(t)||void 0===r||(r instanceof Date?r=new Date(r.getTime()):V.isModel(r)?r=this.prepare(r,!0,a).record:"string"==typeof r&&(r=""+r),e[t]=r),e),{});const s=V.get(t.constructor.name);if(!s)throw new R(`Model ${t.constructor.name} not found in registry`);const i=r?new(e.constr(s)):new s;return r&&Object.defineProperty(i,"constructor",{configurable:!1,enumerable:!1,value:e,writable:!1}),Object.entries(n.record).forEach(([e,t])=>i[e]=t),n.record=i,n}revert(e,t,r,a,...n){const{log:s}=this.logCtx(n,this.revert);return a&&(s.verbose("re-adding transient properties: "+Object.keys(a).join(", ")),Object.entries(a).forEach(([r,a])=>{if(r in e&&void 0!==e[r])throw new R(`Transient property ${r} already exists on model ${"string"==typeof t?t:t.name}. should be impossible`);e[r]=a})),new t(e)}async create(e,t,r,...a){const n=this.client.getRepository(e);if(void 0!==t){const r=V.pk(e);if(await n.findOne({where:{[r]:t}}))throw new D(`Record already exists in table ${V.tableName(e)} with id: ${t}`)}try{return await n.save(r)}catch(e){throw this.parseError(e)}}async read(e,t,...r){let a;try{const r=this.client.getRepository(e),{nonEager:n,relations:s}=we(e),i=V.pk(e),o={where:{[i]:t},relations:s,loadRelationIds:{relations:n}};a=await r.findOneOrFail(o)}catch(e){throw this.parseError(e)}return a}async update(e,t,r,...a){const{ctx:n}=this.logCtx(a,this.update);await this.read(e,t,n);try{return this.client.getRepository(e).save(r)}catch(e){throw this.parseError(e)}}async delete(e,t,...r){const{ctx:a}=this.logCtx(r,this.delete),n=await this.read(e,t,a);try{const r=this.client.getRepository(e);return await r.delete(t),n}catch(e){throw this.parseError(e)}}async createAll(e,t,r,...a){const{ctx:n,log:s}=this.logCtx(a,this.createAll),i=V.tableName(e);s.debug(`Creating ${t.length} entries ${i} table`);try{const t=this.client.getRepository(e),a=await t.insert(r);return this.readAll(e,a.identifiers.map(e=>e.id),n)}catch(e){throw this.parseError(e)}}async readAll(e,t,...r){if(!t.length)return[];const{log:a}=this.logCtx(r,this.readAll),n=V.tableName(e);a.debug(`Reading ${t.length} entries ${n} table`);try{const r=V.pk(e);return this.client.getRepository(e).findBy({[r]:ae(t)})}catch(e){throw this.parseError(e)}}async updateAll(e,t,r,...a){const{log:n,ctxArgs:s}=this.logCtx(a,this.updateAll),i=V.tableName(e);n.debug(`Updating ${t.length} entries ${i} table`);const o=[],c=V.pk(e);for(const t of r)o.push(await this.update(e,t[c],t,...s));return o}async deleteAll(e,t,...r){if(!t.length)return[];const{ctxArgs:a,log:n}=this.logCtx(r,this.deleteAll),s=V.tableName(e);n.debug(`Deleting ${t.length} entries from ${s} table`);try{const r=this.client.getRepository(e),n=await this.readAll(e,t,...a),s=V.pk(e);return await r.delete({[s]:ae(t)}),n}catch(e){throw this.parseError(e)}}parseError(e,t){return qe.parseError(e,t)}isReserved(e){return!!e.match(ce)}static parseError(e,t){if(e instanceof O)return e;const r="string"==typeof e?e:e.message;if(r.match(/duplicate key|already exists/g))return new D(r);if(r.match(/does not exist|not found|Could not find/g))return new L(r);switch(r.toString()){case"23505":case"23503":case"42P07":return new D(t);case"42P01":case"42703":return new L(t);case"42P16":return new de(e);default:return r.toString().match(/ECONNREFUSED/g)?new w(e):new R(e)}}static async connect(e){const t=new re(e);return t.isInitialized||await t.initialize(),t}static async createDatabase(e,t){const r=H.for(this.createDatabase);r.verbose("Creating database "+t);try{await e.query("CREATE DATABASE "+t),r.info("Created database "+t)}catch(e){throw this.parseError(e)}}static async createNotifyFunction(e,t){const r=H.for(this.createNotifyFunction);r.verbose("Creating notify function");try{await e.query("CREATE OR REPLACE FUNCTION notify_table_changes()\nRETURNS trigger AS $$\nBEGIN\n PERFORM pg_notify(\n 'table_changes',\n json_build_object(\n 'table', TG_TABLE_NAME,\n 'action', TG_OP,\n 'data', row_to_json(NEW),\n 'old_data', row_to_json(OLD)\n )::text\n );\n RETURN NEW;\nEND;\n$$ LANGUAGE plpgsql SECURITY DEFINER\n;"),await e.query(`ALTER FUNCTION notify_table_changes() OWNER TO ${t};`),await e.query("\n GRANT EXECUTE ON FUNCTION notify_table_changes() TO public;\n "),r.info("Created notify function")}catch(e){throw this.parseError(e)}}static async deleteDatabase(e,t,r){try{r&&await e.query(`DROP OWNED BY ${r} CASCADE;`),await e.query("DROP DATABASE "+t)}catch(e){throw this.parseError(e)}}static async createUser(e,t,r,a){try{await e.query(`CREATE USER ${r} WITH PASSWORD '${a}'`),await e.query(`GRANT CONNECT ON DATABASE ${t} TO ${r}`),await e.query("GRANT USAGE ON SCHEMA public TO "+r),await e.query("GRANT CREATE ON SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO "+r),await e.query("ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO "+r),await e.query("ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO "+r)}catch(e){throw this.parseError(e)}}static async deleteUser(e,t,r){try{await e.query(`REASSIGN OWNED BY ${t} TO ${r}`),await e.query("REVOKE ALL ON ALL TABLES IN SCHEMA public FROM "+t),await e.query("REVOKE ALL ON SCHEMA public FROM "+t),await e.query("REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public FROM "+t),await e.query("REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public FROM "+t),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON TABLES FROM ${t}`),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON SEQUENCES FROM ${t};`),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON FUNCTIONS FROM ${t}`),await e.query(`DROP OWNED BY ${t} CASCADE`),await e.query(`DROP USER IF EXISTS "${t}"`)}catch(e){throw this.parseError(e)}}static parseTypeToPostgres(t,r,a=!1){switch(t.toLowerCase()){case"string":return r?"TEXT PRIMARY KEY":a?"TEXT":"VARCHAR";case"number":return r?"SERIAL PRIMARY KEY":"INTEGER";case"boolean":return"BOOLEAN";case"date":return"TIMESTAMP";case"bigint":return r?"BIGINT PRIMARY KEY":"BIGINT";default:{const r=V.get(t);if(r)return{model:r,pkType:e.type(r,V.pk(r))};throw new R("Unsupported type: "+t)}}}static parseValidationToPostgres(e,t,r,a,n){switch(a){case Y.REQUIRED:return"NOT NULL";case Y.MAX_LENGTH:return r||!n||"string"!==t.toLowerCase()?"":`(${n[Y.MAX_LENGTH]})`;case Y.MIN_LENGTH:return`CONSTRAINT ${e}_min_length_check CHECK (LENGTH(${e}) >= ${n[Y.MIN_LENGTH]})`;case Y.PATTERN:case Y.URL:case Y.EMAIL:return`CONSTRAINT ${e}_pattern_check CHECK (${e} ~ '${Ae(n[Y.PATTERN])}')`;case Y.TYPE:case Y.DATE:return"";case Y.MIN:return`CONSTRAINT ${e}_${a}_check CHECK (${e} >= ${n[Y.MIN]})`;case Y.MAX:return`CONSTRAINT ${e}_${a}_check CHECK (${e} <= ${n[Y.MAX]})`;case Y.PASSWORD:default:throw new R("Unsupported type: "+a)}}static parseRelationsToPostgres(e,t,r,a,n){const s=V.tableName(t),{cascade:i}=n,o=`${i.update?" ON UPDATE CASCADE":""}${i.delete?" ON DELETE CASCADE":""}`;if("relations"+a===E.ONE_TO_ONE)return`FOREIGN KEY (${e}) REFERENCES ${s}(${r})${o}`;throw new R("Unsupported operation: "+a)}static async getCurrentUser(e){try{return(await e.query("SELECT CURRENT_USER;"))[0].current_user}catch(e){throw this.parseError(e)}}static decoration(){super.decoration(),t.flavouredAs(le).for(E.TABLE).extend({decorator:t=>r=>{const a=e.constr(r),n=J().tables.find(e=>e.target===a);return n?(t&&(n.name=t),r):(_e(t||(()=>{try{return V.tableName(a)}catch{return a?.name}})())(a),r)}}).apply(),t.flavouredAs(le).for(q.ID).define({decorator:t=>(s,i)=>{const o=e.constr(s.constructor);J().tables.find(e=>e.target===o)||_e((()=>{try{return V.tableName(o)}catch{return o?.name}})()||o?.name)(o),n()(s,i);const c=[X(),M(),r(e.key(q.ID,i),t)];let l=t.type||e.type(s.constructor,i);switch(l){case String.name||String.name.toLowerCase():case String:t.generated=void 0!==t.generated&&t.generated;break;case Number.name||String.name.toLowerCase():case BigInt.name||BigInt.name.toLowerCase():case BigInt:case Number:t.generated=void 0===t.generated||t.generated;break;case"uuid":case"serial":t.generated=!0;break;case!l:throw new R(`Missing type information for property ${i} of ${s.name}`);default:throw Error("Unsupported type")}if(void 0===t.generated&&(t.generated=!0),t.generated){const e={name:t.name||V.sequenceName(s.constructor,"pk")};"serial"===t.type||"uuid"===t.type?c.push(xe("uuid"===t.type?t.type:"identity",e)):c.push(xe(e)),c.push(N())}else{switch("function"==typeof l&&l?.name?l.name:l){case Number.name||Number.name.toLowerCase():l="numeric";break;case"serial":case"uuid":break;case String.name||String.name.toLowerCase():l="varchar";break;case BigInt.name||BigInt.name.toLowerCase():l="bigint";break;default:throw new R("Unsupported type: "+l)}c.push(((e,t)=>(r,a)=>{let n;e===String||e===Boolean||e===Number?n=e:t=Object.assign({},e),t||(t={});const s=Reflect&&Reflect.getMetadata?Reflect.getMetadata("design:type",r,a):void 0;if(!n&&s&&(n=s),!t.type&&n&&(t.type=n),!t.type)throw new ee(r,a);if(t.nullable)throw new te(r,a);t.primary=!0;const i=J();$e(r.constructor,a,i.columns,t,"regular",i.relations),t.generated&&J().generations.push({target:r.constructor,propertyName:a,strategy:"string"==typeof t.generated?t.generated:"increment"})})({type:l,unique:!0}))}return t.generated&&c.push(B()),a(...c)(s,i)}}).apply(),t.flavouredAs(le).for(E.COLUMN).extend({decorator:e=>(t,r)=>{const a={};let n;e&&(a.name=e);try{n=V.pk(t.constructor)}catch(e){n=void 0}return n!==r&&(a.nullable=!0),Ie(a)(t,r)}}).apply(),t.flavouredAs(le).for(E.UNIQUE).define(r(E.UNIQUE,{})).extend(Ie({unique:!0})).apply();const s=z.key(Y.REQUIRED);t.flavouredAs(le).for(s).extend(Ie({nullable:!1})).apply(),t.flavouredAs(le).for(q.VERSION).define(K(Number),ne(),N()).apply();const i=q.TIMESTAMP,o=(c=q.TIMESTAMP,k.REFLECT+c);var c;t.flavouredAs(le).for(i).define({decorator:(e,t)=>{const n=[W(t,F.TIMESTAMP.DATE),X(F.TIMESTAMP.REQUIRED),r(z.key(q.TIMESTAMP),{operation:e,format:t}),N()];return-1!==e.indexOf(C.UPDATE)?n.push(r(o,{message:F.TIMESTAMP.INVALID}),b()):n.push(M()),a(...n)}}).extend({decorator:(e,t)=>(t,r)=>-1!==e.indexOf(C.UPDATE)?((e,t)=>{const r=J();$e(e.constructor,t,r.columns,{},"updateDate",r.relations)})(t,r):((e,t)=>{const r=J();$e(e.constructor,t,r.columns,{},"createDate",r.relations)})(t,r)}).apply(),t.flavouredAs(le).for(E.ONE_TO_ONE).define({decorator:(t,s,i,o,c)=>{const l={class:t,cascade:s,populate:i};o&&(l.joinTable=o),c&&(l.name=c);const u={cascade:s.update===S.CASCADE||s.delete===S.CASCADE,onDelete:s.delete?"CASCADE":"DEFAULT",onUpdate:s.update?"CASCADE":"DEFAULT",nullable:!0,eager:i};return a(n(),T(E.ONE_TO_ONE,l),K([t,String,Number,BigInt]),r(E.ONE_TO_ONE,l),((e,t,r)=>{let a;return ve.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let s=!(!r||!0!==r.lazy);if(!s&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(s=!0)}const i=J();r=Object.assign(r,Le(t.constructor,n,i.columns)),i.relations.push({target:t.constructor,propertyName:n,isLazy:s,relationType:"one-to-one",type:e,inverseSideProperty:a,options:r})}})(()=>{"function"!=typeof t||t.name||(t=t());const r=e.constr(t);if(r===t)throw new R("Original Model not found in constructor");return r},e=>("function"!=typeof t||t.name||(t=t()),e[V.pk(t)]),u),se(o||l.name?{foreignKeyConstraintName:l.name}:void 0))}}).apply(),t.flavouredAs(le).for(E.ONE_TO_MANY).define({decorator:(t,s,i,o,c)=>{const l={class:t,cascade:s,populate:i};o&&(l.joinTable=o),c&&(l.name=c);const u=[n(),T(E.ONE_TO_MANY,l),Q(t),r(E.ONE_TO_MANY,l),(r,a)=>{const n={cascade:s.update===S.CASCADE||s.delete===S.CASCADE,onDelete:s.delete?"CASCADE":"DEFAULT",onUpdate:s.update?"CASCADE":"DEFAULT",nullable:!0,eager:i};return(o=()=>{"function"!=typeof t||t.name||(t=t());const r=e.constr(t);if(r===t)throw new R("Original Model not found in constructor");return r},c=a=>{"function"!=typeof t||t.name||(t=t());const n=e.relations(t);if(!n)throw new R("No relations found on model "+t.name);const s=n.find(a=>{const n=V.relations(t,a);if(n.key!==E.MANY_TO_ONE)return!1;const s="function"!=typeof n.class||n.class.name?n.class:n.class(),i=e.constr(r.constructor);return s.name===i.name});if(!s)throw new R(`Cross relation not found. Did you use @manyToOne on the ${t.name}?`);return a[s]},l=n,(e,t)=>{l||(l={});let r=l&&!0===l.lazy;if(!r&&Reflect&&Reflect.getMetadata){const a=Reflect.getMetadata("design:type",e,t);a&&"string"==typeof a.name&&"promise"===a.name.toLowerCase()&&(r=!0)}const a=J();l=Object.assign(l,Le(e.constructor,t,a.columns)),a.relations.push({target:e.constructor,propertyName:t,isLazy:r,relationType:"one-to-many",type:o,inverseSideProperty:c,options:l})})(r,a);var o,c,l}];return a(...u)}}).apply(),t.flavouredAs(le).for(E.MANY_TO_ONE).define({decorator:(t,n,s,i,o)=>{const c={class:t,cascade:n,populate:s};i&&(c.joinTable=i),o&&(c.name=o);const l={cascade:n.update===S.CASCADE||n.delete===S.CASCADE,onDelete:n.delete?"CASCADE":"NO ACTION",onUpdate:n.update?"CASCADE":"NO ACTION",nullable:!0,eager:s};return a(T(E.MANY_TO_ONE,c),K([t,String,Number,BigInt]),r(E.MANY_TO_ONE,c),(r,a)=>((e,t,r)=>{let a;return ve.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let s=r&&!0===r.lazy;if(!s&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(s=!0)}const i=J();r=Object.assign(r,Le(t.constructor,n,i.columns)),i.relations.push({target:t.constructor,propertyName:n,relationType:"many-to-one",isLazy:s,type:e,inverseSideProperty:a,options:r})}})(()=>{"function"!=typeof t||t.name||(t=t());const r=e.constr(t);if(r===t)throw new R("Original Model not found in constructor");return r},a=>{"function"!=typeof t||t.name||(t=t());const n=e.relations(t);let s=V.pk(t);return n?(s=n.find(a=>{const n=V.relations(t,a);if(n.key!==E.ONE_TO_MANY)return!1;const s="function"!=typeof n.class||n.class.name?n.class:n.class(),i=e.constr(r.constructor);return s.name===i.name})||s,a[s]):a[s]},l)(r,a))}}).apply(),t.flavouredAs(le).for(E.MANY_TO_MANY).define({decorator:(t,n,s,i,o)=>{const c={class:t,cascade:n,populate:s};i&&(c.joinTable=i),o&&(c.name=o);const l={cascade:n.update===S.CASCADE||n.delete===S.CASCADE,onDelete:n.delete?"CASCADE":"DEFAULT",onUpdate:n.update?"CASCADE":"DEFAULT",nullable:!0,eager:s};return a(T(E.MANY_TO_MANY,c),Q(t),r(E.MANY_TO_MANY,c),((e,t,r)=>{let a;return ve.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let s=!0===r.lazy;if(!s&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(s=!0)}const i=J();r=Object.assign(r,Le(t.constructor,n,i.columns)),i.relations.push({target:t.constructor,propertyName:n,relationType:"many-to-many",isLazy:s,type:e,inverseSideProperty:a,options:r})}})(()=>{"function"!=typeof t||t.name||(t=t());const r=e.constr(t);if(r===t)throw new R("Original Model not found in constructor");return r},e=>("function"!=typeof t||t.name||(t=t()),e[V.pk(t)]),l),ie(i))}}).apply(),t.flavouredAs(le).for(E.INDEX).extend({decorator:(e,t,r)=>(r,a)=>("string"==typeof e&&(e=void 0,t=void 0),"string"==typeof t&&(t=void 0),!t&&e&&e.find(e=>![d.ASC,d.DSC].includes(e))&&(t=e,e=void 0),t&&t.length?oe([a,...t])(r):oe()(r,a))}).apply(),t.flavouredAs(le).for(E.CREATED_BY).define(U(De,{}),X(),r(E.CREATED_BY,{}),N()).apply(),t.flavouredAs(le).for(E.UPDATED_BY).define(P(De,{}),X(),r(E.UPDATED_BY,{}),b()).apply()}}s([G(),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",Ce)],qe.prototype,"Dispatch",null),s([G(),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",Object)],qe.prototype,"repository",null),s([G(),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",Ne)],qe.prototype,"Statement",null),s([G(),i("design:type",Function),i("design:paramtypes",[Object]),i("design:returntype",Promise)],qe.prototype,"Sequence",null),s([G(),i("design:type",Function),i("design:paramtypes",[Object]),i("design:returntype",Promise)],qe.prototype,"index",null),qe.decoration(),m.setCurrent(le);const Ue="##VERSION##",Pe="##PACKAGE##";e.registerLibrary(Pe,Ue);export{de as IndexError,Pe as PACKAGE_NAME,pe as SQLOperator,qe as TypeORMAdapter,Ee as TypeORMConst,Ce as TypeORMDispatch,le as TypeORMFlavour,ye as TypeORMGroupOperator,ue as TypeORMKeys,ge as TypeORMOperator,fe as TypeORMPaginator,he as TypeORMQueryLimit,Oe as TypeORMRepository,Se as TypeORMSequence,Ne as TypeORMStatement,Ue as VERSION,Ae as convertJsRegexToPostgres,be as enforceDbDecoratorsRecursive,Te as generateIndexes,ce as reservedAttributes,we as splitEagerRelations,me as translateOperators};
|
|
1
|
+
import{Metadata as e,Decoration as t,propMetadata as r,apply as a,prop as n}from"@decaf-ts/decoration";import{__decorate as s,__metadata as i}from"tslib";import{Paginator as o,PagingError as c,QueryError as l,Statement as u,OrderDirection as d,UnsupportedError as p,GroupOperator as h,Operator as g,Sequence as y,PersistenceKeys as E,Repository as f,Adapter as m,Dispatch as A,ConnectionError as w,noValidateOnCreate as N,Cascade as S,relation as T,noValidateOnCreateUpdate as b}from"@decaf-ts/core";import{BaseError as O,InternalError as R,OperationKeys as C,NotFoundError as L,DefaultSeparator as $,enforceDBDecorators as I,ValidationError as v,BulkCrudOperationKeys as x,reduceErrorsToPrint as _,ConflictError as D,DBKeys as q,onCreate as U,onCreateUpdate as P,readonly as M,generated as B,UpdateValidationKeys as k,DEFAULT_ERROR_MESSAGES as F}from"@decaf-ts/db-decorators";import{isClass as j,final as G,Logging as H}from"@decaf-ts/logging";import{Model as V,ValidationKeys as Y,Validation as z,type as K,list as Q,required as X,date as W}from"@decaf-ts/decorator-validation";import{EventSubscriber as Z,getMetadataArgsStorage as J,ColumnTypeUndefinedError as ee,PrimaryColumnCannotBeNullableError as te,DataSource as re,In as ae,VersionColumn as ne,JoinColumn as se,JoinTable as ie,Index as oe}from"typeorm";const ce=/^(select|from|where|and|or|insert|update|delete|drop|create|table|index|primary|key|foreign|references|constraint|unique|check|default|null|not|as|order|by|group|having|limit|offset|join|inner|outer|left|right|full|on|using|values|returning|set|into|case|when|then|else|end|cast|coalesce|exists|any|all|some|in|between|like|ilike|similar|to|is|true|false|asc|desc|distinct|union|intersect|except|natural|lateral|window|over|partition|range|rows|unbounded|preceding|following|current|row|with|recursive|materialized|view|function|trigger|procedure|language|returns|return|declare|begin|commit|rollback|savepoint|transaction|temporary|temp|if|loop|while|for|continue|exit|raise|exception|notice|info|log|debug|assert|execute|perform|get|diagnostics|call|do|alias|comment|vacuum|analyze|explain|copy|grant|revoke|privileges|public|usage|schema|sequence|owned|owner|tablespace|storage|inherits|type|operator|collate|collation|cascade|restrict|add|alter|column|rename|to|enable|disable|force|no|instead|of|before|after|each|statement|row|execute|also|only|exclude|nulls|others|ordinality|ties|nothing|cache|cycle|increment|minvalue|maxvalue|start|restart|by|called|returns|language|immutable|stable|volatile|strict|security|definer|invoker|cost|rows|support|handler|inline|validator|options|storage|inheritance|oids|without|data|dictionary|encoding|lc_collate|lc_ctype|connection|limit|password|valid|until|superuser|nosuperuser|createdb|nocreatedb|createrole|nocreaterole|inherit|noinherit|login|nologin|replication|noreplication|bypassrls|nobypassrls|encrypted|unencrypted|new|old|session_user|current_user|current_role|current_schema|current_catalog|current_date|current_time|current_timestamp|localtime|localtimestamp|current_database|inet|cidr|macaddr|macaddr8|bit|varbit|tsvector|tsquery|uuid|xml|json|jsonb|int|integer|smallint|bigint|decimal|numeric|real|double|precision|float|boolean|bool|char|character|varchar|text|bytea|date|time|timestamp|interval|point|line|lseg|box|path|polygon|circle|money|void)$/i,le="type-orm",ue={SEPARATOR:".",ID:"id",VERSION:"version",DELETED:"deleted_at",TABLE:"table_name",SCHEMA:"schema_name",SEQUENCE:"sequence_name",INDEX:"index"};class de extends O{constructor(e){super(de.name,e,404)}}var pe;(e=>{e.EQUAL="=",e.NOT_EQUAL="<>",e.LESS_THAN="<",e.LESS_THAN_OR_EQUAL="<=",e.GREATER_THAN=">",e.GREATER_THAN_OR_EQUAL=">=",e.IN="IN",e.NOT_IN="NOT IN",e.LIKE="LIKE",e.ILIKE="ILIKE",e.BETWEEN="BETWEEN",e.IS_NULL="IS NULL",e.IS_NOT_NULL="IS NOT NULL",e.EXISTS="EXISTS",e.NOT_EXISTS="NOT EXISTS",e.ANY="ANY",e.ALL="ALL",e.SOME="SOME"})(pe||(pe={}));const he=250,ge={EQUAL:pe.EQUAL,DIFFERENT:pe.NOT_EQUAL,BIGGER:pe.GREATER_THAN,BIGGER_EQ:pe.GREATER_THAN_OR_EQUAL,SMALLER:pe.LESS_THAN,SMALLER_EQ:pe.LESS_THAN_OR_EQUAL,BETWEEN:pe.BETWEEN,NOT:"NOT",IN:pe.IN,IS_NULL:pe.IS_NULL,IS_NOT_NULL:pe.IS_NOT_NULL,REGEXP:"~",IREGEXP:"~*",LIKE:pe.LIKE,ILIKE:pe.ILIKE},ye={AND:"AND",OR:"OR"},Ee={NULL:"NULL"};class fe extends o{get total(){return this._totalPages}get count(){return this._recordCount}get repo(){return this.__repo||(this.__repo=this.adapter.client.getRepository(e.constr(this.clazz))),this.__repo}constructor(e,t,r,a){super(e,t,r,a)}prepare(e){return{...e}}async page(e=1,...t){const{ctxArgs:r,ctx:a}=this.adapter.logCtx(t,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...r);const n={...this.statement};this._recordCount&&this._totalPages||(this._totalPages=this._recordCount=0);const s=Object.assign(n,{skip:(this.current||0)*this.size,take:this.size}),i=await this.repo.findAndCount(s);if(this._recordCount=i[1],this._totalPages=Math.ceil(this._recordCount/this.size),!this.clazz)throw new c("No statement target defined");const o=V.pk(this.clazz),l=(i[0]||[]).map((e=>this.adapter.revert(e,this.clazz,e[o],void 0,a)));return this._currentPage=e,l}}function me(e){for(const t of[ge,ye]){const r=Object.keys(t).find((t=>t===e));if(r)return t[r]}throw new l("Could not find adapter translation for operator "+e)}function Ae(e){const t=RegExp(/^\/(.+)\/(\w+)$/g);if("string"==typeof e){const r=t.exec(e);if(r){const[,t]=r;e=t}}return("string"==typeof e?RegExp(e):e).source}function we(t,r={}){const a=V.relations(t);if(r[t.name]=r[t.name]||void 0,r[t.name])return r[t.name];const n=a.reduce(((a,n)=>{const s=e.relations(t,n),i=s.populate;let o=s.class;if(j(o)||(o=o()),!o)throw new R(`Could not find class for property ${n} on model ${t.name}`);if(i?a.relations.push(n):a.nonEager.push(n),a.relations.includes(n)){const{nonEager:e,relations:t}=we(o,r);if(e.length&&a.relations.includes(n)){const t=e.map((e=>`${n}.${e}`));a.nonEager.push(...t)}if(t.length){const e=t.map((e=>`${n}.${e}`));a.relations.push(...e)}}return a}),{nonEager:[],relations:[]});return r[t.name]=n,n}class Ne extends u{constructor(e){super(e)}build(){const t=this.log.for(this.build),r=V.tableName(this.fromSelector),a={query:this.adapter.client.getRepository(e.constr(this.fromSelector)).createQueryBuilder(r)};if(void 0!==this.countSelector){const e=null===this.countSelector?"*":`${r}.${this.countSelector}`;a.query=a.query.select(`COUNT(${e})`,"count")}else if(void 0!==this.countDistinctSelector){const e=null===this.countDistinctSelector?"*":`${r}.${this.countDistinctSelector}`;a.query=a.query.select(`COUNT(DISTINCT ${e})`,"count")}else this.sumSelector?a.query=a.query.select(`SUM(${r}.${this.sumSelector})`,"sum"):this.avgSelector?a.query=a.query.select(`AVG(${r}.${this.avgSelector})`,"avg"):this.maxSelector?a.query=a.query.select(`MAX(${r}.${this.maxSelector})`,"max"):this.minSelector?a.query=a.query.select(`MIN(${r}.${this.minSelector})`,"min"):this.distinctSelector?a.query=a.query.select(`DISTINCT ${r}.${this.distinctSelector}`,this.distinctSelector):this.selectSelector?a.query=a.query.select(this.selectSelector.map((e=>`${r}.${e}`))):a.query=a.query.select();if(this.whereCondition&&(a.query=this.parseCondition(this.whereCondition,r,a.query).query),this.groupBySelectors&&this.groupBySelectors.length){const[e,...t]=this.groupBySelectors;a.query=a.query.groupBy(`${r}.${e}`);for(const e of t)a.query=a.query.addGroupBy(`${r}.${e}`)}const n=this.hasAggregation();if(n){if(this.orderBySelectors&&this.orderBySelectors.length){const[e,t]=this.orderBySelectors[0];a.query=a.query.orderBy(`${r}.${e}`,t.toUpperCase());for(let e=1;e<this.orderBySelectors.length;e++){const[t,n]=this.orderBySelectors[e];a.query=a.query.addOrderBy(`${r}.${t}`,n.toUpperCase())}}}else if(this.orderBySelectors&&this.orderBySelectors.length){const[e,t]=this.orderBySelectors[0];a.query=a.query.orderBy(`${r}.${e}`,t.toUpperCase());for(let e=1;e<this.orderBySelectors.length;e++){const[t,n]=this.orderBySelectors[e];a.query=a.query.addOrderBy(`${r}.${t}`,n.toUpperCase())}}else a.query=a.query.orderBy(`${r}.${V.pk(this.fromSelector)}`,d.ASC.toUpperCase());return n?this.limitSelector&&(a.query=a.query.limit(this.limitSelector)):this.limitSelector?a.query=a.query.limit(this.limitSelector):(t.debug("No limit selector defined. Using default limit of 250"),a.query=a.query.limit(250)),this.offsetSelector&&(a.query=a.query.skip(this.offsetSelector)),a}async paginate(e){try{const t={};if(this.whereCondition&&(t.where=this.parseConditionForPagination(this.whereCondition,V.tableName(this.fromSelector))),this.orderBySelectors&&this.orderBySelectors.length){const e={};for(const[t,r]of this.orderBySelectors)e[t]=r.toString().toUpperCase();t.order=e}return this.adapter.Paginator(t,e,this.fromSelector)}catch(e){throw new l(e)}}async raw(e,...t){const{ctx:r}=this.logCtx(t,this.raw);if(!r.get("allowRawStatements"))throw new p("Raw statements are not allowed in the current configuration");const a=e.query;if(this.hasAggregation()){if(this.groupBySelectors&&this.groupBySelectors.length){const e=await a.getRawMany();return this.groupResults(e)}{const e=await a.getRawOne();return void 0!==this.countSelector||void 0!==this.countDistinctSelector?Number(e?.count||0):this.sumSelector?Number(e?.sum||0):this.avgSelector?Number(e?.avg||0):this.maxSelector?e?.max:this.minSelector?e?.min:this.distinctSelector?(await a.getRawMany()).map((e=>e[this.distinctSelector])):e}}const{nonEager:n}=we(this.fromSelector);return e.query=a.setFindOptions({loadEagerRelations:!0,loadRelationIds:{relations:n}}),await e.query.getMany()}groupResults(e){if(!this.groupBySelectors||!this.groupBySelectors.length)return e;const t=V.tableName(this.fromSelector),r=this.groupBySelectors.map((e=>`${t}_${e}`)),a={};for(const t of e){let e=a;for(let a=0;a<r.length-1;a++){const n=t[r[a]];e[n]||(e[n]={}),e=e[n]}const n=t[r[r.length-1]];e[n]||(e[n]=[]),e[n].push(t)}return a}parseConditionForPagination(e,t,r=0,a){throw new R("Not implemented")}parseCondition(e,t,r,a=0,n){const{attr1:s,operator:i,comparison:o}=e;if(-1===[h.AND,h.OR,g.NOT].indexOf(i))return(()=>{const e=me(i),c=`${s}${a}`;let l,u;if(i===g.BETWEEN){const[r,n]=o,i=`${s}${a}_min`,c=`${s}${a}_max`;l=`${t}.${s} ${e} :${i} AND :${c}`,u={[i]:r,[c]:n}}else i===g.IN?(l=`${t}.${s} ${e} (:...${c})`,u={[c]:o}):(l=`${t}.${s} ${e} :${c}`,u={[c]:o});switch(n){case h.AND:return{query:r.andWhere(l,u)};case h.OR:return{query:r.orWhere(l,u)};case g.NOT:throw Error("NOT operator not implemented");default:return{query:r.where(l,u)}}})();if(i===g.NOT)throw Error("NOT operator not implemented");return r=this.parseCondition(s,t,r,++a).query,this.parseCondition(o,t,r,++a,i)}}class Se extends y{constructor(e,t){super(e,t)}async current(...e){const{ctx:t}=(await this.logCtx(e,C.READ,!0)).for(this.current),{name:r,startWith:a}=this.options;try{if(!r)throw new R("Sequence name is required to read current");const e=`"${r.replace(/"/g,'""')}"`,a=await this.adapter.raw({query:`SELECT last_value, is_called FROM ${e};`,values:[]},!0,t);if(!Array.isArray(a)||0===a.length)throw new R("Failed to read current value for "+r);const n=a[0];return this.parse(n.last_value)}catch(e){if(e instanceof L){if(void 0===a)throw new R("Starting value is not defined for a non existing sequence");return this.parse(a)}throw this.adapter.parseError(e)}}async increment(e,t){const{type:r,incrementBy:a,name:n,startWith:s,minValue:i,maxValue:o,cycle:c}=this.options;if("Number"!==r&&"BigInt"!==r)throw new R(`Cannot increment sequence of type ${r} with ${e}`);if(!n)throw new R("Cannot increment sequence without a name: "+n);try{const s=e??a;if(s%a!=0)throw new R("Value to increment does not consider the incrementBy setting: "+a);const i=await this.current(t),o="BigInt"===r?this.parse(i)+BigInt(s):this.parse(i)+s;return await this.adapter.raw({query:"SELECT setval($1::regclass, $2, true) AS nextval;",values:[n,o]},!0,t),o}catch(l){if(!(l instanceof L))throw l;const u=`"${n.replace(/"/g,'""')}"`,d="number"==typeof s?s:a,p="number"==typeof i?" MINVALUE "+i:"number"==typeof s&&1>s?" MINVALUE "+s:"",h="number"==typeof o?" MAXVALUE "+o:"",g=c?" CYCLE":" NO CYCLE";await this.adapter.raw({query:`CREATE SEQUENCE IF NOT EXISTS ${u} START WITH ${d} INCREMENT BY ${a}${p}${h}${g};`,values:[]},!0,t);const y=e??a;if(y%a!=0)throw new R("Value to increment does not consider the incrementBy setting: "+a);const E="number"==typeof s?s:this.parse(s),f="BigInt"===r?this.parse(E)+BigInt(y):this.parse(E)+y;return await this.adapter.raw({query:"SELECT setval($1::regclass, $2, true) AS nextval;",values:[n,f]},!0,t),f}}async next(...e){const{ctx:t}=(await this.logCtx(e,C.UPDATE,!0)).for(this.next);return this.increment(void 0,t)}async range(e,...t){const{ctx:r}=(await this.logCtx(t,C.UPDATE,!0)).for(this.range),a=await this.current(r),n=this.parse(this.options.incrementBy),s=await this.increment(this.parse(e)*n,r),i=[];for(let t=1;e>=t;t++)i.push(a+n*this.parse(t));if(i[i.length-1]!==s)throw new R("Miscalculation of range");return i}}function Te(e){const t=((e,t,r,a=$)=>[...e.map((e=>e===ue.TABLE?"table":e)),...r||[],...t?[t]:[],ue.INDEX].join(a))([ue.TABLE]),r={};return r[t]={query:"",values:[]},e.forEach((e=>{const t=V.indexes(e);Object.entries(t).forEach((([t,a])=>{const n=Object.keys(a)[0];let{compositions:s}=a[n];const i=V.tableName(e);s=s||[],(()=>{const e=[t,...s,E.INDEX].join($);r[e]={query:"CREATE INDEX $1 ON $2 ($3);",values:[e,i,t]}})()}))})),Object.values(r)}async function be(t,r,a,n,s,i){async function o(e,t){const a=f.forModel(e.constructor);await be(a,r,e,t||n!==C.UPDATE?n:C.CREATE,s,t)}await I(t,r,a,n,s,i);for(const t of Object.keys(a))V.isPropertyModel(a,t)&&void 0!==a[t]?await o(a[t],i?i[t]:void 0):e.validationFor(a.constructor,t,Y.LIST)&&a[t]&&Array.isArray(a[t])&&await Promise.all(a[t].map(((e,r)=>o(e,i&&i[t]?i[t][r]:void 0))))}class Oe extends f{constructor(e,t,...r){super(e,t,...r),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!1,ignoreHandlers:!1,allowRawStatements:!0,forcePrepareSimpleQueries:!1,forcePrepareComplexQueries:!1})}queryBuilder(){return this.nativeRepo().createQueryBuilder()}nativeRepo(){const t=e.constr(this.class);return this.adapter.dataSource.getRepository(t)}async createPrefix(e,...t){const{ctx:r,ctxArgs:a,log:n}=(await this.logCtx(t,C.CREATE,!0)).for(this.createPrefix),s=r.get("ignoreHandlers"),i=r.get("ignoreValidation");if(n.silly(`handlerSetting: ${s}, validationSetting: ${i}`),e=new this.class(e),s||await be(this,r,e,C.CREATE,C.ON),!i){const t=r.get("ignoredValidationProperties")||[];n.silly("ignored validation properties: "+t);const a=await Promise.resolve(e.hasErrors(...t));if(a)throw new v(a.toString())}return[e,...a]}async create(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.create);n.debug(`Creating new ${this.class.name} in table ${V.tableName(this.class)}`);let{record:i,id:o,transient:c}=this.adapter.prepare(t,!1,a);return i=await this.adapter.create(e.constr(this.class),o,t,...s),this.adapter.revert(i,this.class,o,c,a)}async createSuffix(e,t){return t.get("ignoreHandlers")||await be(this,t,e,C.CREATE,C.AFTER),e}async readPrefix(e,...t){const{ctx:r,ctxArgs:a,log:n}=(await this.logCtx(t,C.READ,!0)).for(this.readPrefix),s=r.get("ignoreHandlers");n.silly("handlerSetting: "+s);const i=new this.class;return i[this.pk]=e,s||await be(this,r,i,C.READ,C.ON),[e,...a]}async read(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.read);n.debug(`reading ${this.class.name} from table ${V.tableName(this.class)} with pk ${this.pk}`);const i=await this.adapter.read(e.constr(this.class),t,...s);return this.adapter.revert(i,this.class,t,void 0,a)}async readSuffix(e,t){return t.get("ignoreHandlers")||await be(this,t,e,C.READ,C.AFTER),e}async updatePrefix(e,...t){const{ctx:r,ctxArgs:a,log:n}=(await this.logCtx(t,C.UPDATE,!0)).for(this.updatePrefix),s=r.get("ignoreHandlers"),i=r.get("ignoreValidation");n.silly(`handlerSetting: ${s}, validationSetting: ${i}`);const o=e[this.pk];if(!o)throw new R("No value for the Id is defined under the property "+this.pk);let c;if(r.get("applyUpdateValidation")&&(c=await this.read(o,r),r.get("mergeForUpdate")&&(e=V.merge(c,e,this.class))),s||await be(this,r,e,C.UPDATE,C.ON,c),!i){const t=r.get("ignoredValidationProperties")||[];n.silly("ignored validation properties: "+t);const a=await Promise.resolve(e.hasErrors(c,...V.relations(this.class),...t));if(a)throw new v(a.toString())}return[e,...a,c]}async update(t,...r){const{ctxArgs:a,log:n,ctx:s}=this.logCtx(r,this.update);let{record:i,id:o,transient:c}=this.adapter.prepare(t,!1,s);return n.debug(`updating ${this.class.name} in table ${V.tableName(this.class)} with id ${o}`),i=await this.adapter.update(e.constr(this.class),o,t,...a),this.adapter.revert(i,this.class,o,c,s)}async updateSuffix(e,t,r){return r.get("ignoreHandlers")||await be(this,r,e,C.UPDATE,C.AFTER,t),e}async delete(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.delete);n.debug(`deleting new ${this.class.name} in table ${V.tableName(this.class)} with pk ${t}`);const i=await this.adapter.delete(e.constr(this.class),t,...s);return this.adapter.revert(i,this.class,t,void 0,a)}async deleteSuffix(e,t){return t.get("ignoreHandlers")||await be(this,t,e,C.DELETE,C.AFTER),e}async createAllPrefix(e,...t){const{ctx:r,ctxArgs:a,log:n}=(await this.logCtx(t,x.CREATE_ALL,!0)).for(this.createAllPrefix),s=r.get("ignoreHandlers"),i=r.get("ignoreValidation");if(n.silly(`handlerSetting: ${s}, validationSetting: ${i}`),!e.length)return[e,...a];const o=V.sequenceFor(e[0]);let c=[];V.generatedBySequence(this.class)?(o.name||(o.name=V.sequenceName(e[0],"pk")),c=await(await this.adapter.Sequence(o)).range(e.length,...a)):V.generated(this.class,this.pk)||(c=e.map(((e,t)=>{if(void 0===e[this.pk])throw new R("Primary key is not defined for model in position "+t);return e[this.pk]}))),e=await Promise.all(e.map((async(e,t)=>(e=new this.class(e),o.type&&(e[this.pk]="String"!==o.type||o.generated?c[t]:""+e[this.pk]),s||await be(this,r,e,C.CREATE,C.ON),e))));const l=r.timestamp||new Date;if(e=e.map((e=>("createdAt"in e&&Object.assign(e,{createdAt:l}),"updatedAt"in e&&Object.assign(e,{updatedAt:l}),e))),!i){const t=r.get("ignoredValidationProperties")||[];n.silly("ignored validation properties: "+t);const a=await Promise.all(e.map((e=>Promise.resolve(e.hasErrors(...t))))),s=_(a);if(s)throw new v(s)}return[e,...a]}async createAll(t,...r){if(!t.length)return t;const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.createAll);n.debug(`Creating ${t.length} new ${this.class.name} in table ${V.tableName(this.class)}`);const i=t.map((e=>this.adapter.prepare(e,!1,a))),o=i.map((e=>e.id));let c=i.map((e=>e.record));return c=await this.adapter.createAll(e.constr(this.class),o,t,...s),c.map(((e,t)=>this.adapter.revert(e,this.class,o[t],a.get("rebuildWithTransient")?i[t].transient:void 0,a)))}async createAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map((e=>be(this,t,e,C.CREATE,C.AFTER)))),e}async readAll(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.readAll);return n.debug(`reading ${t.length} ${this.class.name} in table ${V.tableName(this.class)}`),(await this.adapter.readAll(e.constr(this.class),t,...s)).map(((e,r)=>this.adapter.revert(e,this.class,t[r],void 0,a)))}async readAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map((e=>be(this,t,e,C.READ,C.AFTER)))),e}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:a,log:n}=(await this.logCtx(t,x.UPDATE_ALL,!0)).for(this.updateAllPrefix),s=r.get("ignoreHandlers"),i=r.get("ignoreValidation");n.silly(`handlerSetting: ${s}, validationSetting: ${i}`);const o=e.map((e=>{const t=e[this.pk];if(!t)throw new R("missing id on update operation");return t}));let c;if(r.get("applyUpdateValidation")&&(c=await this.readAll(o,r),r.get("mergeForUpdate")&&(e=e.map(((e,t)=>V.merge(c[t],e,this.class))))),s||await Promise.all(e.map(((e,t)=>be(this,r,e,C.UPDATE,C.ON,c?c[t]:void 0)))),!i){const t=r.get("ignoredValidationProperties")||[];let a;n.silly("ignored validation properties: "+t),a=r.get("applyUpdateValidation")?await Promise.all(e.map(((e,r)=>Promise.resolve(e.hasErrors(c[r],...t))))):await Promise.resolve(e.map((e=>e.hasErrors(...t))));const s=_(a);if(s)throw new v(s)}return[e,...a,c]}async updateAll(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.updateAll);n.verbose(`Updating ${t.length} new ${this.class.name} in table ${V.tableName(this.class)}`);const i=t.map((e=>this.adapter.prepare(e,!1,a)));return(await this.adapter.updateAll(e.constr(this.class),i.map((e=>e.id)),t,...s)).map(((e,t)=>this.adapter.revert(e,this.class,i[t].id,a.get("rebuildWithTransient")?i[t].transient:void 0,a)))}async updateAllSuffix(e,t,r){if(r.get("applyUpdateValidation")&&!r.get("ignoreDevSafeGuards")&&!t)throw new R("No previous versions of models provided");return r.get("ignoreHandlers")||await Promise.all(e.map(((e,a)=>be(this,r,e,C.UPDATE,C.AFTER,t?t[a]:void 0)))),e}async deleteAll(t,...r){const{ctx:a,log:n,ctxArgs:s}=this.logCtx(r,this.create);return n.debug(`deleting ${t.length} ${this.class.name} in table ${V.tableName(this.class)}`),(await this.adapter.deleteAll(e.constr(this.class),t,...s)).map(((e,r)=>this.adapter.revert(e,this.class,t[r],void 0,a)))}}let Re=class{constructor(e,t){if(this.adapter=e,this.handler=t,!this.adapter)throw new R("Missing adapter. Should not be possible")}async afterInsert(e){const t=e.entity.constructor,r=await this.adapter.context(C.CREATE,{},t);this.handler(t,C.CREATE,e.entityId,e.entity,r)}async afterRemove(e){const t=e.metadata.target,r=await this.adapter.context(C.DELETE,{},t);this.handler(t,C.DELETE,"",{},r)}async afterUpdate(e){const t=e.databaseEntity.constructor,r=await this.adapter.context(C.UPDATE,{},t);return this.handler(t,C.UPDATE,e.entity[V.pk(t)],e.entity,r)}};Re=s([Z(),i("design:paramtypes",[m,Function])],Re);class Ce extends A{constructor(){super()}async notificationHandler(e,t,r,...a){const{log:n,ctxArgs:s}=this.logCtx(a,this.notificationHandler);try{await this.updateObservers(e,t,r,...s),n.verbose(`Observer refresh dispatched by ${t} for ${e}`),n.debug("pks: "+r)}catch(e){n.error("Failed to process notification: "+e)}}async initialize(...e){const{log:t}=(await this.logCtx(e,E.INITIALIZATION,!0)).for(this.initialize);(async function(){if(!this.adapter)throw new R("No adapter/native observed for dispatch");try{this.adapter.client.isInitialized||await this.adapter.client.initialize(),this.adapter.client.subscribers.push(new Re(this.adapter,this.notificationHandler.bind(this)))}catch(e){throw new R(e)}}).call(this).then((()=>{t.info("Subscribed to TypeORM notifications")})).catch((e=>{throw new R("Failed to subscribe to TypeORM notifications: "+e)}))}async updateObservers(e,t,r,...a){if(this.adapter)return super.updateObservers(e,t,r,...a);this.log.verbose(`No adapter observed for dispatch; skipping observer update for ${e}:${t}`)}}function Le(e,t,r){let a=0;const n=r.filter(((r,n)=>(a=n,r.target===e&&r.propertyName===t)));return n.length?(r.splice(a,1),Object.entries(n[0].options).reduce(((e,[t,r])=>{switch(t){case"nullable":e[t]=r;break;case Y.TYPE:break;default:throw new p("Unsupported option for a relation: "+t)}return e}),{})):{}}function $e(e,t,r,a={},n="regular",s,i){const o=r.filter((r=>r.target===e&&r.propertyName===t)),c=s.filter((r=>r.target===e&&r.propertyName===t));if(i&&i.filter((r=>r.target===e&&r.columns.includes(t))).forEach((e=>{Object.assign(e,a)})),o.length>1)throw new R(`Multiple columns for ${t} found for given target: ${r.map((e=>e.propertyName)).join(", ")}`);if(c.length>1)throw new R(`Multiple relations for ${t} found for given target: ${c.map((e=>e.propertyName)).join(", ")}`);let l;0!==o.length||c.length?(c.length||(l=o[0],"regular"!==n&&Object.defineProperty(l,"mode",{value:n,writable:!0,enumerable:!0,configurable:!0})),c.length&&(a=Object.entries(a).reduce(((e,[t,r])=>("nullable"===t&&(e[t]=r),e)),{})),l=l||c[0],Object.defineProperty(l,"options",{value:{...l.options,...a},writable:!0,enumerable:!0,configurable:!0})):r.push({target:e,propertyName:t,mode:n,options:a})}function Ie(t,r){return(a,n)=>{let s;"string"==typeof t||"function"==typeof t?s=t:t&&(r=t,s=t.type),r||(r={});let i=Reflect&&Reflect.getMetadata?Reflect.getMetadata("design:type",a,n):void 0;!s&&i&&(s=i);const o=e.allowedTypes(a.constructor,n)[0];if(o!==i&&(s=o,i=o),!r.type&&s&&(r.type=s),"hstore"!==r.type||r.hstoreType||(r.hstoreType=i===Object?"object":"string"),"function"==typeof t)J().embeddeds.push({target:a.constructor,propertyName:n,isArray:i===Array||!0===r.array,prefix:void 0!==r.prefix?r.prefix:void 0,type:t});else{if(!r.type)throw new ee(a,n);!0===r.unique&&J().uniques.push({target:a.constructor,columns:[n]});const e=J();$e(a.constructor,n,e.columns,r,"regular",e.relations,r.unique?e.indices:void 0),r.generated&&J().generations.push({target:a.constructor,propertyName:n,strategy:"string"==typeof r.generated?r.generated:"increment"})}}}class ve{static isObject(e){return null!==e&&"object"==typeof e}static isObjectWithName(e){return null!==e&&"object"==typeof e&&void 0!==e.name}static assign(e,...t){for(const r of t)for(const t of Object.getOwnPropertyNames(r))e[t]=r[t]}}function xe(e,t){const r={};let a;return e?("string"==typeof e&&(a=e),ve.isObject(e)&&(a="increment",Object.assign(r,e))):a="increment",ve.isObject(t)&&Object.assign(r,t),(e,t)=>{r.type||("increment"===a||"identity"===a?r.type=Number:"uuid"===a?r.type="uuid":"rowid"===a&&(r.type="int")),r.primary=!0;const n=J();$e(e.constructor,t,n.columns,r,"regular",n.relations),J().generations.push({target:e.constructor,propertyName:t,strategy:a})}}function _e(e,t){const r=(ve.isObject(e)?e:t)||{},a="string"==typeof e?e:r.name;return e=>{J().tables.push({target:e,name:a,type:"regular",orderBy:r.orderBy?r.orderBy:void 0,engine:r.engine?r.engine:void 0,database:r.database?r.database:void 0,schema:r.schema?r.schema:void 0,synchronize:r.synchronize,withoutRowid:r.withoutRowid,comment:r.comment?r.comment:void 0})}}async function De(e,t,r,a){try{const t=e.get("user");a[r]=t}catch(e){throw new R("No User found in context. Please provide a user in the context")}}class qe extends m{getClient(){const t=m.models(this.alias).map(e.constr);return new re(Object.assign({},this.config,{entities:t}))}constructor(e,t){super(e,le,t)}async shutdown(){await super.shutdown(),this._client&&await this._client.destroy()}async flags(e,t,r){return super.flags(e,t,Object.assign({user:this.config.username},r))}Dispatch(){return new Ce}repository(){return Oe}Statement(){return new Ne(this)}Paginator(e,t,r){return new fe(this,e,t,r)}async Sequence(e){return new Se(e,this)}async initialize(...e){const{log:t}=(await this.logCtx(e,E.INITIALIZATION,!0)).for(this.initialize),r=this.client;try{await r.initialize()}catch(e){throw this.parseError(e)}t.verbose(this.toString()+" initialized")}async index(...e){(await this.logCtx(e,E.INDEX,!0)).for(this.index);const t=Te(e);try{await this.client.query("BEGIN");for(const e of t)await this.client.query(e.query,e.values);await this.client.query("COMMIT")}catch(e){throw await this.client.query("ROLLBACK"),this.parseError(e)}}async raw(e,t=!0,...r){const{log:a}=this.logCtx(r,this.raw);try{this.client.isInitialized||await this.client.initialize()}catch(e){throw this.parseError(e)}try{const{query:t,values:r}=e;return a.debug("executing query: "+("string"!=typeof t?t.getSql():t)),await this.client.query(t,r)}catch(e){throw this.parseError(e)}}prepare(t,r=!1,a){const n=super.prepare(t,a);n.record=Object.entries(n.record).reduce(((e,[t,r])=>(t===E.METADATA||this.isReserved(t)||void 0===r||(r instanceof Date?r=new Date(r.getTime()):V.isModel(r)?r=this.prepare(r,!0,a).record:"string"==typeof r&&(r=""+r),e[t]=r),e)),{});const s=V.get(t.constructor.name);if(!s)throw new R(`Model ${t.constructor.name} not found in registry`);const i=r?new(e.constr(s)):new s;return r&&Object.defineProperty(i,"constructor",{configurable:!1,enumerable:!1,value:e,writable:!1}),Object.entries(n.record).forEach((([e,t])=>i[e]=t)),n.record=i,n}revert(e,t,r,a,...n){const{log:s}=this.logCtx(n,this.revert);return a&&(s.verbose("re-adding transient properties: "+Object.keys(a).join(", ")),Object.entries(a).forEach((([r,a])=>{if(r in e&&void 0!==e[r])throw new R(`Transient property ${r} already exists on model ${"string"==typeof t?t:t.name}. should be impossible`);e[r]=a}))),new t(e)}async create(e,t,r,...a){const n=this.client.getRepository(e);if(void 0!==t){const r=V.pk(e);if(await n.findOne({where:{[r]:t}}))throw new D(`Record already exists in table ${V.tableName(e)} with id: ${t}`)}try{return await n.save(r)}catch(e){throw this.parseError(e)}}async read(e,t,...r){let a;try{const r=this.client.getRepository(e),{nonEager:n,relations:s}=we(e),i=V.pk(e),o={where:{[i]:t},relations:s,loadRelationIds:{relations:n}};a=await r.findOneOrFail(o)}catch(e){throw this.parseError(e)}return a}async update(e,t,r,...a){const{ctx:n}=this.logCtx(a,this.update);await this.read(e,t,n);try{return this.client.getRepository(e).save(r)}catch(e){throw this.parseError(e)}}async delete(e,t,...r){const{ctx:a}=this.logCtx(r,this.delete),n=await this.read(e,t,a);try{const r=this.client.getRepository(e);return await r.delete(t),n}catch(e){throw this.parseError(e)}}async createAll(e,t,r,...a){const{ctx:n,log:s}=this.logCtx(a,this.createAll),i=V.tableName(e);s.debug(`Creating ${t.length} entries ${i} table`);try{const t=this.client.getRepository(e),a=await t.insert(r);return this.readAll(e,a.identifiers.map((e=>e.id)),n)}catch(e){throw this.parseError(e)}}async readAll(e,t,...r){if(!t.length)return[];const{log:a}=this.logCtx(r,this.readAll),n=V.tableName(e);a.debug(`Reading ${t.length} entries ${n} table`);try{const r=V.pk(e);return this.client.getRepository(e).findBy({[r]:ae(t)})}catch(e){throw this.parseError(e)}}async updateAll(e,t,r,...a){const{log:n,ctxArgs:s}=this.logCtx(a,this.updateAll),i=V.tableName(e);n.debug(`Updating ${t.length} entries ${i} table`);const o=[],c=V.pk(e);for(const t of r)o.push(await this.update(e,t[c],t,...s));return o}async deleteAll(e,t,...r){if(!t.length)return[];const{ctxArgs:a,log:n}=this.logCtx(r,this.deleteAll),s=V.tableName(e);n.debug(`Deleting ${t.length} entries from ${s} table`);try{const r=this.client.getRepository(e),n=await this.readAll(e,t,...a),s=V.pk(e);return await r.delete({[s]:ae(t)}),n}catch(e){throw this.parseError(e)}}parseError(e,t){return qe.parseError(e,t)}isReserved(e){return!!e.match(ce)}static parseError(e,t){if(e instanceof O)return e;const r="string"==typeof e?e:e.message;if(r.match(/duplicate key|already exists/g))return new D(r);if(r.match(/does not exist|not found|Could not find/g))return new L(r);switch(r.toString()){case"23505":case"23503":case"42P07":return new D(t);case"42P01":case"42703":return new L(t);case"42P16":return new de(e);default:return r.toString().match(/ECONNREFUSED/g)?new w(e):new R(e)}}static async connect(e){const t=new re(e);return t.isInitialized||await t.initialize(),t}static async createDatabase(e,t){const r=H.for(this.createDatabase);r.verbose("Creating database "+t);try{await e.query("CREATE DATABASE "+t),r.info("Created database "+t)}catch(e){throw this.parseError(e)}}static async createNotifyFunction(e,t){const r=H.for(this.createNotifyFunction);r.verbose("Creating notify function");try{await e.query("CREATE OR REPLACE FUNCTION notify_table_changes()\nRETURNS trigger AS $$\nBEGIN\n PERFORM pg_notify(\n 'table_changes',\n json_build_object(\n 'table', TG_TABLE_NAME,\n 'action', TG_OP,\n 'data', row_to_json(NEW),\n 'old_data', row_to_json(OLD)\n )::text\n );\n RETURN NEW;\nEND;\n$$ LANGUAGE plpgsql SECURITY DEFINER\n;"),await e.query(`ALTER FUNCTION notify_table_changes() OWNER TO ${t};`),await e.query("\n GRANT EXECUTE ON FUNCTION notify_table_changes() TO public;\n "),r.info("Created notify function")}catch(e){throw this.parseError(e)}}static async deleteDatabase(e,t,r){try{r&&await e.query(`DROP OWNED BY ${r} CASCADE;`),await e.query("DROP DATABASE "+t)}catch(e){throw this.parseError(e)}}static async createUser(e,t,r,a){try{await e.query(`CREATE USER ${r} WITH PASSWORD '${a}'`),await e.query(`GRANT CONNECT ON DATABASE ${t} TO ${r}`),await e.query("GRANT USAGE ON SCHEMA public TO "+r),await e.query("GRANT CREATE ON SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO "+r),await e.query("GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO "+r),await e.query("ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO "+r),await e.query("ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO "+r)}catch(e){throw this.parseError(e)}}static async deleteUser(e,t,r){try{await e.query(`REASSIGN OWNED BY ${t} TO ${r}`),await e.query("REVOKE ALL ON ALL TABLES IN SCHEMA public FROM "+t),await e.query("REVOKE ALL ON SCHEMA public FROM "+t),await e.query("REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public FROM "+t),await e.query("REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public FROM "+t),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON TABLES FROM ${t}`),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON SEQUENCES FROM ${t};`),await e.query(`ALTER DEFAULT PRIVILEGES FOR ROLE ${r} IN SCHEMA public REVOKE ALL ON FUNCTIONS FROM ${t}`),await e.query(`DROP OWNED BY ${t} CASCADE`),await e.query(`DROP USER IF EXISTS "${t}"`)}catch(e){throw this.parseError(e)}}static parseTypeToPostgres(t,r,a=!1){switch(t.toLowerCase()){case"string":return r?"TEXT PRIMARY KEY":a?"TEXT":"VARCHAR";case"number":return r?"SERIAL PRIMARY KEY":"INTEGER";case"boolean":return"BOOLEAN";case"date":return"TIMESTAMP";case"bigint":return r?"BIGINT PRIMARY KEY":"BIGINT";default:{const r=V.get(t);if(r)return{model:r,pkType:e.type(r,V.pk(r))};throw new R("Unsupported type: "+t)}}}static parseValidationToPostgres(e,t,r,a,n){switch(a){case Y.REQUIRED:return"NOT NULL";case Y.MAX_LENGTH:return r||!n||"string"!==t.toLowerCase()?"":`(${n[Y.MAX_LENGTH]})`;case Y.MIN_LENGTH:return`CONSTRAINT ${e}_min_length_check CHECK (LENGTH(${e}) >= ${n[Y.MIN_LENGTH]})`;case Y.PATTERN:case Y.URL:case Y.EMAIL:return`CONSTRAINT ${e}_pattern_check CHECK (${e} ~ '${Ae(n[Y.PATTERN])}')`;case Y.TYPE:case Y.DATE:return"";case Y.MIN:return`CONSTRAINT ${e}_${a}_check CHECK (${e} >= ${n[Y.MIN]})`;case Y.MAX:return`CONSTRAINT ${e}_${a}_check CHECK (${e} <= ${n[Y.MAX]})`;case Y.PASSWORD:default:throw new R("Unsupported type: "+a)}}static parseRelationsToPostgres(e,t,r,a,n){const s=V.tableName(t),{cascade:i}=n,o=`${i.update?" ON UPDATE CASCADE":""}${i.delete?" ON DELETE CASCADE":""}`;if("relations"+a===E.ONE_TO_ONE)return`FOREIGN KEY (${e}) REFERENCES ${s}(${r})${o}`;throw new R("Unsupported operation: "+a)}static async getCurrentUser(e){try{return(await e.query("SELECT CURRENT_USER;"))[0].current_user}catch(e){throw this.parseError(e)}}static decoration(){super.decoration(),t.flavouredAs(le).for(E.TABLE).extend({decorator:t=>r=>{const a=e.constr(r),n=J().tables.find((e=>e.target===a));return n?(t&&(n.name=t),r):(_e(t||(()=>{try{return V.tableName(a)}catch{return a?.name}})())(a),r)}}).apply(),t.flavouredAs(le).for(q.ID).define({decorator:t=>(s,i)=>{const o=e.constr(s.constructor);J().tables.find((e=>e.target===o))||_e((()=>{try{return V.tableName(o)}catch{return o?.name}})()||o?.name)(o),n()(s,i);const c=[X(),M(),r(e.key(q.ID,i),t)];let l=t.type||e.type(s.constructor,i);switch(l){case String.name||String.name.toLowerCase():case String:t.generated=void 0!==t.generated&&t.generated;break;case Number.name||String.name.toLowerCase():case BigInt.name||BigInt.name.toLowerCase():case BigInt:case Number:t.generated=void 0===t.generated||t.generated;break;case"uuid":case"serial":t.generated=!0;break;case!l:throw new R(`Missing type information for property ${i} of ${s.name}`);default:throw Error("Unsupported type")}if(void 0===t.generated&&(t.generated=!0),t.generated){const e={name:t.name||V.sequenceName(s.constructor,"pk")};"serial"===t.type||"uuid"===t.type?c.push(xe("uuid"===t.type?t.type:"identity",e)):c.push(xe(e)),c.push(N())}else{switch("function"==typeof l&&l?.name?l.name:l){case Number.name||Number.name.toLowerCase():l="numeric";break;case"serial":case"uuid":break;case String.name||String.name.toLowerCase():l="varchar";break;case BigInt.name||BigInt.name.toLowerCase():l="bigint";break;default:throw new R("Unsupported type: "+l)}c.push(((e,t)=>(r,a)=>{let n;e===String||e===Boolean||e===Number?n=e:t=Object.assign({},e),t||(t={});const s=Reflect&&Reflect.getMetadata?Reflect.getMetadata("design:type",r,a):void 0;if(!n&&s&&(n=s),!t.type&&n&&(t.type=n),!t.type)throw new ee(r,a);if(t.nullable)throw new te(r,a);t.primary=!0;const i=J();$e(r.constructor,a,i.columns,t,"regular",i.relations),t.generated&&J().generations.push({target:r.constructor,propertyName:a,strategy:"string"==typeof t.generated?t.generated:"increment"})})({type:l,unique:!0}))}return t.generated&&c.push(B()),a(...c)(s,i)}}).apply(),t.flavouredAs(le).for(E.COLUMN).extend({decorator:e=>(t,r)=>{const a={};let n;e&&(a.name=e);try{n=V.pk(t.constructor)}catch(e){n=void 0}return n!==r&&(a.nullable=!0),Ie(a)(t,r)}}).apply(),t.flavouredAs(le).for(E.UNIQUE).define(r(E.UNIQUE,{})).extend(Ie({unique:!0})).apply();const s=z.key(Y.REQUIRED);t.flavouredAs(le).for(s).extend(Ie({nullable:!1})).apply(),t.flavouredAs(le).for(q.VERSION).define(K(Number),ne(),N()).apply();const i=q.TIMESTAMP,o=(c=q.TIMESTAMP,k.REFLECT+c);var c;t.flavouredAs(le).for(i).define({decorator:(e,t)=>{const n=[W(t,F.TIMESTAMP.DATE),X(F.TIMESTAMP.REQUIRED),r(z.key(q.TIMESTAMP),{operation:e,format:t}),N()];return-1!==e.indexOf(C.UPDATE)?n.push(r(o,{message:F.TIMESTAMP.INVALID}),b()):n.push(M()),a(...n)}}).extend({decorator:(e,t)=>(t,r)=>-1!==e.indexOf(C.UPDATE)?((e,t)=>{const r=J();$e(e.constructor,t,r.columns,{},"updateDate",r.relations)})(t,r):((e,t)=>{const r=J();$e(e.constructor,t,r.columns,{},"createDate",r.relations)})(t,r)}).apply(),t.flavouredAs(le).for(E.ONE_TO_ONE).define({decorator:(t,s,i,o,c)=>{const l={class:t,cascade:s,populate:i};o&&(l.joinTable=o),c&&(l.name=c);const u={cascade:s.update===S.CASCADE||s.delete===S.CASCADE,onDelete:s.delete?"CASCADE":"DEFAULT",onUpdate:s.update?"CASCADE":"DEFAULT",nullable:!0,eager:i};return a(n(),T(E.ONE_TO_ONE,l),K([t,String,Number,BigInt]),r(E.ONE_TO_ONE,l),((e,t,r)=>{let a;return ve.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let s=!(!r||!0!==r.lazy);if(!s&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(s=!0)}const i=J();r=Object.assign(r,Le(t.constructor,n,i.columns)),i.relations.push({target:t.constructor,propertyName:n,isLazy:s,relationType:"one-to-one",type:e,inverseSideProperty:a,options:r})}})((()=>{"function"!=typeof t||t.name||(t=t());const r=e.constr(t);if(r===t)throw new R("Original Model not found in constructor");return r}),(e=>("function"!=typeof t||t.name||(t=t()),e[V.pk(t)])),u),se(o||l.name?{foreignKeyConstraintName:l.name}:void 0))}}).apply(),t.flavouredAs(le).for(E.ONE_TO_MANY).define({decorator:(t,s,i,o,c)=>{const l={class:t,cascade:s,populate:i};o&&(l.joinTable=o),c&&(l.name=c);const u=[n(),T(E.ONE_TO_MANY,l),Q(t),r(E.ONE_TO_MANY,l),(r,a)=>{const n={cascade:s.update===S.CASCADE||s.delete===S.CASCADE,onDelete:s.delete?"CASCADE":"DEFAULT",onUpdate:s.update?"CASCADE":"DEFAULT",nullable:!0,eager:i};return(o=()=>{"function"!=typeof t||t.name||(t=t());const r=e.constr(t);if(r===t)throw new R("Original Model not found in constructor");return r},c=a=>{"function"!=typeof t||t.name||(t=t());const n=e.relations(t);if(!n)throw new R("No relations found on model "+t.name);const s=n.find((a=>{const n=V.relations(t,a);if(n.key!==E.MANY_TO_ONE)return!1;const s="function"!=typeof n.class||n.class.name?n.class:n.class(),i=e.constr(r.constructor);return s.name===i.name}));if(!s)throw new R(`Cross relation not found. Did you use @manyToOne on the ${t.name}?`);return a[s]},l=n,(e,t)=>{l||(l={});let r=l&&!0===l.lazy;if(!r&&Reflect&&Reflect.getMetadata){const a=Reflect.getMetadata("design:type",e,t);a&&"string"==typeof a.name&&"promise"===a.name.toLowerCase()&&(r=!0)}const a=J();l=Object.assign(l,Le(e.constructor,t,a.columns)),a.relations.push({target:e.constructor,propertyName:t,isLazy:r,relationType:"one-to-many",type:o,inverseSideProperty:c,options:l})})(r,a);var o,c,l}];return a(...u)}}).apply(),t.flavouredAs(le).for(E.MANY_TO_ONE).define({decorator:(t,n,s,i,o)=>{const c={class:t,cascade:n,populate:s};i&&(c.joinTable=i),o&&(c.name=o);const l={cascade:n.update===S.CASCADE||n.delete===S.CASCADE,onDelete:n.delete?"CASCADE":"NO ACTION",onUpdate:n.update?"CASCADE":"NO ACTION",nullable:!0,eager:s};return a(T(E.MANY_TO_ONE,c),K([t,String,Number,BigInt]),r(E.MANY_TO_ONE,c),((r,a)=>((e,t,r)=>{let a;return ve.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let s=r&&!0===r.lazy;if(!s&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(s=!0)}const i=J();r=Object.assign(r,Le(t.constructor,n,i.columns)),i.relations.push({target:t.constructor,propertyName:n,relationType:"many-to-one",isLazy:s,type:e,inverseSideProperty:a,options:r})}})((()=>{"function"!=typeof t||t.name||(t=t());const r=e.constr(t);if(r===t)throw new R("Original Model not found in constructor");return r}),(a=>{"function"!=typeof t||t.name||(t=t());const n=e.relations(t);let s=V.pk(t);return n?(s=n.find((a=>{const n=V.relations(t,a);if(n.key!==E.ONE_TO_MANY)return!1;const s="function"!=typeof n.class||n.class.name?n.class:n.class(),i=e.constr(r.constructor);return s.name===i.name}))||s,a[s]):a[s]}),l)(r,a)))}}).apply(),t.flavouredAs(le).for(E.MANY_TO_MANY).define({decorator:(t,n,s,i,o)=>{const c={class:t,cascade:n,populate:s};i&&(c.joinTable=i),o&&(c.name=o);const l={cascade:n.update===S.CASCADE||n.delete===S.CASCADE,onDelete:n.delete?"CASCADE":"DEFAULT",onUpdate:n.update?"CASCADE":"DEFAULT",nullable:!0,eager:s};return a(T(E.MANY_TO_MANY,c),Q(t),r(E.MANY_TO_MANY,c),((e,t,r)=>{let a;return ve.isObject(t)?r=t:a=t,(t,n)=>{r||(r={});let s=!0===r.lazy;if(!s&&Reflect&&Reflect.getMetadata){const e=Reflect.getMetadata("design:type",t,n);e&&"string"==typeof e.name&&"promise"===e.name.toLowerCase()&&(s=!0)}const i=J();r=Object.assign(r,Le(t.constructor,n,i.columns)),i.relations.push({target:t.constructor,propertyName:n,relationType:"many-to-many",isLazy:s,type:e,inverseSideProperty:a,options:r})}})((()=>{"function"!=typeof t||t.name||(t=t());const r=e.constr(t);if(r===t)throw new R("Original Model not found in constructor");return r}),(e=>("function"!=typeof t||t.name||(t=t()),e[V.pk(t)])),l),ie(i))}}).apply(),t.flavouredAs(le).for(E.INDEX).extend({decorator:(e,t,r)=>(r,a)=>("string"==typeof e&&(e=void 0,t=void 0),"string"==typeof t&&(t=void 0),!t&&e&&e.find((e=>![d.ASC,d.DSC].includes(e)))&&(t=e,e=void 0),t&&t.length?oe([a,...t])(r):oe()(r,a))}).apply(),t.flavouredAs(le).for(E.CREATED_BY).define(U(De,{}),X(),r(E.CREATED_BY,{}),N()).apply(),t.flavouredAs(le).for(E.UPDATED_BY).define(P(De,{}),X(),r(E.UPDATED_BY,{}),b()).apply()}}s([G(),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",Ce)],qe.prototype,"Dispatch",null),s([G(),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",Object)],qe.prototype,"repository",null),s([G(),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",Ne)],qe.prototype,"Statement",null),s([G(),i("design:type",Function),i("design:paramtypes",[Object]),i("design:returntype",Promise)],qe.prototype,"Sequence",null),s([G(),i("design:type",Function),i("design:paramtypes",[Object]),i("design:returntype",Promise)],qe.prototype,"index",null),qe.decoration(),m.setCurrent(le);const Ue="##VERSION##",Pe="##PACKAGE##";e.registerLibrary(Pe,Ue);export{de as IndexError,Pe as PACKAGE_NAME,pe as SQLOperator,qe as TypeORMAdapter,Ee as TypeORMConst,Ce as TypeORMDispatch,le as TypeORMFlavour,ye as TypeORMGroupOperator,ue as TypeORMKeys,ge as TypeORMOperator,fe as TypeORMPaginator,he as TypeORMQueryLimit,Oe as TypeORMRepository,Se as TypeORMSequence,Ne as TypeORMStatement,Ue as VERSION,Ae as convertJsRegexToPostgres,be as enforceDbDecoratorsRecursive,Te as generateIndexes,ce as reservedAttributes,we as splitEagerRelations,me as translateOperators};
|
|
2
2
|
//# sourceMappingURL=for-typeorm.js.map
|
package/dist/for-typeorm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-typeorm.js","sources":["../src/constants.ts","../src/errors.ts","../src/types.ts","../src/query/constants.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/utils.ts","../src/query/Statement.ts","../src/sequences/Sequence.ts","../src/indexes/generator.ts","../src/TypeORMRepository.ts","../src/TypeORMEventSubscriber.ts","../src/TypeORMDispatch.ts","../src/overrides/utils.ts","../src/overrides/Column.ts","../src/overrides/ObjectUtils.ts","../src/overrides/PrimaryGeneratedColumn.ts","../src/overrides/Entity.ts","../src/TypeORMAdapter.ts","../src/overrides/PrimaryColumn.ts","../src/overrides/UpdateDateColumn.ts","../src/overrides/CreateDateColumn.ts","../src/overrides/OneToOne.ts","../src/overrides/OneToMany.ts","../src/overrides/ManyToOne.ts","../src/overrides/ManyToMany.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","TypeORMFlavour","TypeORMKeys","SEPARATOR","ID","VERSION","DELETED","TABLE","SCHEMA","SEQUENCE","INDEX","IndexError","BaseError","constructor","msg","super","name","SQLOperator","TypeORMQueryLimit","TypeORMOperator","EQUAL","DIFFERENT","NOT_EQUAL","BIGGER","GREATER_THAN","BIGGER_EQ","GREATER_THAN_OR_EQUAL","SMALLER","LESS_THAN","SMALLER_EQ","LESS_THAN_OR_EQUAL","BETWEEN","NOT","IN","IS_NULL","IS_NOT_NULL","REGEXP","IREGEXP","LIKE","ILIKE","TypeORMGroupOperator","AND","OR","TypeORMConst","NULL","TypeORMPaginator","Paginator","total","this","_totalPages","count","_recordCount","repo","__repo","adapter","client","getRepository","Metadata","constr","clazz","query","size","prepare","rawStatement","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","opts","Object","assign","skip","current","take","result","findAndCount","Math","ceil","PagingError","pkDef","Model","pk","results","map","row","revert","undefined","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","convertJsRegexToPostgres","jsRegex","rxp","RegExp","match","exec","p","source","splitEagerRelations","m","cache","rels","relations","reduce","accum","attr","decorator","eager","populate","class","isClass","InternalError","push","nonEager","includes","length","nonEagerRelations","ne","TypeORMStatement","Statement","build","log","for","tableName","fromSelector","q","createQueryBuilder","countSelector","field","select","countDistinctSelector","sumSelector","avgSelector","maxSelector","minSelector","distinctSelector","selectSelector","s","whereCondition","parseCondition","groupBySelectors","primary","rest","groupBy","addGroupBy","isAggregation","hasAggregation","orderBySelectors","primaryAttr","primaryDir","orderBy","toUpperCase","i","dir","addOrderBy","OrderDirection","ASC","limitSelector","limit","debug","offsetSelector","paginate","transformedQuery","where","parseConditionForPagination","orderObj","toString","order","e","raw","rawInput","logCtx","get","UnsupportedError","qb","getRawMany","groupResults","getRawOne","Number","sum","avg","max","min","r","setFindOptions","loadEagerRelations","loadRelationIds","getMany","groupKeys","grouped","key","lastKey","condition","counter","conditionalOp","attr1","comparison","GroupOperator","Operator","indexOf","sqlOperator","attrRef","queryStr","values","minRef","maxRef","andWhere","orWhere","Error","parse","TypeORMSequence","Sequence","options","OperationKeys","READ","startWith","quoted","replace","rows","Array","isArray","NotFoundError","parseError","increment","type","incrementBy","minValue","maxValue","cycle","toIncrementBy","next","BigInt","startValue","minValueClause","maxValueClause","cycleClause","argz","UPDATE","range","generateIndexes","models","direction","compositions","separator","DefaultSeparator","n","join","generateIndexName","indexes","forEach","ind","entries","value","PersistenceKeys","generate","async","enforceDbDecoratorsRecursive","context","model","operation","prefix","oldModel","innerLoop","Repository","forModel","CREATE","enforceDBDecorators","isPropertyModel","validationFor","ValidationKeys","LIST","Promise","all","TypeORMRepository","_overrides","ignoreValidation","ignoreHandlers","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","queryBuilder","nativeRepo","dataSource","createPrefix","ignoreValidate","silly","ON","propsToIgnore","errors","resolve","hasErrors","ValidationError","create","record","id","transient","createSuffix","AFTER","readPrefix","read","readSuffix","updatePrefix","merge","update","updateSuffix","delete","deleteSuffix","DELETE","createAllPrefix","BulkCrudOperationKeys","CREATE_ALL","sequenceFor","ids","generatedBySequence","sequenceName","generated","timestamp","Date","createdAt","updatedAt","ignoredProps","errorMessages","reduceErrorsToPrint","createAll","prepared","records","createAllSuffix","readAll","readAllSuffix","updateAllPrefix","UPDATE_ALL","oldModels","modelsValidation","updateAll","verbose","u","updateAllSuffix","deleteAll","TypeORMEventSubscriber","handler","afterInsert","event","entity","entityId","afterRemove","metadata","target","afterUpdate","databaseEntity","__decorate","EventSubscriber","Adapter","Function","TypeORMDispatch","Dispatch","notificationHandler","table","updateObservers","error","initialize","INITIALIZATION","isInitialized","subscribers","bind","call","then","info","catch","extractForRelations","property","columns","index","cols","filter","c","propertyName","splice","val","TYPE","aggregateOrNewColumn","mode","column","defineProperty","writable","enumerable","configurable","Column","typeOrOptions","object","reflectMetadataType","Reflect","getMetadata","primaryType","allowedTypes","hstoreType","getMetadataArgsStorage","embeddeds","array","ColumnTypeUndefinedError","unique","uniques","indices","generations","strategy","ObjectUtils","isObject","isObjectWithName","sources","prop","getOwnPropertyNames","PrimaryGeneratedColumn","strategyOrOptions","maybeOptions","Entity","nameOrOptions","tables","engine","database","schema","synchronize","withoutRowid","comment","createdByOnTypeORMCreateUpdate","data","user","TypeORMAdapter","getClient","entities","alias","DataSource","config","shutdown","_client","destroy","flags","username","repository","ds","docsOnly","getSql","child","METADATA","isReserved","getTime","isModel","obj","findOne","ConflictError","save","findOneOrFail","tableLabel","insert","identifiers","findBy","In","err","reason","code","message","ConnectionError","connect","con","createDatabase","dbName","Logging","createNotifyFunction","deleteDatabase","createUser","password","deleteUser","admin","parseTypeToPostgres","isPk","isFk","toLowerCase","pkType","parseValidationToPostgres","REQUIRED","MAX_LENGTH","MIN_LENGTH","PATTERN","URL","EMAIL","DATE","MIN","MAX","PASSWORD","parseRelationsToPostgres","cascade","cascadeStr","ONE_TO_ONE","getCurrentUser","current_user","decoration","Decoration","flavouredAs","extend","ctor","existing","apply","DBKeys","define","original","propertyKey","decorators","required","readonly","propMetadata","String","conf","noValidateOnCreate","Boolean","nullable","PrimaryColumnCannotBeNullableError","PrimaryColumn","COLUMN","UNIQUE","requiredKey","Validation","VersionColumn","timestampDecorationKey","TIMESTAMP","timestampUpdateKey","UpdateValidationKeys","REFLECT","format","date","DB_DEFAULT_ERROR_MESSAGES","INVALID","noValidateOnCreateUpdate","ops","UpdateDateColumn","CreateDateColumn","joinColumnOpts","fk","joinTable","ormMeta","Cascade","CASCADE","onDelete","onUpdate","relation","typeFunctionOrTarget","inverseSideOrOptions","inverseSideProperty","isLazy","lazy","reflectedType","meta","relationType","OneToOne","JoinColumn","foreignKeyConstraintName","ONE_TO_MANY","joinTableOpts","list","inverseSide","crossRelationKey","MANY_TO_ONE","ref","ManyToOne","MANY_TO_MANY","ManyToMany","JoinTable","directions","d","DSC","Index","CREATED_BY","onCreate","UPDATED_BY","onCreateUpdate","final","prototype","setCurrent","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-typeorm.js","sources":["../src/constants.ts","../src/errors.ts","../src/types.ts","../src/query/constants.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/utils.ts","../src/query/Statement.ts","../src/sequences/Sequence.ts","../src/indexes/generator.ts","../src/TypeORMRepository.ts","../src/TypeORMEventSubscriber.ts","../src/TypeORMDispatch.ts","../src/overrides/utils.ts","../src/overrides/Column.ts","../src/overrides/ObjectUtils.ts","../src/overrides/PrimaryGeneratedColumn.ts","../src/overrides/Entity.ts","../src/TypeORMAdapter.ts","../src/overrides/PrimaryColumn.ts","../src/overrides/UpdateDateColumn.ts","../src/overrides/CreateDateColumn.ts","../src/overrides/OneToOne.ts","../src/overrides/OneToMany.ts","../src/overrides/ManyToOne.ts","../src/overrides/ManyToMany.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","TypeORMFlavour","TypeORMKeys","SEPARATOR","ID","VERSION","DELETED","TABLE","SCHEMA","SEQUENCE","INDEX","IndexError","BaseError","constructor","msg","super","name","SQLOperator","TypeORMQueryLimit","TypeORMOperator","EQUAL","DIFFERENT","NOT_EQUAL","BIGGER","GREATER_THAN","BIGGER_EQ","GREATER_THAN_OR_EQUAL","SMALLER","LESS_THAN","SMALLER_EQ","LESS_THAN_OR_EQUAL","BETWEEN","NOT","IN","IS_NULL","IS_NOT_NULL","REGEXP","IREGEXP","LIKE","ILIKE","TypeORMGroupOperator","AND","OR","TypeORMConst","NULL","TypeORMPaginator","Paginator","total","this","_totalPages","count","_recordCount","repo","__repo","adapter","client","getRepository","Metadata","constr","clazz","query","size","prepare","rawStatement","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","opts","Object","assign","skip","current","take","result","findAndCount","Math","ceil","PagingError","pkDef","Model","pk","results","map","row","revert","undefined","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","convertJsRegexToPostgres","jsRegex","rxp","RegExp","match","exec","p","source","splitEagerRelations","m","cache","rels","relations","reduce","accum","attr","decorator","eager","populate","class","isClass","InternalError","push","nonEager","includes","length","nonEagerRelations","ne","TypeORMStatement","Statement","build","log","for","tableName","fromSelector","q","createQueryBuilder","countSelector","field","select","countDistinctSelector","sumSelector","avgSelector","maxSelector","minSelector","distinctSelector","selectSelector","s","whereCondition","parseCondition","groupBySelectors","primary","rest","groupBy","addGroupBy","isAggregation","hasAggregation","orderBySelectors","primaryAttr","primaryDir","orderBy","toUpperCase","i","dir","addOrderBy","OrderDirection","ASC","limitSelector","limit","debug","offsetSelector","paginate","transformedQuery","where","parseConditionForPagination","orderObj","toString","order","e","raw","rawInput","logCtx","get","UnsupportedError","qb","getRawMany","groupResults","getRawOne","Number","sum","avg","max","min","r","setFindOptions","loadEagerRelations","loadRelationIds","getMany","groupKeys","grouped","key","lastKey","condition","counter","conditionalOp","attr1","comparison","GroupOperator","Operator","indexOf","sqlOperator","attrRef","queryStr","values","minRef","maxRef","andWhere","orWhere","Error","parse","TypeORMSequence","Sequence","options","OperationKeys","READ","startWith","quoted","replace","rows","Array","isArray","NotFoundError","parseError","increment","type","incrementBy","minValue","maxValue","cycle","toIncrementBy","next","BigInt","startValue","minValueClause","maxValueClause","cycleClause","argz","UPDATE","range","generateIndexes","models","direction","compositions","separator","DefaultSeparator","n","join","generateIndexName","indexes","forEach","ind","entries","value","PersistenceKeys","generate","async","enforceDbDecoratorsRecursive","context","model","operation","prefix","oldModel","innerLoop","Repository","forModel","CREATE","enforceDBDecorators","isPropertyModel","validationFor","ValidationKeys","LIST","Promise","all","TypeORMRepository","_overrides","ignoreValidation","ignoreHandlers","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","queryBuilder","nativeRepo","dataSource","createPrefix","ignoreValidate","silly","ON","propsToIgnore","errors","resolve","hasErrors","ValidationError","create","record","id","transient","createSuffix","AFTER","readPrefix","read","readSuffix","updatePrefix","merge","update","updateSuffix","delete","deleteSuffix","DELETE","createAllPrefix","BulkCrudOperationKeys","CREATE_ALL","sequenceFor","ids","generatedBySequence","sequenceName","generated","timestamp","Date","createdAt","updatedAt","ignoredProps","errorMessages","reduceErrorsToPrint","createAll","prepared","records","createAllSuffix","readAll","readAllSuffix","updateAllPrefix","UPDATE_ALL","oldModels","modelsValidation","updateAll","verbose","u","updateAllSuffix","deleteAll","TypeORMEventSubscriber","handler","afterInsert","event","entity","entityId","afterRemove","metadata","target","afterUpdate","databaseEntity","__decorate","EventSubscriber","Adapter","Function","TypeORMDispatch","Dispatch","notificationHandler","table","updateObservers","error","initialize","INITIALIZATION","isInitialized","subscribers","bind","call","then","info","catch","extractForRelations","property","columns","index","cols","filter","c","propertyName","splice","val","TYPE","aggregateOrNewColumn","mode","column","defineProperty","writable","enumerable","configurable","Column","typeOrOptions","object","reflectMetadataType","Reflect","getMetadata","primaryType","allowedTypes","hstoreType","getMetadataArgsStorage","embeddeds","array","ColumnTypeUndefinedError","unique","uniques","indices","generations","strategy","ObjectUtils","isObject","isObjectWithName","sources","prop","getOwnPropertyNames","PrimaryGeneratedColumn","strategyOrOptions","maybeOptions","Entity","nameOrOptions","tables","engine","database","schema","synchronize","withoutRowid","comment","createdByOnTypeORMCreateUpdate","data","user","TypeORMAdapter","getClient","entities","alias","DataSource","config","shutdown","_client","destroy","flags","username","repository","ds","docsOnly","getSql","child","METADATA","isReserved","getTime","isModel","obj","findOne","ConflictError","save","findOneOrFail","tableLabel","insert","identifiers","findBy","In","err","reason","code","message","ConnectionError","connect","con","createDatabase","dbName","Logging","createNotifyFunction","deleteDatabase","createUser","password","deleteUser","admin","parseTypeToPostgres","isPk","isFk","toLowerCase","pkType","parseValidationToPostgres","REQUIRED","MAX_LENGTH","MIN_LENGTH","PATTERN","URL","EMAIL","DATE","MIN","MAX","PASSWORD","parseRelationsToPostgres","cascade","cascadeStr","ONE_TO_ONE","getCurrentUser","current_user","decoration","Decoration","flavouredAs","extend","ctor","existing","apply","DBKeys","define","original","propertyKey","decorators","required","readonly","propMetadata","String","conf","noValidateOnCreate","Boolean","nullable","PrimaryColumnCannotBeNullableError","PrimaryColumn","COLUMN","UNIQUE","requiredKey","Validation","VersionColumn","timestampDecorationKey","TIMESTAMP","timestampUpdateKey","UpdateValidationKeys","REFLECT","format","date","DB_DEFAULT_ERROR_MESSAGES","INVALID","noValidateOnCreateUpdate","ops","UpdateDateColumn","CreateDateColumn","joinColumnOpts","fk","joinTable","ormMeta","Cascade","CASCADE","onDelete","onUpdate","relation","typeFunctionOrTarget","inverseSideOrOptions","inverseSideProperty","isLazy","lazy","reflectedType","meta","relationType","OneToOne","JoinColumn","foreignKeyConstraintName","ONE_TO_MANY","joinTableOpts","list","inverseSide","crossRelationKey","MANY_TO_ONE","ref","ManyToOne","MANY_TO_MANY","ManyToMany","JoinTable","directions","d","DSC","Index","CREATED_BY","onCreate","UPDATED_BY","onCreateUpdate","final","prototype","setCurrent","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export * from "./utils";
|
|
|
21
21
|
* @const VERSION
|
|
22
22
|
* @memberOf module:for-typeorm
|
|
23
23
|
*/
|
|
24
|
-
export declare const VERSION = "0.2.
|
|
24
|
+
export declare const VERSION = "0.2.24";
|
|
25
25
|
/**
|
|
26
26
|
* @description Stores the current package version.
|
|
27
27
|
* @summary The version string of the for-typeorm package.
|
package/lib/esm/index.js
CHANGED
|
@@ -22,7 +22,7 @@ export * from "./utils.js";
|
|
|
22
22
|
* @const VERSION
|
|
23
23
|
* @memberOf module:for-typeorm
|
|
24
24
|
*/
|
|
25
|
-
export const VERSION = "0.2.
|
|
25
|
+
export const VERSION = "0.2.24";
|
|
26
26
|
/**
|
|
27
27
|
* @description Stores the current package version.
|
|
28
28
|
* @summary The version string of the for-typeorm package.
|
package/lib/index.cjs
CHANGED
|
@@ -39,7 +39,7 @@ __exportStar(require("./utils.cjs"), exports);
|
|
|
39
39
|
* @const VERSION
|
|
40
40
|
* @memberOf module:for-typeorm
|
|
41
41
|
*/
|
|
42
|
-
exports.VERSION = "0.2.
|
|
42
|
+
exports.VERSION = "0.2.24";
|
|
43
43
|
/**
|
|
44
44
|
* @description Stores the current package version.
|
|
45
45
|
* @summary The version string of the for-typeorm package.
|
package/lib/index.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export * from "./utils";
|
|
|
21
21
|
* @const VERSION
|
|
22
22
|
* @memberOf module:for-typeorm
|
|
23
23
|
*/
|
|
24
|
-
export declare const VERSION = "0.2.
|
|
24
|
+
export declare const VERSION = "0.2.24";
|
|
25
25
|
/**
|
|
26
26
|
* @description Stores the current package version.
|
|
27
27
|
* @summary The version string of the for-typeorm package.
|