@decaf-ts/for-nest 0.2.6 → 0.2.7

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/README.md CHANGED
@@ -28,7 +28,7 @@ This repository is meant to provide an enterprise template for any standard Type
28
28
 
29
29
  Documentation available [here](https://decaf-ts.github.io/for-nest/)
30
30
 
31
- Minimal size: 9.6 KB kb gzipped
31
+ Minimal size: 9.7 KB kb gzipped
32
32
 
33
33
 
34
34
  ### Description
package/dist/for-nest.cjs CHANGED
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,r,a,o,i,s,n,c,p,d,l,u,h){"use strict";function m(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(r=>{if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}),t.default=e,Object.freeze(t)}var y=m(h);const f="swagger",g={API_OPERATION:f+"/apiOperation",API_RESPONSE:f+"/apiResponse",API_PRODUCES:f+"/apiProduces",API_CONSUMES:f+"/apiConsumes",API_TAGS:f+"/apiUseTags",API_CALLBACKS:f+"/apiCallbacks",API_PARAMETERS:f+"/apiParameters",API_HEADERS:f+"/apiHeaders",API_MODEL_PROPERTIES:f+"/apiModelProperties",API_MODEL_PROPERTIES_ARRAY:f+"/apiModelPropertiesArray",API_SECURITY:f+"/apiSecurity",API_EXCLUDE_ENDPOINT:f+"/apiExcludeEndpoint",API_EXCLUDE_CONTROLLER:f+"/apiExcludeController",API_EXTRA_MODELS:f+"/apiExtraModels",API_EXTENSION:f+"/apiExtension",API_SCHEMA:f+"/apiSchema",API_DEFAULT_GETTER:f+"/apiDefaultGetter",API_LINK:f+"/apiLink"},_=e=>void 0===e;function A(e){if("function"==typeof e)return A(e());if(Array.isArray(e))return e;if("object"!=typeof e)return[];const t=Object.values(e).filter(e=>"number"==typeof e).map(e=>e.toString());return Object.keys(e).filter(e=>!t.includes(e)).map(t=>e[t])}function E(e){return e.filter(s.isString).length>0?"string":"number"}function P(e,t,r=!0){return(a,o)=>{const i=Reflect.getMetadata(g.API_MODEL_PROPERTIES_ARRAY,a)||[],n=":"+o;i.includes(n)||Reflect.defineMetadata(g.API_MODEL_PROPERTIES_ARRAY,[...i,":"+o],a);const c=Reflect.getMetadata(e,a,o);if(c){const i=s.pickBy(t,s.negate(_)),n=r?{...c,...i}:{...i,...c};Reflect.defineMetadata(e,n,a,o)}else{const r=a?.constructor?._OPENAPI_METADATA_FACTORY?.()[o]?.type??Reflect.getMetadata("design:type",a,o);Reflect.defineMetadata(e,{type:r,...s.pickBy(t,s.negate(_))},a,o)}}}function b(e={}){return O(e)}function O(e={},t=!0){const[r,a]=((e,t)=>{if(!e)return[e,t];if(t)return[e,t];const r=s.isArray(e);return[r?e[0]:e,r]})(e.type,e.isArray);if((o=e={...e,type:r,isArray:a}).isArray&&"enum"in o&&void 0!==o.enum){e.type="array";const t=A(e.enum);e.items={type:E(t),enum:t},delete e.enum}else if("enum"in e&&void 0!==e.enum){const t=A(e.enum);e.enum=t,e.type=E(t)}var o;return Array.isArray(e.type)&&(e.type="array",e.items={type:"array",items:{type:e.type[0]}}),P(g.API_MODEL_PROPERTIES,e,t)}function R(e,r){const{handler:a,args:o}=t.Metadata.get(e,c.OperationKeys.REFLECT+c.OperationKeys.BLOCK)||{};return!!a&&(a(...o,r)??!1)}function w(e,r,o){const i={GET:[c.OperationKeys.READ,a.Get],POST:[c.OperationKeys.CREATE,a.Post],PUT:[c.OperationKeys.UPDATE,a.Put],PATCH:[c.OperationKeys.UPDATE,a.Patch],DELETE:[c.OperationKeys.DELETE,a.Delete]},[s,p]=i[r];return R(e,s)?t.apply(n.ApiExcludeEndpoint()):t.apply(p(o))}function D(e=[]){const t=e.map(e=>n.ApiParam({name:e.name,description:e.description??"Path parameter: "+e.name,required:e.required??!0,type:e.type??String}));return a.applyDecorators(...t)}t.Decoration.for(r.InjectablesKeys.INJECTABLE).extend({decorator:(e,t)=>(t=t||("object"==typeof e?Object.assign(e,r.DefaultInjectablesConfig):r.DefaultInjectablesConfig),a.Injectable({scope:t.singleton?a.Scope.DEFAULT:a.Scope.REQUEST,durable:!t.singleton||void 0}))}).apply(),t.Decoration.for(r.InjectablesKeys.INJECT).extend({decorator:(e,t)=>(t,r,o)=>a.Inject(e||t)(t,r,o)}).apply(),t.Decoration.for(o.ValidationKeys.REQUIRED).extend(b({required:!0})).apply(),t.Decoration.for(o.ValidationKeys.MAX).extend({decorator:e=>b({maximum:e})}).apply(),t.Decoration.for(o.ValidationKeys.MIN).extend({decorator:e=>b({minimum:e})}).apply(),t.Decoration.for(o.ValidationKeys.MAX_LENGTH).extend({decorator:e=>b({maxLength:e})}).apply(),t.Decoration.for(o.ValidationKeys.MIN_LENGTH).extend({decorator:e=>b({minLength:e})}).apply(),t.Decoration.for(o.ValidationKeys.TYPE).extend({decorator:e=>(t,r)=>("function"!=typeof(e=Array.isArray(e)?e[0]:e)||e.name||(e=e()),b({type:e})(t,r))}).apply(),t.Decoration.for(o.ValidationKeys.DATE).extend({decorator:e=>b({type:String,format:"date-time"})}).apply(),t.Decoration.for(o.ValidationKeys.ENUM).extend({decorator:e=>b({enum:Array.isArray(e)?e:Object.values(e)})}).apply(),t.Decoration.for(o.ValidationKeys.PATTERN).extend({decorator:e=>b({pattern:"string"==typeof e?e:e.source})}).apply(),t.Decoration.for(i.PersistenceKeys.COLUMN).extend({decorator:e=>b({name:e})}).apply(),t.Decoration.for(t.DecorationKeys.DESCRIPTION).extend({decorator:e=>b({description:e})}).apply();const T=a.createParamDecorator((e,t)=>{const r=t.switchToHttp().getRequest().body,o=t.getClass(),i=o.class;if(!i)throw new a.InternalServerErrorException(`ModelConstructor not found on controller ${o.name}. Ensure the controller was created via FromModelController.`);return r?Array.isArray(r)?r.map(e=>new i(e)):new i(r):r}),v=a.createParamDecorator((e,t)=>{const r=t.switchToHttp().getRequest(),a=r?.params??{},o=e??Object.keys(a),i=o.map(e=>a[e]);return{raw:a,valuesInOrder:i,keysInOrder:o}});function S(e=[]){const t=e.map(e=>e.name);return v(t)}const C=a.createParamDecorator((e,t)=>{const r={...t.switchToHttp().getRequest().query??{}};if(void 0!==r.limit){const e=Number(r.limit);Number.isNaN(e)||(r.limit=e)}if(void 0!==r.offset){const e=Number(r.offset);Number.isNaN(e)||(r.offset=e)}if(void 0!==r.bookmark){const e=Number(r.bookmark);r.bookmark=Number.isNaN(e)?r.bookmark:e}return r});function x(e){const t={GET:a.Get,POST:a.Post,PUT:a.Put,PATCH:a.Patch,DELETE:a.Delete}[e];if(!t)throw Error(`Unsupported HTTP verb "${e}". No NestJS decorator mapping was found.`);return t}const I="DecafModuleOptions",M="DecafAdapter",k="DecafRoute",$=Symbol("DecafHandlers"),F=Symbol("DecafAdapterForOptions"),N=Symbol("AUTH_HANDLER"),L="auth:meta",j="AuthRole",q=Symbol("decaf:context");function B(t){const r="string"==typeof t?t:t.name;return a.applyDecorators(a.SetMetadata(L,r),a.UseInterceptors(e.AuthInterceptor))}e.AuthInterceptor=class{constructor(e,t){this.reflector=e,this.authHandler=t}async intercept(e,t){const r=this.reflector.get(L,e.getHandler())??this.reflector.get(L,e.getClass());return r&&this.authHandler&&await this.authHandler.authorize(e,r),t.handle()}},e.AuthInterceptor=p.__decorate([a.Injectable(),p.__param(1,a.Optional()),p.__param(1,a.Inject(N)),p.__metadata("design:paramtypes",[d.Reflector,Object])],e.AuthInterceptor);class K{parseRequest(e){const t=e.headers.authorization?.split(" ")[1];return t}async authorize(e,r){const a=e.switchToHttp().getRequest(),s=this.parseRequest(a);if(!s)throw new i.AuthorizationError("Unauthenticated");if(!t.Metadata.get(o.Model.get(r),j).includes(s))throw new i.AuthorizationError("Missing role: "+s)}}e.DecafRequestContext=class{put(e){let t;try{t=this.ctx.get("overrides")}catch(e){t={}}this._ctx=this.ctx.accumulate({overrides:Object.assign(t,e)})}applyCtx(e){this._ctx=e}get ctx(){if(!this._ctx)throw new c.InternalError("Context not initialized for request");return this._ctx}},e.DecafRequestContext=p.__decorate([a.Injectable({scope:a.Scope.REQUEST})],e.DecafRequestContext),e.DecafHandlerExecutor=class{constructor(e,t){this.handlers=e,this.context=t}async exec(e,t){for(const r of this.handlers)await r.handle(this.context,e,t)}},e.DecafHandlerExecutor=p.__decorate([a.Injectable({scope:a.Scope.REQUEST}),p.__param(0,a.Inject($)),p.__metadata("design:paramtypes",[Array,e.DecafRequestContext])],e.DecafHandlerExecutor);const U=e=>({name:e,description:e+" parameter for the query",required:!0,type:String});function H(e,t,r,o=!1){const s=x(r),c=(e=>e.split("/").filter(e=>e.startsWith(":")).map(e=>e.slice(1)))(t).map(U),p=[];return"GET"===r&&o&&p.push(n.ApiQuery({name:"direction",required:!1,enum:i.OrderDirection,description:"the sort order when applicable"}),n.ApiQuery({name:"limit",required:!1,description:"limit or page size when applicable"}),n.ApiQuery({name:"offset",required:!1,description:"offset or bookmark when applicable"})),{method:[s(t),...c.map(n.ApiParam),...p,n.ApiOperation({summary:`Retrieve records using according to "${e}".`}),n.ApiOkResponse({description:"Result successfully retrieved."}),n.ApiNoContentResponse({description:"No content returned by the method."})],params:[S(c),a.Query()]}}function G(e,t,r,a){const o=e?.prototype??e;a.method.forEach(e=>e(o,t,r)),a.params?.forEach((e,r)=>e(o,t,r))}function z(e){return async function(t,r){const a=this.log.for(e);try{a.debug(`Invoking persistence method "${e}" given parameters: ${JSON.stringify(t.valuesInOrder)}`);const{direction:o,limit:s,offset:n}=r;return await((e,t,...r)=>{if(e instanceof i.ModelService)return"function"==typeof e[t]?e[t](...r):e.statement(t,...r);if("function"==typeof e[t])return e[t](...r);throw Error(`Persistence method "${t}" not found on ${e?.constructor?.name}`)})(this.persistence(),e,...t.valuesInOrder,o,s,n)}catch(t){throw a.error(`Custom query "${e}" failed`,t),t}}}function Q(e,t,r){return Object.defineProperty(e.prototype||e,t,{value:r,writable:!1}),Object.getOwnPropertyDescriptor(e.prototype||e,t)}class V extends i.Service{constructor(e,t){super(t),this.clientContext=e}logCtx(e,t,r=!1,a){const o=this.clientContext.ctx;return e=e.filter(e=>void 0!==e),i.ContextualLoggedClass.logCtx.call(this,t,a||{},r,...e,o)}}class Y extends V{persistence(e){if(!this._persistence)try{this._persistence=i.ModelService.getService(this.class)}catch(e){this._persistence=i.Repository.forModel(this.class)}return e?this._persistence instanceof i.Repository?this._persistence.override(e.toOverrides()):this._persistence.for(e.toOverrides()):this._persistence}constructor(e,t){super(e,t)}logCtx(e,t,r=!1){const a=this.clientContext.ctx;let o={};try{o=a.get("overrides")}catch(e){}const s=this.persistence(a);let n,c;return s instanceof i.ModelService?n=s.repo.adapter:s instanceof i.Repository?n=s.adapter:s.context&&(n=s),r?n.logCtx(e,t,!0,o).then(e=>e):(c=n.logCtx(e,t,!1,o),c)}}function J(e,r){if(!i.TransactionOperationKeys.includes(e))return r;const a=[c.OperationKeys.UPDATE,c.BulkCrudOperationKeys.UPDATE_ALL].includes(e),s=t.Metadata.properties(r)||[],p=o.Model.relations(r)||[];let d=s.filter(e=>o.Model.generated(r,e));a&&(d=d.filter(e=>e!==o.Model.pk(r)));class u extends(n.OmitType(r,d)){}function h(e,t,r){r||(Object.defineProperty(u.prototype,e,{value:r?[t]:t,writable:!0,enumerable:!0,configurable:!0}),Reflect.defineMetadata("design:type",t,u.prototype,e))}Object.defineProperty(u,"name",{value:`${l.toPascalCase(r.name)}${l.toPascalCase(e)}DTO`});for(const a of p){let i=t.Metadata.allowedTypes(r,a);if(i=i?Array.isArray(i)?i[0]:i:void 0,i="function"!=typeof i||i.name?i:i(),!i)throw new c.InternalError(`Type for relation ${a} not found`);if(o.Model.get(i.name)){const s=t.Metadata.validationFor(r,a);h(a,J(e,i),!!s[o.ValidationKeys.LIST])}}return u}class X{static{this.log=l.Logging.for(X.name)}static getPersistence(e){try{return i.ModelService.getService(e)}catch(t){return i.Repository.forModel(e)}}static createQueryRoutesFromRepository(e,r=i.PersistenceKeys.QUERY){const a=X.log.for(X.createQueryRoutesFromRepository),o=e instanceof i.ModelService?e.repo:e,s=o.class,n=t.Metadata.get(o.constructor,t.Metadata.key(i.PersistenceKeys.QUERY))??{},c=t.Metadata.get(e.constructor,t.Metadata.key(k))??{};class p extends Y{get class(){throw Error("Method not implemented.")}constructor(e,t){super(e,t)}}for(const[e,t]of Object.entries(c)){const r=[t.path.replace(/^\/+|\/+$/g,"")].filter(e=>e&&e.trim()).join("/"),o=z(e);if(!o){const t=`Invalid or missing handler for model ${s.name} on decorated method ${e}`;throw a.error(t),Error(t)}const i=Q(p,e,o);i&&G(p,e,i,H(e,r,t.httpMethod))}for(const[e,t]of Object.entries(n)){const a=[r,e,...(t.fields??[]).map(e=>":"+e)].filter(e=>e&&e.trim()).join("/"),o=Q(p,e,z(e));o&&G(p,e,o,H(e,a,"GET",!0))}return p}static create(t){const r=X.log.for(X.create),s=o.Model.tableName(t),d=l.toKebabCase(s),u=t.name,h=X.getPersistence(t),{description:m,getPK:y,apiProperties:f,path:g}=X.getRouteParametersFromModel(t);r.debug("Creating controller for model: "+u);const _=X.createQueryRoutesFromRepository(h);let A=class extends _{static get class(){return t}get class(){return t}constructor(e){super(e),this.pk=o.Model.pk(t),r.info(`Registering dynamic controller for model: ${this.class.name} route: /${d}`)}async listBy(e,t){const{ctx:r}=(await this.logCtx([],i.PreparedStatementKeys.LIST_BY,!0)).for(this.listBy);return this.persistence(r).listBy(e,t.direction,r)}async paginateBy(e,t){const{ctx:r}=(await this.logCtx([],i.PreparedStatementKeys.PAGE_BY,!0)).for(this.paginateBy);return this.persistence(r).paginateBy(e,t.direction,t,r)}async findOneBy(e,t){const{ctx:r}=(await this.logCtx([],i.PreparedStatementKeys.FIND_ONE_BY,!0)).for(this.findOneBy);return this.persistence(r).findOneBy(e,t,r)}async findBy(e,t,r){const{ctx:a}=(await this.logCtx([],i.PreparedStatementKeys.FIND_BY,!0)).for(this.findBy);return this.persistence(a).for(a.toOverrides()).findBy(e,t,a)}async statement(e,t,r){const{ctx:a}=(await this.logCtx([],i.PersistenceKeys.STATEMENT,!0)).for(this.statement),{direction:o,offset:s,limit:n,bookmark:c}=r;switch(t=t.map(e=>("string"==typeof e?parseInt(e):e)||e),e){case i.PreparedStatementKeys.FIND_BY:break;case i.PreparedStatementKeys.LIST_BY:t.push(o);break;case i.PreparedStatementKeys.PAGE_BY:t=[t[0],o,{limit:n,offset:s,bookmark:c}];case i.PreparedStatementKeys.FIND_ONE_BY:}return this.persistence(a).statement(e,...t,a)}async createAll(e){const{ctx:r,log:a}=(await this.logCtx([],c.BulkCrudOperationKeys.CREATE_ALL,!0)).for(this.createAll);let o;a.verbose("creating new "+u);try{o=await this.persistence(r).createAll(e.map(e=>new t(e)),r)}catch(e){throw a.error("Failed to create new "+u,e),e}return a.info(`created new ${u} with id ${o[this.pk]}`),o}async create(e){const{ctx:t,log:r}=(await this.logCtx([],c.OperationKeys.CREATE,!0)).for(this.create);let a;r.verbose("creating new "+u);try{a=await this.persistence(t).create(e,t)}catch(e){throw r.error("Failed to create new "+u,e),e}return r.info(`created new ${u} with id ${a[this.pk]}`),a}async readAll(e){const{ctx:t,log:r}=(await this.logCtx([],c.BulkCrudOperationKeys.READ_ALL,!0)).for(this.readAll);let a;try{r.debug(`reading ${e.length} ${u}: ${e}`),a=await this.persistence(t).readAll(e,t)}catch(t){throw r.error(`Failed to ${u} with id ${e}`,t),t}return r.info(`read ${a.length} ${u}`),a}async read(e){const{ctx:t,log:r}=(await this.logCtx([],c.OperationKeys.READ,!0)).for(this.read),a=y(...e.valuesInOrder);if(void 0===a)throw new c.ValidationError(`No ${this.pk} provided`);let o;try{r.debug(`reading ${u} with ${this.pk} ${a}`),o=await this.persistence(t).read(a,t)}catch(e){throw r.error(`Failed to read ${u} with id ${a}`,e),e}return r.info(`read ${u} with id ${o[this.pk]}`),o}async updateAll(e){const{ctx:t,log:r}=(await this.logCtx([],c.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAll);let a;try{r.info(`updating ${e.length} ${u}`);const o=e.map(e=>JSON.parse(JSON.stringify(e)));a=await this.persistence(t).updateAll(o,t)}catch(e){throw r.error(e),e}return a}async update(e,r){const{ctx:a,log:o}=(await this.logCtx([],c.OperationKeys.UPDATE,!0)).for(this.update),i=y(...e.valuesInOrder);if(void 0===i)throw new c.ValidationError(`No ${this.pk} provided`);let s;try{o.info(`updating ${u} with ${this.pk} ${i}`);const e=JSON.parse(JSON.stringify(r));s=await this.persistence(a).update(new t({...e,[this.pk]:i}),a)}catch(e){throw o.error(e),e}return s}async deleteAll(e){const{ctx:t,log:r}=(await this.logCtx([],c.BulkCrudOperationKeys.DELETE_ALL,!0)).for(this.deleteAll);let a;try{r.debug(`deleting ${e.length} ${u}: ${e}`),a=await this.persistence(t).deleteAll(e,t)}catch(t){throw r.error(`Failed to delete ${u} with id ${e}`,t),t}return r.info(`deleted ${a.length} ${u}`),a}async delete(e){const{ctx:t,log:r}=(await this.logCtx([],c.OperationKeys.DELETE,!0)).for(this.delete),a=y(...e.valuesInOrder);if(void 0===a)throw new c.ValidationError(`No ${this.pk} provided`);let o;try{r.debug(`deleting ${u} with ${this.pk} ${a}`),o=await this.persistence(t).delete(a,t)}catch(e){throw r.error(`Failed to delete ${u} with id ${a}`,e),e}return r.info(`deleted ${u} with id ${a}`),o}};return p.__decorate([w(t,"GET","listBy/:key"),n.ApiOperation({summary:`Retrieve ${u} records by query.`}),n.ApiParam({name:"key",description:"the model key to sort by"}),n.ApiQuery({name:"direction",required:!0,enum:i.OrderDirection}),n.ApiOkResponse({description:u+" listed successfully."}),p.__param(1,C()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[String,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"listBy",null),p.__decorate([w(t,"GET","paginateBy/:key/:page"),n.ApiOperation({summary:`Retrieve ${u} records by query.`}),n.ApiParam({name:"key",description:"the model key to sort by"}),n.ApiParam({name:"page",description:"the page to retrieve or the bookmark"}),n.ApiQuery({name:"direction",required:!0,enum:i.OrderDirection,description:"the sort order"}),n.ApiQuery({name:"limit",required:!0,description:"the page size"}),n.ApiQuery({name:"offset",description:"the bookmark when necessary"}),n.ApiOkResponse({description:u+" listed paginated."}),p.__param(0,a.Param("key")),p.__param(1,C()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[String,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"paginateBy",null),p.__decorate([w(t,"GET","findOneBy/:key"),n.ApiOperation({summary:`Retrieve ${u} records by query.`}),n.ApiParam({name:"key",description:"the model key to sort by"}),n.ApiOkResponse({description:u+" listed found."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,a.Param("key")),p.__param(1,a.Param("value")),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[String,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"findOneBy",null),p.__decorate([w(t,"GET","findBy/:key/:value"),n.ApiOperation({summary:`Retrieve ${u} records by query.`}),n.ApiParam({name:"key",description:"the model key to compare"}),n.ApiParam({name:"value",description:"the value to match"}),n.ApiQuery({name:"direction",required:!0,enum:i.OrderDirection,description:"the sort order when applicable"}),n.ApiOkResponse({description:u+" listed found."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,a.Param("key")),p.__param(1,a.Param("value")),p.__param(2,C()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[String,Object,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"findBy",null),p.__decorate([w(t,"GET","statement/:method/*args"),n.ApiOperation({summary:`Executes a prepared statement on ${u}.`}),n.ApiParam({name:"method",description:"the prepared statement to execute"}),n.ApiParam({name:"args",description:"concatenated list of arguments the prepared statement can accept"}),n.ApiQuery({name:"direction",required:!0,enum:i.OrderDirection,description:"the sort order when applicable"}),n.ApiQuery({name:"limit",required:!0,description:"limit or page size when applicable"}),n.ApiQuery({name:"offset",required:!0,description:"offset or bookmark when applicable"}),n.ApiOkResponse({description:u+" listed found."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,a.Param("method")),p.__param(1,a.Param("args")),p.__param(2,C()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[String,Array,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"statement",null),p.__decorate([w(t,"POST","bulk"),n.ApiOperation({summary:`Create a new ${u}.`}),n.ApiBody({description:"Payload for "+u,schema:{type:"array",items:{$ref:n.getSchemaPath(t)}}}),n.ApiCreatedResponse({description:u+" created successfully.",schema:{type:"array",items:{$ref:n.getSchemaPath(t)}}}),n.ApiBadRequestResponse({description:"Payload validation failed."}),n.ApiUnprocessableEntityResponse({description:"Repository rejected the provided payload."}),p.__param(0,T()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array]),p.__metadata("design:returntype",Promise)],A.prototype,"createAll",null),p.__decorate([w(t,"POST"),n.ApiOperation({summary:`Create a new ${u}.`}),n.ApiBody({description:"Payload for "+u,type:J(c.OperationKeys.CREATE,t)}),n.ApiCreatedResponse({description:u+" created successfully.",schema:{$ref:n.getSchemaPath(t)}}),n.ApiBadRequestResponse({description:"Payload validation failed."}),n.ApiUnprocessableEntityResponse({description:"Repository rejected the provided payload."}),p.__param(0,T()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object]),p.__metadata("design:returntype",Promise)],A.prototype,"create",null),p.__decorate([w(t,"GET","bulk"),n.ApiOperation({summary:`Retrieve a ${u} record by id.`}),n.ApiQuery({name:"ids",required:!0,type:"array"}),n.ApiOkResponse({description:u+" retrieved successfully.",schema:{type:"array",items:{$ref:n.getSchemaPath(t)}}}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,a.Query("ids")),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array]),p.__metadata("design:returntype",Promise)],A.prototype,"readAll",null),p.__decorate([w(t,"GET",g),D(f),n.ApiOperation({summary:`Retrieve a ${u} record by id.`}),n.ApiOkResponse({description:u+" retrieved successfully.",schema:{$ref:n.getSchemaPath(t)}}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,S(f)),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object]),p.__metadata("design:returntype",Promise)],A.prototype,"read",null),p.__decorate([w(t,"PUT","bulk"),D(f),n.ApiOperation({summary:`Replace an existing ${u} record with a new payload.`}),n.ApiBody({description:"Payload for replace a existing record of "+u,schema:{type:"array",items:{$ref:n.getSchemaPath(t)}}}),n.ApiCreatedResponse({description:u+" updated successfully.",schema:{type:"array",items:{$ref:n.getSchemaPath(t)}}}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),n.ApiBadRequestResponse({description:"Payload validation failed."}),p.__param(0,T()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array]),p.__metadata("design:returntype",Promise)],A.prototype,"updateAll",null),p.__decorate([w(t,"PUT",g),D(f),n.ApiOperation({summary:`Replace an existing ${u} record with a new payload.`}),n.ApiBody({description:"Payload for replace a existing record of "+u,schema:{$ref:n.getSchemaPath(t)}}),n.ApiOkResponse({description:u+" updated successfully."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),n.ApiBadRequestResponse({description:"Payload validation failed."}),p.__param(0,S(f)),p.__param(1,T()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"update",null),p.__decorate([w(t,"DELETE","bulk"),D(f),n.ApiOperation({summary:`Retrieve a ${u} record by id.`}),n.ApiQuery({name:"ids",required:!0,type:"array"}),n.ApiOkResponse({description:u+" retrieved successfully."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,a.Query("ids")),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array]),p.__metadata("design:returntype",Promise)],A.prototype,"deleteAll",null),p.__decorate([w(t,"DELETE",g),D(f),n.ApiOperation({summary:`Delete a ${u} record by id.`}),n.ApiOkResponse({description:u+" record deleted successfully."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,S(f)),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object]),p.__metadata("design:returntype",Promise)],A.prototype,"delete",null),A=p.__decorate([a.Controller(d),n.ApiTags(u),n.ApiExtraModels(t),B(t),p.__metadata("design:paramtypes",[e.DecafRequestContext])],A),A}static getRouteParametersFromModel(e){const r=o.Model.pk(e),a=t.Metadata.get(e,t.Metadata.key(c.DBKeys.COMPOSED,r)),i=a?.args??[],s=Array.isArray(i)&&i.length>0?Array.from(new Set([...i])):Array.from(new Set([r])),n=t.Metadata.description(e);return{path:":"+s.join("/:"),description:n,apiProperties:s.map(r=>({name:r,description:t.Metadata.description(e,r),required:!0,type:String})),getPK:(...e)=>a?.separator?e.join(a.separator):e.join("")}}}i.Adapter.transformerFor=(e=>{const r="string"==typeof e?e:e.alias;return t.Metadata.innerGet(Symbol.for("transformers"),r)}).bind(i.Adapter),i.Adapter.flavoursToTransform=(()=>{const e=t.Metadata.innerGet(Symbol.for("transformers"));if(e)return Object.keys(e)}).bind(i.Adapter),e.DecafRequestHandlerInterceptor=class{constructor(e,t){this.requestContext=e,this.executor=t}async contextualize(e){const t={headers:e.headers,overrides:{}},r=i.Adapter.flavoursToTransform();if(r)for(const a of r)try{const r=i.Adapter.transformerFor(a),o=await r.from(e);Object.assign(t.overrides,o)}catch(e){throw new c.InternalError("Failed to contextualize request: "+e)}return(new i.Context).accumulate(Object.assign({},i.DefaultAdapterFlags,{logger:l.Logging.get(),timestamp:new Date},t))}async intercept(e,t){const r=e.switchToHttp().getRequest(),a=e.switchToHttp().getResponse(),o=await this.contextualize(r);return this.requestContext.applyCtx(o),await this.executor.exec(r,a),t.handle()}},e.DecafRequestHandlerInterceptor=p.__decorate([a.Injectable({scope:a.Scope.REQUEST}),p.__metadata("design:paramtypes",[e.DecafRequestContext,e.DecafHandlerExecutor])],e.DecafRequestHandlerInterceptor);class W{}function Z(e){return r=>(t.Metadata.set("transformers",e,r),"function"==typeof r?t.metadata("transformers",e)(r):r)}function ee(t){var r;let o=class{static{r=this}static{this.log=l.Logging.for(r.name).for(t)}static createModelServices(e){return e.map(e=>({provide:e.name+"Service",useFactory:()=>i.ModelService.forModel(e)}))}static forRoot(t,a={}){const o=this.log.for(this.forRoot);o.info("Generating controllers for flavour...");const s=i.Adapter.models(t);let n=[];a.autoServices&&(o.info("Auto-services enabled. Initializing service generation."),n=this.createModelServices(s),o.info(`Auto-services completed. ${n.length} services initialized.`));const c=s.map(X.create);return o.info(`Generated ${c.length} controllers`),{module:r,controllers:c,providers:[{provide:$,useFactory:()=>a.handlers?.map(e=>(o.info("Registered request handler: "+e.name),new e))??[]},e.DecafRequestContext,e.DecafHandlerExecutor,{provide:d.APP_INTERCEPTOR,useClass:e.DecafRequestHandlerInterceptor},...n]}}};return o=r=p.__decorate([a.Module({})],o),Object.assign(o,"name",{value:"DecafModule"+t}),o}class te extends i.ForbiddenError{constructor(e){super(e,te.name)}}e.DecafExceptionFilter=class{catch(e,t){const r=t.switchToHttp(),a=r.getResponse(),o=r.getRequest(),i="production"===l.LoggedEnvironment.env;e instanceof c.BaseError||(e=new c.InternalError(e.message)),a.status(e.code).json({status:e.code,error:i?e.name:e.message,timestamp:(new Date).toISOString(),path:o.url,method:o.method})}},e.DecafExceptionFilter=p.__decorate([a.Catch()],e.DecafExceptionFilter);const re={title:"Swagger | OpenAPI Specification (OAS)",description:"Standardized format for describing RESTful APIs",version:"0.0.1",path:"docs",faviconFilePath:"",topbarIconFilePath:"",auth:{type:"http",scheme:"bearer",bearerFormat:"JWT",name:"Authorization",description:"Enter JWT token",in:"header"},persistAuthorization:!0,topbarBgColor:"#000000"};class ae{constructor(e){this.options={...e}}customCSS(){let e="";return this.options.topbarIconPath&&(e+=`.topbar-wrapper { content: url('data:image/png;base64,${this.b64(this.options.topbarIconPath)}'); width: 200px; height: auto; }\n`),e+`\n .topbar-wrapper svg { visibility: hidden; }\n .swagger-ui .topbar { background-color: ${this.options.topbarBgColor||re.topbarBgColor}; }\n `}getCustomOptions(){const e={};return this.options.faviconPath&&(e.customfavIcon=this.b64(this.options.faviconPath,!0)),{customSiteTitle:this.options.title,...e,customCss:this.customCSS(),swaggerOptions:{persistAuthorization:this.options.persistAuthorization},jsonDocumentUrl:this.options.path?this.options.path+"/spec.json":void 0,yamlDocumentUrl:this.options.path?this.options.path+"/spec.yaml":void 0}}b64(e,t=!1){const r=y.join(this.options.assetsPath||"",e),a=u.readFileSync(r,{encoding:"base64"});return t?"data:image/png;base64,"+a:a}}class oe{constructor(e,t){this.app=e,this.options=t}createDocument(){const e=this.options.path?this.options.description+""+`<br><br><a href="${this.options.path}/spec.json">OpenAPI JSON Spec</a> | `+`<a href="${this.options.path}/spec.yaml">OpenAPI YAML Spec</a>`:this.options.description,t=(new n.DocumentBuilder).setTitle(this.options.title).setDescription(e).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||re.auth).build();return n.SwaggerModule.createDocument(this.app,t,{extraModels:this.options.extraModels||[]})}setupSwagger(){const e=this.createDocument(),t=new ae({title:this.options.title,path:this.options.path||re.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});n.SwaggerModule.setup(this.options.path||re.path,this.app,e,{...t.getCustomOptions()})}}var ie;let se=class{static{ie=this}static get persistence(){if(!this._persistence)throw new c.InternalError("Persistence service not initialized");return this._persistence}static get log(){return this._logger||(this._logger=l.Logging.for(ie)),this._logger}constructor(e,t){this.options=e,this.moduleRef=t}static async bootPersistence(e){const t=this.log.for(this.bootPersistence);if(!this._persistence){const r=e.conf.map(([e,t,...r])=>r.pop()?[e,t,...r]:[e,t]);this._persistence=new i.PersistenceService,await this._persistence.boot(r);const a=this._persistence.client;for(let t=0;t<a.length;t++){const r=e.conf[t];let[,,o]=r;if(!o){const e=i.Adapter.transformerFor(a[t].flavour);if(!e)throw new c.InternalError(`No transformer found for flavour ${a[t].flavour}. you should either @requestToContextTransformer or provide a transformer in the config`);o=e instanceof W?e:new e}Z(a[t].flavour)(o)}t.info("persistence layer created successfully!")}return this.persistence.client}static forRoot(e){const t={provide:I,useValue:e},r={useFactory:async e=>ie.bootPersistence(e),provide:M,durable:!0,scope:a.Scope.DEFAULT,inject:[I]};return{module:ie,providers:[r,t],exports:[r]}}async onApplicationShutdown(){const e=ie.log.for(this.onApplicationShutdown),t=this.moduleRef.get(M);for(const r of t)try{r&&(e.info("Shutting down "+r.toString()),await r.shutdown())}catch(t){e.error("Failed to shutdown application",t)}}};var ne;se=ie=p.__decorate([a.Global(),a.Module({}),p.__param(0,a.Inject(I)),p.__metadata("design:paramtypes",[Object,d.ModuleRef])],se),e.DecafModule=ne=class{static async forRootAsync(e){const{autoControllers:t,autoServices:r,handlers:a}=e,o=(await se.bootPersistence(e)).map(e=>e.flavour),i=[se.forRoot(e)];return t&&o.forEach(e=>{i.push(ee(e).forRoot(e,{autoServices:r,handlers:a}))}),{module:ne,imports:i}}},e.DecafModule=ne=p.__decorate([a.Module({})],e.DecafModule);const ce="##VERSION##",pe="##PACKAGE##";t.Metadata.registerLibrary(pe,ce),e.AUTH_HANDLER=N,e.AUTH_META_KEY=L,e.ApiOperationFromModel=w,e.ApiParamsFromModel=D,e.ApiProperty=b,e.Auth=B,e.AuthRole=j,e.BulkApiOperationFromModel=(e,r,o)=>{const i={GET:[c.BulkCrudOperationKeys.READ_ALL,a.Get],POST:[c.BulkCrudOperationKeys.CREATE_ALL,a.Post],PUT:[c.BulkCrudOperationKeys.UPDATE_ALL,a.Put],PATCH:[c.BulkCrudOperationKeys.UPDATE_ALL,a.Patch],DELETE:[c.BulkCrudOperationKeys.DELETE_ALL,a.Delete]},[s,p]=i[r];return R(e,s)?t.apply(n.ApiExcludeEndpoint()):t.apply(p(o))},e.CorsError=te,e.DECAF_ADAPTER_ID=M,e.DECAF_ADAPTER_OPTIONS=F,e.DECAF_CONTEXT_KEY=q,e.DECAF_HANDLERS=$,e.DECAF_MODULE_OPTIONS=I,e.DECAF_ROUTE=k,e.DECORATORS=g,e.DECORATORS_PREFIX=f,e.DecafAuthHandler=K,e.DecafBody=T,e.DecafController=V,e.DecafModelController=Y,e.DecafParams=S,e.DecafQuery=C,e.DecafRoleAuthHandler=class extends K{constructor(){super()}async authorize(e,r){const a=e.switchToHttp().getRequest(),s=this.parseRequest(a);if(!s)throw new i.AuthorizationError("Unauthenticated");const n=t.Metadata.get(o.Model.get(r),j);if(!n.includes(s))throw new i.AuthorizationError("Missing role: "+s);return n}},e.DtoFor=J,e.FromModelController=X,e.HttpVerbToDecorator=x,e.NestBootstraper=class{static get logger(){return this._logger||(this._logger=new a.Logger("NestBootstrap")),this._logger}static initialize(e){return this.app=e,this}static enableLogger(e){return this._logger=e||new a.Logger("NestBootstrap"),this.app.useLogger(this._logger),this}static enableCors(e=[],t=["GET","POST","PUT","DELETE"]){const r="*"===e?"*":e.map(e=>e.trim().toLowerCase()),a={origin:(e,t)=>e?"*"===r||Array.isArray(r)&&r.includes(e.toLowerCase())?t(null,!0):void t(new te(`Origin ${e} not allowed`)):t(null,!0),credentials:!0,methods:t.join(",")};return this.app.enableCors(a),this}static useHelmet(e){try{const t=require("helmet");this.app.use(t(e)),this.logger.log("Helmet middleware enabled successfully.")}catch(e){this.logger.warn("Helmet not installed. Skipping middleware.")}return this}static setupSwagger(e){return new oe(this.app,{title:e.title,description:e.description,version:e.version,path:e.path||"api",persistAuthorization:e.persistAuthorization??!0,assetsPath:e.assetsPath,faviconFilePath:e.faviconPath,topbarIconFilePath:e.topbarIconPath,topbarBgColor:e.topbarBgColor}).setupSwagger(),this}static useGlobalPipes(...e){return e.length>0&&this.app.useGlobalPipes(...e),this}static useGlobalFilters(...t){return this.app.useGlobalFilters(...t.length>0?t:[new e.DecafExceptionFilter]),this}static useGlobalInterceptors(...e){return e.length>0&&this.app.useGlobalInterceptors(...e),this}static async start(e=Number(process.env.PORT)||3e3,t=void 0,r=!0){this.app.listen(e,t).then(async()=>{if(r){const e=await this.app.getUrl();this.logger.log("\ud83d\ude80 Application is running at: "+e)}})}},e.PACKAGE_NAME=pe,e.RequestToContextTransformer=W,e.Roles=e=>t.metadata(j,e),e.SwaggerBuilder=oe,e.UseDecafFilter=()=>a.UseFilters(new e.DecafExceptionFilter),e.VERSION=ce,e.createApiPropertyDecorator=O,e.createPropertyDecorator=P,e.getEnumType=E,e.getEnumValues=A,e.getModuleFor=ee,e.isOperationBlocked=R,e.isUndefined=_,e.repoForModel=e=>{const t=o.Model.get(e);if(!t)throw new c.InternalError("Failed to find repository for "+e);return i.Repository.forModel(t)},e.requestToContextTransformer=Z,e.route=(e,r)=>{const a=k;return t.Decoration.for(a).define({decorator:()=>(o,i,s)=>{const n={path:r,httpMethod:e,handler:s};return t.apply(t.methodMetadata(t.Metadata.key(a,i),n))(o,i,s)},args:[]}).apply()}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/injectable-decorators"),require("@nestjs/common"),require("@decaf-ts/decorator-validation"),require("@decaf-ts/core"),require("lodash"),require("@nestjs/swagger"),require("@decaf-ts/db-decorators"),require("tslib"),require("@nestjs/core"),require("@decaf-ts/logging"),require("fs"),require("path")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/injectable-decorators","@nestjs/common","@decaf-ts/decorator-validation","@decaf-ts/core","lodash","@nestjs/swagger","@decaf-ts/db-decorators","tslib","@nestjs/core","@decaf-ts/logging","fs","path"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-nest"]={},e.decafTsDecoration,e.decafTsInjectableDecorators,e.nestjsCommon,e.decafTsDecoratorValidation,e.decafTsCore,e.lodash,e.nestjsSwagger,e.decafTsDbDecorators,e.tslib,e.nestjsCore,e.decafTsLogging,e.fs,e.path);
1
+ var e,t;e=this,t=function(e,t,r,a,o,i,s,n,c,p,d,l,u,h){"use strict";function m(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(r=>{if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}),t.default=e,Object.freeze(t)}var y=m(h);const f="swagger",g={API_OPERATION:f+"/apiOperation",API_RESPONSE:f+"/apiResponse",API_PRODUCES:f+"/apiProduces",API_CONSUMES:f+"/apiConsumes",API_TAGS:f+"/apiUseTags",API_CALLBACKS:f+"/apiCallbacks",API_PARAMETERS:f+"/apiParameters",API_HEADERS:f+"/apiHeaders",API_MODEL_PROPERTIES:f+"/apiModelProperties",API_MODEL_PROPERTIES_ARRAY:f+"/apiModelPropertiesArray",API_SECURITY:f+"/apiSecurity",API_EXCLUDE_ENDPOINT:f+"/apiExcludeEndpoint",API_EXCLUDE_CONTROLLER:f+"/apiExcludeController",API_EXTRA_MODELS:f+"/apiExtraModels",API_EXTENSION:f+"/apiExtension",API_SCHEMA:f+"/apiSchema",API_DEFAULT_GETTER:f+"/apiDefaultGetter",API_LINK:f+"/apiLink"},_=e=>void 0===e;function A(e){if("function"==typeof e)return A(e());if(Array.isArray(e))return e;if("object"!=typeof e)return[];const t=Object.values(e).filter(e=>"number"==typeof e).map(e=>e.toString());return Object.keys(e).filter(e=>!t.includes(e)).map(t=>e[t])}function E(e){return e.filter(s.isString).length>0?"string":"number"}function P(e,t,r=!0){return(a,o)=>{const i=Reflect.getMetadata(g.API_MODEL_PROPERTIES_ARRAY,a)||[],n=":"+o;i.includes(n)||Reflect.defineMetadata(g.API_MODEL_PROPERTIES_ARRAY,[...i,":"+o],a);const c=Reflect.getMetadata(e,a,o);if(c){const i=s.pickBy(t,s.negate(_)),n=r?{...c,...i}:{...i,...c};Reflect.defineMetadata(e,n,a,o)}else{const r=a?.constructor?._OPENAPI_METADATA_FACTORY?.()[o]?.type??Reflect.getMetadata("design:type",a,o);Reflect.defineMetadata(e,{type:r,...s.pickBy(t,s.negate(_))},a,o)}}}function b(e={}){return O(e)}function O(e={},t=!0){const[r,a]=((e,t)=>{if(!e)return[e,t];if(t)return[e,t];const r=s.isArray(e);return[r?e[0]:e,r]})(e.type,e.isArray);if((o=e={...e,type:r,isArray:a}).isArray&&"enum"in o&&void 0!==o.enum){e.type="array";const t=A(e.enum);e.items={type:E(t),enum:t},delete e.enum}else if("enum"in e&&void 0!==e.enum){const t=A(e.enum);e.enum=t,e.type=E(t)}var o;return Array.isArray(e.type)&&(e.type="array",e.items={type:"array",items:{type:e.type[0]}}),P(g.API_MODEL_PROPERTIES,e,t)}function R(e,r){const{handler:a,args:o}=t.Metadata.get(e,c.OperationKeys.REFLECT+c.OperationKeys.BLOCK)||{};return!!a&&(a(...o,r)??!1)}function w(e,r,o){const i={GET:[c.OperationKeys.READ,a.Get],POST:[c.OperationKeys.CREATE,a.Post],PUT:[c.OperationKeys.UPDATE,a.Put],PATCH:[c.OperationKeys.UPDATE,a.Patch],DELETE:[c.OperationKeys.DELETE,a.Delete]},[s,p]=i[r];return R(e,s)?t.apply(n.ApiExcludeEndpoint()):t.apply(p(o))}function D(e=[]){const t=e.map(e=>n.ApiParam({name:e.name,description:e.description??"Path parameter: "+e.name,required:e.required??!0,type:e.type??String}));return a.applyDecorators(...t)}t.Decoration.for(r.InjectablesKeys.INJECTABLE).extend({decorator:(e,t)=>(t=t||("object"==typeof e?Object.assign(e,r.DefaultInjectablesConfig):r.DefaultInjectablesConfig),a.Injectable({scope:t.singleton?a.Scope.DEFAULT:a.Scope.REQUEST,durable:!t.singleton||void 0}))}).apply(),t.Decoration.for(r.InjectablesKeys.INJECT).extend({decorator:(e,t)=>(t,r,o)=>a.Inject(e||t)(t,r,o)}).apply(),t.Decoration.for(o.ValidationKeys.REQUIRED).extend(b({required:!0})).apply(),t.Decoration.for(o.ValidationKeys.MAX).extend({decorator:e=>b({maximum:e})}).apply(),t.Decoration.for(o.ValidationKeys.MIN).extend({decorator:e=>b({minimum:e})}).apply(),t.Decoration.for(o.ValidationKeys.MAX_LENGTH).extend({decorator:e=>b({maxLength:e})}).apply(),t.Decoration.for(o.ValidationKeys.MIN_LENGTH).extend({decorator:e=>b({minLength:e})}).apply(),t.Decoration.for(o.ValidationKeys.TYPE).extend({decorator:e=>(t,r)=>("function"!=typeof(e=Array.isArray(e)?e[0]:e)||e.name||(e=e()),b({type:e})(t,r))}).apply(),t.Decoration.for(o.ValidationKeys.DATE).extend({decorator:e=>b({type:String,format:"date-time"})}).apply(),t.Decoration.for(o.ValidationKeys.ENUM).extend({decorator:e=>b({enum:Array.isArray(e)?e:Object.values(e)})}).apply(),t.Decoration.for(o.ValidationKeys.PATTERN).extend({decorator:e=>b({pattern:"string"==typeof e?e:e.source})}).apply(),t.Decoration.for(i.PersistenceKeys.COLUMN).extend({decorator:e=>b({name:e})}).apply(),t.Decoration.for(t.DecorationKeys.DESCRIPTION).extend({decorator:e=>b({description:e})}).apply();const T=a.createParamDecorator((e,t)=>{const r=t.switchToHttp().getRequest().body,o=t.getClass(),i=o.class;if(!i)throw new a.InternalServerErrorException(`ModelConstructor not found on controller ${o.name}. Ensure the controller was created via FromModelController.`);return r?Array.isArray(r)?r.map(e=>new i(e)):new i(r):r}),v=a.createParamDecorator((e,t)=>{const r=t.switchToHttp().getRequest(),a=r?.params??{},o=e??Object.keys(a),i=o.map(e=>a[e]);return{raw:a,valuesInOrder:i,keysInOrder:o}});function S(e=[]){const t=e.map(e=>e.name);return v(t)}const C=a.createParamDecorator((e,t)=>{const r={...t.switchToHttp().getRequest().query??{}};if(void 0!==r.limit){const e=Number(r.limit);Number.isNaN(e)||(r.limit=e)}if(void 0!==r.offset){const e=Number(r.offset);Number.isNaN(e)||(r.offset=e)}if(void 0!==r.bookmark){const e=Number(r.bookmark);r.bookmark=Number.isNaN(e)?r.bookmark:e}return r});function x(e){const t={GET:a.Get,POST:a.Post,PUT:a.Put,PATCH:a.Patch,DELETE:a.Delete}[e];if(!t)throw Error(`Unsupported HTTP verb "${e}". No NestJS decorator mapping was found.`);return t}const I="DecafModuleOptions",M="DecafAdapter",k="DecafRoute",$=Symbol("DecafHandlers"),F=Symbol("DecafAdapterForOptions"),N=Symbol("AUTH_HANDLER"),L="auth:meta",j="AuthRole",q=Symbol("decaf:context");function B(t){const r="string"==typeof t?t:t.name;return a.applyDecorators(a.SetMetadata(L,r),a.UseInterceptors(e.AuthInterceptor))}e.AuthInterceptor=class{constructor(e,t){this.reflector=e,this.authHandler=t}async intercept(e,t){const r=this.reflector.get(L,e.getHandler())??this.reflector.get(L,e.getClass());return r&&this.authHandler&&await this.authHandler.authorize(e,r),t.handle()}},e.AuthInterceptor=p.__decorate([a.Injectable(),p.__param(1,a.Optional()),p.__param(1,a.Inject(N)),p.__metadata("design:paramtypes",[d.Reflector,Object])],e.AuthInterceptor);class K{parseRequest(e){const t=e.headers.authorization?.split(" ")[1];return t}async authorize(e,r){const a=e.switchToHttp().getRequest(),s=this.parseRequest(a);if(!s)throw new i.AuthorizationError("Unauthenticated");if(!t.Metadata.get(o.Model.get(r),j).includes(s))throw new i.AuthorizationError("Missing role: "+s)}}e.DecafRequestContext=class{put(e){let t;try{t=this.ctx.get("overrides")}catch(e){t={}}this._ctx=this.ctx.accumulate({overrides:Object.assign(t,e)})}applyCtx(e){this._ctx=e}get ctx(){if(!this._ctx)throw new c.InternalError("Context not initialized for request");return this._ctx}},e.DecafRequestContext=p.__decorate([a.Injectable({scope:a.Scope.REQUEST})],e.DecafRequestContext),e.DecafHandlerExecutor=class{constructor(e,t){this.handlers=e,this.context=t}async exec(e,t){for(const r of this.handlers)await r.handle(this.context,e,t)}},e.DecafHandlerExecutor=p.__decorate([a.Injectable({scope:a.Scope.REQUEST}),p.__param(0,a.Inject($)),p.__metadata("design:paramtypes",[Array,e.DecafRequestContext])],e.DecafHandlerExecutor);const U=e=>({name:e,description:e+" parameter for the query",required:!0,type:String});function H(e,t,r,o=!1){const s=x(r),c=(e=>e.split("/").filter(e=>e.startsWith(":")).map(e=>e.slice(1)))(t).map(U),p=[];return"GET"===r&&o&&p.push(n.ApiQuery({name:"direction",required:!1,enum:i.OrderDirection,description:"the sort order when applicable"}),n.ApiQuery({name:"limit",required:!1,description:"limit or page size when applicable"}),n.ApiQuery({name:"offset",required:!1,description:"offset or bookmark when applicable"})),{method:[s(t),...c.map(n.ApiParam),...p,n.ApiOperation({summary:`Retrieve records using according to "${e}".`}),n.ApiOkResponse({description:"Result successfully retrieved."}),n.ApiNoContentResponse({description:"No content returned by the method."})],params:[S(c),a.Query()]}}function G(e,t,r,a){const o=e?.prototype??e;a.method.forEach(e=>e(o,t,r)),a.params?.forEach((e,r)=>e(o,t,r))}function z(e){return async function(t,r){const a=this.log.for(e);try{a.debug(`Invoking persistence method "${e}" given parameters: ${JSON.stringify(t.valuesInOrder)}`);const{direction:o,limit:s,offset:n}=r;return await((e,t,...r)=>{if(e instanceof i.ModelService)return"function"==typeof e[t]?e[t](...r):e.statement(t,...r);if("function"==typeof e[t])return e[t](...r);throw Error(`Persistence method "${t}" not found on ${e?.constructor?.name}`)})(this.persistence(),e,...t.valuesInOrder,o,s,n)}catch(t){throw a.error(`Custom query "${e}" failed`,t),t}}}function Q(e,t,r){return Object.defineProperty(e.prototype||e,t,{value:r,writable:!1}),Object.getOwnPropertyDescriptor(e.prototype||e,t)}class V extends i.Service{constructor(e,t){super(t),this.clientContext=e}logCtx(e,t,r=!1,a){const o=this.clientContext.ctx;return e=e.filter(e=>void 0!==e),i.ContextualLoggedClass.logCtx.call(this,t,a||{},r,...e,o)}}class Y extends V{persistence(e){if(!this._persistence)try{this._persistence=i.ModelService.getService(this.class)}catch(e){this._persistence=i.Repository.forModel(this.class)}return e?this._persistence instanceof i.Repository?this._persistence.override(e.toOverrides()):this._persistence.for(e.toOverrides()):this._persistence}constructor(e,t){super(e,t)}logCtx(e,t,r=!1){const a=this.clientContext.ctx;let o={};try{o=a.get("overrides")}catch(e){}const s=this.persistence(a);let n,c;return s instanceof i.ModelService?n=s.repo.adapter:s instanceof i.Repository?n=s.adapter:s.context&&(n=s),r?n.logCtx(e,t,!0,o).then(e=>e):(c=n.logCtx(e,t,!1,o),c)}}function J(e,r){if(!i.TransactionOperationKeys.includes(e))return r;const a=[c.OperationKeys.UPDATE,c.BulkCrudOperationKeys.UPDATE_ALL].includes(e),s=t.Metadata.properties(r)||[],p=o.Model.relations(r)||[];let d=s.filter(e=>o.Model.generated(r,e));a&&(d=d.filter(e=>e!==o.Model.pk(r)));class u extends(n.OmitType(r,d)){}function h(e,t,r){r||(Object.defineProperty(u.prototype,e,{value:r?[t]:t,writable:!0,enumerable:!0,configurable:!0}),Reflect.defineMetadata("design:type",t,u.prototype,e))}Object.defineProperty(u,"name",{value:`${l.toPascalCase(r.name)}${l.toPascalCase(e)}DTO`});for(const a of p){let i=t.Metadata.allowedTypes(r,a);if(i=i?Array.isArray(i)?i[0]:i:void 0,i="function"!=typeof i||i.name?i:i(),!i)throw new c.InternalError(`Type for relation ${a} not found`);if(o.Model.get(i.name)){const s=t.Metadata.validationFor(r,a);h(a,J(e,i),!!s[o.ValidationKeys.LIST])}}return u}class X{static{this.log=l.Logging.for(X.name)}static getPersistence(e){try{return i.ModelService.getService(e)}catch(t){return i.Repository.forModel(e)}}static createQueryRoutesFromRepository(e,r=i.PersistenceKeys.QUERY){const a=X.log.for(X.createQueryRoutesFromRepository),o=e instanceof i.ModelService?e.repo:e,s=o.class,n=t.Metadata.get(o.constructor,t.Metadata.key(i.PersistenceKeys.QUERY))??{},c=t.Metadata.get(e.constructor,t.Metadata.key(k))??{};class p extends Y{get class(){throw Error("Method not implemented.")}constructor(e,t){super(e,t)}}for(const[e,t]of Object.entries(c)){const r=[t.path.replace(/^\/+|\/+$/g,"")].filter(e=>e&&e.trim()).join("/"),o=z(e);if(!o){const t=`Invalid or missing handler for model ${s.name} on decorated method ${e}`;throw a.error(t),Error(t)}const i=Q(p,e,o);i&&G(p,e,i,H(e,r,t.httpMethod))}for(const[e,t]of Object.entries(n)){const a=[r,e,...(t.fields??[]).map(e=>":"+e)].filter(e=>e&&e.trim()).join("/"),o=Q(p,e,z(e));o&&G(p,e,o,H(e,a,"GET",!0))}return p}static create(t){const r=X.log.for(X.create),s=o.Model.tableName(t),d=l.toKebabCase(s),u=t.name,h=X.getPersistence(t),{description:m,getPK:y,apiProperties:f,path:g}=X.getRouteParametersFromModel(t);r.debug("Creating controller for model: "+u);const _=X.createQueryRoutesFromRepository(h);let A=class extends _{static get class(){return t}get class(){return t}constructor(e){super(e),this.pk=o.Model.pk(t),r.info(`Registering dynamic controller for model: ${this.class.name} route: /${d}`)}async listBy(e,t){const{ctx:r}=(await this.logCtx([],i.PreparedStatementKeys.LIST_BY,!0)).for(this.listBy);return this.persistence(r).listBy(e,t.direction,r)}async paginateBy(e,t){const{ctx:r}=(await this.logCtx([],i.PreparedStatementKeys.PAGE_BY,!0)).for(this.paginateBy);return this.persistence(r).paginateBy(e,t.direction,t,r)}async findOneBy(e,t){const{ctx:r}=(await this.logCtx([],i.PreparedStatementKeys.FIND_ONE_BY,!0)).for(this.findOneBy);return this.persistence(r).findOneBy(e,t,r)}async findBy(e,t,r){const{ctx:a}=(await this.logCtx([],i.PreparedStatementKeys.FIND_BY,!0)).for(this.findBy);return this.persistence(a).for(a.toOverrides()).findBy(e,t,a)}async statement(e,t,r){const{ctx:a}=(await this.logCtx([],i.PersistenceKeys.STATEMENT,!0)).for(this.statement),{direction:o,offset:s,limit:n,bookmark:c}=r;switch(t=t.map(e=>("string"==typeof e?parseInt(e):e)||e),e){case i.PreparedStatementKeys.FIND_BY:break;case i.PreparedStatementKeys.LIST_BY:t.push(o);break;case i.PreparedStatementKeys.PAGE_BY:t=[t[0],o,{limit:n,offset:s,bookmark:c}];case i.PreparedStatementKeys.FIND_ONE_BY:}return this.persistence(a).statement(e,...t,a)}async createAll(e){const{ctx:r,log:a}=(await this.logCtx([],c.BulkCrudOperationKeys.CREATE_ALL,!0)).for(this.createAll);let o;a.verbose("creating new "+u);try{o=await this.persistence(r).createAll(e.map(e=>new t(e)),r)}catch(e){throw a.error("Failed to create new "+u,e),e}return a.info(`created new ${u} with id ${o[this.pk]}`),o}async create(e){const{ctx:t,log:r}=(await this.logCtx([],c.OperationKeys.CREATE,!0)).for(this.create);let a;r.verbose("creating new "+u);try{const r=this.persistence(t);a=await r.create(e,t)}catch(e){throw r.error("Failed to create new "+u,e),e}return r.info(`created new ${u} with id ${a[this.pk]}`),a}async readAll(e){const{ctx:t,log:r}=(await this.logCtx([],c.BulkCrudOperationKeys.READ_ALL,!0)).for(this.readAll);let a;try{r.debug(`reading ${e.length} ${u}: ${e}`);const o=this.persistence(t);a=await o.readAll(e,t)}catch(t){throw r.error(`Failed to ${u} with id ${e}`,t),t}return r.info(`read ${a.length} ${u}`),a}async read(e){const{ctx:t,log:r}=(await this.logCtx([],c.OperationKeys.READ,!0)).for(this.read),a=y(...e.valuesInOrder);if(void 0===a)throw new c.ValidationError(`No ${this.pk} provided`);let o;try{r.debug(`reading ${u} with ${this.pk} ${a}`);const e=this.persistence(t);o=await e.read(a,t)}catch(e){throw r.error(`Failed to read ${u} with id ${a}`,e),e}return r.info(`read ${u} with id ${o[this.pk]}`),o}async updateAll(e){const{ctx:t,log:r}=(await this.logCtx([],c.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAll);let a;try{r.info(`updating ${e.length} ${u}`);const o=e.map(e=>JSON.parse(JSON.stringify(e)));a=await this.persistence(t).updateAll(o,t)}catch(e){throw r.error(e),e}return a}async update(e,r){const{ctx:a,log:o}=(await this.logCtx([],c.OperationKeys.UPDATE,!0)).for(this.update),i=y(...e.valuesInOrder);if(void 0===i)throw new c.ValidationError(`No ${this.pk} provided`);let s;try{o.info(`updating ${u} with ${this.pk} ${i}`);const e=JSON.parse(JSON.stringify(r)),n=this.persistence(a);s=await n.update(new t({...e,[this.pk]:i}),a)}catch(e){throw o.error(e),e}return s}async deleteAll(e){const{ctx:t,log:r}=(await this.logCtx([],c.BulkCrudOperationKeys.DELETE_ALL,!0)).for(this.deleteAll);let a;try{r.debug(`deleting ${e.length} ${u}: ${e}`),a=await this.persistence(t).deleteAll(e,t)}catch(t){throw r.error(`Failed to delete ${u} with id ${e}`,t),t}return r.info(`deleted ${a.length} ${u}`),a}async delete(e){const{ctx:t,log:r}=(await this.logCtx([],c.OperationKeys.DELETE,!0)).for(this.delete),a=y(...e.valuesInOrder);if(void 0===a)throw new c.ValidationError(`No ${this.pk} provided`);let o;try{r.debug(`deleting ${u} with ${this.pk} ${a}`),o=await this.persistence(t).delete(a,t)}catch(e){throw r.error(`Failed to delete ${u} with id ${a}`,e),e}return r.info(`deleted ${u} with id ${a}`),o}};return p.__decorate([w(t,"GET","listBy/:key"),n.ApiOperation({summary:`Retrieve ${u} records by query.`}),n.ApiParam({name:"key",description:"the model key to sort by"}),n.ApiQuery({name:"direction",required:!0,enum:i.OrderDirection}),n.ApiOkResponse({description:u+" listed successfully."}),p.__param(1,C()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[String,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"listBy",null),p.__decorate([w(t,"GET","paginateBy/:key/:page"),n.ApiOperation({summary:`Retrieve ${u} records by query.`}),n.ApiParam({name:"key",description:"the model key to sort by"}),n.ApiParam({name:"page",description:"the page to retrieve or the bookmark"}),n.ApiQuery({name:"direction",required:!0,enum:i.OrderDirection,description:"the sort order"}),n.ApiQuery({name:"limit",required:!0,description:"the page size"}),n.ApiQuery({name:"offset",description:"the bookmark when necessary"}),n.ApiOkResponse({description:u+" listed paginated."}),p.__param(0,a.Param("key")),p.__param(1,C()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[String,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"paginateBy",null),p.__decorate([w(t,"GET","findOneBy/:key"),n.ApiOperation({summary:`Retrieve ${u} records by query.`}),n.ApiParam({name:"key",description:"the model key to sort by"}),n.ApiOkResponse({description:u+" listed found."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,a.Param("key")),p.__param(1,a.Param("value")),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[String,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"findOneBy",null),p.__decorate([w(t,"GET","findBy/:key/:value"),n.ApiOperation({summary:`Retrieve ${u} records by query.`}),n.ApiParam({name:"key",description:"the model key to compare"}),n.ApiParam({name:"value",description:"the value to match"}),n.ApiQuery({name:"direction",required:!0,enum:i.OrderDirection,description:"the sort order when applicable"}),n.ApiOkResponse({description:u+" listed found."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,a.Param("key")),p.__param(1,a.Param("value")),p.__param(2,C()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[String,Object,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"findBy",null),p.__decorate([w(t,"GET","statement/:method/*args"),n.ApiOperation({summary:`Executes a prepared statement on ${u}.`}),n.ApiParam({name:"method",description:"the prepared statement to execute"}),n.ApiParam({name:"args",description:"concatenated list of arguments the prepared statement can accept"}),n.ApiQuery({name:"direction",required:!0,enum:i.OrderDirection,description:"the sort order when applicable"}),n.ApiQuery({name:"limit",required:!0,description:"limit or page size when applicable"}),n.ApiQuery({name:"offset",required:!0,description:"offset or bookmark when applicable"}),n.ApiOkResponse({description:u+" listed found."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,a.Param("method")),p.__param(1,a.Param("args")),p.__param(2,C()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[String,Array,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"statement",null),p.__decorate([w(t,"POST","bulk"),n.ApiOperation({summary:`Create a new ${u}.`}),n.ApiBody({description:"Payload for "+u,schema:{type:"array",items:{$ref:n.getSchemaPath(t)}}}),n.ApiCreatedResponse({description:u+" created successfully.",schema:{type:"array",items:{$ref:n.getSchemaPath(t)}}}),n.ApiBadRequestResponse({description:"Payload validation failed."}),n.ApiUnprocessableEntityResponse({description:"Repository rejected the provided payload."}),p.__param(0,T()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array]),p.__metadata("design:returntype",Promise)],A.prototype,"createAll",null),p.__decorate([w(t,"POST"),n.ApiOperation({summary:`Create a new ${u}.`}),n.ApiBody({description:"Payload for "+u,type:J(c.OperationKeys.CREATE,t)}),n.ApiCreatedResponse({description:u+" created successfully.",schema:{$ref:n.getSchemaPath(t)}}),n.ApiBadRequestResponse({description:"Payload validation failed."}),n.ApiUnprocessableEntityResponse({description:"Repository rejected the provided payload."}),p.__param(0,T()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object]),p.__metadata("design:returntype",Promise)],A.prototype,"create",null),p.__decorate([w(t,"GET","bulk"),n.ApiOperation({summary:`Retrieve a ${u} record by id.`}),n.ApiQuery({name:"ids",required:!0,type:"array"}),n.ApiOkResponse({description:u+" retrieved successfully.",schema:{type:"array",items:{$ref:n.getSchemaPath(t)}}}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,a.Query("ids")),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array]),p.__metadata("design:returntype",Promise)],A.prototype,"readAll",null),p.__decorate([w(t,"GET",g),D(f),n.ApiOperation({summary:`Retrieve a ${u} record by id.`}),n.ApiOkResponse({description:u+" retrieved successfully.",schema:{$ref:n.getSchemaPath(t)}}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,S(f)),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object]),p.__metadata("design:returntype",Promise)],A.prototype,"read",null),p.__decorate([w(t,"PUT","bulk"),D(f),n.ApiOperation({summary:`Replace an existing ${u} record with a new payload.`}),n.ApiBody({description:"Payload for replace a existing record of "+u,schema:{type:"array",items:{$ref:n.getSchemaPath(t)}}}),n.ApiCreatedResponse({description:u+" updated successfully.",schema:{type:"array",items:{$ref:n.getSchemaPath(t)}}}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),n.ApiBadRequestResponse({description:"Payload validation failed."}),p.__param(0,T()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array]),p.__metadata("design:returntype",Promise)],A.prototype,"updateAll",null),p.__decorate([w(t,"PUT",g),D(f),n.ApiOperation({summary:`Replace an existing ${u} record with a new payload.`}),n.ApiBody({description:"Payload for replace a existing record of "+u,schema:{$ref:n.getSchemaPath(t)}}),n.ApiOkResponse({description:u+" updated successfully."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),n.ApiBadRequestResponse({description:"Payload validation failed."}),p.__param(0,S(f)),p.__param(1,T()),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"update",null),p.__decorate([w(t,"DELETE","bulk"),D(f),n.ApiOperation({summary:`Retrieve a ${u} record by id.`}),n.ApiQuery({name:"ids",required:!0,type:"array"}),n.ApiOkResponse({description:u+" retrieved successfully."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,a.Query("ids")),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array]),p.__metadata("design:returntype",Promise)],A.prototype,"deleteAll",null),p.__decorate([w(t,"DELETE",g),D(f),n.ApiOperation({summary:`Delete a ${u} record by id.`}),n.ApiOkResponse({description:u+" record deleted successfully."}),n.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),p.__param(0,S(f)),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object]),p.__metadata("design:returntype",Promise)],A.prototype,"delete",null),A=p.__decorate([a.Controller(d),n.ApiTags(u),n.ApiExtraModels(t),B(t),p.__metadata("design:paramtypes",[e.DecafRequestContext])],A),A}static getRouteParametersFromModel(e){const r=o.Model.pk(e),a=t.Metadata.get(e,t.Metadata.key(c.DBKeys.COMPOSED,r)),i=a?.args??[],s=Array.isArray(i)&&i.length>0?Array.from(new Set([...i])):Array.from(new Set([r])),n=t.Metadata.description(e);return{path:":"+s.join("/:"),description:n,apiProperties:s.map(r=>({name:r,description:t.Metadata.description(e,r),required:!0,type:String})),getPK:(...e)=>a?.separator?e.join(a.separator):e.join("")}}}i.Adapter.transformerFor=(e=>{const r="string"==typeof e?e:e.alias;return t.Metadata.innerGet(Symbol.for("transformers"),r)}).bind(i.Adapter),i.Adapter.flavoursToTransform=(()=>{const e=t.Metadata.innerGet(Symbol.for("transformers"));if(e)return Object.keys(e)}).bind(i.Adapter),e.DecafRequestHandlerInterceptor=class{constructor(e,t){this.requestContext=e,this.executor=t}async contextualize(e){const t={headers:e.headers,overrides:{}},r=i.Adapter.flavoursToTransform();if(r)for(const a of r)try{const r=i.Adapter.transformerFor(a),o=await r.from(e);Object.assign(t.overrides,o)}catch(e){throw new c.InternalError("Failed to contextualize request: "+e)}return(new i.Context).accumulate(Object.assign({},i.DefaultAdapterFlags,{logger:l.Logging.get(),timestamp:new Date},t))}async intercept(e,t){const r=e.switchToHttp().getRequest(),a=e.switchToHttp().getResponse(),o=await this.contextualize(r);return this.requestContext.applyCtx(o),await this.executor.exec(r,a),t.handle()}},e.DecafRequestHandlerInterceptor=p.__decorate([a.Injectable({scope:a.Scope.REQUEST}),p.__metadata("design:paramtypes",[e.DecafRequestContext,e.DecafHandlerExecutor])],e.DecafRequestHandlerInterceptor);class W{}function Z(e){return r=>(t.Metadata.set("transformers",e,r),"function"==typeof r?t.metadata("transformers",e)(r):r)}function ee(t){var r;let o=class{static{r=this}static{this.log=l.Logging.for(r.name).for(t)}static createModelServices(e){return e.map(e=>({provide:e.name+"Service",useFactory:()=>i.ModelService.forModel(e)}))}static forRoot(t,a={}){const o=this.log.for(this.forRoot);o.info("Generating controllers for flavour...");const s=i.Adapter.models(t);let n=[];a.autoServices&&(o.info("Auto-services enabled. Initializing service generation."),n=this.createModelServices(s),o.info(`Auto-services completed. ${n.length} services initialized.`));const c=s.map(X.create);return o.info(`Generated ${c.length} controllers`),{module:r,controllers:c,providers:[{provide:$,useFactory:()=>a.handlers?.map(e=>(o.info("Registered request handler: "+e.name),new e))??[]},e.DecafRequestContext,e.DecafHandlerExecutor,{provide:d.APP_INTERCEPTOR,useClass:e.DecafRequestHandlerInterceptor},...n]}}};return o=r=p.__decorate([a.Module({})],o),Object.assign(o,"name",{value:"DecafModule"+t}),o}class te extends i.ForbiddenError{constructor(e){super(e,te.name)}}e.DecafExceptionFilter=class{catch(e,t){const r=t.switchToHttp(),a=r.getResponse(),o=r.getRequest(),i="production"===l.LoggedEnvironment.env;e instanceof c.BaseError||(e=new c.InternalError(e.message)),a.status(e.code).json({status:e.code,error:i?e.name:e.message,timestamp:(new Date).toISOString(),path:o.url,method:o.method})}},e.DecafExceptionFilter=p.__decorate([a.Catch()],e.DecafExceptionFilter);const re={title:"Swagger | OpenAPI Specification (OAS)",description:"Standardized format for describing RESTful APIs",version:"0.0.1",path:"docs",faviconFilePath:"",topbarIconFilePath:"",auth:{type:"http",scheme:"bearer",bearerFormat:"JWT",name:"Authorization",description:"Enter JWT token",in:"header"},persistAuthorization:!0,topbarBgColor:"#000000"};class ae{constructor(e){this.options={...e}}customCSS(){let e="";return this.options.topbarIconPath&&(e+=`.topbar-wrapper { content: url('data:image/png;base64,${this.b64(this.options.topbarIconPath)}'); width: 200px; height: auto; }\n`),e+`\n .topbar-wrapper svg { visibility: hidden; }\n .swagger-ui .topbar { background-color: ${this.options.topbarBgColor||re.topbarBgColor}; }\n `}getCustomOptions(){const e={};return this.options.faviconPath&&(e.customfavIcon=this.b64(this.options.faviconPath,!0)),{customSiteTitle:this.options.title,...e,customCss:this.customCSS(),swaggerOptions:{persistAuthorization:this.options.persistAuthorization},jsonDocumentUrl:this.options.path?this.options.path+"/spec.json":void 0,yamlDocumentUrl:this.options.path?this.options.path+"/spec.yaml":void 0}}b64(e,t=!1){const r=y.join(this.options.assetsPath||"",e),a=u.readFileSync(r,{encoding:"base64"});return t?"data:image/png;base64,"+a:a}}class oe{constructor(e,t){this.app=e,this.options=t}createDocument(){const e=this.options.path?this.options.description+""+`<br><br><a href="${this.options.path}/spec.json">OpenAPI JSON Spec</a> | `+`<a href="${this.options.path}/spec.yaml">OpenAPI YAML Spec</a>`:this.options.description,t=(new n.DocumentBuilder).setTitle(this.options.title).setDescription(e).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||re.auth).build();return n.SwaggerModule.createDocument(this.app,t,{extraModels:this.options.extraModels||[]})}setupSwagger(){const e=this.createDocument(),t=new ae({title:this.options.title,path:this.options.path||re.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});n.SwaggerModule.setup(this.options.path||re.path,this.app,e,{...t.getCustomOptions()})}}var ie;let se=class{static{ie=this}static get persistence(){if(!this._persistence)throw new c.InternalError("Persistence service not initialized");return this._persistence}static get log(){return this._logger||(this._logger=l.Logging.for(ie)),this._logger}constructor(e,t){this.options=e,this.moduleRef=t}static async bootPersistence(e){const t=this.log.for(this.bootPersistence);if(!this._persistence){const r=e.conf.map(([e,t,...r])=>r.pop()?[e,t,...r]:[e,t]);this._persistence=new i.PersistenceService,await this._persistence.boot(r);const a=this._persistence.client;for(let t=0;t<a.length;t++){const r=e.conf[t];let[,,o]=r;if(!o){const e=i.Adapter.transformerFor(a[t].flavour);if(!e)throw new c.InternalError(`No transformer found for flavour ${a[t].flavour}. you should either @requestToContextTransformer or provide a transformer in the config`);o=e instanceof W?e:new e}Z(a[t].flavour)(o)}t.info("persistence layer created successfully!")}return this.persistence.client}static forRoot(e){const t={provide:I,useValue:e},r={useFactory:async e=>ie.bootPersistence(e),provide:M,durable:!0,scope:a.Scope.DEFAULT,inject:[I]};return{module:ie,providers:[r,t],exports:[r]}}async onApplicationShutdown(){const e=ie.log.for(this.onApplicationShutdown),t=this.moduleRef.get(M);for(const r of t)try{r&&(e.info("Shutting down "+r.toString()),await r.shutdown())}catch(t){e.error("Failed to shutdown application",t)}}};var ne;se=ie=p.__decorate([a.Global(),a.Module({}),p.__param(0,a.Inject(I)),p.__metadata("design:paramtypes",[Object,d.ModuleRef])],se),e.DecafModule=ne=class{static async forRootAsync(e){const{autoControllers:t,autoServices:r,handlers:a}=e,o=(await se.bootPersistence(e)).map(e=>e.flavour),i=[se.forRoot(e)];return t&&o.forEach(e=>{i.push(ee(e).forRoot(e,{autoServices:r,handlers:a}))}),{module:ne,imports:i}}},e.DecafModule=ne=p.__decorate([a.Module({})],e.DecafModule);const ce="##VERSION##",pe="##PACKAGE##";t.Metadata.registerLibrary(pe,ce),e.AUTH_HANDLER=N,e.AUTH_META_KEY=L,e.ApiOperationFromModel=w,e.ApiParamsFromModel=D,e.ApiProperty=b,e.Auth=B,e.AuthRole=j,e.BulkApiOperationFromModel=(e,r,o)=>{const i={GET:[c.BulkCrudOperationKeys.READ_ALL,a.Get],POST:[c.BulkCrudOperationKeys.CREATE_ALL,a.Post],PUT:[c.BulkCrudOperationKeys.UPDATE_ALL,a.Put],PATCH:[c.BulkCrudOperationKeys.UPDATE_ALL,a.Patch],DELETE:[c.BulkCrudOperationKeys.DELETE_ALL,a.Delete]},[s,p]=i[r];return R(e,s)?t.apply(n.ApiExcludeEndpoint()):t.apply(p(o))},e.CorsError=te,e.DECAF_ADAPTER_ID=M,e.DECAF_ADAPTER_OPTIONS=F,e.DECAF_CONTEXT_KEY=q,e.DECAF_HANDLERS=$,e.DECAF_MODULE_OPTIONS=I,e.DECAF_ROUTE=k,e.DECORATORS=g,e.DECORATORS_PREFIX=f,e.DecafAuthHandler=K,e.DecafBody=T,e.DecafController=V,e.DecafModelController=Y,e.DecafParams=S,e.DecafQuery=C,e.DecafRoleAuthHandler=class extends K{constructor(){super()}async authorize(e,r){const a=e.switchToHttp().getRequest(),s=this.parseRequest(a);if(!s)throw new i.AuthorizationError("Unauthenticated");const n=t.Metadata.get(o.Model.get(r),j);if(!n.includes(s))throw new i.AuthorizationError("Missing role: "+s);return n}},e.DtoFor=J,e.FromModelController=X,e.HttpVerbToDecorator=x,e.NestBootstraper=class{static get logger(){return this._logger||(this._logger=new a.Logger("NestBootstrap")),this._logger}static initialize(e){return this.app=e,this}static enableLogger(e){return this._logger=e||new a.Logger("NestBootstrap"),this.app.useLogger(this._logger),this}static enableCors(e=[],t=["GET","POST","PUT","DELETE"]){const r="*"===e?"*":e.map(e=>e.trim().toLowerCase()),a={origin:(e,t)=>e?"*"===r||Array.isArray(r)&&r.includes(e.toLowerCase())?t(null,!0):void t(new te(`Origin ${e} not allowed`)):t(null,!0),credentials:!0,methods:t.join(",")};return this.app.enableCors(a),this}static useHelmet(e){try{const t=require("helmet");this.app.use(t(e)),this.logger.log("Helmet middleware enabled successfully.")}catch(e){this.logger.warn("Helmet not installed. Skipping middleware.")}return this}static setupSwagger(e){return new oe(this.app,{title:e.title,description:e.description,version:e.version,path:e.path||"api",persistAuthorization:e.persistAuthorization??!0,assetsPath:e.assetsPath,faviconFilePath:e.faviconPath,topbarIconFilePath:e.topbarIconPath,topbarBgColor:e.topbarBgColor}).setupSwagger(),this}static useGlobalPipes(...e){return e.length>0&&this.app.useGlobalPipes(...e),this}static useGlobalFilters(...t){return this.app.useGlobalFilters(...t.length>0?t:[new e.DecafExceptionFilter]),this}static useGlobalInterceptors(...e){return e.length>0&&this.app.useGlobalInterceptors(...e),this}static async start(e=Number(process.env.PORT)||3e3,t=void 0,r=!0){this.app.listen(e,t).then(async()=>{if(r){const e=await this.app.getUrl();this.logger.log("\ud83d\ude80 Application is running at: "+e)}})}},e.PACKAGE_NAME=pe,e.RequestToContextTransformer=W,e.Roles=e=>t.metadata(j,e),e.SwaggerBuilder=oe,e.UseDecafFilter=()=>a.UseFilters(new e.DecafExceptionFilter),e.VERSION=ce,e.createApiPropertyDecorator=O,e.createPropertyDecorator=P,e.getEnumType=E,e.getEnumValues=A,e.getModuleFor=ee,e.isOperationBlocked=R,e.isUndefined=_,e.repoForModel=e=>{const t=o.Model.get(e);if(!t)throw new c.InternalError("Failed to find repository for "+e);return i.Repository.forModel(t)},e.requestToContextTransformer=Z,e.route=(e,r)=>{const a=k;return t.Decoration.for(a).define({decorator:()=>(o,i,s)=>{const n={path:r,httpMethod:e,handler:s};return t.apply(t.methodMetadata(t.Metadata.key(a,i),n))(o,i,s)},args:[]}).apply()}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/injectable-decorators"),require("@nestjs/common"),require("@decaf-ts/decorator-validation"),require("@decaf-ts/core"),require("lodash"),require("@nestjs/swagger"),require("@decaf-ts/db-decorators"),require("tslib"),require("@nestjs/core"),require("@decaf-ts/logging"),require("fs"),require("path")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/injectable-decorators","@nestjs/common","@decaf-ts/decorator-validation","@decaf-ts/core","lodash","@nestjs/swagger","@decaf-ts/db-decorators","tslib","@nestjs/core","@decaf-ts/logging","fs","path"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-nest"]={},e.decafTsDecoration,e.decafTsInjectableDecorators,e.nestjsCommon,e.decafTsDecoratorValidation,e.decafTsCore,e.lodash,e.nestjsSwagger,e.decafTsDbDecorators,e.tslib,e.nestjsCore,e.decafTsLogging,e.fs,e.path);
2
2
  //# sourceMappingURL=for-nest.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"for-nest.cjs","sources":["../src/overrides/constants.ts","../src/overrides/decoration.ts","../src/overrides/helpers.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decoration.ts","../src/decaf-model/decorators/DecafBody.ts","../src/decaf-model/decorators/DecafParams.ts","../src/decaf-model/decorators/utils.ts","../src/constants.ts","../src/decaf-model/decorators/decorators.ts","../src/interceptors/AuthInterceptor.ts","../src/request/DecafAuthHandler.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/decaf-model/utils.ts","../src/controllers.ts","../src/factory/openapi/DtoBuilder.ts","../src/decaf-model/FromModelController.ts","../src/overrides/overrides.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/interceptors/context.ts","../src/decaf-model/DecafModelModule.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/DecafErrorFilter.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/core-module.ts","../src/module.ts","../src/index.ts","../src/factory/NestBootstraper.ts","../src/factory/exceptions/decorators.ts","../src/utils.ts","../src/decaf-model/decorators/route.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,null,null,null,null,null,null,null,null],"names":["DECORATORS_PREFIX","DECORATORS","API_OPERATION","API_RESPONSE","API_PRODUCES","API_CONSUMES","API_TAGS","API_CALLBACKS","API_PARAMETERS","API_HEADERS","API_MODEL_PROPERTIES","API_MODEL_PROPERTIES_ARRAY","API_SECURITY","API_EXCLUDE_ENDPOINT","API_EXCLUDE_CONTROLLER","API_EXTRA_MODELS","API_EXTENSION","API_SCHEMA","API_DEFAULT_GETTER","API_LINK","isUndefined","obj","getEnumValues","enumType","Array","isArray","numericValues","Object","values","filter","value","map","toString","keys","key","includes","getEnumType","isString","length","createPropertyDecorator","metakey","metadata","overrideExisting","target","propertyKey","properties","Reflect","getMetadata","defineMetadata","existingMetadata","newMetadata","pickBy","negate","metadataToSave","type","constructor","ApiProperty","options","createApiPropertyDecorator","input","isArrayFlag","isInputArray","getTypeIsArrayTuple","opts","undefined","enum","enumValues","items","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","get","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","apply","ApiExcludeEndpoint","ApiParamsFromModel","props","decorators","p","ApiParamDec","name","description","required","String","applyDecorators","Decoration","for","InjectablesKeys","INJECTABLE","extend","decorator","category","cfg","assign","DefaultInjectablesConfig","Injectable","scope","singleton","Scope","DEFAULT","REQUEST","durable","INJECT","descriptor","Inject","ValidationKeys","REQUIRED","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","TYPE","prop","DATE","format","ENUM","PATTERN","pat","pattern","source","PersistenceKeys","COLUMN","DecorationKeys","DESCRIPTION","DecafBody","createParamDecorator","data","ctx","body","switchToHttp","getRequest","controller","getClass","ModelConstr","class","InternalServerErrorException","item","OrderedParams","order","req","original","params","orderList","ordered","k","raw","valuesInOrder","keysInOrder","DecafParams","DecafQuery","_","parsed","query","limit","n","Number","isNaN","offset","bookmark","HttpVerbToDecorator","Error","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_ROUTE","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","AUTH_HANDLER","AUTH_META_KEY","AuthRole","DECAF_CONTEXT_KEY","Auth","model","resource","SetMetadata","UseInterceptors","AuthInterceptor","exports","reflector","authHandler","this","intercept","next","modelName","getHandler","authorize","handle","__decorate","__param","Optional","Reflector","DecafAuthHandler","parseRequest","userRole","headers","authorization","split","AuthorizationError","Model","DecafRequestContext","put","record","overrides","e","_ctx","accumulate","applyCtx","InternalError","DecafHandlerExecutor","handlers","context","exec","res","apiParamSpec","getApiDecorators","methodName","routePath","httpVerb","includeQueryParams","NestHttpRouteDec","apiPathParams","startsWith","slice","extractPathParams","swaggerQueryParams","push","ApiQuery","OrderDirection","method","ApiParam","ApiOperation","summary","ApiOkResponse","ApiNoContentResponse","Query","applyApiDecorators","proto","prototype","forEach","d","index","createRouteHandler","async","pathParams","queryParams","log","debug","JSON","stringify","direction","persistence","ModelService","statement","resolvePersistenceMethod","error","defineRouteMethod","ControllerClass","defineProperty","writable","getOwnPropertyDescriptor","DecafController","Service","clientContext","super","logCtx","operation","allowCreate","ContextualLoggedClass","call","DecafModelController","_persistence","getService","Repository","forModel","override","toOverrides","contextual","ctxArgs","repo","then","DtoFor","TransactionOperationKeys","isUpdate","BulkCrudOperationKeys","UPDATE_ALL","relations","exceptions","generated","pk","DynamicDTO","OmitType","addRelation","relation","relationDto","enumerable","configurable","toPascalCase","allowedTypes","meta","validationFor","LIST","FromModelController","Logging","getPersistence","ModelClazz","createQueryRoutesFromRepository","prefix","QUERY","queryMethods","routeMethods","QueryController","entries","replace","segment","trim","join","message","httpMethod","objValues","fields","f","create","tableName","toKebabCase","modelClazzName","getPK","apiProperties","getRouteParametersFromModel","BaseController","DynamicModelController","info","listBy","details","PreparedStatementKeys","LIST_BY","paginateBy","PAGE_BY","findOneBy","FIND_ONE_BY","findBy","FIND_BY","STATEMENT","a","parseInt","createAll","CREATE_ALL","created","verbose","readAll","ids","READ_ALL","read","routeParams","id","ValidationError","updateAll","updated","payloads","entry","parse","update","payload","deleteAll","DELETE_ALL","delete","del","Param","ApiNotFoundResponse","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","from","Set","separator","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","flavour","transformer","Context","DefaultAdapterFlags","logger","timestamp","Date","getResponse","RequestToContextTransformer","requestToContextTransformer","set","getModuleFor","DecafModelModule","DecafModelModule_1","createModelServices","models","provide","useFactory","forRoot","trackedModels","modelServices","autoServices","controllers","module","providers","H","APP_INTERCEPTOR","useClass","Module","CorsError","ForbiddenError","msg","DecafExceptionFilter","exception","host","response","request","isProduction","LoggedEnvironment","env","BaseError","status","code","json","toISOString","url","Catch","SWAGGER_UI_CONSTANTS","title","version","faviconFilePath","topbarIconFilePath","auth","scheme","bearerFormat","in","persistAuthorization","topbarBgColor","SwaggerCustomUI","customCSS","css","topbarIconPath","b64","getCustomOptions","favicon","faviconPath","customSiteTitle","customCss","swaggerOptions","jsonDocumentUrl","yamlDocumentUrl","file","img","filePath","assetsPath","readFileSync","encoding","SwaggerBuilder","app","createDocument","config","DocumentBuilder","setTitle","setDescription","setVersion","addBearerAuth","build","SwaggerModule","extraModels","setupSwagger","document","swaggerUI","setup","DecafCoreModule","_logger","DecafCoreModule_1","moduleRef","bootPersistence","trimmed","conf","contr","pop","PersistenceService","boot","clients","client","i","c","typeOrmModuleOptions","useValue","inject","onApplicationShutdown","adapters","shutdown","Global","ModuleRef","DecafModule","DecafModule_1","forRootAsync","autoControllers","imports","VERSION","PACKAGE_NAME","registerLibrary","roles","Logger","initialize","enableLogger","customLogger","useLogger","enableCors","origins","allowMethods","allowedOrigins","o","toLowerCase","corsOptions","origin","callback","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","useGlobalInterceptors","interceptors","start","port","process","PORT","listen","getUrl","UseFilters","m","define","methodMetadata"],"mappings":"qVAAa,MAAAA,EAAoB,UACpBC,EAAa,CACxBC,cAAkBF,EAAH,gBACfG,aAAiBH,EAAH,eACdI,aAAiBJ,EAAH,eACdK,aAAiBL,EAAH,eACdM,SAAaN,EAAH,cACVO,cAAkBP,EAAH,gBACfQ,eAAmBR,EAAH,iBAChBS,YAAgBT,EAAH,cACbU,qBAAyBV,EAAH,sBACtBW,2BAA+BX,EAAH,2BAC5BY,aAAiBZ,EAAH,eACda,qBAAyBb,EAAH,sBACtBc,uBAA2Bd,EAAH,wBACxBe,iBAAqBf,EAAH,kBAClBgB,cAAkBhB,EAAH,gBACfiB,WAAejB,EAAH,aACZkB,mBAAuBlB,EAAH,oBACpBmB,SAAanB,EAAH,YCRCoB,EAAeC,QACX,IAARA,EAEH,SAAUC,EACdC,GAEA,GAAwB,mBAAbA,EACT,OAAOD,EAAcC,KAGvB,GAAIC,MAAMC,QAAQF,GAChB,OAAOA,EAET,GAAwB,iBAAbA,EACT,MAAO,GAcT,MAAMG,EAAgBC,OAAOC,OAAOL,GACjCM,OAAQC,GAA2B,iBAAVA,GACzBC,IAAKD,GAAeA,EAAME,YAE7B,OAAOL,OAAOM,KAAKV,GAChBM,OAAQK,IAASR,EAAcS,SAASD,IACxCH,IAAKG,GAAQX,EAASW,GAC3B,CAEM,SAAUE,EAAYR,GAE1B,OADkBA,EAAOC,OAAOQ,EAAAA,UAAUC,OAAS,EAChC,SAAW,QAChC,CAEM,SAAUC,EACdC,EACAC,EACAC,GAAmB,GAEnB,MAAQ,CAACC,EAAgBC,KACvB,MAAMC,EACJC,QAAQC,YAAY9C,EAAWU,2BAA4BgC,IAAW,GAElET,EAAM,IAAIU,EACXC,EAAWV,SAASD,IACvBY,QAAQE,eACN/C,EAAWU,2BACX,IAAIkC,EAAY,IAAID,GACpBD,GAGJ,MAAMM,EAAmBH,QAAQC,YAAYP,EAASG,EAAQC,GAC9D,GAAIK,EAAkB,CACpB,MAAMC,EAAcC,EAAAA,OAAOV,EAAUW,EAAAA,OAAOhC,IACtCiC,EAAiBX,EACnB,IACKO,KACAC,GAEL,IACKA,KACAD,GAGTH,QAAQE,eAAeR,EAASa,EAAgBV,EAAQC,EACzD,KAAM,CACL,MAAMU,EAEJX,GAAQY,aAAmC,8BAAMX,IAAcU,MAC/DR,QAAQC,YAAY,cAAeJ,EAAQC,GAE7CE,QAAQE,eACNR,EACA,CACEc,UACGH,SAAOV,EAAUW,EAAMA,OAAChC,KAE7BuB,EACAC,EAEH,CACF,CACH,CAoCgB,SAAAY,EACdC,EAA8B,IAE9B,OAAOC,EAA2BD,EACpC,CAEM,SAAUC,EACdD,EAA8B,GAC9Bf,GAAmB,GAEnB,MAAOY,EAAM7B,KCyDbkC,EACAC,KAGA,IAAKD,EACH,MAAO,CAACA,EAAoBC,GAE9B,GAAIA,EAEF,MAAO,CAACD,EAAmBC,GAE7B,MAAMC,EAAepC,UAAQkC,GAG7B,MAAO,CAFME,EAAeF,EAAM,GAAKA,EAEbE,EAC5B,EDxE0BC,CACtBL,EAAQH,KACRG,EAAQhC,SAQV,IA/BAsC,EAyBAN,EAAU,IACLA,EACHH,OACA7B,YAtBOA,SAAW,SAAUsC,QAAsBC,IAAdD,EAAKE,KAyBjB,CACxBR,EAAQH,KAAO,QAEf,MAAMY,EAAa5C,EAAcmC,EAAQQ,MACzCR,EAAQU,MAAQ,CACdb,KAAMlB,EAAY8B,GAClBD,KAAMC,UAGDT,EAAQQ,IAChB,MAAM,GAAI,SAAUR,QAA4BO,IAAjBP,EAAQQ,KAAoB,CAC1D,MAAMC,EAAa5C,EAAcmC,EAAQQ,MAEzCR,EAAQQ,KAAOC,EACfT,EAAQH,KAAOlB,EAAY8B,EAC5B,CA/CiB,IAClBH,EA0DA,OAVIvC,MAAMC,QAAQgC,EAAQH,QACxBG,EAAQH,KAAO,QACfG,EAAQU,MAAQ,CACdb,KAAM,QACNa,MAAO,CACLb,KAAMG,EAAQH,KAAK,MAKlBf,EACLtC,EAAWS,qBACX+C,EACAf,EAEJ,CEzKgB,SAAA0B,EACdC,EACAC,GAEA,MAAMC,QAAEA,EAAOC,KAAEA,GAAUC,EAAAA,SAASC,IAClCL,EACAM,EAAaA,cAACC,QAAUD,EAAaA,cAACE,QACnC,CAAE,EASP,QAAQN,IAAmBA,KAAWC,EAAMF,KAAO,EACrD,UAUgBQ,EACdT,EACAU,EACAC,GAEA,MAAMC,EAGF,CACFC,IAAK,CAACP,EAAAA,cAAcQ,KAAMC,OAC1BC,KAAM,CAACV,EAAAA,cAAcW,OAAQC,QAC7BC,IAAK,CAACb,EAAAA,cAAcc,OAAQC,OAC5BC,MAAO,CAAChB,EAAAA,cAAcc,OAAQG,SAC9BC,OAAQ,CAAClB,EAAAA,cAAckB,OAAQC,YAG1BC,EAAQC,GAAuBf,EAAWF,GACjD,OAAOX,EAAmBC,EAAkB0B,GACxCE,EAAKA,MAACC,EAAkBA,sBACxBD,QAAMD,EAAoBhB,GAChC,CCpDgB,SAAAmB,EACdC,EAA4B,IAE5B,MAAMC,EAAaD,EAAMrE,IAAKuE,GAC5BC,EAAAA,SAAY,CACVC,KAAMF,EAAEE,KACRC,YAAaH,EAAEG,aAAe,mBAAmBH,EAAEE,KACnDE,SAAUJ,EAAEI,WAAY,EAExBpD,KAAMgD,EAAEhD,MAAQqD,UAGpB,OAAOC,EAAeA,mBAAIP,EAC5B,CChBAQ,EAAAA,WAAWC,IAAIC,EAAeA,gBAACC,YAC5BC,OAAO,CACNC,UAAW,CACTC,EACAC,KAEAA,EACEA,IACqB,iBAAbD,EACJxF,OAAO0F,OACLF,EACAG,4BAEFA,EAAAA,0BACCC,aAAW,CAChBC,MAAOJ,EAAIK,UAAYC,EAAKA,MAACC,QAAUD,EAAKA,MAACE,QAC7CC,SAAST,EAAIK,gBAAYzD,OAI9BiC,QAEHY,EAAAA,WAAWC,IAAIC,EAAeA,gBAACe,QAC5Bb,OAAO,CACNC,UAAW,CACTC,EAEAC,IAEO,CACLzE,EACAC,EACAmF,IAEOC,EAAAA,OAAOb,GAAaxE,EAApBqF,CACLrF,EACAC,EACAmF,KAKP9B,QAEHY,EAAAA,WAAWC,IAAImB,EAAcA,eAACC,UAC3BjB,OACCzD,EAAY,CACVkD,UAAU,KAGbT,QAEHY,EAAAA,WAAWC,IAAImB,EAAcA,eAACE,KAC3BlB,OAAO,CACNC,UAA2BkB,GAClB5E,EAAY,CAAE6E,QAASD,MAGjCnC,QAEHY,EAAAA,WAAWC,IAAImB,EAAcA,eAACK,KAC3BrB,OAAO,CACNC,UAA2BqB,GAClB/E,EAAY,CAAEgF,QAASD,MAGjCtC,QAEHY,EAAAA,WAAWC,IAAImB,EAAcA,eAACQ,YAC3BxB,OAAO,CACNC,UAAiCkB,GACxB5E,EAAY,CAAEkF,UAAWN,MAGnCnC,QAEHY,EAAAA,WAAWC,IAAImB,EAAcA,eAACU,YAC3B1B,OAAO,CACNC,UAAiCqB,GACxB/E,EAAY,CAAEoF,UAAWL,MAGnCtC,QAEHY,EAAAA,WAAWC,IAAImB,EAAcA,eAACY,MAC3B5B,OAAO,CACNC,UACE5D,GAKO,CAACX,EAAgBmG,KAEF,mBADpBxF,EAAO9B,MAAMC,QAAQ6B,GAAQA,EAAK,GAAKA,IACJA,EAAKkD,OACtClD,EAAQA,KACHE,EAAY,CAAEF,KAAMA,GAApBE,CAAmCb,EAAQmG,MAIvD7C,QAsBHY,EAAAA,WAAWC,IAAImB,EAAcA,eAACc,MAC3B9B,OAAO,CAENC,UAA4B8B,GACnBxF,EAAY,CACjBF,KAAMqD,OACNqC,OAAQ,gBAKb/C,QAEHY,EAAAA,WAAWC,IAAImB,EAAcA,eAACgB,MAC3BhC,OAAO,CACNC,UAA8BzD,GAErBD,EAAY,CAAES,KADRzC,MAAMC,QAAQgC,GAAWA,EAAU9B,OAAOC,OAAO6B,OAIjEwC,QAEHY,EAAAA,WAAWC,IAAImB,EAAcA,eAACiB,SAC3BjC,OAAO,CACNC,UAA+BiC,GACtB3F,EAAY,CACjB4F,QAAwB,iBAARD,EAAmBA,EAAMA,EAAIE,WAIlDpD,QAEHY,EAAAA,WAAWC,IAAIwC,EAAeA,gBAACC,QAC5BtC,OAAO,CACNC,UAA8BV,GACrBhD,EAAY,CACjBgD,KAAMA,MAIXP,QAEHY,EAAAA,WAAWC,IAAI0C,EAAcA,eAACC,aAC3BxC,OAAO,CACNC,UAAmCT,GAC1BjD,EAAY,CACjBiD,YAAaA,MAIlBR,QC9KU,MAAAyD,EAAYC,EAAoBA,qBAC3C,CAACC,EAAeC,KACd,MACMC,EADUD,EAAIE,eAAeC,aACdF,KAGfG,EAAaJ,EAAIK,WAEjBC,EAAeF,EAAmBG,MAExC,IAAKD,EACH,MAAM,IAAIE,EAA4BA,6BACpC,4CAA4CJ,EAAWzD,oEAI3D,OAAKsD,EAEDtI,MAAMC,QAAQqI,GACTA,EAAK/H,IAAKuI,GAAS,IAAIH,EAAYG,IAGrC,IAAIH,EAAYL,GANLA,ICZhBS,EAAgBZ,EAAoBA,qBACxC,CAACa,EAA6BX,KAC5B,MAAMY,EAAMZ,EAAIE,eAAeC,aACzBU,EAAYD,GAAKE,QAAU,CAAE,EAC7BC,EAAYJ,GAAS7I,OAAOM,KAAKyI,GACjCG,EAAUD,EAAU7I,IAAK+I,GAAMJ,EAASI,IAC9C,MAAO,CAAEC,IAAKL,EAAUM,cAAeH,EAASI,YAAaL,KAUjD,SAAAM,EACd9E,EAA4B,IAE5B,MAAMoE,EAAQpE,EAAMrE,IAAKuE,GAAMA,EAAEE,MACjC,OAAO+D,EAAcC,EACvB,CAEa,MAAAW,EAAaxB,EAAoBA,qBAC5C,CAACyB,EAAYvB,KACX,MAGMwB,EAAc,IAHRxB,EAAIE,eAAeC,aACbsB,OAAS,IAK3B,QAAqBtH,IAAjBqH,EAAOE,MAAqB,CAC9B,MAAMC,EAAIC,OAAOJ,EAAOE,OACnBE,OAAOC,MAAMF,KAAIH,EAAOE,MAAQC,EACtC,CAED,QAAsBxH,IAAlBqH,EAAOM,OAAsB,CAC/B,MAAMH,EAAIC,OAAOJ,EAAOM,QACnBF,OAAOC,MAAMF,KAAIH,EAAOM,OAASH,EACvC,CAGD,QAAwBxH,IAApBqH,EAAOO,SAAwB,CACjC,MAAMJ,EAAIC,OAAOJ,EAAOO,UACxBP,EAAOO,SAAWH,OAAOC,MAAMF,GAAKH,EAAOO,SAAWJ,CACvD,CAED,OAAOH,ICjDL,SAAUQ,EACd9G,GAEA,MAQMmC,EARoE,CACxEhC,IAAKE,EAAGA,IACRC,KAAME,EAAIA,KACVC,IAAKE,EAAGA,IACRC,MAAOC,EAAKA,MACZC,OAAQC,EAAMA,QAGaf,GAE7B,IAAKmC,EACH,MAAU4E,MACR,0BAA0B/G,8CAI9B,OAAOmC,CACT,CC7Ba,MAAA6E,EAAuB,qBACvBC,EAAmB,eAEnBC,EAAc,aACdC,EAAiBC,OAAO,iBACxBC,EAAwBD,OAAO,0BAE/BE,EAAeF,OAAO,gBACtBG,EAAgB,YAEhBC,EAAW,WAEXC,EAAoBL,OAAO,iBCkBlC,SAAUM,EAAKC,GACnB,MAAMC,EAA4B,iBAAVD,EAAqBA,EAAQA,EAAMlG,KAE3D,OAAOI,EAAAA,gBACLgG,EAAAA,YAAYN,EAAeK,GAC3BE,EAAeA,gBAACC,EAAeA,iBAEnC,CCxB4BC,EAAAD,gBAArB,MACL,WAAAvJ,CACmByJ,EACkCC,GADlCC,KAASF,UAATA,EACkCE,KAAWD,YAAXA,CACjD,CAEJ,eAAME,CACJtD,EACAuD,GAEA,MAAMC,EACJH,KAAKF,UAAUtI,IACb4H,EACAzC,EAAIyD,eAENJ,KAAKF,UAAUtI,IAA0B4H,EAAezC,EAAIK,YAM9D,OAJImD,GAAaH,KAAKD,mBACdC,KAAKD,YAAYM,UAAU1D,EAAKwD,GAGjCD,EAAKI,QACb,GAtByBT,EAAAD,gBAAAW,aAAA,CAD3BlG,eAIImG,UAAA,EAAAC,EAAAA,YAAYD,EAAAA,QAAA,EAAA1F,SAAOqE,sCADQuB,EAASA,UAAAjM,UAF5BmL,yBCTAe,EACD,YAAAC,CAAarD,GACrB,MAAMsD,EAAWtD,EAAIuD,QAAQC,eAAeC,MAAM,KAAK,GACvD,OAAOH,CACR,CAED,eAAMR,CAAU1D,EAAuB8C,GACrC,MAAMlC,EAAMZ,EAAIE,eAAeC,aAEzB+D,EAAWb,KAAKY,aAAarD,GACnC,IAAKsD,EAAU,MAAM,IAAII,EAAAA,mBAAmB,mBAI5C,IAFc1J,EAAQA,SAACC,IAAI0J,EAAAA,MAAM1J,IAAIiI,GAAYJ,GAEtCpK,SAAS4L,GAClB,MAAM,IAAII,EAAAA,mBAAmB,iBAAiBJ,EAEjD,ECE6BhB,EAAAsB,oBAAzB,MAGL,GAAAC,CAAIC,GACF,IAAIC,EACJ,IACEA,EAAYtB,KAAKrD,IAAInF,IAAI,YAE1B,CAAC,MAAO+J,GACPD,EAAY,CAAA,CACb,CAEDtB,KAAKwB,KAAOxB,KAAKrD,IAAI8E,WAAW,CAC9BH,UAAW7M,OAAO0F,OAAOmH,EAAWD,IAEvC,CAED,QAAAK,CAAS/E,GACPqD,KAAKwB,KAAO7E,CACb,CAED,OAAIA,GACF,IAAKqD,KAAKwB,KACR,MAAM,IAAIG,EAAaA,cAAC,uCAC1B,OAAO3B,KAAKwB,IACb,GAzB6B3B,EAAAsB,oBAAAZ,aAAA,CAD/BlG,EAAAA,WAAW,CAAEC,MAAOE,EAAKA,MAACE,WACdyG,uBCwBoBtB,EAAA+B,qBAA1B,MACL,WAAAvL,CAC2CwL,EACxBC,GADwB9B,KAAQ6B,SAARA,EACxB7B,KAAO8B,QAAPA,CACf,CAEJ,UAAMC,CAAKxE,EAAcyE,GACvB,IAAK,MAAM3K,KAAW2I,KAAK6B,eACnBxK,EAAQiJ,OAAON,KAAK8B,QAASvE,EAAKyE,EAE3C,GAV8BnC,EAAA+B,qBAAArB,aAAA,CADhClG,EAAAA,WAAW,CAAEC,MAAOE,EAAKA,MAACE,UAGtB8F,EAAAA,QAAA,EAAA1F,SAAOkE,4CACkBmC,EAAmBA,uBAHpCS,wBCxBb,MAOMK,EAAgB3I,IAAoC,CACxDA,OACAC,YAAgBD,EAAH,2BACbE,UAAU,EACVpD,KAAMqD,SAGF,SAAUyI,EACdC,EACAC,EACAC,EACAC,GAA8B,GAE9B,MAAMC,EAAmB5D,EAAoB0D,GACvCG,EArBkB,CAACJ,GAClBA,EACJpB,MAAM,KACNrM,OAAQyE,GAAMA,EAAEqJ,WAAW,MAC3B5N,IAAKuE,GAAMA,EAAEsJ,MAAM,IAiBAC,CAAkBP,GAAWvN,IAAIoN,GAEjDW,EAAqB,GAsB3B,MArBiB,QAAbP,GAAsBC,GACxBM,EAAmBC,KACjBC,WAAS,CACPxJ,KAAM,YACNE,UAAU,EACVzC,KAAMgM,EAAcA,eACpBxJ,YAAa,mCAEfuJ,EAAAA,SAAS,CACPxJ,KAAM,QACNE,UAAU,EACVD,YAAa,uCAEfuJ,EAAAA,SAAS,CACPxJ,KAAM,SACNE,UAAU,EACVD,YAAa,wCAKZ,CACLyJ,OAAQ,CACNT,EAAiBH,MACdI,EAAc3N,IAAIoO,eAClBL,EACHM,eAAa,CACXC,QAAS,wCAAwChB,QAEnDiB,gBAAc,CACZ7J,YAAa,mCAEf8J,uBAAqB,CACnB9J,YAAa,wCAGjBkE,OAAQ,CAACO,EAAYwE,GAAgBc,EAAKA,SAE9C,CAEM,SAAUC,EACd9N,EACA0M,EACAtH,EACA1B,GAEA,MAAMqK,EAAQ/N,GAAQgO,WAAahO,EACnC0D,EAAW6J,OAAOU,QAASC,GAAMA,EAAEH,EAAOrB,EAAYtH,IACtD1B,EAAWsE,QAAQiG,QAAQ,CAACC,EAAGC,IAAUD,EAAEH,EAAOrB,EAAYyB,GAChE,CAqBM,SAAUC,EAAsB1B,GACpC,OAAO2B,eAELC,EACAC,GAEA,MAAMC,EAAcjE,KAAKiE,IAAIrK,IAAIuI,GAEjC,IACE8B,EAAIC,MACF,gCAAgC/B,wBAAiCgC,KAAKC,UAAUL,EAAWjG,kBAE7F,MAAMuG,UAAEA,EAAShG,MAAEA,EAAKI,OAAEA,GAAWuF,EACrC,YAhCA,EACJM,EACAnC,KACG7K,KAEH,GAAIgN,aAAuBC,EAAAA,aACzB,MAAmD,mBAApCD,EAAoBnC,GAC9BmC,EAAoBnC,MAAe7K,GACpCgN,EAAYE,UAAUrC,KAAe7K,GAG3C,GAAgD,mBAApCgN,EAAoBnC,GAC9B,OAAQmC,EAAoBnC,MAAe7K,GAE7C,MAAUsH,MACR,uBAAuBuD,mBAA4BmC,GAAajO,aAAaiD,OAEjF,EAemBmL,CACXzE,KAAKsE,cACLnC,KACG4B,EAAWjG,cACduG,EACAhG,EACAI,EAEH,CAAC,MAAO8C,GAEP,MADA0C,EAAIS,MAAM,iBAAiBvC,YAAsBZ,GAC3CA,CACP,CACH,CACF,UAEgBoD,EACdC,EACAzC,EACA9K,GAWA,OATA5C,OAAOoQ,eACLD,EAAgBnB,WAAamB,EAC7BzC,EACA,CACEvN,MAAOyC,EACPyN,UAAU,IAIPrQ,OAAOsQ,yBACZH,EAAgBnB,WAAamB,EAC7BzC,EAEJ,CCnJM,MAAgB6C,UAEZC,EAAAA,QACR,WAAA5O,CACqB6O,EACnB5L,GAEA6L,MAAM7L,GAHa0G,KAAakF,cAAbA,CAIpB,CA4BkB,MAAAE,CAKjB9N,EACA+N,EACAC,GAAsB,EACtBhE,GAMA,MAAM3E,EAAMqD,KAAKkF,cAAcvI,IAE/B,OADArF,EAAOA,EAAK3C,OAAQ4M,QAAmB,IAANA,GAC1BgE,EAAqBA,sBAACH,OAAOI,KAClCxF,KACAqF,EACA/D,GAAa,CAAE,EACfgE,KACOhO,EAAMqF,EAEhB,EAGG,MAAgB8I,UAGZT,EAKR,WAAAV,CAAY3H,GACV,IAAKqD,KAAK0F,aACR,IACE1F,KAAK0F,aAAenB,EAAYA,aAACoB,WAC/B3F,KAAK9C,MAGR,CAAC,MAAOqE,GACPvB,KAAK0F,aAAeE,EAAUA,WAACC,SAAS7F,KAAK9C,MAC9C,CACH,OAAOP,EACHqD,KAAK0F,wBAAwBE,EAAUA,WACrC5F,KAAK0F,aAAaI,SAASnJ,EAAIoJ,eAC/B/F,KAAK0F,aAAa9L,IAAI+C,EAAIoJ,eAC5B/F,KAAK0F,YACV,CAED,WAAArP,CAAsB6O,EAAoC5L,GACxD6L,MAAMD,EAAe5L,EACtB,CAuCkB,MAAA8L,CAIjB9N,EACA+N,EACAC,GAAuB,GAgBvB,MAAM3I,EAAMqD,KAAKkF,cAAcvI,IAC/B,IAAI2E,EAAiC,CAAA,EACrC,IACEA,EAAY3E,EAAInF,IAAI,YAErB,CAAC,MAAO+J,GAER,CACD,MAAM+C,EAActE,KAAKsE,YAAY3H,GACrC,IAAIqJ,EASAC,EAEJ,OAVI3B,aAAuBC,EAAYA,aACrCyB,EAAa1B,EAAY4B,KAAc,QAChC5B,aAAuBsB,EAAUA,WACxCI,EAAa1B,EAAqB,QAC1BA,EAA2CxC,UACnDkE,EAAa1B,GAKVgB,EAYDU,EAAmD,OACnD1O,EACA+N,GACA,EACA/D,GAEF6E,KAAMF,GACCA,IAlBPA,EAAYD,EAAmD,OAC7D1O,EACA+N,GACA,EACA/D,GAGK2E,EAaV,ECzKa,SAAAG,EACdhP,EACAoI,GAEA,IAAK6G,EAAwBA,yBAACpR,SAASmC,GACrC,OAAOoI,EAET,MAAM8G,EAAW,CACf7O,EAAAA,cAAcc,OACdgO,EAAAA,sBAAsBC,YACtBvR,SAASmC,GACL8B,EAAQ3B,EAAQA,SAAC5B,WAAW6J,IAAU,GACtCiH,EAAYvF,EAAKA,MAACuF,UAAUjH,IAAU,GAC5C,IAAIkH,EAAaxN,EAAMvE,OAAQyE,GAAM8H,EAAKA,MAACyF,UAAUnH,EAAOpG,IAExDkN,IAAUI,EAAaA,EAAW/R,OAAQyE,GAAMA,IAAM8H,QAAM0F,GAAGpH,KAEnE,MAAMqH,UAAmBC,EAAAA,SAAStH,EAAckH,KAMhD,SAASK,EAAYC,EAAkBC,EAAkB1S,GAGlDA,IACHE,OAAOoQ,eAAegC,EAAWpD,UAAWuD,EAAU,CACpDpS,MAJWL,EAAU,CAAC0S,GAAeA,EAKrCnC,UAAU,EACVoC,YAAY,EACZC,cAAc,IAEhBvR,QAAQE,eACN,cACAmR,EACAJ,EAAWpD,UACXuD,GAQL,CA1BDvS,OAAOoQ,eAAegC,EAAY,OAAQ,CACxCjS,MAAO,GAAGwS,EAAYA,aAAC5H,EAAMlG,QAAQ8N,EAAYA,aAAChQ,UA4BpD,IAAK,MAAM4P,KAAYP,EAAW,CAChC,IAAIrQ,EAAoBmB,EAAQA,SAAC8P,aAAa7H,EAAOwH,GAIrD,GAHA5Q,EAAOA,EAAQ9B,MAAMC,QAAQ6B,GAAQA,EAAK,GAAKA,OAAQU,EACvDV,EAAuB,mBAATA,GAAwBA,EAAKkD,KAAgBlD,EAATA,KAE7CA,EACH,MAAM,IAAIuL,EAAaA,cAAC,qBAAqBqF,eAE/C,GAAI9F,QAAM1J,IAAIpB,EAAKkD,MAAO,CACxB,MAAMgO,EAAO/P,EAAQA,SAACgQ,cAAc/H,EAAOwH,GAE3CD,EAAYC,EADQZ,EAAOhP,EAAIhB,KACOkR,EAAavM,EAAcA,eAACyM,MACnE,CACF,CAED,OAAOX,CACT,OCCaY,SACazH,KAAGiE,IAAGyD,EAAOA,QAAC9N,IAAI6N,EAAoBnO,KAAM,CAEpE,qBAAOqO,CACLC,GAEA,IACE,OAAOrD,EAAYA,aAACoB,WAAWiC,EAEhC,CAAC,MAAOrG,GACP,OAAOqE,EAAUA,WAACC,SAAS+B,EAC5B,CACF,CAED,sCAAOC,CACLvD,EACAwD,EAAiB1L,EAAAA,gBAAgB2L,OAEjC,MAAM9D,EAAMwD,EAAoBxD,IAAIrK,IAClC6N,EAAoBI,iCAEhB3B,EACJ5B,aAAuBC,EAAAA,aAAeD,EAAY4B,KAAO5B,EACrDrH,EAA2BiJ,EAAKhJ,MAChC8K,EACJzQ,EAAAA,SAASC,IACP0O,EAAK7P,YACLkB,WAASvC,IAAIoH,EAAeA,gBAAC2L,SAC1B,CAAA,EAEDE,EACJ1Q,EAAAA,SAASC,IACP8M,EAAYjO,YACZkB,EAAQA,SAACvC,IAAI+J,KACV,GAGP,MAAMmJ,UAAwBzC,EAC5B,SAAa,GACX,MAAU7G,MAAM,0BACjB,CACD,WAAAvI,CAAY6O,EAAoC5L,GAC9C6L,MAAMD,EAAe5L,EACtB,EAGH,IAAK,MAAO6I,EAAY1E,KAAWhJ,OAAO0T,QAAQF,GAAe,CAE/D,MAAM7F,EAAY,CAAC3E,EAAO3F,KAAKsQ,QAAQ,aAAc,KAClDzT,OAAQ0T,GAAYA,GAAWA,EAAQC,QACvCC,KAAK,KAGFlR,EAAUwM,EAAmB1B,GACnC,IAAK9K,EAAS,CACZ,MAAMmR,EAAU,wCAAwCvL,EAAY3D,4BAA4B6I,IAEhG,MADA8B,EAAIS,MAAM8D,GACA5J,MAAM4J,EACjB,CAED,MAAM3N,EAAa8J,EACjBuD,EACA/F,EACA9K,GAGEwD,GAMF0I,EAAmB2E,EAAiB/F,EAAYtH,EAL7BqH,EACjBC,EACAC,EACA3E,EAAOgL,YAIZ,CAED,IAAK,MAAOtG,EAAYuG,KAAcjU,OAAO0T,QAAQH,GAAe,CAClE,MACM5F,EAAY,CAAC0F,EAAQ3F,MADZuG,EAAUC,QAAU,IACc9T,IAAK+T,GAAM,IAAIA,IAC7DjU,OAAQ0T,GAAYA,GAAWA,EAAQC,QACvCC,KAAK,KAGF1N,EAAa8J,EACjBuD,EACA/F,EAHc0B,EAAmB1B,IAO/BtH,GAEF0I,EAAmB2E,EAAiB/F,EAAYtH,EAD7BqH,EAAiBC,EAAYC,EAAW,OAAO,GAGrE,CAED,OAAO8F,CACR,CAED,aAAOW,CAA6B5L,GAClC,MAAMgH,EAAMwD,EAAoBxD,IAAIrK,IAAI6N,EAAoBoB,QACtDC,EAAY5H,EAAAA,MAAM4H,UAAU7L,GAC5BmF,EAAY2G,cAAYD,GACxBE,EAAiB/L,EAAY3D,KAC7BgL,EAAcmD,EAAoBE,eAAe1K,IAGjD1D,YAAEA,EAAW0P,MAAEA,EAAKC,cAAEA,EAAapR,KAAEA,GACzC2P,EAAoB0B,4BAA4BlM,GAElDgH,EAAIC,MAAM,kCAAkC8E,GAE5C,MAAMI,EAAiB3B,EAAoBI,gCACzCvD,GAGF,IAIM+E,EAJN,cAIqCD,EAGzB,gBAAW,GACnB,OAAOnM,CACR,CAED,SAAa,GACX,OAAOA,CAER,CAED,WAAA5G,CAAY6O,GACVC,MAAMD,GAZSlF,KAAA4G,GAAa1F,EAAAA,MAAM0F,GAAG3J,GAarCgH,EAAIqF,KACF,6CAA6CtJ,KAAK9C,MAAM5D,gBAAgB8I,IAE3E,CA4BD,YAAMmH,CAAOvU,EAA2BwU,GACtC,MAAM7M,IAAEA,UACAqD,KAAKoF,OAAO,GAAIqE,wBAAsBC,SAAS,IACrD9P,IAAIoG,KAAKuJ,QACX,OAAOvJ,KAAKsE,YAAY3H,GAAK4M,OAC3BvU,EACAwU,EAAQnF,UACR1H,EAEH,CAoBD,gBAAMgN,CACU3U,EACAwU,GAEd,MAAM7M,IAAEA,UACAqD,KAAKoF,OAAO,GAAIqE,wBAAsBG,SAAS,IACrDhQ,IAAIoG,KAAK2J,YACX,OAAO3J,KAAKsE,YAAY3H,GAAKgN,WAC3B3U,EACAwU,EAAQnF,UACRmF,EACA7M,EAEH,CAWD,eAAMkN,CAAwB7U,EAA6BJ,GACzD,MAAM+H,IAAEA,UACAqD,KAAKoF,OAAO,GAAIqE,wBAAsBK,aAAa,IACzDlQ,IAAIoG,KAAK6J,WACX,OAAO7J,KAAKsE,YAAY3H,GAAKkN,UAAU7U,EAAgBJ,EAAO+H,EAC/D,CAkBK,YAAAoN,CACU/U,EACEJ,EAEF4U,GAEd,MAAM7M,IAAEA,UACAqD,KAAKoF,OAAO,GAAIqE,wBAAsBO,SAAS,IACrDpQ,IAAIoG,KAAK+J,QACX,OAAO/J,KAAKsE,YAAY3H,GACrB/C,IAAI+C,EAAIoJ,eACRgE,OAAO/U,EAAgBJ,EAAO+H,EAClC,CAqCK,eAAA6H,CACalL,EACFhC,EACDkS,GAEd,MAAM7M,IAAEA,UACAqD,KAAKoF,OAAO,GAAIhJ,kBAAgB6N,WAAW,IACjDrQ,IAAIoG,KAAKwE,YACLH,UAAEA,EAAS5F,OAAEA,EAAMJ,MAAEA,EAAKK,SAAEA,GAAa8K,EAI/C,OAHAlS,EAAOA,EAAKzC,IACTqV,IAAoB,iBAANA,EAAiBC,SAASD,GAAKA,IAAMA,GAE9C5Q,GACN,KAAKmQ,EAAqBA,sBAACO,QACzB,MACF,KAAKP,EAAqBA,sBAACC,QACzBpS,EAAKuL,KAAKwB,GACV,MACF,KAAKoF,EAAqBA,sBAACG,QACzBtS,EAAO,CACLA,EAAK,GACL+M,EACA,CACEhG,MAAOA,EACPI,OAAQA,EACRC,SAAUA,IAIhB,KAAK+K,EAAqBA,sBAACK,aAG7B,OAAO9J,KAAKsE,YAAY3H,GAAK6H,UAAUlL,KAAShC,EAAMqF,EACvD,CA2BD,eAAMyN,CAAuB1N,GAC3B,MAAMC,IAAEA,EAAGsH,IAAEA,UACLjE,KAAKoF,OAAO,GAAImB,EAAAA,sBAAsB8D,YAAY,IACxDzQ,IAAIoG,KAAKoK,WAEX,IAAIE,EADJrG,EAAIsG,QAAQ,gBAAgBvB,GAE5B,IACEsB,QAAgBtK,KAAKsE,YAAY3H,GAAKyN,UACpC1N,EAAK7H,IAAK8O,GAAM,IAAI1G,EAAY0G,IAChChH,EAEH,CAAC,MAAO4E,GAEP,MADA0C,EAAIS,MAAM,wBAAwBsE,EAAkBzH,GAC9CA,CACP,CAID,OAHA0C,EAAIqF,KACF,eAAeN,aAA2BsB,EAAgBtK,KAAK4G,OAE1D0D,CACR,CAkBD,YAAMzB,CAAoBnM,GACxB,MAAMC,IAAEA,EAAGsH,IAAEA,UACLjE,KAAKoF,OAAO,GAAI3N,EAAAA,cAAcW,QAAQ,IAC5CwB,IAAIoG,KAAK6I,QAEX,IAAIyB,EADJrG,EAAIsG,QAAQ,gBAAgBvB,GAE5B,IACEsB,QAAgBtK,KAAKsE,YAAY3H,GAAKkM,OAAOnM,EAAMC,EACpD,CAAC,MAAO4E,GAEP,MADA0C,EAAIS,MAAM,wBAAwBsE,EAAkBzH,GAC9CA,CACP,CAID,OAHA0C,EAAIqF,KACF,eAAeN,aAA2BsB,EAAgBtK,KAAK4G,OAE1D0D,CACR,CAiBD,aAAME,CAAsBC,GAC1B,MAAM9N,IAAEA,EAAGsH,IAAEA,UACLjE,KAAKoF,OAAO,GAAImB,EAAAA,sBAAsBmE,UAAU,IACtD9Q,IAAIoG,KAAKwK,SACX,IAAIG,EACJ,IACE1G,EAAIC,MAAM,WAAWuG,EAAIrV,UAAU4T,MAAmByB,KACtDE,QAAa3K,KAAKsE,YAAY3H,GAAK6N,QAAQC,EAAY9N,EACxD,CAAC,MAAO4E,GAEP,MADA0C,EAAIS,MAAM,aAAasE,aAA0ByB,IAAOlJ,GAClDA,CACP,CAGD,OADA0C,EAAIqF,KAAK,QAAQqB,EAAKvV,UAAU4T,KACzB2B,CACR,CAcD,UAAMA,CAAiCC,GACrC,MAAMjO,IAAEA,EAAGsH,IAAEA,UACLjE,KAAKoF,OAAO,GAAI3N,EAAAA,cAAcQ,MAAM,IAC1C2B,IAAIoG,KAAK2K,MACLE,EAAK5B,KAAS2B,EAAY9M,eAChC,QAAkB,IAAP+M,EACT,MAAM,IAAIC,EAAeA,gBAAC,MAAM9K,KAAK4G,eAEvC,IAAI+D,EACJ,IACE1G,EAAIC,MAAM,WAAW8E,UAAuBhJ,KAAK4G,MAAMiE,KACvDF,QAAa3K,KAAKsE,YAAY3H,GAAKgO,KAAKE,EAAIlO,EAC7C,CAAC,MAAO4E,GAKP,MAJA0C,EAAIS,MACF,kBAAkBsE,aAA0B6B,IAC5CtJ,GAEIA,CACP,CAGD,OADA0C,EAAIqF,KAAK,QAAQN,aAA2B2B,EAAa3K,KAAK4G,OACvD+D,CACR,CA8BD,eAAMI,CAAuBnO,GAC3B,MAAMD,IAAEA,EAAGsH,IAAEA,UACLjE,KAAKoF,OAAO,GAAImB,EAAAA,sBAAsBC,YAAY,IACxD5M,IAAIoG,KAAK+K,WAEX,IAAIC,EACJ,IACE/G,EAAIqF,KAAK,YAAY1M,EAAKxH,UAAU4T,KACpC,MAAMiC,EAAWrO,EAAK/H,IAAKqW,GACzB/G,KAAKgH,MAAMhH,KAAKC,UAAU8G,KAE5BF,QAAgBhL,KAAKsE,YAAY3H,GAAKoO,UAAUE,EAAUtO,EAC3D,CAAC,MAAO4E,GAEP,MADA0C,EAAIS,MAAMnD,GACJA,CACP,CACD,OAAOyJ,CACR,CAqBD,YAAMI,CACwBR,EACfhO,GAEb,MAAMD,IAAEA,EAAGsH,IAAEA,UACLjE,KAAKoF,OAAO,GAAI3N,EAAAA,cAAcc,QAAQ,IAC5CqB,IAAIoG,KAAKoL,QAELP,EAAK5B,KAAS2B,EAAY9M,eAChC,QAAkB,IAAP+M,EACT,MAAM,IAAIC,EAAeA,gBAAC,MAAM9K,KAAK4G,eAEvC,IAAIoE,EACJ,IACE/G,EAAIqF,KAAK,YAAYN,UAAuBhJ,KAAK4G,MAAMiE,KACvD,MAAMQ,EAAUlH,KAAKgH,MAAMhH,KAAKC,UAAUxH,IAC1CoO,QAAgBhL,KAAKsE,YAAY3H,GAAKyO,OACpC,IAAInO,EAAY,IACXoO,EACH,CAACrL,KAAK4G,IAAKiE,IAEblO,EAEH,CAAC,MAAO4E,GAEP,MADA0C,EAAIS,MAAMnD,GACJA,CACP,CACD,OAAOyJ,CACR,CAYD,eAAMM,CAAwBb,GAC5B,MAAM9N,IAAEA,EAAGsH,IAAEA,UACLjE,KAAKoF,OAAO,GAAImB,EAAAA,sBAAsBgF,YAAY,IACxD3R,IAAIoG,KAAKsL,WACX,IAAIX,EACJ,IACE1G,EAAIC,MAAM,YAAYuG,EAAIrV,UAAU4T,MAAmByB,KACvDE,QAAa3K,KAAKsE,YAAY3H,GAAK2O,UAAUb,EAAK9N,EACnD,CAAC,MAAO4E,GAKP,MAJA0C,EAAIS,MACF,oBAAoBsE,aAA0ByB,IAC9ClJ,GAEIA,CACP,CAGD,OADA0C,EAAIqF,KAAK,WAAWqB,EAAKvV,UAAU4T,KAC5B2B,CACR,CAWD,YAAM,CAAmCC,GACvC,MAAMjO,IAAEA,EAAGsH,IAAEA,UACLjE,KAAKoF,OAAO,GAAI3N,EAAAA,cAAckB,QAAQ,IAC5CiB,IAAIoG,KAAKwL,QAELX,EAAK5B,KAAS2B,EAAY9M,eAChC,QAAkB,IAAP+M,EACT,MAAM,IAAIC,EAAeA,gBAAC,MAAM9K,KAAK4G,eAEvC,IAAI6E,EACJ,IACExH,EAAIC,MACF,YAAY8E,UAAuBhJ,KAAK4G,MAAgBiE,KAE1DY,QAAYzL,KAAKsE,YAAY3H,GAAK6O,OAAOX,EAAIlO,EAC9C,CAAC,MAAO4E,GAKP,MAJA0C,EAAIS,MACF,oBAAoBsE,aAA0B6B,IAC9CtJ,GAEIA,CACP,CAED,OADA0C,EAAIqF,KAAK,WAAWN,aAA0B6B,KACvCY,CACR,GAGH,OAtdQlL,aAAA,CAPL3I,EAAsBqF,EAAa,MAAO,eAC1CiG,EAAYA,aAAC,CAAEC,QAAS,YAAY6F,wBACpC/F,EAAAA,SAAS,CAAE3J,KAAM,MAAOC,YAAa,6BACrCuJ,EAAQA,SAAC,CAAExJ,KAAM,YAAaE,UAAU,EAAMzC,KAAMgM,EAAAA,iBACpDK,gBAAc,CACb7J,YAAgByP,EAAH,0BAEYxI,UAAA,EAAAvC,uIAS1BoL,EAAA5F,UAAA,SAAA,MAoBKlD,aAAA,CAlBL3I,EAAsBqF,EAAa,MAAO,yBAC1CiG,EAAYA,aAAC,CAAEC,QAAS,YAAY6F,wBACpC/F,EAAAA,SAAS,CAAE3J,KAAM,MAAOC,YAAa,6BACrC0J,WAAS,CACR3J,KAAM,OACNC,YAAa,yCAEduJ,WAAS,CACRxJ,KAAM,YACNE,UAAU,EACVzC,KAAMgM,EAAcA,eACpBxJ,YAAa,mBAEduJ,EAAQA,SAAC,CAAExJ,KAAM,QAASE,UAAU,EAAMD,YAAa,kBACvDuJ,EAAAA,SAAS,CAAExJ,KAAM,SAAUC,YAAa,gCACxC6J,gBAAc,CACb7J,YAAgByP,EAAH,uBAGZxI,EAAAA,QAAA,EAAAkL,QAAM,QACNlL,UAAA,EAAAvC,uIAWFoL,EAAA5F,UAAA,aAAA,MAWKlD,aAAA,CATL3I,EAAsBqF,EAAa,MAAO,kBAC1CiG,EAAYA,aAAC,CAAEC,QAAS,YAAY6F,wBACpC/F,EAAAA,SAAS,CAAE3J,KAAM,MAAOC,YAAa,6BACrC6J,gBAAc,CACb7J,YAAgByP,EAAH,mBAEd2C,sBAAoB,CACnBpS,YAAa,MAAMyP,8CAEJxI,EAAAA,QAAA,EAAAkL,QAAM,QAAqBlL,EAAAA,QAAA,EAAAkL,QAAM,4IAKjDrC,EAAA5F,UAAA,YAAA,MAkBKlD,aAAA,CAhBL3I,EAAsBqF,EAAa,MAAO,sBAC1CiG,EAAYA,aAAC,CAAEC,QAAS,YAAY6F,wBACpC/F,EAAAA,SAAS,CAAE3J,KAAM,MAAOC,YAAa,6BACrC0J,EAAAA,SAAS,CAAE3J,KAAM,QAASC,YAAa,uBACvCuJ,WAAS,CACRxJ,KAAM,YACNE,UAAU,EACVzC,KAAMgM,EAAcA,eACpBxJ,YAAa,oCAEd6J,gBAAc,CACb7J,YAAgByP,EAAH,mBAEd2C,sBAAoB,CACnBpS,YAAa,MAAMyP,8CAGlBxI,EAAAA,QAAA,EAAAkL,QAAM,QACNlL,EAAAA,QAAA,EAAAkL,QAAM,UAENlL,UAAA,EAAAvC,8IAQFoL,EAAA5F,UAAA,SAAA,MAqCKlD,aAAA,CAnCL3I,EAAsBqF,EAAa,MAAO,2BAC1CiG,eAAa,CACZC,QAAS,oCAAoC6F,OAE9C/F,WAAS,CACR3J,KAAM,SACNC,YAAa,sCAEd0J,WAAS,CACR3J,KAAM,OACNC,YACE,qEAEHuJ,WAAS,CACRxJ,KAAM,YACNE,UAAU,EACVzC,KAAMgM,EAAcA,eACpBxJ,YAAa,oCAEduJ,WAAS,CACRxJ,KAAM,QACNE,UAAU,EACVD,YAAa,uCAEduJ,WAAS,CACRxJ,KAAM,SACNE,UAAU,EACVD,YAAa,uCAEd6J,gBAAc,CACb7J,YAAgByP,EAAH,mBAEd2C,sBAAoB,CACnBpS,YAAa,MAAMyP,8CAGlBxI,EAAAA,QAAA,EAAAkL,QAAM,WACNlL,EAAAA,QAAA,EAAAkL,QAAM,SACNlL,UAAA,EAAAvC,6IA8BFoL,EAAA5F,UAAA,YAAA,MA2BKlD,aAAA,CAzBL3I,EAAsBqF,EAAa,OAAQ,QAC3CiG,EAAYA,aAAC,CAAEC,QAAS,gBAAgB6F,OACxC4C,UAAQ,CACPrS,YAAa,eAAeyP,EAC5B6C,OAAQ,CACNzV,KAAM,QACNa,MAAO,CACL6U,KAAMC,EAAaA,cAAC9O,OAKzB+O,qBAAmB,CAClBzS,YAAgByP,EAAH,yBACb6C,OAAQ,CACNzV,KAAM,QACNa,MAAO,CACL6U,KAAMC,EAAaA,cAAC9O,OAIzBgP,wBAAsB,CAAE1S,YAAa,+BACrC2S,iCAA+B,CAC9B3S,YAAa,8CAEEiH,UAAA,EAAAhE,+HAmBhB6M,EAAA5F,UAAA,YAAA,MAkBKlD,aAAA,CAhBL3I,EAAsBqF,EAAa,QACnCiG,EAAYA,aAAC,CAAEC,QAAS,gBAAgB6F,OACxC4C,UAAQ,CACPrS,YAAa,eAAeyP,EAC5B5S,KAAMgQ,EAAO3O,gBAAcW,OAAQ6E,KAEpC+O,qBAAmB,CAClBzS,YAAgByP,EAAH,yBACb6C,OAAQ,CACNC,KAAMC,EAAaA,cAAC9O,MAGvBgP,wBAAsB,CAAE1S,YAAa,+BACrC2S,iCAA+B,CAC9B3S,YAAa,8CAEDiH,UAAA,EAAAhE,gIAgBb6M,EAAA5F,UAAA,SAAA,MAiBKlD,aAAA,CAfL3I,EAAsBqF,EAAa,MAAO,QAC1CiG,EAAYA,aAAC,CAAEC,QAAS,cAAc6F,oBACtClG,EAAQA,SAAC,CAAExJ,KAAM,MAAOE,UAAU,EAAMpD,KAAM,UAC9CgN,gBAAc,CACb7J,YAAgByP,EAAH,2BACb6C,OAAQ,CACNzV,KAAM,QACNa,MAAO,CACL6U,KAAMC,EAAaA,cAAC9O,OAIzB0O,sBAAoB,CACnBpS,YAAa,MAAMyP,8CAENxI,EAAAA,QAAA,EAAA8C,QAAM,kIAepB+F,EAAA5F,UAAA,UAAA,MAcKlD,aAAA,CAZL3I,EAAsBqF,EAAa,MAAOnF,GAC1CmB,EAAmBiQ,GACnBhG,EAAYA,aAAC,CAAEC,QAAS,cAAc6F,oBACtC5F,gBAAc,CACb7J,YAAgByP,EAAH,2BACb6C,OAAQ,CACNC,KAAMC,EAAaA,cAAC9O,MAGvB0O,sBAAoB,CACnBpS,YAAa,MAAMyP,8CAETxI,EAAAA,QAAA,EAAAxC,EAAYkL,+HAsBvBG,EAAA5F,UAAA,OAAA,MA8BKlD,aAAA,CA5BL3I,EAAsBqF,EAAa,MAAO,QAC1ChE,EAAmBiQ,GACnBhG,eAAa,CACZC,QAAS,uBAAuB6F,iCAEjC4C,UAAQ,CACPrS,YAAa,4CAA4CyP,EACzD6C,OAAQ,CACNzV,KAAM,QACNa,MAAO,CACL6U,KAAMC,EAAaA,cAAC9O,OAKzB+O,qBAAmB,CAClBzS,YAAgByP,EAAH,yBACb6C,OAAQ,CACNzV,KAAM,QACNa,MAAO,CACL6U,KAAMC,EAAaA,cAAC9O,OAIzB0O,sBAAoB,CACnBpS,YAAa,MAAMyP,8CAEpBiD,wBAAsB,CAAE1S,YAAa,+BACrBiH,UAAA,EAAAhE,+HAiBhB6M,EAAA5F,UAAA,YAAA,MAqBKlD,aAAA,CAnBL3I,EAAsBqF,EAAa,MAAOnF,GAC1CmB,EAAmBiQ,GACnBhG,eAAa,CACZC,QAAS,uBAAuB6F,iCAEjC4C,UAAQ,CACPrS,YAAa,4CAA4CyP,EACzD6C,OAAQ,CACNC,KAAMC,EAAaA,cAAC9O,MAIvBmG,gBAAc,CACb7J,YAAgByP,EAAH,2BAEd2C,sBAAoB,CACnBpS,YAAa,MAAMyP,8CAEpBiD,wBAAsB,CAAE1S,YAAa,+BAEnCiH,EAAAA,QAAA,EAAAxC,EAAYkL,IACZ1I,UAAA,EAAAhE,uIA0BF6M,EAAA5F,UAAA,SAAA,MAYKlD,aAAA,CAVL3I,EAAsBqF,EAAa,SAAU,QAC7ChE,EAAmBiQ,GACnBhG,EAAYA,aAAC,CAAEC,QAAS,cAAc6F,oBACtClG,EAAQA,SAAC,CAAExJ,KAAM,MAAOE,UAAU,EAAMpD,KAAM,UAC9CgN,gBAAc,CACb7J,YAAgByP,EAAH,6BAEd2C,sBAAoB,CACnBpS,YAAa,MAAMyP,8CAEJxI,EAAAA,QAAA,EAAA8C,QAAM,kIAkBtB+F,EAAA5F,UAAA,YAAA,MAWKlD,aAAA,CATL3I,EAAsBqF,EAAa,SAAUnF,GAC7CmB,EAAmBiQ,GACnBhG,EAAYA,aAAC,CAAEC,QAAS,YAAY6F,oBACpC5F,gBAAc,CACb7J,YAAgByP,EAAH,kCAEd2C,sBAAoB,CACnBpS,YAAa,MAAMyP,8CAEPxI,EAAAA,QAAA,EAAAxC,EAAYkL,+HAwBzBG,EAAA5F,UAAA,SAAA,MAhgBG4F,EAAsB9I,EAAAA,WAAA,CAJ3B4L,EAAAA,WAAW/J,GACXgK,EAAAA,QAAQpD,GACRqD,EAAAA,eAAepP,GACfsC,EAAKtC,qCAauBkE,EAAAA,uBAZvBkI,GAmgBCA,CACR,CAED,kCAAOF,CACLvB,GAEA,MAAMhB,EAAK1F,EAAAA,MAAM0F,GAAGgB,GACd0E,EAAW/U,EAAAA,SAASC,IACxBoQ,EACArQ,EAAAA,SAASvC,IAAIuX,SAAOC,SAAU5F,IAE1B6F,EAAeH,GAAUhV,MAAQ,GAGjCoV,EACJpY,MAAMC,QAAQkY,IAAiBA,EAAarX,OAAS,EACjDd,MAAMqY,KAAK,IAAIC,IAAI,IAAIH,KACvBnY,MAAMqY,KAAK,IAAIC,IAAI,CAAChG,KAEpBrN,EAAchC,EAAAA,SAASgC,YAAYqO,GAWzC,MAAO,CACL9P,KAXW,IAAI4U,EAAWnE,KAAK,MAY/BhP,cACA2P,cAZwCwD,EAAW7X,IAAKG,IACjD,CACLsE,KAAMtE,EACNuE,YAAahC,EAAQA,SAACgC,YAAYqO,EAAY5S,GAC9CwE,UAAU,EACVpD,KAAMqD,UAQRwP,MAAO,IAAIxL,IACT6O,GAAUO,UAAYpP,EAAO8K,KAAK+D,EAASO,WAAapP,EAAO8K,KAAK,IAEzE,ECrwBFuE,EAAAA,QAAgBC,gBAEfC,IACA,MAAMC,EACe,iBAAZD,EAAuBA,EAAWA,EAAQC,MACnD,OAAO1V,EAAAA,SAAmB,SAAE0H,OAAOrF,IAAI,gBAAiBqT,EAC1D,GAAEC,KAAKJ,EAAAA,SAENA,EAAAA,QAAgBK,qBAAsB,KAGrC,MAAM7F,EAAO/P,EAAAA,SAAmB,SAAE0H,OAAOrF,IAAI,iBAC7C,GAAK0N,EACL,OAAO7S,OAAOM,KAAKuS,EACrB,GAAE4F,KAAKJ,EAAAA,SC4CoCjN,EAAAuN,+BAApC,MACL,WAAA/W,CACqBgX,EACAC,GADAtN,KAAcqN,eAAdA,EACArN,KAAQsN,SAARA,CACjB,CAEM,mBAAMC,CAAchQ,GAC5B,MACMiQ,EAA0B,CAC9B1M,QAFcvD,EAAIuD,QAGlBQ,UAAW,CAAE,GAGTmM,EAAWX,UAAQK,sBACzB,GAAIM,EACF,IAAK,MAAMC,KAAWD,EACpB,IACE,MAAME,EAAcb,EAAAA,QAAQC,eAC1BW,GAEIf,QAAagB,EAAYhB,KAAKpP,GACpC9I,OAAO0F,OAAOqT,EAAMlM,UAAWqL,EAChC,CAAC,MAAOpL,GACP,MAAM,IAAII,EAAAA,cAAc,oCAAoCJ,EAC7D,CAaL,OAXY,IAAIqM,EAAAA,SAAUnM,WACxBhN,OAAO0F,OACL,CAAE,EACF0T,sBACA,CACEC,OAAQpG,EAAOA,QAAClQ,MAChBuW,UAAW,IAAIC,MAEjBR,GAIL,CAED,eAAMvN,CAAU6B,EAA2B5B,GACzC,MAAM3C,EAAMuE,EAAQjF,eAAeC,aAC7BkF,EAAMF,EAAQjF,eAAeoR,cAC7BtR,QAAYqD,KAAKuN,cAAchQ,GAGrC,OAFAyC,KAAKqN,eAAe3L,SAAS/E,SACvBqD,KAAKsN,SAASvL,KAAKxE,EAAKyE,GACvB9B,EAAKI,QACb,GA/CwCT,EAAAuN,+BAAA7M,aAAA,CAD1ClG,EAAAA,WAAW,CAAEC,MAAOE,EAAKA,MAACE,4CAGYyG,EAAmBA,oBACzBS,EAAAA,wBAHpBwL,wCC1DSc,GAIhB,SAAUC,EAA4BT,GAC1C,OAA4ClQ,IAC1CjG,EAAAA,SAAS6W,IAAI,eAAgBV,EAASlQ,GACd,mBAAbA,EACFjI,EAAQA,SAAC,eAAgBmY,EAAzBnY,CAAkCiI,GACpCA,EAEX,CCJM,SAAU6Q,GAAaX,SAE3B,IAAMY,EAAN,2BACkBtO,KAAAiE,IAAMyD,EAAAA,QAAQ9N,IAAI2U,EAAiBjV,MAAMM,IAAI8T,EAAS,CAEtE,0BAAOc,CACLC,GAEA,OAAOA,EAAO5Z,IAAK2K,IAAW,CAC5BkP,QAAYlP,EAAMlG,KAAT,UACTqV,WAAY,IAAMpK,EAAAA,aAAasB,SAASrG,KAE3C,CAED,cAAOoP,CACLlB,EACAnX,EAAuC,IAEvC,MAAM0N,EAAMjE,KAAKiE,IAAIrK,IAAIoG,KAAK4O,SAC9B3K,EAAIqF,KAAK,yCAET,MAAMuF,EAAgB/B,EAAAA,QAAQ2B,OAAOf,GAErC,IAAIoB,EAA4B,GAC5BvY,EAAQwY,eACV9K,EAAIqF,KAAK,2DACTwF,EAAgB9O,KAAKwO,oBAAoBK,GACzC5K,EAAIqF,KACF,4BAA4BwF,EAAc1Z,iCAI9C,MAAM4Z,EAAcH,EAAcha,IAAI4S,EAAoBoB,QAG1D,OAFA5E,EAAIqF,KAAK,aAAa0F,EAAY5Z,sBAE3B,CACL6Z,OAAQV,EACRS,cACAE,UAAW,CACT,CACER,QAAS1P,EACT2P,WAAY,IAERpY,EAAQsL,UAAUhN,IAAKsa,IACrBlL,EAAIqF,KAAK,+BAA+B6F,EAAE7V,MACnC,IAAI6V,KACP,IAIZhO,EAAmBA,oBACnBS,EAAoBA,qBACpB,CACE8M,QAASU,EAAeA,gBACxBC,SAAUjC,EAA8BA,mCAEvC0B,GAGR,GAKH,OA9DMR,EAAgBC,EAAAhO,aAAA,CADrB+O,EAAAA,OAAO,CAAA,IACFhB,GA2DN7Z,OAAO0F,OAAOmU,EAAkB,OAAQ,CACtC1Z,MAAO,cAAc8Y,IAEhBY,CACT,CC1EM,MAAOiB,WAAkBC,EAAAA,eAC7B,WAAAnZ,CAAYoZ,GACVtK,MAAMsK,EAAKF,GAAUjW,KACtB,ECA8BuG,EAAA6P,qBAA1B,MACL,MAAMC,EAAkBC,GACtB,MAAMjT,EAAMiT,EAAK/S,eACXgT,EAAWlT,EAAIsR,cACf6B,EAAUnT,EAAIG,aAEdiT,EAAyC,eAA1BC,EAAAA,kBAAkBC,IACjCN,aAAqBO,EAAAA,YACzBP,EAAY,IAAIhO,EAAAA,cAAcgO,EAAUnH,UAG1CqH,EAASM,OAAQR,EAAwBS,MAAMC,KAAK,CAClDF,OAASR,EAAwBS,KACjC1L,MAAOqL,EAAeJ,EAAUrW,KAAOqW,EAAUnH,QACjDuF,WAAW,IAAIC,MAAOsC,cACtBxY,KAAMgY,EAAQS,IACdvN,OAAQ8M,EAAQ9M,QAEnB,GAlB8BnD,EAAA6P,qBAAAnP,aAAA,CADhCiQ,WACYd,wBCYN,MAAMe,GAAuC,CAClDC,MAAO,wCACPnX,YAAa,kDACboX,QAAS,QACT7Y,KAAM,OACN8Y,gBAAiB,GACjBC,mBAAoB,GACpBC,KAAM,CACJ1a,KAAM,OACN2a,OAAQ,SACRC,aAAc,MACd1X,KAAM,gBACNC,YAAa,kBACb0X,GAAI,UAENC,sBAAsB,EACtBC,cAAe,iBCnBJC,GAUX,WAAA/a,CAAYE,GACVyJ,KAAKzJ,QAAU,IACVA,EAEN,CAEO,SAAA8a,GACN,IAAIC,EAAM,GAKV,OAJItR,KAAKzJ,QAAQgb,iBAEfD,GAAO,yDADKtR,KAAKwR,IAAIxR,KAAKzJ,QAAQgb,sDAIlCD,EACA,0GAE4CtR,KAAKzJ,QAAQ4a,eAAiBV,GAAqBU,0BAGlG,CAED,gBAAAM,GACE,MAAMC,EAA+B,CAAA,EAKrC,OAJI1R,KAAKzJ,QAAQob,cACfD,EAAuB,cAAI1R,KAAKwR,IAAIxR,KAAKzJ,QAAQob,aAAa,IAGzD,CACLC,gBAAiB5R,KAAKzJ,QAAQma,SAC3BgB,EACHG,UAAW7R,KAAKqR,YAChBS,eAAgB,CACdZ,qBAAsBlR,KAAKzJ,QAAQ2a,sBAErCa,gBAAiB/R,KAAKzJ,QAAQuB,KACvBkI,KAAKzJ,QAAQuB,KAAhB,kBACAhB,EACJkb,gBAAiBhS,KAAKzJ,QAAQuB,KACvBkI,KAAKzJ,QAAQuB,KAAhB,kBACAhB,EAEP,CAED,GAAA0a,CAAIS,EAAcC,GAAe,GAC/B,MAAMC,EAAWra,EAAKyQ,KAAKvI,KAAKzJ,QAAQ6b,YAAc,GAAIH,GACpDT,EAAMa,EAAAA,aAAaF,EAAU,CAAEG,SAAU,WAC/C,OAAOJ,EAAM,yBAA2BV,EAAMA,CAC/C,QClEUe,GACX,WAAAlc,CACmBmc,EACAjc,GADAyJ,KAAGwS,IAAHA,EACAxS,KAAOzJ,QAAPA,CACf,CAEI,cAAAkc,GACN,MAAMlZ,EAAcyG,KAAKzJ,QAAQuB,KAC7BkI,KAAKzJ,QAAQgD,YACb,GACA,oBAAoByG,KAAKzJ,QAAQuB,2CACjC,YAAYkI,KAAKzJ,QAAQuB,wCACzBkI,KAAKzJ,QAAQgD,YAEXmZ,GAAS,IAAIC,mBAChBC,SAAS5S,KAAKzJ,QAAQma,OACtBmC,eAAetZ,GACfuZ,WAAW9S,KAAKzJ,QAAQoa,SAAW,SACnCoC,cAAc/S,KAAKzJ,QAAQua,MAAQL,GAAqBK,MACxDkC,QAEH,OAAOC,EAAaA,cAACR,eAAezS,KAAKwS,IAAKE,EAAQ,CACpDQ,YAAalT,KAAKzJ,QAAQ2c,aAAe,IAE5C,CAEM,YAAAC,GACL,MAAMC,EAAWpT,KAAKyS,iBAChBY,EAAY,IAAIjC,GAAgB,CACpCV,MAAO1Q,KAAKzJ,QAAQma,MACpB5Y,KAAMkI,KAAKzJ,QAAQuB,MAAQ2Y,GAAqB3Y,KAChDoZ,qBAAsBlR,KAAKzJ,QAAQ2a,uBAAwB,EAC3DkB,WAAYpS,KAAKzJ,QAAQ6b,WACzBT,YAAa3R,KAAKzJ,QAAQqa,gBAC1BW,eAAgBvR,KAAKzJ,QAAQsa,mBAC7BM,cAAenR,KAAKzJ,QAAQ4a,gBAE9B8B,gBAAcK,MACZtT,KAAKzJ,QAAQuB,MAAQ2Y,GAAqB3Y,KAC1CkI,KAAKwS,IACLY,EACA,IACKC,EAAU5B,oBAGlB,SC5BI,IAAM8B,GAAN,qBAOK,sBAAWjP,GACnB,IAAKtE,KAAK0F,aACR,MAAM,IAAI/D,EAAAA,cAAc,uCAC1B,OAAO3B,KAAK0F,YACb,CAES,cAAWzB,GAEnB,OADKjE,KAAKwT,UAASxT,KAAKwT,QAAU9L,EAAAA,QAAQ9N,IAAI6Z,KACvCzT,KAAKwT,OACb,CAED,WAAAnd,CAEmBE,EACAmd,GADA1T,KAAOzJ,QAAPA,EACAyJ,KAAS0T,UAATA,CACf,CAEJ,4BAAaC,CACXpd,GAEA,MAAM0N,EAAMjE,KAAKiE,IAAIrK,IAAIoG,KAAK2T,iBAE9B,IAAK3T,KAAK0F,aAAc,CACtB,MAAMkO,EAAUrd,EAAQsd,KAAKhf,IAAI,EAAEif,EAAO5Z,KAAQ5C,KAC/BA,EAAKyc,MAEf,CAACD,EAAO5Z,KAAQ5C,GADD,CAACwc,EAAO5Z,IAGhC8F,KAAK0F,aAAe,IAAIsO,EAAAA,yBAClBhU,KAAK0F,aAAauO,KAAKL,GAC7B,MAAMM,EAAUlU,KAAK0F,aAAayO,OAClC,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAQ9e,OAAQgf,IAAK,CACvC,MAAMC,EAAI9d,EAAQsd,KAAKO,GACvB,IAAS,CAAA,CAAAzG,GAAe0G,EACxB,IAAK1G,EAAa,CAChB,MAAMmG,EAAQhH,EAAAA,QAAQC,eAAemH,EAAQE,GAAG1G,SAChD,IAAKoG,EACH,MAAM,IAAInS,EAAAA,cACR,oCAAoCuS,EAAQE,GAAG1G,kGAEnDC,EACEmG,aAAiB5F,EAA8B4F,EAAQ,IAAIA,CAC9D,CACD3F,EAA4B+F,EAAQE,GAAG1G,QAAvCS,CAAgDR,EACjD,CACD1J,EAAIqF,KAAK,0CACV,CAED,OAAOtJ,KAAKsE,YAAY6P,MAezB,CAED,cAAOvF,CAAQrY,GACb,MAAM+d,EAAuB,CAC3B5F,QAAS7P,EACT0V,SAAUhe,GAGNyW,EAAgC,CACpC2B,WAAY7K,MAAOjN,GACV4c,GAAgBE,gBAAgB9c,GAEzC6X,QAAS5P,EACTnE,SAAS,EACTL,MAAOE,EAAKA,MAACC,QACb+Z,OAAQ,CAAC3V,IAMX,MAAO,CACLoQ,OAAQwE,GACRvE,UALgB,CAAClC,EAASsH,GAM1BzU,QALc,CAACmN,GAOlB,CAED,2BAAMyH,GACJ,MAAMxQ,EAAMwP,GAAgBxP,IAAIrK,IAAIoG,KAAKyU,uBACnCC,EACJ1U,KAAK0T,UAAUlc,IAASsH,GAC1B,IAAK,MAAMkO,KAAW0H,EACpB,IACM1H,IACF/I,EAAIqF,KAAK,iBAAiB0D,EAAQlY,kBAC5BkY,EAAQ2H,WAEjB,CAAC,MAAOpT,GACP0C,EAAIS,MAAM,iCAAkCnD,EAC7C,CACJ,UA/GUgS,GAAeE,GAAAlT,EAAAA,WAAA,CAF3BqU,WACAtF,EAAAA,OAAO,CAAA,GAoBH9O,EAAAA,QAAA,EAAA1F,SAAO+D,6CAEoBgW,EAASA,aArB5BtB,ICZAuB,EAAAA,YAANC,GAAA,MACL,yBAAaC,CACXze,GAEA,MAAM0e,gBAAEA,EAAelG,aAAEA,EAAYlN,SAAEA,GAAatL,EAI9CkX,SADE8F,GAAgBI,gBAAgBpd,IACd1B,IAAKmY,GAAYA,EAAQU,SAE7CwH,EAOU,CAAC3B,GAAgB3E,QAAQrY,IAazC,OAXI0e,GACFxH,EAAS/J,QAASgK,IAChBwH,EAAQrS,KACNwL,GAAaX,GAASkB,QAAQlB,EAAS,CACrCqB,eACAlN,gBAMD,CACLoN,OAAQ8F,GACRG,QAASA,EAEZ,GAlCUJ,EAAAA,YAAWC,GAAAxU,EAAAA,WAAA,CADvB+O,EAAAA,OAAO,CAAA,IACKwF,eCiCA,MAAAK,GAAU,cACVC,GAAe,cAE5B7d,EAAAA,SAAS8d,gBAAgBD,GAAcD,2J3B+BrChe,EACAU,EACAC,KAEA,MAAMC,EAGF,CACFC,IAAK,CAACuO,EAAAA,sBAAsBmE,SAAUxS,OACtCC,KAAM,CAACoO,EAAAA,sBAAsB8D,WAAYhS,QACzCC,IAAK,CAACiO,EAAAA,sBAAsBC,WAAYhO,OACxCC,MAAO,CAAC8N,EAAAA,sBAAsBC,WAAY9N,SAC1CC,OAAQ,CAAC4N,EAAAA,sBAAsBgF,WAAY3S,YAGtCC,EAAQC,GAAuBf,EAAWF,GACjD,OAAOX,EAAmBC,EAAkB0B,GACxCE,EAAKA,MAACC,EAAkBA,sBACxBD,QAAMD,EAAoBhB,GAChC,6TSrEM,cAAoC6I,EACxC,WAAAtK,GACE8O,OACD,CAEQ,eAAM9E,CAAU1D,EAAuB8C,GAC9C,MAAMlC,EAAMZ,EAAIE,eAAeC,aAEzB+D,EAAWb,KAAKY,aAAarD,GACnC,IAAKsD,EAAU,MAAM,IAAII,EAAAA,mBAAmB,mBAE5C,MAAMqU,EAAQ/d,EAAQA,SAACC,IAAI0J,EAAAA,MAAM1J,IAAIiI,GAAYJ,GAEjD,IAAKiW,EAAMrgB,SAAS4L,GAClB,MAAM,IAAII,EAAAA,mBAAmB,iBAAiBJ,GAEhD,OAAOyU,CACR,sFmB4DO,iBAAWxH,GAKjB,OAJK9N,KAAKwT,UAERxT,KAAKwT,QAAU,IAAI+B,EAAMA,OAAC,kBAErBvV,KAAKwT,OACb,CAaD,iBAAOgC,CAAWhD,GAEhB,OADAxS,KAAKwS,IAAMA,EACJxS,IACR,CAcD,mBAAOyV,CAAaC,GAGlB,OAFA1V,KAAKwT,QAAUkC,GAAgB,IAAIH,EAAMA,OAAC,iBAC1CvV,KAAKwS,IAAImD,UAAU3V,KAAKwT,SACjBxT,IACR,CAgBD,iBAAO4V,CACLC,EAA0B,GAC1BC,EAAyB,CAAC,MAAO,OAAQ,MAAO,WAEhD,MAAMC,EACQ,MAAZF,EAAkB,IAAMA,EAAQhhB,IAAKmhB,GAAMA,EAAE1N,OAAO2N,eAEhDC,EAA2B,CAC/BC,OAAQ,CAACA,EAAQC,IAEVD,EAGgB,MAAnBJ,GACCzhB,MAAMC,QAAQwhB,IACbA,EAAe9gB,SAASkhB,EAAOF,eAE1BG,EAAS,MAAM,QAGxBA,EAAS,IAAI7G,GAAU,UAAU4G,kBAVbC,EAAS,MAAM,GAYrCC,aAAa,EACbC,QAASR,EAAavN,KAAK,MAI7B,OADAvI,KAAKwS,IAAIoD,WAAWM,GACblW,IACR,CAcD,gBAAOuW,CAAUhgB,GACf,IAEE,MAAMigB,EAASC,QAAQ,UACvBzW,KAAKwS,IAAIkE,IAAIF,EAAOjgB,IACpByJ,KAAK8N,OAAO7J,IAAI,0CAEjB,CAAC,MAAO1C,GACPvB,KAAK8N,OAAO6I,KAAK,6CAClB,CAED,OAAO3W,IACR,CAcD,mBAAOmT,CAAa5c,GAalB,OAZgB,IAAIgc,GAAevS,KAAKwS,IAAK,CAC3C9B,MAAOna,EAAQma,MACfnX,YAAahD,EAAQgD,YACrBoX,QAASpa,EAAQoa,QACjB7Y,KAAMvB,EAAQuB,MAAQ,MACtBoZ,qBAAsB3a,EAAQ2a,uBAAwB,EACtDkB,WAAY7b,EAAQ6b,WACpBxB,gBAAiBra,EAAQob,YACzBd,mBAAoBta,EAAQgb,eAC5BJ,cAAe5a,EAAQ4a,gBAEjBgC,eACDnT,IACR,CAcD,qBAAO4W,IAAkBC,GAEvB,OADIA,EAAMzhB,OAAS,GAAG4K,KAAKwS,IAAIoE,kBAAkBC,GAC1C7W,IACR,CAaD,uBAAO8W,IAAoBC,GAIzB,OAHA/W,KAAKwS,IAAIsE,oBACHC,EAAQ3hB,OAAS,EAAI2hB,EAAU,CAAC,IAAIrH,yBAEnC1P,IACR,CAcD,4BAAOgX,IAAyBC,GAG9B,OAFIA,EAAa7hB,OAAS,GACxB4K,KAAKwS,IAAIwE,yBAAyBC,GAC7BjX,IACR,CAgBD,kBAAakX,CACXC,EAAe5Y,OAAO6Y,QAAQnH,IAAIoH,OAAS,IAC3CzH,OAA2B9Y,EAC3BmN,GAAe,GAEfjE,KAAKwS,IAAI8E,OAAOH,EAAMvH,GAAazJ,KAAKrC,UACtC,GAAIG,EAAK,CACP,MAAMsM,QAAYvQ,KAAKwS,IAAI+E,SAC3BvX,KAAK8N,OAAO7J,IAAI,2CAAiCsM,EAClD,GAEJ,6DrBxQmB+E,GACb/f,EAAQA,SAAC8J,EAAUiW,4CsBvDnBkC,EAAUA,WAAC,IAAI9H,EAAoBA,wMCAflQ,IAC5B,MAAMiY,EAAIvW,EAAAA,MAAM1J,IAAIgI,GACpB,IAAKiY,EACJ,MAAM,IAAI9V,EAAAA,cAAc,iCAAiCnC,GAE1D,OADaoG,EAAAA,WAAWC,SAAS4R,EAElC,0CCAgB,CAAMhP,EAAuB3Q,KAC3C,MAAM9C,EAAM+J,EAiBZ,OAAOpF,EAAUA,WAACC,IAAI5E,GACnB0iB,OAAO,CACN1d,UAlBJ,IACS,CAAe7F,EAAayH,EAAYf,KAC7C,MAAMtE,EAAgC,CACpCuB,KAAMA,EACN2Q,WAAYA,EACZpR,QAASwD,GAGX,OAAO9B,EAAKA,MAAC4e,EAAcA,eAACpgB,WAASvC,IAAIA,EAAK4G,GAAOrF,GAA9CwC,CACL5E,EACAyH,EACAf,EAEJ,EAMEvD,KAAM,KAEPyB,OACL"}
1
+ {"version":3,"file":"for-nest.cjs","sources":["../src/overrides/constants.ts","../src/overrides/decoration.ts","../src/overrides/helpers.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decoration.ts","../src/decaf-model/decorators/DecafBody.ts","../src/decaf-model/decorators/DecafParams.ts","../src/decaf-model/decorators/utils.ts","../src/constants.ts","../src/decaf-model/decorators/decorators.ts","../src/interceptors/AuthInterceptor.ts","../src/request/DecafAuthHandler.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/decaf-model/utils.ts","../src/controllers.ts","../src/factory/openapi/DtoBuilder.ts","../src/decaf-model/FromModelController.ts","../src/overrides/overrides.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/interceptors/context.ts","../src/decaf-model/DecafModelModule.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/DecafErrorFilter.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/core-module.ts","../src/module.ts","../src/index.ts","../src/factory/NestBootstraper.ts","../src/factory/exceptions/decorators.ts","../src/utils.ts","../src/decaf-model/decorators/route.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,null,null,null,null,null,null,null,null],"names":["DECORATORS_PREFIX","DECORATORS","API_OPERATION","API_RESPONSE","API_PRODUCES","API_CONSUMES","API_TAGS","API_CALLBACKS","API_PARAMETERS","API_HEADERS","API_MODEL_PROPERTIES","API_MODEL_PROPERTIES_ARRAY","API_SECURITY","API_EXCLUDE_ENDPOINT","API_EXCLUDE_CONTROLLER","API_EXTRA_MODELS","API_EXTENSION","API_SCHEMA","API_DEFAULT_GETTER","API_LINK","isUndefined","obj","getEnumValues","enumType","Array","isArray","numericValues","Object","values","filter","value","map","toString","keys","key","includes","getEnumType","isString","length","createPropertyDecorator","metakey","metadata","overrideExisting","target","propertyKey","properties","Reflect","getMetadata","defineMetadata","existingMetadata","newMetadata","pickBy","negate","metadataToSave","type","constructor","ApiProperty","options","createApiPropertyDecorator","input","isArrayFlag","isInputArray","getTypeIsArrayTuple","opts","undefined","enum","enumValues","items","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","get","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","apply","ApiExcludeEndpoint","ApiParamsFromModel","props","decorators","p","ApiParamDec","name","description","required","String","applyDecorators","Decoration","for","InjectablesKeys","INJECTABLE","extend","decorator","category","cfg","assign","DefaultInjectablesConfig","Injectable","scope","singleton","Scope","DEFAULT","REQUEST","durable","INJECT","descriptor","Inject","ValidationKeys","REQUIRED","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","TYPE","prop","DATE","format","ENUM","PATTERN","pat","pattern","source","PersistenceKeys","COLUMN","DecorationKeys","DESCRIPTION","DecafBody","createParamDecorator","data","ctx","body","switchToHttp","getRequest","controller","getClass","ModelConstr","class","InternalServerErrorException","item","OrderedParams","order","req","original","params","orderList","ordered","k","raw","valuesInOrder","keysInOrder","DecafParams","DecafQuery","_","parsed","query","limit","n","Number","isNaN","offset","bookmark","HttpVerbToDecorator","Error","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_ROUTE","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","AUTH_HANDLER","AUTH_META_KEY","AuthRole","DECAF_CONTEXT_KEY","Auth","model","resource","SetMetadata","UseInterceptors","AuthInterceptor","exports","reflector","authHandler","this","intercept","next","modelName","getHandler","authorize","handle","__decorate","__param","Optional","Reflector","DecafAuthHandler","parseRequest","userRole","headers","authorization","split","AuthorizationError","Model","DecafRequestContext","put","record","overrides","e","_ctx","accumulate","applyCtx","InternalError","DecafHandlerExecutor","handlers","context","exec","res","apiParamSpec","getApiDecorators","methodName","routePath","httpVerb","includeQueryParams","NestHttpRouteDec","apiPathParams","startsWith","slice","extractPathParams","swaggerQueryParams","push","ApiQuery","OrderDirection","method","ApiParam","ApiOperation","summary","ApiOkResponse","ApiNoContentResponse","Query","applyApiDecorators","proto","prototype","forEach","d","index","createRouteHandler","async","pathParams","queryParams","log","debug","JSON","stringify","direction","persistence","ModelService","statement","resolvePersistenceMethod","error","defineRouteMethod","ControllerClass","defineProperty","writable","getOwnPropertyDescriptor","DecafController","Service","clientContext","super","logCtx","operation","allowCreate","ContextualLoggedClass","call","DecafModelController","_persistence","getService","Repository","forModel","override","toOverrides","contextual","ctxArgs","repo","then","DtoFor","TransactionOperationKeys","isUpdate","BulkCrudOperationKeys","UPDATE_ALL","relations","exceptions","generated","pk","DynamicDTO","OmitType","addRelation","relation","relationDto","enumerable","configurable","toPascalCase","allowedTypes","meta","validationFor","LIST","FromModelController","Logging","getPersistence","ModelClazz","createQueryRoutesFromRepository","prefix","QUERY","queryMethods","routeMethods","QueryController","entries","replace","segment","trim","join","message","httpMethod","objValues","fields","f","create","tableName","toKebabCase","modelClazzName","getPK","apiProperties","getRouteParametersFromModel","BaseController","DynamicModelController","info","listBy","details","PreparedStatementKeys","LIST_BY","paginateBy","PAGE_BY","findOneBy","FIND_ONE_BY","findBy","FIND_BY","STATEMENT","a","parseInt","createAll","CREATE_ALL","created","verbose","readAll","ids","READ_ALL","read","routeParams","id","ValidationError","updateAll","updated","payloads","entry","parse","update","payload","deleteAll","DELETE_ALL","delete","del","Param","ApiNotFoundResponse","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","from","Set","separator","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","flavour","transformer","Context","DefaultAdapterFlags","logger","timestamp","Date","getResponse","RequestToContextTransformer","requestToContextTransformer","set","getModuleFor","DecafModelModule","DecafModelModule_1","createModelServices","models","provide","useFactory","forRoot","trackedModels","modelServices","autoServices","controllers","module","providers","H","APP_INTERCEPTOR","useClass","Module","CorsError","ForbiddenError","msg","DecafExceptionFilter","exception","host","response","request","isProduction","LoggedEnvironment","env","BaseError","status","code","json","toISOString","url","Catch","SWAGGER_UI_CONSTANTS","title","version","faviconFilePath","topbarIconFilePath","auth","scheme","bearerFormat","in","persistAuthorization","topbarBgColor","SwaggerCustomUI","customCSS","css","topbarIconPath","b64","getCustomOptions","favicon","faviconPath","customSiteTitle","customCss","swaggerOptions","jsonDocumentUrl","yamlDocumentUrl","file","img","filePath","assetsPath","readFileSync","encoding","SwaggerBuilder","app","createDocument","config","DocumentBuilder","setTitle","setDescription","setVersion","addBearerAuth","build","SwaggerModule","extraModels","setupSwagger","document","swaggerUI","setup","DecafCoreModule","_logger","DecafCoreModule_1","moduleRef","bootPersistence","trimmed","conf","contr","pop","PersistenceService","boot","clients","client","i","c","typeOrmModuleOptions","useValue","inject","onApplicationShutdown","adapters","shutdown","Global","ModuleRef","DecafModule","DecafModule_1","forRootAsync","autoControllers","imports","VERSION","PACKAGE_NAME","registerLibrary","roles","Logger","initialize","enableLogger","customLogger","useLogger","enableCors","origins","allowMethods","allowedOrigins","o","toLowerCase","corsOptions","origin","callback","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","useGlobalInterceptors","interceptors","start","port","process","PORT","listen","getUrl","UseFilters","m","define","methodMetadata"],"mappings":"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"}
package/dist/for-nest.js CHANGED
@@ -1,2 +1,2 @@
1
- import{Decoration as e,DecorationKeys as t,Metadata as r,apply as o,methodMetadata as i,metadata as s}from"@decaf-ts/decoration";import{InjectablesKeys as n,DefaultInjectablesConfig as a}from"@decaf-ts/injectable-decorators";import{Injectable as c,Scope as p,Inject as d,Get as l,Post as u,Put as h,Patch as f,Delete as m,applyDecorators as y,createParamDecorator as g,InternalServerErrorException as w,Optional as E,SetMetadata as A,UseInterceptors as b,Query as P,Param as v,Controller as T,Module as R,Catch as O,UseFilters as x,Logger as $,Global as S}from"@nestjs/common";import{ValidationKeys as _,Model as C}from"@decaf-ts/decorator-validation";import{PersistenceKeys as I,AuthorizationError as k,OrderDirection as N,ModelService as L,Service as D,ContextualLoggedClass as F,Repository as j,TransactionOperationKeys as M,PreparedStatementKeys as q,Adapter as B,Context as U,DefaultAdapterFlags as G,ForbiddenError as H,PersistenceService as z}from"@decaf-ts/core";import{isArray as Y,isString as J,pickBy as Q,negate as K}from"lodash";import{ApiExcludeEndpoint as X,ApiParam as V,ApiQuery as W,ApiOperation as Z,ApiOkResponse as ee,ApiNoContentResponse as te,OmitType as re,ApiNotFoundResponse as oe,ApiBody as ie,getSchemaPath as se,ApiCreatedResponse as ne,ApiBadRequestResponse as ae,ApiUnprocessableEntityResponse as ce,ApiTags as pe,ApiExtraModels as de,DocumentBuilder as le,SwaggerModule as ue}from"@nestjs/swagger";import{OperationKeys as he,BulkCrudOperationKeys as fe,InternalError as me,DBKeys as ye,ValidationError as ge,BaseError as we}from"@decaf-ts/db-decorators";import{__decorate as Ee,__param as Ae,__metadata as be}from"tslib";import{Reflector as Pe,APP_INTERCEPTOR as ve,ModuleRef as Te}from"@nestjs/core";import{toPascalCase as Re,Logging as Oe,toKebabCase as xe,LoggedEnvironment as $e}from"@decaf-ts/logging";import{readFileSync as Se}from"fs";import*as _e from"path";const Ce="swagger",Ie={API_OPERATION:Ce+"/apiOperation",API_RESPONSE:Ce+"/apiResponse",API_PRODUCES:Ce+"/apiProduces",API_CONSUMES:Ce+"/apiConsumes",API_TAGS:Ce+"/apiUseTags",API_CALLBACKS:Ce+"/apiCallbacks",API_PARAMETERS:Ce+"/apiParameters",API_HEADERS:Ce+"/apiHeaders",API_MODEL_PROPERTIES:Ce+"/apiModelProperties",API_MODEL_PROPERTIES_ARRAY:Ce+"/apiModelPropertiesArray",API_SECURITY:Ce+"/apiSecurity",API_EXCLUDE_ENDPOINT:Ce+"/apiExcludeEndpoint",API_EXCLUDE_CONTROLLER:Ce+"/apiExcludeController",API_EXTRA_MODELS:Ce+"/apiExtraModels",API_EXTENSION:Ce+"/apiExtension",API_SCHEMA:Ce+"/apiSchema",API_DEFAULT_GETTER:Ce+"/apiDefaultGetter",API_LINK:Ce+"/apiLink"};function ke(e,t){if(!e)return[e,t];if(t)return[e,t];const r=Y(e);return[r?e[0]:e,r]}const Ne=e=>void 0===e;function Le(e){if("function"==typeof e)return Le(e());if(Array.isArray(e))return e;if("object"!=typeof e)return[];const t=Object.values(e).filter(e=>"number"==typeof e).map(e=>e.toString());return Object.keys(e).filter(e=>!t.includes(e)).map(t=>e[t])}function De(e){return e.filter(J).length>0?"string":"number"}function Fe(e,t,r=!0){return(o,i)=>{const s=Reflect.getMetadata(Ie.API_MODEL_PROPERTIES_ARRAY,o)||[],n=":"+i;s.includes(n)||Reflect.defineMetadata(Ie.API_MODEL_PROPERTIES_ARRAY,[...s,":"+i],o);const a=Reflect.getMetadata(e,o,i);if(a){const s=Q(t,K(Ne)),n=r?{...a,...s}:{...s,...a};Reflect.defineMetadata(e,n,o,i)}else{const r=o?.constructor?._OPENAPI_METADATA_FACTORY?.()[i]?.type??Reflect.getMetadata("design:type",o,i);Reflect.defineMetadata(e,{type:r,...Q(t,K(Ne))},o,i)}}}function je(e={}){return Me(e)}function Me(e={},t=!0){const[r,o]=ke(e.type,e.isArray);if((i=e={...e,type:r,isArray:o}).isArray&&"enum"in i&&void 0!==i.enum){e.type="array";const t=Le(e.enum);e.items={type:De(t),enum:t},delete e.enum}else if("enum"in e&&void 0!==e.enum){const t=Le(e.enum);e.enum=t,e.type=De(t)}var i;return Array.isArray(e.type)&&(e.type="array",e.items={type:"array",items:{type:e.type[0]}}),Fe(Ie.API_MODEL_PROPERTIES,e,t)}function qe(e,t){const{handler:o,args:i}=r.get(e,he.REFLECT+he.BLOCK)||{};return!!o&&(o(...i,t)??!1)}function Be(e,t,r){const i={GET:[he.READ,l],POST:[he.CREATE,u],PUT:[he.UPDATE,h],PATCH:[he.UPDATE,f],DELETE:[he.DELETE,m]},[s,n]=i[t];return qe(e,s)?o(X()):o(n(r))}function Ue(e,t,r){const i={GET:[fe.READ_ALL,l],POST:[fe.CREATE_ALL,u],PUT:[fe.UPDATE_ALL,h],PATCH:[fe.UPDATE_ALL,f],DELETE:[fe.DELETE_ALL,m]},[s,n]=i[t];return qe(e,s)?o(X()):o(n(r))}function Ge(e=[]){const t=e.map(e=>V({name:e.name,description:e.description??"Path parameter: "+e.name,required:e.required??!0,type:e.type??String}));return y(...t)}e.for(n.INJECTABLE).extend({decorator:(e,t)=>(t=t||("object"==typeof e?Object.assign(e,a):a),c({scope:t.singleton?p.DEFAULT:p.REQUEST,durable:!t.singleton||void 0}))}).apply(),e.for(n.INJECT).extend({decorator:(e,t)=>(t,r,o)=>d(e||t)(t,r,o)}).apply(),e.for(_.REQUIRED).extend(je({required:!0})).apply(),e.for(_.MAX).extend({decorator:e=>je({maximum:e})}).apply(),e.for(_.MIN).extend({decorator:e=>je({minimum:e})}).apply(),e.for(_.MAX_LENGTH).extend({decorator:e=>je({maxLength:e})}).apply(),e.for(_.MIN_LENGTH).extend({decorator:e=>je({minLength:e})}).apply(),e.for(_.TYPE).extend({decorator:e=>(t,r)=>("function"!=typeof(e=Array.isArray(e)?e[0]:e)||e.name||(e=e()),je({type:e})(t,r))}).apply(),e.for(_.DATE).extend({decorator:e=>je({type:String,format:"date-time"})}).apply(),e.for(_.ENUM).extend({decorator:e=>je({enum:Array.isArray(e)?e:Object.values(e)})}).apply(),e.for(_.PATTERN).extend({decorator:e=>je({pattern:"string"==typeof e?e:e.source})}).apply(),e.for(I.COLUMN).extend({decorator:e=>je({name:e})}).apply(),e.for(t.DESCRIPTION).extend({decorator:e=>je({description:e})}).apply();const He=g((e,t)=>{const r=t.switchToHttp().getRequest().body,o=t.getClass(),i=o.class;if(!i)throw new w(`ModelConstructor not found on controller ${o.name}. Ensure the controller was created via FromModelController.`);return r?Array.isArray(r)?r.map(e=>new i(e)):new i(r):r}),ze=g((e,t)=>{const r=t.switchToHttp().getRequest(),o=r?.params??{},i=e??Object.keys(o),s=i.map(e=>o[e]);return{raw:o,valuesInOrder:s,keysInOrder:i}});function Ye(e=[]){const t=e.map(e=>e.name);return ze(t)}const Je=g((e,t)=>{const r={...t.switchToHttp().getRequest().query??{}};if(void 0!==r.limit){const e=Number(r.limit);Number.isNaN(e)||(r.limit=e)}if(void 0!==r.offset){const e=Number(r.offset);Number.isNaN(e)||(r.offset=e)}if(void 0!==r.bookmark){const e=Number(r.bookmark);r.bookmark=Number.isNaN(e)?r.bookmark:e}return r});function Qe(e){const t={GET:l,POST:u,PUT:h,PATCH:f,DELETE:m}[e];if(!t)throw Error(`Unsupported HTTP verb "${e}". No NestJS decorator mapping was found.`);return t}const Ke="DecafModuleOptions",Xe="DecafAdapter",Ve="DecafRoute",We=Symbol("DecafHandlers"),Ze=Symbol("DecafAdapterForOptions"),et=Symbol("AUTH_HANDLER"),tt="auth:meta",rt="AuthRole",ot=Symbol("decaf:context");function it(t,s){const n=Ve;return e.for(n).define({decorator:()=>(e,a,c)=>{const p={path:s,httpMethod:t,handler:c};return o(i(r.key(n,a),p))(e,a,c)},args:[]}).apply()}let st=class{constructor(e,t){this.reflector=e,this.authHandler=t}async intercept(e,t){const r=this.reflector.get(tt,e.getHandler())??this.reflector.get(tt,e.getClass());return r&&this.authHandler&&await this.authHandler.authorize(e,r),t.handle()}};function nt(e){const t="string"==typeof e?e:e.name;return y(A(tt,t),b(st))}st=Ee([c(),Ae(1,E()),Ae(1,d(et)),be("design:paramtypes",[Pe,Object])],st);const at=e=>s(rt,e);class ct{parseRequest(e){const t=e.headers.authorization?.split(" ")[1];return t}async authorize(e,t){const o=e.switchToHttp().getRequest(),i=this.parseRequest(o);if(!i)throw new k("Unauthenticated");if(!r.get(C.get(t),rt).includes(i))throw new k("Missing role: "+i)}}class pt extends ct{constructor(){super()}async authorize(e,t){const o=e.switchToHttp().getRequest(),i=this.parseRequest(o);if(!i)throw new k("Unauthenticated");const s=r.get(C.get(t),rt);if(!s.includes(i))throw new k("Missing role: "+i);return s}}let dt=class{put(e){let t;try{t=this.ctx.get("overrides")}catch(e){t={}}this._ctx=this.ctx.accumulate({overrides:Object.assign(t,e)})}applyCtx(e){this._ctx=e}get ctx(){if(!this._ctx)throw new me("Context not initialized for request");return this._ctx}};dt=Ee([c({scope:p.REQUEST})],dt);let lt=class{constructor(e,t){this.handlers=e,this.context=t}async exec(e,t){for(const r of this.handlers)await r.handle(this.context,e,t)}};lt=Ee([c({scope:p.REQUEST}),Ae(0,d(We)),be("design:paramtypes",[Array,dt])],lt);const ut=e=>({name:e,description:e+" parameter for the query",required:!0,type:String});function ht(e,t,r,o=!1){const i=Qe(r),s=(e=>e.split("/").filter(e=>e.startsWith(":")).map(e=>e.slice(1)))(t).map(ut),n=[];return"GET"===r&&o&&n.push(W({name:"direction",required:!1,enum:N,description:"the sort order when applicable"}),W({name:"limit",required:!1,description:"limit or page size when applicable"}),W({name:"offset",required:!1,description:"offset or bookmark when applicable"})),{method:[i(t),...s.map(V),...n,Z({summary:`Retrieve records using according to "${e}".`}),ee({description:"Result successfully retrieved."}),te({description:"No content returned by the method."})],params:[Ye(s),P()]}}function ft(e,t,r,o){const i=e?.prototype??e;o.method.forEach(e=>e(i,t,r)),o.params?.forEach((e,r)=>e(i,t,r))}function mt(e){return async function(t,r){const o=this.log.for(e);try{o.debug(`Invoking persistence method "${e}" given parameters: ${JSON.stringify(t.valuesInOrder)}`);const{direction:i,limit:s,offset:n}=r;return await((e,t,...r)=>{if(e instanceof L)return"function"==typeof e[t]?e[t](...r):e.statement(t,...r);if("function"==typeof e[t])return e[t](...r);throw Error(`Persistence method "${t}" not found on ${e?.constructor?.name}`)})(this.persistence(),e,...t.valuesInOrder,i,s,n)}catch(t){throw o.error(`Custom query "${e}" failed`,t),t}}}function yt(e,t,r){return Object.defineProperty(e.prototype||e,t,{value:r,writable:!1}),Object.getOwnPropertyDescriptor(e.prototype||e,t)}class gt extends D{constructor(e,t){super(t),this.clientContext=e}logCtx(e,t,r=!1,o){const i=this.clientContext.ctx;return e=e.filter(e=>void 0!==e),F.logCtx.call(this,t,o||{},r,...e,i)}}class wt extends gt{persistence(e){if(!this._persistence)try{this._persistence=L.getService(this.class)}catch(e){this._persistence=j.forModel(this.class)}return e?this._persistence instanceof j?this._persistence.override(e.toOverrides()):this._persistence.for(e.toOverrides()):this._persistence}constructor(e,t){super(e,t)}logCtx(e,t,r=!1){const o=this.clientContext.ctx;let i={};try{i=o.get("overrides")}catch(e){}const s=this.persistence(o);let n,a;return s instanceof L?n=s.repo.adapter:s instanceof j?n=s.adapter:s.context&&(n=s),r?n.logCtx(e,t,!0,i).then(e=>e):(a=n.logCtx(e,t,!1,i),a)}}function Et(e,t){if(!M.includes(e))return t;const o=[he.UPDATE,fe.UPDATE_ALL].includes(e),i=r.properties(t)||[],s=C.relations(t)||[];let n=i.filter(e=>C.generated(t,e));o&&(n=n.filter(e=>e!==C.pk(t)));class a extends(re(t,n)){}function c(e,t,r){r||(Object.defineProperty(a.prototype,e,{value:r?[t]:t,writable:!0,enumerable:!0,configurable:!0}),Reflect.defineMetadata("design:type",t,a.prototype,e))}Object.defineProperty(a,"name",{value:`${Re(t.name)}${Re(e)}DTO`});for(const o of s){let i=r.allowedTypes(t,o);if(i=i?Array.isArray(i)?i[0]:i:void 0,i="function"!=typeof i||i.name?i:i(),!i)throw new me(`Type for relation ${o} not found`);if(C.get(i.name)){const s=r.validationFor(t,o);c(o,Et(e,i),!!s[_.LIST])}}return a}class At{static{this.log=Oe.for(At.name)}static getPersistence(e){try{return L.getService(e)}catch(t){return j.forModel(e)}}static createQueryRoutesFromRepository(e,t=I.QUERY){const o=At.log.for(At.createQueryRoutesFromRepository),i=e instanceof L?e.repo:e,s=i.class,n=r.get(i.constructor,r.key(I.QUERY))??{},a=r.get(e.constructor,r.key(Ve))??{};class c extends wt{get class(){throw Error("Method not implemented.")}constructor(e,t){super(e,t)}}for(const[e,t]of Object.entries(a)){const r=[t.path.replace(/^\/+|\/+$/g,"")].filter(e=>e&&e.trim()).join("/"),i=mt(e);if(!i){const t=`Invalid or missing handler for model ${s.name} on decorated method ${e}`;throw o.error(t),Error(t)}const n=yt(c,e,i);n&&ft(c,e,n,ht(e,r,t.httpMethod))}for(const[e,r]of Object.entries(n)){const o=[t,e,...(r.fields??[]).map(e=>":"+e)].filter(e=>e&&e.trim()).join("/"),i=yt(c,e,mt(e));i&&ft(c,e,i,ht(e,o,"GET",!0))}return c}static create(e){const t=At.log.for(At.create),r=C.tableName(e),o=xe(r),i=e.name,s=At.getPersistence(e),{description:n,getPK:a,apiProperties:c,path:p}=At.getRouteParametersFromModel(e);t.debug("Creating controller for model: "+i);const d=At.createQueryRoutesFromRepository(s);let l=class extends d{static get class(){return e}get class(){return e}constructor(r){super(r),this.pk=C.pk(e),t.info(`Registering dynamic controller for model: ${this.class.name} route: /${o}`)}async listBy(e,t){const{ctx:r}=(await this.logCtx([],q.LIST_BY,!0)).for(this.listBy);return this.persistence(r).listBy(e,t.direction,r)}async paginateBy(e,t){const{ctx:r}=(await this.logCtx([],q.PAGE_BY,!0)).for(this.paginateBy);return this.persistence(r).paginateBy(e,t.direction,t,r)}async findOneBy(e,t){const{ctx:r}=(await this.logCtx([],q.FIND_ONE_BY,!0)).for(this.findOneBy);return this.persistence(r).findOneBy(e,t,r)}async findBy(e,t,r){const{ctx:o}=(await this.logCtx([],q.FIND_BY,!0)).for(this.findBy);return this.persistence(o).for(o.toOverrides()).findBy(e,t,o)}async statement(e,t,r){const{ctx:o}=(await this.logCtx([],I.STATEMENT,!0)).for(this.statement),{direction:i,offset:s,limit:n,bookmark:a}=r;switch(t=t.map(e=>("string"==typeof e?parseInt(e):e)||e),e){case q.FIND_BY:break;case q.LIST_BY:t.push(i);break;case q.PAGE_BY:t=[t[0],i,{limit:n,offset:s,bookmark:a}];case q.FIND_ONE_BY:}return this.persistence(o).statement(e,...t,o)}async createAll(t){const{ctx:r,log:o}=(await this.logCtx([],fe.CREATE_ALL,!0)).for(this.createAll);let s;o.verbose("creating new "+i);try{s=await this.persistence(r).createAll(t.map(t=>new e(t)),r)}catch(e){throw o.error("Failed to create new "+i,e),e}return o.info(`created new ${i} with id ${s[this.pk]}`),s}async create(e){const{ctx:t,log:r}=(await this.logCtx([],he.CREATE,!0)).for(this.create);let o;r.verbose("creating new "+i);try{o=await this.persistence(t).create(e,t)}catch(e){throw r.error("Failed to create new "+i,e),e}return r.info(`created new ${i} with id ${o[this.pk]}`),o}async readAll(e){const{ctx:t,log:r}=(await this.logCtx([],fe.READ_ALL,!0)).for(this.readAll);let o;try{r.debug(`reading ${e.length} ${i}: ${e}`),o=await this.persistence(t).readAll(e,t)}catch(t){throw r.error(`Failed to ${i} with id ${e}`,t),t}return r.info(`read ${o.length} ${i}`),o}async read(e){const{ctx:t,log:r}=(await this.logCtx([],he.READ,!0)).for(this.read),o=a(...e.valuesInOrder);if(void 0===o)throw new ge(`No ${this.pk} provided`);let s;try{r.debug(`reading ${i} with ${this.pk} ${o}`),s=await this.persistence(t).read(o,t)}catch(e){throw r.error(`Failed to read ${i} with id ${o}`,e),e}return r.info(`read ${i} with id ${s[this.pk]}`),s}async updateAll(e){const{ctx:t,log:r}=(await this.logCtx([],fe.UPDATE_ALL,!0)).for(this.updateAll);let o;try{r.info(`updating ${e.length} ${i}`);const s=e.map(e=>JSON.parse(JSON.stringify(e)));o=await this.persistence(t).updateAll(s,t)}catch(e){throw r.error(e),e}return o}async update(t,r){const{ctx:o,log:s}=(await this.logCtx([],he.UPDATE,!0)).for(this.update),n=a(...t.valuesInOrder);if(void 0===n)throw new ge(`No ${this.pk} provided`);let c;try{s.info(`updating ${i} with ${this.pk} ${n}`);const t=JSON.parse(JSON.stringify(r));c=await this.persistence(o).update(new e({...t,[this.pk]:n}),o)}catch(e){throw s.error(e),e}return c}async deleteAll(e){const{ctx:t,log:r}=(await this.logCtx([],fe.DELETE_ALL,!0)).for(this.deleteAll);let o;try{r.debug(`deleting ${e.length} ${i}: ${e}`),o=await this.persistence(t).deleteAll(e,t)}catch(t){throw r.error(`Failed to delete ${i} with id ${e}`,t),t}return r.info(`deleted ${o.length} ${i}`),o}async delete(e){const{ctx:t,log:r}=(await this.logCtx([],he.DELETE,!0)).for(this.delete),o=a(...e.valuesInOrder);if(void 0===o)throw new ge(`No ${this.pk} provided`);let s;try{r.debug(`deleting ${i} with ${this.pk} ${o}`),s=await this.persistence(t).delete(o,t)}catch(e){throw r.error(`Failed to delete ${i} with id ${o}`,e),e}return r.info(`deleted ${i} with id ${o}`),s}};return Ee([Be(e,"GET","listBy/:key"),Z({summary:`Retrieve ${i} records by query.`}),V({name:"key",description:"the model key to sort by"}),W({name:"direction",required:!0,enum:N}),ee({description:i+" listed successfully."}),Ae(1,Je()),be("design:type",Function),be("design:paramtypes",[String,Object]),be("design:returntype",Promise)],l.prototype,"listBy",null),Ee([Be(e,"GET","paginateBy/:key/:page"),Z({summary:`Retrieve ${i} records by query.`}),V({name:"key",description:"the model key to sort by"}),V({name:"page",description:"the page to retrieve or the bookmark"}),W({name:"direction",required:!0,enum:N,description:"the sort order"}),W({name:"limit",required:!0,description:"the page size"}),W({name:"offset",description:"the bookmark when necessary"}),ee({description:i+" listed paginated."}),Ae(0,v("key")),Ae(1,Je()),be("design:type",Function),be("design:paramtypes",[String,Object]),be("design:returntype",Promise)],l.prototype,"paginateBy",null),Ee([Be(e,"GET","findOneBy/:key"),Z({summary:`Retrieve ${i} records by query.`}),V({name:"key",description:"the model key to sort by"}),ee({description:i+" listed found."}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,v("key")),Ae(1,v("value")),be("design:type",Function),be("design:paramtypes",[String,Object]),be("design:returntype",Promise)],l.prototype,"findOneBy",null),Ee([Be(e,"GET","findBy/:key/:value"),Z({summary:`Retrieve ${i} records by query.`}),V({name:"key",description:"the model key to compare"}),V({name:"value",description:"the value to match"}),W({name:"direction",required:!0,enum:N,description:"the sort order when applicable"}),ee({description:i+" listed found."}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,v("key")),Ae(1,v("value")),Ae(2,Je()),be("design:type",Function),be("design:paramtypes",[String,Object,Object]),be("design:returntype",Promise)],l.prototype,"findBy",null),Ee([Be(e,"GET","statement/:method/*args"),Z({summary:`Executes a prepared statement on ${i}.`}),V({name:"method",description:"the prepared statement to execute"}),V({name:"args",description:"concatenated list of arguments the prepared statement can accept"}),W({name:"direction",required:!0,enum:N,description:"the sort order when applicable"}),W({name:"limit",required:!0,description:"limit or page size when applicable"}),W({name:"offset",required:!0,description:"offset or bookmark when applicable"}),ee({description:i+" listed found."}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,v("method")),Ae(1,v("args")),Ae(2,Je()),be("design:type",Function),be("design:paramtypes",[String,Array,Object]),be("design:returntype",Promise)],l.prototype,"statement",null),Ee([Be(e,"POST","bulk"),Z({summary:`Create a new ${i}.`}),ie({description:"Payload for "+i,schema:{type:"array",items:{$ref:se(e)}}}),ne({description:i+" created successfully.",schema:{type:"array",items:{$ref:se(e)}}}),ae({description:"Payload validation failed."}),ce({description:"Repository rejected the provided payload."}),Ae(0,He()),be("design:type",Function),be("design:paramtypes",[Array]),be("design:returntype",Promise)],l.prototype,"createAll",null),Ee([Be(e,"POST"),Z({summary:`Create a new ${i}.`}),ie({description:"Payload for "+i,type:Et(he.CREATE,e)}),ne({description:i+" created successfully.",schema:{$ref:se(e)}}),ae({description:"Payload validation failed."}),ce({description:"Repository rejected the provided payload."}),Ae(0,He()),be("design:type",Function),be("design:paramtypes",[Object]),be("design:returntype",Promise)],l.prototype,"create",null),Ee([Be(e,"GET","bulk"),Z({summary:`Retrieve a ${i} record by id.`}),W({name:"ids",required:!0,type:"array"}),ee({description:i+" retrieved successfully.",schema:{type:"array",items:{$ref:se(e)}}}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,P("ids")),be("design:type",Function),be("design:paramtypes",[Array]),be("design:returntype",Promise)],l.prototype,"readAll",null),Ee([Be(e,"GET",p),Ge(c),Z({summary:`Retrieve a ${i} record by id.`}),ee({description:i+" retrieved successfully.",schema:{$ref:se(e)}}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,Ye(c)),be("design:type",Function),be("design:paramtypes",[Object]),be("design:returntype",Promise)],l.prototype,"read",null),Ee([Be(e,"PUT","bulk"),Ge(c),Z({summary:`Replace an existing ${i} record with a new payload.`}),ie({description:"Payload for replace a existing record of "+i,schema:{type:"array",items:{$ref:se(e)}}}),ne({description:i+" updated successfully.",schema:{type:"array",items:{$ref:se(e)}}}),oe({description:`No ${i} record matches the provided identifier.`}),ae({description:"Payload validation failed."}),Ae(0,He()),be("design:type",Function),be("design:paramtypes",[Array]),be("design:returntype",Promise)],l.prototype,"updateAll",null),Ee([Be(e,"PUT",p),Ge(c),Z({summary:`Replace an existing ${i} record with a new payload.`}),ie({description:"Payload for replace a existing record of "+i,schema:{$ref:se(e)}}),ee({description:i+" updated successfully."}),oe({description:`No ${i} record matches the provided identifier.`}),ae({description:"Payload validation failed."}),Ae(0,Ye(c)),Ae(1,He()),be("design:type",Function),be("design:paramtypes",[Object,Object]),be("design:returntype",Promise)],l.prototype,"update",null),Ee([Be(e,"DELETE","bulk"),Ge(c),Z({summary:`Retrieve a ${i} record by id.`}),W({name:"ids",required:!0,type:"array"}),ee({description:i+" retrieved successfully."}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,P("ids")),be("design:type",Function),be("design:paramtypes",[Array]),be("design:returntype",Promise)],l.prototype,"deleteAll",null),Ee([Be(e,"DELETE",p),Ge(c),Z({summary:`Delete a ${i} record by id.`}),ee({description:i+" record deleted successfully."}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,Ye(c)),be("design:type",Function),be("design:paramtypes",[Object]),be("design:returntype",Promise)],l.prototype,"delete",null),l=Ee([T(o),pe(i),de(e),nt(e),be("design:paramtypes",[dt])],l),l}static getRouteParametersFromModel(e){const t=C.pk(e),o=r.get(e,r.key(ye.COMPOSED,t)),i=o?.args??[],s=Array.isArray(i)&&i.length>0?Array.from(new Set([...i])):Array.from(new Set([t])),n=r.description(e);return{path:":"+s.join("/:"),description:n,apiProperties:s.map(t=>({name:t,description:r.description(e,t),required:!0,type:String})),getPK:(...e)=>o?.separator?e.join(o.separator):e.join("")}}}B.transformerFor=(e=>{const t="string"==typeof e?e:e.alias;return r.innerGet(Symbol.for("transformers"),t)}).bind(B),B.flavoursToTransform=(()=>{const e=r.innerGet(Symbol.for("transformers"));if(e)return Object.keys(e)}).bind(B);let bt=class{constructor(e,t){this.requestContext=e,this.executor=t}async contextualize(e){const t={headers:e.headers,overrides:{}},r=B.flavoursToTransform();if(r)for(const o of r)try{const r=B.transformerFor(o),i=await r.from(e);Object.assign(t.overrides,i)}catch(e){throw new me("Failed to contextualize request: "+e)}return(new U).accumulate(Object.assign({},G,{logger:Oe.get(),timestamp:new Date},t))}async intercept(e,t){const r=e.switchToHttp().getRequest(),o=e.switchToHttp().getResponse(),i=await this.contextualize(r);return this.requestContext.applyCtx(i),await this.executor.exec(r,o),t.handle()}};bt=Ee([c({scope:p.REQUEST}),be("design:paramtypes",[dt,lt])],bt);class Pt{}function vt(e){return t=>(r.set("transformers",e,t),"function"==typeof t?s("transformers",e)(t):t)}function Tt(e){var t;let r=class{static{t=this}static{this.log=Oe.for(t.name).for(e)}static createModelServices(e){return e.map(e=>({provide:e.name+"Service",useFactory:()=>L.forModel(e)}))}static forRoot(e,r={}){const o=this.log.for(this.forRoot);o.info("Generating controllers for flavour...");const i=B.models(e);let s=[];r.autoServices&&(o.info("Auto-services enabled. Initializing service generation."),s=this.createModelServices(i),o.info(`Auto-services completed. ${s.length} services initialized.`));const n=i.map(At.create);return o.info(`Generated ${n.length} controllers`),{module:t,controllers:n,providers:[{provide:We,useFactory:()=>r.handlers?.map(e=>(o.info("Registered request handler: "+e.name),new e))??[]},dt,lt,{provide:ve,useClass:bt},...s]}}};return r=t=Ee([R({})],r),Object.assign(r,"name",{value:"DecafModule"+e}),r}class Rt extends H{constructor(e){super(e,Rt.name)}}let Ot=class{catch(e,t){const r=t.switchToHttp(),o=r.getResponse(),i=r.getRequest(),s="production"===$e.env;e instanceof we||(e=new me(e.message)),o.status(e.code).json({status:e.code,error:s?e.name:e.message,timestamp:(new Date).toISOString(),path:i.url,method:i.method})}};function xt(){return x(new Ot)}Ot=Ee([O()],Ot);const $t={title:"Swagger | OpenAPI Specification (OAS)",description:"Standardized format for describing RESTful APIs",version:"0.0.1",path:"docs",faviconFilePath:"",topbarIconFilePath:"",auth:{type:"http",scheme:"bearer",bearerFormat:"JWT",name:"Authorization",description:"Enter JWT token",in:"header"},persistAuthorization:!0,topbarBgColor:"#000000"};class St{constructor(e){this.options={...e}}customCSS(){let e="";return this.options.topbarIconPath&&(e+=`.topbar-wrapper { content: url('data:image/png;base64,${this.b64(this.options.topbarIconPath)}'); width: 200px; height: auto; }\n`),e+`\n .topbar-wrapper svg { visibility: hidden; }\n .swagger-ui .topbar { background-color: ${this.options.topbarBgColor||$t.topbarBgColor}; }\n `}getCustomOptions(){const e={};return this.options.faviconPath&&(e.customfavIcon=this.b64(this.options.faviconPath,!0)),{customSiteTitle:this.options.title,...e,customCss:this.customCSS(),swaggerOptions:{persistAuthorization:this.options.persistAuthorization},jsonDocumentUrl:this.options.path?this.options.path+"/spec.json":void 0,yamlDocumentUrl:this.options.path?this.options.path+"/spec.yaml":void 0}}b64(e,t=!1){const r=_e.join(this.options.assetsPath||"",e),o=Se(r,{encoding:"base64"});return t?"data:image/png;base64,"+o:o}}class _t{constructor(e,t){this.app=e,this.options=t}createDocument(){const e=this.options.path?this.options.description+""+`<br><br><a href="${this.options.path}/spec.json">OpenAPI JSON Spec</a> | `+`<a href="${this.options.path}/spec.yaml">OpenAPI YAML Spec</a>`:this.options.description,t=(new le).setTitle(this.options.title).setDescription(e).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||$t.auth).build();return ue.createDocument(this.app,t,{extraModels:this.options.extraModels||[]})}setupSwagger(){const e=this.createDocument(),t=new St({title:this.options.title,path:this.options.path||$t.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});ue.setup(this.options.path||$t.path,this.app,e,{...t.getCustomOptions()})}}class Ct{static get logger(){return this._logger||(this._logger=new $("NestBootstrap")),this._logger}static initialize(e){return this.app=e,this}static enableLogger(e){return this._logger=e||new $("NestBootstrap"),this.app.useLogger(this._logger),this}static enableCors(e=[],t=["GET","POST","PUT","DELETE"]){const r="*"===e?"*":e.map(e=>e.trim().toLowerCase()),o={origin:(e,t)=>e?"*"===r||Array.isArray(r)&&r.includes(e.toLowerCase())?t(null,!0):void t(new Rt(`Origin ${e} not allowed`)):t(null,!0),credentials:!0,methods:t.join(",")};return this.app.enableCors(o),this}static useHelmet(e){try{const t=require("helmet");this.app.use(t(e)),this.logger.log("Helmet middleware enabled successfully.")}catch(e){this.logger.warn("Helmet not installed. Skipping middleware.")}return this}static setupSwagger(e){return new _t(this.app,{title:e.title,description:e.description,version:e.version,path:e.path||"api",persistAuthorization:e.persistAuthorization??!0,assetsPath:e.assetsPath,faviconFilePath:e.faviconPath,topbarIconFilePath:e.topbarIconPath,topbarBgColor:e.topbarBgColor}).setupSwagger(),this}static useGlobalPipes(...e){return e.length>0&&this.app.useGlobalPipes(...e),this}static useGlobalFilters(...e){return this.app.useGlobalFilters(...e.length>0?e:[new Ot]),this}static useGlobalInterceptors(...e){return e.length>0&&this.app.useGlobalInterceptors(...e),this}static async start(e=Number(process.env.PORT)||3e3,t=void 0,r=!0){this.app.listen(e,t).then(async()=>{if(r){const e=await this.app.getUrl();this.logger.log("\ud83d\ude80 Application is running at: "+e)}})}}var It;let kt=class{static{It=this}static get persistence(){if(!this._persistence)throw new me("Persistence service not initialized");return this._persistence}static get log(){return this._logger||(this._logger=Oe.for(It)),this._logger}constructor(e,t){this.options=e,this.moduleRef=t}static async bootPersistence(e){const t=this.log.for(this.bootPersistence);if(!this._persistence){const r=e.conf.map(([e,t,...r])=>r.pop()?[e,t,...r]:[e,t]);this._persistence=new z,await this._persistence.boot(r);const o=this._persistence.client;for(let t=0;t<o.length;t++){const r=e.conf[t];let[,,i]=r;if(!i){const e=B.transformerFor(o[t].flavour);if(!e)throw new me(`No transformer found for flavour ${o[t].flavour}. you should either @requestToContextTransformer or provide a transformer in the config`);i=e instanceof Pt?e:new e}vt(o[t].flavour)(i)}t.info("persistence layer created successfully!")}return this.persistence.client}static forRoot(e){const t={provide:Ke,useValue:e},r={useFactory:async e=>It.bootPersistence(e),provide:Xe,durable:!0,scope:p.DEFAULT,inject:[Ke]};return{module:It,providers:[r,t],exports:[r]}}async onApplicationShutdown(){const e=It.log.for(this.onApplicationShutdown),t=this.moduleRef.get(Xe);for(const r of t)try{r&&(e.info("Shutting down "+r.toString()),await r.shutdown())}catch(t){e.error("Failed to shutdown application",t)}}};var Nt;kt=It=Ee([S(),R({}),Ae(0,d(Ke)),be("design:paramtypes",[Object,Te])],kt);let Lt=Nt=class{static async forRootAsync(e){const{autoControllers:t,autoServices:r,handlers:o}=e,i=(await kt.bootPersistence(e)).map(e=>e.flavour),s=[kt.forRoot(e)];return t&&i.forEach(e=>{s.push(Tt(e).forRoot(e,{autoServices:r,handlers:o}))}),{module:Nt,imports:s}}};function Dt(e){const t=C.get(e);if(!t)throw new me("Failed to find repository for "+e);return j.forModel(t)}Lt=Nt=Ee([R({})],Lt);const Ft="##VERSION##",jt="##PACKAGE##";r.registerLibrary(jt,Ft);export{et as AUTH_HANDLER,tt as AUTH_META_KEY,Be as ApiOperationFromModel,Ge as ApiParamsFromModel,je as ApiProperty,nt as Auth,st as AuthInterceptor,rt as AuthRole,Ue as BulkApiOperationFromModel,Rt as CorsError,Xe as DECAF_ADAPTER_ID,Ze as DECAF_ADAPTER_OPTIONS,ot as DECAF_CONTEXT_KEY,We as DECAF_HANDLERS,Ke as DECAF_MODULE_OPTIONS,Ve as DECAF_ROUTE,Ie as DECORATORS,Ce as DECORATORS_PREFIX,ct as DecafAuthHandler,He as DecafBody,gt as DecafController,Ot as DecafExceptionFilter,lt as DecafHandlerExecutor,wt as DecafModelController,Lt as DecafModule,Ye as DecafParams,Je as DecafQuery,dt as DecafRequestContext,bt as DecafRequestHandlerInterceptor,pt as DecafRoleAuthHandler,Et as DtoFor,At as FromModelController,Qe as HttpVerbToDecorator,Ct as NestBootstraper,jt as PACKAGE_NAME,Pt as RequestToContextTransformer,at as Roles,_t as SwaggerBuilder,xt as UseDecafFilter,Ft as VERSION,Me as createApiPropertyDecorator,Fe as createPropertyDecorator,De as getEnumType,Le as getEnumValues,Tt as getModuleFor,qe as isOperationBlocked,Ne as isUndefined,Dt as repoForModel,vt as requestToContextTransformer,it as route};
1
+ import{Decoration as e,DecorationKeys as t,Metadata as r,apply as o,methodMetadata as i,metadata as s}from"@decaf-ts/decoration";import{InjectablesKeys as n,DefaultInjectablesConfig as a}from"@decaf-ts/injectable-decorators";import{Injectable as c,Scope as p,Inject as d,Get as l,Post as u,Put as h,Patch as f,Delete as m,applyDecorators as y,createParamDecorator as g,InternalServerErrorException as w,Optional as E,SetMetadata as A,UseInterceptors as b,Query as P,Param as v,Controller as T,Module as R,Catch as O,UseFilters as x,Logger as $,Global as S}from"@nestjs/common";import{ValidationKeys as _,Model as C}from"@decaf-ts/decorator-validation";import{PersistenceKeys as I,AuthorizationError as k,OrderDirection as N,ModelService as L,Service as D,ContextualLoggedClass as F,Repository as j,TransactionOperationKeys as M,PreparedStatementKeys as q,Adapter as B,Context as U,DefaultAdapterFlags as G,ForbiddenError as H,PersistenceService as z}from"@decaf-ts/core";import{isArray as Y,isString as J,pickBy as Q,negate as K}from"lodash";import{ApiExcludeEndpoint as X,ApiParam as V,ApiQuery as W,ApiOperation as Z,ApiOkResponse as ee,ApiNoContentResponse as te,OmitType as re,ApiNotFoundResponse as oe,ApiBody as ie,getSchemaPath as se,ApiCreatedResponse as ne,ApiBadRequestResponse as ae,ApiUnprocessableEntityResponse as ce,ApiTags as pe,ApiExtraModels as de,DocumentBuilder as le,SwaggerModule as ue}from"@nestjs/swagger";import{OperationKeys as he,BulkCrudOperationKeys as fe,InternalError as me,DBKeys as ye,ValidationError as ge,BaseError as we}from"@decaf-ts/db-decorators";import{__decorate as Ee,__param as Ae,__metadata as be}from"tslib";import{Reflector as Pe,APP_INTERCEPTOR as ve,ModuleRef as Te}from"@nestjs/core";import{toPascalCase as Re,Logging as Oe,toKebabCase as xe,LoggedEnvironment as $e}from"@decaf-ts/logging";import{readFileSync as Se}from"fs";import*as _e from"path";const Ce="swagger",Ie={API_OPERATION:Ce+"/apiOperation",API_RESPONSE:Ce+"/apiResponse",API_PRODUCES:Ce+"/apiProduces",API_CONSUMES:Ce+"/apiConsumes",API_TAGS:Ce+"/apiUseTags",API_CALLBACKS:Ce+"/apiCallbacks",API_PARAMETERS:Ce+"/apiParameters",API_HEADERS:Ce+"/apiHeaders",API_MODEL_PROPERTIES:Ce+"/apiModelProperties",API_MODEL_PROPERTIES_ARRAY:Ce+"/apiModelPropertiesArray",API_SECURITY:Ce+"/apiSecurity",API_EXCLUDE_ENDPOINT:Ce+"/apiExcludeEndpoint",API_EXCLUDE_CONTROLLER:Ce+"/apiExcludeController",API_EXTRA_MODELS:Ce+"/apiExtraModels",API_EXTENSION:Ce+"/apiExtension",API_SCHEMA:Ce+"/apiSchema",API_DEFAULT_GETTER:Ce+"/apiDefaultGetter",API_LINK:Ce+"/apiLink"};function ke(e,t){if(!e)return[e,t];if(t)return[e,t];const r=Y(e);return[r?e[0]:e,r]}const Ne=e=>void 0===e;function Le(e){if("function"==typeof e)return Le(e());if(Array.isArray(e))return e;if("object"!=typeof e)return[];const t=Object.values(e).filter(e=>"number"==typeof e).map(e=>e.toString());return Object.keys(e).filter(e=>!t.includes(e)).map(t=>e[t])}function De(e){return e.filter(J).length>0?"string":"number"}function Fe(e,t,r=!0){return(o,i)=>{const s=Reflect.getMetadata(Ie.API_MODEL_PROPERTIES_ARRAY,o)||[],n=":"+i;s.includes(n)||Reflect.defineMetadata(Ie.API_MODEL_PROPERTIES_ARRAY,[...s,":"+i],o);const a=Reflect.getMetadata(e,o,i);if(a){const s=Q(t,K(Ne)),n=r?{...a,...s}:{...s,...a};Reflect.defineMetadata(e,n,o,i)}else{const r=o?.constructor?._OPENAPI_METADATA_FACTORY?.()[i]?.type??Reflect.getMetadata("design:type",o,i);Reflect.defineMetadata(e,{type:r,...Q(t,K(Ne))},o,i)}}}function je(e={}){return Me(e)}function Me(e={},t=!0){const[r,o]=ke(e.type,e.isArray);if((i=e={...e,type:r,isArray:o}).isArray&&"enum"in i&&void 0!==i.enum){e.type="array";const t=Le(e.enum);e.items={type:De(t),enum:t},delete e.enum}else if("enum"in e&&void 0!==e.enum){const t=Le(e.enum);e.enum=t,e.type=De(t)}var i;return Array.isArray(e.type)&&(e.type="array",e.items={type:"array",items:{type:e.type[0]}}),Fe(Ie.API_MODEL_PROPERTIES,e,t)}function qe(e,t){const{handler:o,args:i}=r.get(e,he.REFLECT+he.BLOCK)||{};return!!o&&(o(...i,t)??!1)}function Be(e,t,r){const i={GET:[he.READ,l],POST:[he.CREATE,u],PUT:[he.UPDATE,h],PATCH:[he.UPDATE,f],DELETE:[he.DELETE,m]},[s,n]=i[t];return qe(e,s)?o(X()):o(n(r))}function Ue(e,t,r){const i={GET:[fe.READ_ALL,l],POST:[fe.CREATE_ALL,u],PUT:[fe.UPDATE_ALL,h],PATCH:[fe.UPDATE_ALL,f],DELETE:[fe.DELETE_ALL,m]},[s,n]=i[t];return qe(e,s)?o(X()):o(n(r))}function Ge(e=[]){const t=e.map(e=>V({name:e.name,description:e.description??"Path parameter: "+e.name,required:e.required??!0,type:e.type??String}));return y(...t)}e.for(n.INJECTABLE).extend({decorator:(e,t)=>(t=t||("object"==typeof e?Object.assign(e,a):a),c({scope:t.singleton?p.DEFAULT:p.REQUEST,durable:!t.singleton||void 0}))}).apply(),e.for(n.INJECT).extend({decorator:(e,t)=>(t,r,o)=>d(e||t)(t,r,o)}).apply(),e.for(_.REQUIRED).extend(je({required:!0})).apply(),e.for(_.MAX).extend({decorator:e=>je({maximum:e})}).apply(),e.for(_.MIN).extend({decorator:e=>je({minimum:e})}).apply(),e.for(_.MAX_LENGTH).extend({decorator:e=>je({maxLength:e})}).apply(),e.for(_.MIN_LENGTH).extend({decorator:e=>je({minLength:e})}).apply(),e.for(_.TYPE).extend({decorator:e=>(t,r)=>("function"!=typeof(e=Array.isArray(e)?e[0]:e)||e.name||(e=e()),je({type:e})(t,r))}).apply(),e.for(_.DATE).extend({decorator:e=>je({type:String,format:"date-time"})}).apply(),e.for(_.ENUM).extend({decorator:e=>je({enum:Array.isArray(e)?e:Object.values(e)})}).apply(),e.for(_.PATTERN).extend({decorator:e=>je({pattern:"string"==typeof e?e:e.source})}).apply(),e.for(I.COLUMN).extend({decorator:e=>je({name:e})}).apply(),e.for(t.DESCRIPTION).extend({decorator:e=>je({description:e})}).apply();const He=g((e,t)=>{const r=t.switchToHttp().getRequest().body,o=t.getClass(),i=o.class;if(!i)throw new w(`ModelConstructor not found on controller ${o.name}. Ensure the controller was created via FromModelController.`);return r?Array.isArray(r)?r.map(e=>new i(e)):new i(r):r}),ze=g((e,t)=>{const r=t.switchToHttp().getRequest(),o=r?.params??{},i=e??Object.keys(o),s=i.map(e=>o[e]);return{raw:o,valuesInOrder:s,keysInOrder:i}});function Ye(e=[]){const t=e.map(e=>e.name);return ze(t)}const Je=g((e,t)=>{const r={...t.switchToHttp().getRequest().query??{}};if(void 0!==r.limit){const e=Number(r.limit);Number.isNaN(e)||(r.limit=e)}if(void 0!==r.offset){const e=Number(r.offset);Number.isNaN(e)||(r.offset=e)}if(void 0!==r.bookmark){const e=Number(r.bookmark);r.bookmark=Number.isNaN(e)?r.bookmark:e}return r});function Qe(e){const t={GET:l,POST:u,PUT:h,PATCH:f,DELETE:m}[e];if(!t)throw Error(`Unsupported HTTP verb "${e}". No NestJS decorator mapping was found.`);return t}const Ke="DecafModuleOptions",Xe="DecafAdapter",Ve="DecafRoute",We=Symbol("DecafHandlers"),Ze=Symbol("DecafAdapterForOptions"),et=Symbol("AUTH_HANDLER"),tt="auth:meta",rt="AuthRole",ot=Symbol("decaf:context");function it(t,s){const n=Ve;return e.for(n).define({decorator:()=>(e,a,c)=>{const p={path:s,httpMethod:t,handler:c};return o(i(r.key(n,a),p))(e,a,c)},args:[]}).apply()}let st=class{constructor(e,t){this.reflector=e,this.authHandler=t}async intercept(e,t){const r=this.reflector.get(tt,e.getHandler())??this.reflector.get(tt,e.getClass());return r&&this.authHandler&&await this.authHandler.authorize(e,r),t.handle()}};function nt(e){const t="string"==typeof e?e:e.name;return y(A(tt,t),b(st))}st=Ee([c(),Ae(1,E()),Ae(1,d(et)),be("design:paramtypes",[Pe,Object])],st);const at=e=>s(rt,e);class ct{parseRequest(e){const t=e.headers.authorization?.split(" ")[1];return t}async authorize(e,t){const o=e.switchToHttp().getRequest(),i=this.parseRequest(o);if(!i)throw new k("Unauthenticated");if(!r.get(C.get(t),rt).includes(i))throw new k("Missing role: "+i)}}class pt extends ct{constructor(){super()}async authorize(e,t){const o=e.switchToHttp().getRequest(),i=this.parseRequest(o);if(!i)throw new k("Unauthenticated");const s=r.get(C.get(t),rt);if(!s.includes(i))throw new k("Missing role: "+i);return s}}let dt=class{put(e){let t;try{t=this.ctx.get("overrides")}catch(e){t={}}this._ctx=this.ctx.accumulate({overrides:Object.assign(t,e)})}applyCtx(e){this._ctx=e}get ctx(){if(!this._ctx)throw new me("Context not initialized for request");return this._ctx}};dt=Ee([c({scope:p.REQUEST})],dt);let lt=class{constructor(e,t){this.handlers=e,this.context=t}async exec(e,t){for(const r of this.handlers)await r.handle(this.context,e,t)}};lt=Ee([c({scope:p.REQUEST}),Ae(0,d(We)),be("design:paramtypes",[Array,dt])],lt);const ut=e=>({name:e,description:e+" parameter for the query",required:!0,type:String});function ht(e,t,r,o=!1){const i=Qe(r),s=(e=>e.split("/").filter(e=>e.startsWith(":")).map(e=>e.slice(1)))(t).map(ut),n=[];return"GET"===r&&o&&n.push(W({name:"direction",required:!1,enum:N,description:"the sort order when applicable"}),W({name:"limit",required:!1,description:"limit or page size when applicable"}),W({name:"offset",required:!1,description:"offset or bookmark when applicable"})),{method:[i(t),...s.map(V),...n,Z({summary:`Retrieve records using according to "${e}".`}),ee({description:"Result successfully retrieved."}),te({description:"No content returned by the method."})],params:[Ye(s),P()]}}function ft(e,t,r,o){const i=e?.prototype??e;o.method.forEach(e=>e(i,t,r)),o.params?.forEach((e,r)=>e(i,t,r))}function mt(e){return async function(t,r){const o=this.log.for(e);try{o.debug(`Invoking persistence method "${e}" given parameters: ${JSON.stringify(t.valuesInOrder)}`);const{direction:i,limit:s,offset:n}=r;return await((e,t,...r)=>{if(e instanceof L)return"function"==typeof e[t]?e[t](...r):e.statement(t,...r);if("function"==typeof e[t])return e[t](...r);throw Error(`Persistence method "${t}" not found on ${e?.constructor?.name}`)})(this.persistence(),e,...t.valuesInOrder,i,s,n)}catch(t){throw o.error(`Custom query "${e}" failed`,t),t}}}function yt(e,t,r){return Object.defineProperty(e.prototype||e,t,{value:r,writable:!1}),Object.getOwnPropertyDescriptor(e.prototype||e,t)}class gt extends D{constructor(e,t){super(t),this.clientContext=e}logCtx(e,t,r=!1,o){const i=this.clientContext.ctx;return e=e.filter(e=>void 0!==e),F.logCtx.call(this,t,o||{},r,...e,i)}}class wt extends gt{persistence(e){if(!this._persistence)try{this._persistence=L.getService(this.class)}catch(e){this._persistence=j.forModel(this.class)}return e?this._persistence instanceof j?this._persistence.override(e.toOverrides()):this._persistence.for(e.toOverrides()):this._persistence}constructor(e,t){super(e,t)}logCtx(e,t,r=!1){const o=this.clientContext.ctx;let i={};try{i=o.get("overrides")}catch(e){}const s=this.persistence(o);let n,a;return s instanceof L?n=s.repo.adapter:s instanceof j?n=s.adapter:s.context&&(n=s),r?n.logCtx(e,t,!0,i).then(e=>e):(a=n.logCtx(e,t,!1,i),a)}}function Et(e,t){if(!M.includes(e))return t;const o=[he.UPDATE,fe.UPDATE_ALL].includes(e),i=r.properties(t)||[],s=C.relations(t)||[];let n=i.filter(e=>C.generated(t,e));o&&(n=n.filter(e=>e!==C.pk(t)));class a extends(re(t,n)){}function c(e,t,r){r||(Object.defineProperty(a.prototype,e,{value:r?[t]:t,writable:!0,enumerable:!0,configurable:!0}),Reflect.defineMetadata("design:type",t,a.prototype,e))}Object.defineProperty(a,"name",{value:`${Re(t.name)}${Re(e)}DTO`});for(const o of s){let i=r.allowedTypes(t,o);if(i=i?Array.isArray(i)?i[0]:i:void 0,i="function"!=typeof i||i.name?i:i(),!i)throw new me(`Type for relation ${o} not found`);if(C.get(i.name)){const s=r.validationFor(t,o);c(o,Et(e,i),!!s[_.LIST])}}return a}class At{static{this.log=Oe.for(At.name)}static getPersistence(e){try{return L.getService(e)}catch(t){return j.forModel(e)}}static createQueryRoutesFromRepository(e,t=I.QUERY){const o=At.log.for(At.createQueryRoutesFromRepository),i=e instanceof L?e.repo:e,s=i.class,n=r.get(i.constructor,r.key(I.QUERY))??{},a=r.get(e.constructor,r.key(Ve))??{};class c extends wt{get class(){throw Error("Method not implemented.")}constructor(e,t){super(e,t)}}for(const[e,t]of Object.entries(a)){const r=[t.path.replace(/^\/+|\/+$/g,"")].filter(e=>e&&e.trim()).join("/"),i=mt(e);if(!i){const t=`Invalid or missing handler for model ${s.name} on decorated method ${e}`;throw o.error(t),Error(t)}const n=yt(c,e,i);n&&ft(c,e,n,ht(e,r,t.httpMethod))}for(const[e,r]of Object.entries(n)){const o=[t,e,...(r.fields??[]).map(e=>":"+e)].filter(e=>e&&e.trim()).join("/"),i=yt(c,e,mt(e));i&&ft(c,e,i,ht(e,o,"GET",!0))}return c}static create(e){const t=At.log.for(At.create),r=C.tableName(e),o=xe(r),i=e.name,s=At.getPersistence(e),{description:n,getPK:a,apiProperties:c,path:p}=At.getRouteParametersFromModel(e);t.debug("Creating controller for model: "+i);const d=At.createQueryRoutesFromRepository(s);let l=class extends d{static get class(){return e}get class(){return e}constructor(r){super(r),this.pk=C.pk(e),t.info(`Registering dynamic controller for model: ${this.class.name} route: /${o}`)}async listBy(e,t){const{ctx:r}=(await this.logCtx([],q.LIST_BY,!0)).for(this.listBy);return this.persistence(r).listBy(e,t.direction,r)}async paginateBy(e,t){const{ctx:r}=(await this.logCtx([],q.PAGE_BY,!0)).for(this.paginateBy);return this.persistence(r).paginateBy(e,t.direction,t,r)}async findOneBy(e,t){const{ctx:r}=(await this.logCtx([],q.FIND_ONE_BY,!0)).for(this.findOneBy);return this.persistence(r).findOneBy(e,t,r)}async findBy(e,t,r){const{ctx:o}=(await this.logCtx([],q.FIND_BY,!0)).for(this.findBy);return this.persistence(o).for(o.toOverrides()).findBy(e,t,o)}async statement(e,t,r){const{ctx:o}=(await this.logCtx([],I.STATEMENT,!0)).for(this.statement),{direction:i,offset:s,limit:n,bookmark:a}=r;switch(t=t.map(e=>("string"==typeof e?parseInt(e):e)||e),e){case q.FIND_BY:break;case q.LIST_BY:t.push(i);break;case q.PAGE_BY:t=[t[0],i,{limit:n,offset:s,bookmark:a}];case q.FIND_ONE_BY:}return this.persistence(o).statement(e,...t,o)}async createAll(t){const{ctx:r,log:o}=(await this.logCtx([],fe.CREATE_ALL,!0)).for(this.createAll);let s;o.verbose("creating new "+i);try{s=await this.persistence(r).createAll(t.map(t=>new e(t)),r)}catch(e){throw o.error("Failed to create new "+i,e),e}return o.info(`created new ${i} with id ${s[this.pk]}`),s}async create(e){const{ctx:t,log:r}=(await this.logCtx([],he.CREATE,!0)).for(this.create);let o;r.verbose("creating new "+i);try{const r=this.persistence(t);o=await r.create(e,t)}catch(e){throw r.error("Failed to create new "+i,e),e}return r.info(`created new ${i} with id ${o[this.pk]}`),o}async readAll(e){const{ctx:t,log:r}=(await this.logCtx([],fe.READ_ALL,!0)).for(this.readAll);let o;try{r.debug(`reading ${e.length} ${i}: ${e}`);const s=this.persistence(t);o=await s.readAll(e,t)}catch(t){throw r.error(`Failed to ${i} with id ${e}`,t),t}return r.info(`read ${o.length} ${i}`),o}async read(e){const{ctx:t,log:r}=(await this.logCtx([],he.READ,!0)).for(this.read),o=a(...e.valuesInOrder);if(void 0===o)throw new ge(`No ${this.pk} provided`);let s;try{r.debug(`reading ${i} with ${this.pk} ${o}`);const e=this.persistence(t);s=await e.read(o,t)}catch(e){throw r.error(`Failed to read ${i} with id ${o}`,e),e}return r.info(`read ${i} with id ${s[this.pk]}`),s}async updateAll(e){const{ctx:t,log:r}=(await this.logCtx([],fe.UPDATE_ALL,!0)).for(this.updateAll);let o;try{r.info(`updating ${e.length} ${i}`);const s=e.map(e=>JSON.parse(JSON.stringify(e)));o=await this.persistence(t).updateAll(s,t)}catch(e){throw r.error(e),e}return o}async update(t,r){const{ctx:o,log:s}=(await this.logCtx([],he.UPDATE,!0)).for(this.update),n=a(...t.valuesInOrder);if(void 0===n)throw new ge(`No ${this.pk} provided`);let c;try{s.info(`updating ${i} with ${this.pk} ${n}`);const t=JSON.parse(JSON.stringify(r)),a=this.persistence(o);c=await a.update(new e({...t,[this.pk]:n}),o)}catch(e){throw s.error(e),e}return c}async deleteAll(e){const{ctx:t,log:r}=(await this.logCtx([],fe.DELETE_ALL,!0)).for(this.deleteAll);let o;try{r.debug(`deleting ${e.length} ${i}: ${e}`),o=await this.persistence(t).deleteAll(e,t)}catch(t){throw r.error(`Failed to delete ${i} with id ${e}`,t),t}return r.info(`deleted ${o.length} ${i}`),o}async delete(e){const{ctx:t,log:r}=(await this.logCtx([],he.DELETE,!0)).for(this.delete),o=a(...e.valuesInOrder);if(void 0===o)throw new ge(`No ${this.pk} provided`);let s;try{r.debug(`deleting ${i} with ${this.pk} ${o}`),s=await this.persistence(t).delete(o,t)}catch(e){throw r.error(`Failed to delete ${i} with id ${o}`,e),e}return r.info(`deleted ${i} with id ${o}`),s}};return Ee([Be(e,"GET","listBy/:key"),Z({summary:`Retrieve ${i} records by query.`}),V({name:"key",description:"the model key to sort by"}),W({name:"direction",required:!0,enum:N}),ee({description:i+" listed successfully."}),Ae(1,Je()),be("design:type",Function),be("design:paramtypes",[String,Object]),be("design:returntype",Promise)],l.prototype,"listBy",null),Ee([Be(e,"GET","paginateBy/:key/:page"),Z({summary:`Retrieve ${i} records by query.`}),V({name:"key",description:"the model key to sort by"}),V({name:"page",description:"the page to retrieve or the bookmark"}),W({name:"direction",required:!0,enum:N,description:"the sort order"}),W({name:"limit",required:!0,description:"the page size"}),W({name:"offset",description:"the bookmark when necessary"}),ee({description:i+" listed paginated."}),Ae(0,v("key")),Ae(1,Je()),be("design:type",Function),be("design:paramtypes",[String,Object]),be("design:returntype",Promise)],l.prototype,"paginateBy",null),Ee([Be(e,"GET","findOneBy/:key"),Z({summary:`Retrieve ${i} records by query.`}),V({name:"key",description:"the model key to sort by"}),ee({description:i+" listed found."}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,v("key")),Ae(1,v("value")),be("design:type",Function),be("design:paramtypes",[String,Object]),be("design:returntype",Promise)],l.prototype,"findOneBy",null),Ee([Be(e,"GET","findBy/:key/:value"),Z({summary:`Retrieve ${i} records by query.`}),V({name:"key",description:"the model key to compare"}),V({name:"value",description:"the value to match"}),W({name:"direction",required:!0,enum:N,description:"the sort order when applicable"}),ee({description:i+" listed found."}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,v("key")),Ae(1,v("value")),Ae(2,Je()),be("design:type",Function),be("design:paramtypes",[String,Object,Object]),be("design:returntype",Promise)],l.prototype,"findBy",null),Ee([Be(e,"GET","statement/:method/*args"),Z({summary:`Executes a prepared statement on ${i}.`}),V({name:"method",description:"the prepared statement to execute"}),V({name:"args",description:"concatenated list of arguments the prepared statement can accept"}),W({name:"direction",required:!0,enum:N,description:"the sort order when applicable"}),W({name:"limit",required:!0,description:"limit or page size when applicable"}),W({name:"offset",required:!0,description:"offset or bookmark when applicable"}),ee({description:i+" listed found."}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,v("method")),Ae(1,v("args")),Ae(2,Je()),be("design:type",Function),be("design:paramtypes",[String,Array,Object]),be("design:returntype",Promise)],l.prototype,"statement",null),Ee([Be(e,"POST","bulk"),Z({summary:`Create a new ${i}.`}),ie({description:"Payload for "+i,schema:{type:"array",items:{$ref:se(e)}}}),ne({description:i+" created successfully.",schema:{type:"array",items:{$ref:se(e)}}}),ae({description:"Payload validation failed."}),ce({description:"Repository rejected the provided payload."}),Ae(0,He()),be("design:type",Function),be("design:paramtypes",[Array]),be("design:returntype",Promise)],l.prototype,"createAll",null),Ee([Be(e,"POST"),Z({summary:`Create a new ${i}.`}),ie({description:"Payload for "+i,type:Et(he.CREATE,e)}),ne({description:i+" created successfully.",schema:{$ref:se(e)}}),ae({description:"Payload validation failed."}),ce({description:"Repository rejected the provided payload."}),Ae(0,He()),be("design:type",Function),be("design:paramtypes",[Object]),be("design:returntype",Promise)],l.prototype,"create",null),Ee([Be(e,"GET","bulk"),Z({summary:`Retrieve a ${i} record by id.`}),W({name:"ids",required:!0,type:"array"}),ee({description:i+" retrieved successfully.",schema:{type:"array",items:{$ref:se(e)}}}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,P("ids")),be("design:type",Function),be("design:paramtypes",[Array]),be("design:returntype",Promise)],l.prototype,"readAll",null),Ee([Be(e,"GET",p),Ge(c),Z({summary:`Retrieve a ${i} record by id.`}),ee({description:i+" retrieved successfully.",schema:{$ref:se(e)}}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,Ye(c)),be("design:type",Function),be("design:paramtypes",[Object]),be("design:returntype",Promise)],l.prototype,"read",null),Ee([Be(e,"PUT","bulk"),Ge(c),Z({summary:`Replace an existing ${i} record with a new payload.`}),ie({description:"Payload for replace a existing record of "+i,schema:{type:"array",items:{$ref:se(e)}}}),ne({description:i+" updated successfully.",schema:{type:"array",items:{$ref:se(e)}}}),oe({description:`No ${i} record matches the provided identifier.`}),ae({description:"Payload validation failed."}),Ae(0,He()),be("design:type",Function),be("design:paramtypes",[Array]),be("design:returntype",Promise)],l.prototype,"updateAll",null),Ee([Be(e,"PUT",p),Ge(c),Z({summary:`Replace an existing ${i} record with a new payload.`}),ie({description:"Payload for replace a existing record of "+i,schema:{$ref:se(e)}}),ee({description:i+" updated successfully."}),oe({description:`No ${i} record matches the provided identifier.`}),ae({description:"Payload validation failed."}),Ae(0,Ye(c)),Ae(1,He()),be("design:type",Function),be("design:paramtypes",[Object,Object]),be("design:returntype",Promise)],l.prototype,"update",null),Ee([Be(e,"DELETE","bulk"),Ge(c),Z({summary:`Retrieve a ${i} record by id.`}),W({name:"ids",required:!0,type:"array"}),ee({description:i+" retrieved successfully."}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,P("ids")),be("design:type",Function),be("design:paramtypes",[Array]),be("design:returntype",Promise)],l.prototype,"deleteAll",null),Ee([Be(e,"DELETE",p),Ge(c),Z({summary:`Delete a ${i} record by id.`}),ee({description:i+" record deleted successfully."}),oe({description:`No ${i} record matches the provided identifier.`}),Ae(0,Ye(c)),be("design:type",Function),be("design:paramtypes",[Object]),be("design:returntype",Promise)],l.prototype,"delete",null),l=Ee([T(o),pe(i),de(e),nt(e),be("design:paramtypes",[dt])],l),l}static getRouteParametersFromModel(e){const t=C.pk(e),o=r.get(e,r.key(ye.COMPOSED,t)),i=o?.args??[],s=Array.isArray(i)&&i.length>0?Array.from(new Set([...i])):Array.from(new Set([t])),n=r.description(e);return{path:":"+s.join("/:"),description:n,apiProperties:s.map(t=>({name:t,description:r.description(e,t),required:!0,type:String})),getPK:(...e)=>o?.separator?e.join(o.separator):e.join("")}}}B.transformerFor=(e=>{const t="string"==typeof e?e:e.alias;return r.innerGet(Symbol.for("transformers"),t)}).bind(B),B.flavoursToTransform=(()=>{const e=r.innerGet(Symbol.for("transformers"));if(e)return Object.keys(e)}).bind(B);let bt=class{constructor(e,t){this.requestContext=e,this.executor=t}async contextualize(e){const t={headers:e.headers,overrides:{}},r=B.flavoursToTransform();if(r)for(const o of r)try{const r=B.transformerFor(o),i=await r.from(e);Object.assign(t.overrides,i)}catch(e){throw new me("Failed to contextualize request: "+e)}return(new U).accumulate(Object.assign({},G,{logger:Oe.get(),timestamp:new Date},t))}async intercept(e,t){const r=e.switchToHttp().getRequest(),o=e.switchToHttp().getResponse(),i=await this.contextualize(r);return this.requestContext.applyCtx(i),await this.executor.exec(r,o),t.handle()}};bt=Ee([c({scope:p.REQUEST}),be("design:paramtypes",[dt,lt])],bt);class Pt{}function vt(e){return t=>(r.set("transformers",e,t),"function"==typeof t?s("transformers",e)(t):t)}function Tt(e){var t;let r=class{static{t=this}static{this.log=Oe.for(t.name).for(e)}static createModelServices(e){return e.map(e=>({provide:e.name+"Service",useFactory:()=>L.forModel(e)}))}static forRoot(e,r={}){const o=this.log.for(this.forRoot);o.info("Generating controllers for flavour...");const i=B.models(e);let s=[];r.autoServices&&(o.info("Auto-services enabled. Initializing service generation."),s=this.createModelServices(i),o.info(`Auto-services completed. ${s.length} services initialized.`));const n=i.map(At.create);return o.info(`Generated ${n.length} controllers`),{module:t,controllers:n,providers:[{provide:We,useFactory:()=>r.handlers?.map(e=>(o.info("Registered request handler: "+e.name),new e))??[]},dt,lt,{provide:ve,useClass:bt},...s]}}};return r=t=Ee([R({})],r),Object.assign(r,"name",{value:"DecafModule"+e}),r}class Rt extends H{constructor(e){super(e,Rt.name)}}let Ot=class{catch(e,t){const r=t.switchToHttp(),o=r.getResponse(),i=r.getRequest(),s="production"===$e.env;e instanceof we||(e=new me(e.message)),o.status(e.code).json({status:e.code,error:s?e.name:e.message,timestamp:(new Date).toISOString(),path:i.url,method:i.method})}};function xt(){return x(new Ot)}Ot=Ee([O()],Ot);const $t={title:"Swagger | OpenAPI Specification (OAS)",description:"Standardized format for describing RESTful APIs",version:"0.0.1",path:"docs",faviconFilePath:"",topbarIconFilePath:"",auth:{type:"http",scheme:"bearer",bearerFormat:"JWT",name:"Authorization",description:"Enter JWT token",in:"header"},persistAuthorization:!0,topbarBgColor:"#000000"};class St{constructor(e){this.options={...e}}customCSS(){let e="";return this.options.topbarIconPath&&(e+=`.topbar-wrapper { content: url('data:image/png;base64,${this.b64(this.options.topbarIconPath)}'); width: 200px; height: auto; }\n`),e+`\n .topbar-wrapper svg { visibility: hidden; }\n .swagger-ui .topbar { background-color: ${this.options.topbarBgColor||$t.topbarBgColor}; }\n `}getCustomOptions(){const e={};return this.options.faviconPath&&(e.customfavIcon=this.b64(this.options.faviconPath,!0)),{customSiteTitle:this.options.title,...e,customCss:this.customCSS(),swaggerOptions:{persistAuthorization:this.options.persistAuthorization},jsonDocumentUrl:this.options.path?this.options.path+"/spec.json":void 0,yamlDocumentUrl:this.options.path?this.options.path+"/spec.yaml":void 0}}b64(e,t=!1){const r=_e.join(this.options.assetsPath||"",e),o=Se(r,{encoding:"base64"});return t?"data:image/png;base64,"+o:o}}class _t{constructor(e,t){this.app=e,this.options=t}createDocument(){const e=this.options.path?this.options.description+""+`<br><br><a href="${this.options.path}/spec.json">OpenAPI JSON Spec</a> | `+`<a href="${this.options.path}/spec.yaml">OpenAPI YAML Spec</a>`:this.options.description,t=(new le).setTitle(this.options.title).setDescription(e).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||$t.auth).build();return ue.createDocument(this.app,t,{extraModels:this.options.extraModels||[]})}setupSwagger(){const e=this.createDocument(),t=new St({title:this.options.title,path:this.options.path||$t.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});ue.setup(this.options.path||$t.path,this.app,e,{...t.getCustomOptions()})}}class Ct{static get logger(){return this._logger||(this._logger=new $("NestBootstrap")),this._logger}static initialize(e){return this.app=e,this}static enableLogger(e){return this._logger=e||new $("NestBootstrap"),this.app.useLogger(this._logger),this}static enableCors(e=[],t=["GET","POST","PUT","DELETE"]){const r="*"===e?"*":e.map(e=>e.trim().toLowerCase()),o={origin:(e,t)=>e?"*"===r||Array.isArray(r)&&r.includes(e.toLowerCase())?t(null,!0):void t(new Rt(`Origin ${e} not allowed`)):t(null,!0),credentials:!0,methods:t.join(",")};return this.app.enableCors(o),this}static useHelmet(e){try{const t=require("helmet");this.app.use(t(e)),this.logger.log("Helmet middleware enabled successfully.")}catch(e){this.logger.warn("Helmet not installed. Skipping middleware.")}return this}static setupSwagger(e){return new _t(this.app,{title:e.title,description:e.description,version:e.version,path:e.path||"api",persistAuthorization:e.persistAuthorization??!0,assetsPath:e.assetsPath,faviconFilePath:e.faviconPath,topbarIconFilePath:e.topbarIconPath,topbarBgColor:e.topbarBgColor}).setupSwagger(),this}static useGlobalPipes(...e){return e.length>0&&this.app.useGlobalPipes(...e),this}static useGlobalFilters(...e){return this.app.useGlobalFilters(...e.length>0?e:[new Ot]),this}static useGlobalInterceptors(...e){return e.length>0&&this.app.useGlobalInterceptors(...e),this}static async start(e=Number(process.env.PORT)||3e3,t=void 0,r=!0){this.app.listen(e,t).then(async()=>{if(r){const e=await this.app.getUrl();this.logger.log("\ud83d\ude80 Application is running at: "+e)}})}}var It;let kt=class{static{It=this}static get persistence(){if(!this._persistence)throw new me("Persistence service not initialized");return this._persistence}static get log(){return this._logger||(this._logger=Oe.for(It)),this._logger}constructor(e,t){this.options=e,this.moduleRef=t}static async bootPersistence(e){const t=this.log.for(this.bootPersistence);if(!this._persistence){const r=e.conf.map(([e,t,...r])=>r.pop()?[e,t,...r]:[e,t]);this._persistence=new z,await this._persistence.boot(r);const o=this._persistence.client;for(let t=0;t<o.length;t++){const r=e.conf[t];let[,,i]=r;if(!i){const e=B.transformerFor(o[t].flavour);if(!e)throw new me(`No transformer found for flavour ${o[t].flavour}. you should either @requestToContextTransformer or provide a transformer in the config`);i=e instanceof Pt?e:new e}vt(o[t].flavour)(i)}t.info("persistence layer created successfully!")}return this.persistence.client}static forRoot(e){const t={provide:Ke,useValue:e},r={useFactory:async e=>It.bootPersistence(e),provide:Xe,durable:!0,scope:p.DEFAULT,inject:[Ke]};return{module:It,providers:[r,t],exports:[r]}}async onApplicationShutdown(){const e=It.log.for(this.onApplicationShutdown),t=this.moduleRef.get(Xe);for(const r of t)try{r&&(e.info("Shutting down "+r.toString()),await r.shutdown())}catch(t){e.error("Failed to shutdown application",t)}}};var Nt;kt=It=Ee([S(),R({}),Ae(0,d(Ke)),be("design:paramtypes",[Object,Te])],kt);let Lt=Nt=class{static async forRootAsync(e){const{autoControllers:t,autoServices:r,handlers:o}=e,i=(await kt.bootPersistence(e)).map(e=>e.flavour),s=[kt.forRoot(e)];return t&&i.forEach(e=>{s.push(Tt(e).forRoot(e,{autoServices:r,handlers:o}))}),{module:Nt,imports:s}}};function Dt(e){const t=C.get(e);if(!t)throw new me("Failed to find repository for "+e);return j.forModel(t)}Lt=Nt=Ee([R({})],Lt);const Ft="##VERSION##",jt="##PACKAGE##";r.registerLibrary(jt,Ft);export{et as AUTH_HANDLER,tt as AUTH_META_KEY,Be as ApiOperationFromModel,Ge as ApiParamsFromModel,je as ApiProperty,nt as Auth,st as AuthInterceptor,rt as AuthRole,Ue as BulkApiOperationFromModel,Rt as CorsError,Xe as DECAF_ADAPTER_ID,Ze as DECAF_ADAPTER_OPTIONS,ot as DECAF_CONTEXT_KEY,We as DECAF_HANDLERS,Ke as DECAF_MODULE_OPTIONS,Ve as DECAF_ROUTE,Ie as DECORATORS,Ce as DECORATORS_PREFIX,ct as DecafAuthHandler,He as DecafBody,gt as DecafController,Ot as DecafExceptionFilter,lt as DecafHandlerExecutor,wt as DecafModelController,Lt as DecafModule,Ye as DecafParams,Je as DecafQuery,dt as DecafRequestContext,bt as DecafRequestHandlerInterceptor,pt as DecafRoleAuthHandler,Et as DtoFor,At as FromModelController,Qe as HttpVerbToDecorator,Ct as NestBootstraper,jt as PACKAGE_NAME,Pt as RequestToContextTransformer,at as Roles,_t as SwaggerBuilder,xt as UseDecafFilter,Ft as VERSION,Me as createApiPropertyDecorator,Fe as createPropertyDecorator,De as getEnumType,Le as getEnumValues,Tt as getModuleFor,qe as isOperationBlocked,Ne as isUndefined,Dt as repoForModel,vt as requestToContextTransformer,it as route};
2
2
  //# sourceMappingURL=for-nest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"for-nest.js","sources":["../src/overrides/constants.ts","../src/overrides/helpers.ts","../src/overrides/decoration.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decoration.ts","../src/decaf-model/decorators/DecafBody.ts","../src/decaf-model/decorators/DecafParams.ts","../src/decaf-model/decorators/utils.ts","../src/constants.ts","../src/decaf-model/decorators/route.ts","../src/interceptors/AuthInterceptor.ts","../src/decaf-model/decorators/decorators.ts","../src/request/DecafAuthHandler.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/decaf-model/utils.ts","../src/controllers.ts","../src/factory/openapi/DtoBuilder.ts","../src/decaf-model/FromModelController.ts","../src/overrides/overrides.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/interceptors/context.ts","../src/decaf-model/DecafModelModule.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/DecafErrorFilter.ts","../src/factory/exceptions/decorators.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/factory/NestBootstraper.ts","../src/core-module.ts","../src/module.ts","../src/utils.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,null,null,null,null,null,null,null,null],"names":["DECORATORS_PREFIX","DECORATORS","API_OPERATION","API_RESPONSE","API_PRODUCES","API_CONSUMES","API_TAGS","API_CALLBACKS","API_PARAMETERS","API_HEADERS","API_MODEL_PROPERTIES","API_MODEL_PROPERTIES_ARRAY","API_SECURITY","API_EXCLUDE_ENDPOINT","API_EXCLUDE_CONTROLLER","API_EXTRA_MODELS","API_EXTENSION","API_SCHEMA","API_DEFAULT_GETTER","API_LINK","getTypeIsArrayTuple","input","isArrayFlag","isInputArray","isArray","isUndefined","obj","getEnumValues","enumType","Array","numericValues","Object","values","filter","value","map","toString","keys","key","includes","getEnumType","isString","length","createPropertyDecorator","metakey","metadata","overrideExisting","target","propertyKey","properties","Reflect","getMetadata","defineMetadata","existingMetadata","newMetadata","pickBy","negate","metadataToSave","type","constructor","ApiProperty","options","createApiPropertyDecorator","opts","undefined","enum","enumValues","items","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","get","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","apply","ApiExcludeEndpoint","BulkApiOperationFromModel","BulkCrudOperationKeys","READ_ALL","CREATE_ALL","UPDATE_ALL","DELETE_ALL","ApiParamsFromModel","props","decorators","p","ApiParamDec","name","description","required","String","applyDecorators","Decoration","for","InjectablesKeys","INJECTABLE","extend","decorator","category","cfg","assign","DefaultInjectablesConfig","Injectable","scope","singleton","Scope","DEFAULT","REQUEST","durable","INJECT","descriptor","Inject","ValidationKeys","REQUIRED","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","TYPE","prop","DATE","format","ENUM","PATTERN","pat","pattern","source","PersistenceKeys","COLUMN","DecorationKeys","DESCRIPTION","DecafBody","createParamDecorator","data","ctx","body","switchToHttp","getRequest","controller","getClass","ModelConstr","class","InternalServerErrorException","item","OrderedParams","order","req","original","params","orderList","ordered","k","raw","valuesInOrder","keysInOrder","DecafParams","DecafQuery","_","parsed","query","limit","n","Number","isNaN","offset","bookmark","HttpVerbToDecorator","Error","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_ROUTE","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","AUTH_HANDLER","AUTH_META_KEY","AuthRole","DECAF_CONTEXT_KEY","route","httpMethod","define","methodMetadata","AuthInterceptor","reflector","authHandler","this","intercept","next","modelName","getHandler","authorize","handle","Auth","model","resource","SetMetadata","UseInterceptors","__decorate","__param","Optional","Reflector","Roles","roles","DecafAuthHandler","parseRequest","userRole","headers","authorization","split","AuthorizationError","Model","DecafRoleAuthHandler","super","DecafRequestContext","put","record","overrides","e","_ctx","accumulate","applyCtx","InternalError","DecafHandlerExecutor","handlers","context","exec","res","apiParamSpec","getApiDecorators","methodName","routePath","httpVerb","includeQueryParams","NestHttpRouteDec","apiPathParams","startsWith","slice","extractPathParams","swaggerQueryParams","push","ApiQuery","OrderDirection","method","ApiParam","ApiOperation","summary","ApiOkResponse","ApiNoContentResponse","Query","applyApiDecorators","proto","prototype","forEach","d","index","createRouteHandler","async","pathParams","queryParams","log","debug","JSON","stringify","direction","persistence","ModelService","statement","resolvePersistenceMethod","error","defineRouteMethod","ControllerClass","defineProperty","writable","getOwnPropertyDescriptor","DecafController","Service","clientContext","logCtx","operation","allowCreate","ContextualLoggedClass","call","DecafModelController","_persistence","getService","Repository","forModel","override","toOverrides","contextual","ctxArgs","repo","then","DtoFor","TransactionOperationKeys","isUpdate","relations","exceptions","generated","pk","DynamicDTO","OmitType","addRelation","relation","relationDto","enumerable","configurable","toPascalCase","allowedTypes","meta","validationFor","LIST","FromModelController","Logging","getPersistence","ModelClazz","createQueryRoutesFromRepository","prefix","QUERY","queryMethods","routeMethods","QueryController","entries","replace","segment","trim","join","message","objValues","fields","f","create","tableName","toKebabCase","modelClazzName","getPK","apiProperties","getRouteParametersFromModel","BaseController","DynamicModelController","info","listBy","details","PreparedStatementKeys","LIST_BY","paginateBy","PAGE_BY","findOneBy","FIND_ONE_BY","findBy","FIND_BY","STATEMENT","a","parseInt","createAll","created","verbose","readAll","ids","read","routeParams","id","ValidationError","updateAll","updated","payloads","entry","parse","update","payload","deleteAll","delete","del","Param","ApiNotFoundResponse","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","from","Set","separator","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","flavour","transformer","Context","DefaultAdapterFlags","logger","timestamp","Date","getResponse","RequestToContextTransformer","requestToContextTransformer","set","getModuleFor","DecafModelModule","DecafModelModule_1","createModelServices","models","provide","useFactory","forRoot","trackedModels","modelServices","autoServices","controllers","module","providers","H","APP_INTERCEPTOR","useClass","Module","CorsError","ForbiddenError","msg","DecafExceptionFilter","exception","host","response","request","isProduction","LoggedEnvironment","env","BaseError","status","code","json","toISOString","url","UseDecafFilter","UseFilters","Catch","SWAGGER_UI_CONSTANTS","title","version","faviconFilePath","topbarIconFilePath","auth","scheme","bearerFormat","in","persistAuthorization","topbarBgColor","SwaggerCustomUI","customCSS","css","topbarIconPath","b64","getCustomOptions","favicon","faviconPath","customSiteTitle","customCss","swaggerOptions","jsonDocumentUrl","yamlDocumentUrl","file","img","filePath","assetsPath","readFileSync","encoding","SwaggerBuilder","app","createDocument","config","DocumentBuilder","setTitle","setDescription","setVersion","addBearerAuth","build","SwaggerModule","extraModels","setupSwagger","document","swaggerUI","setup","NestBootstraper","_logger","Logger","initialize","enableLogger","customLogger","useLogger","enableCors","origins","allowMethods","allowedOrigins","o","toLowerCase","corsOptions","origin","callback","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","useGlobalInterceptors","interceptors","start","port","process","PORT","listen","getUrl","DecafCoreModule","DecafCoreModule_1","moduleRef","bootPersistence","trimmed","conf","contr","pop","PersistenceService","boot","clients","client","i","c","typeOrmModuleOptions","useValue","inject","exports","onApplicationShutdown","adapters","shutdown","Global","ModuleRef","DecafModule","DecafModule_1","forRootAsync","autoControllers","imports","repoForModel","m","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
1
+ {"version":3,"file":"for-nest.js","sources":["../src/overrides/constants.ts","../src/overrides/helpers.ts","../src/overrides/decoration.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decoration.ts","../src/decaf-model/decorators/DecafBody.ts","../src/decaf-model/decorators/DecafParams.ts","../src/decaf-model/decorators/utils.ts","../src/constants.ts","../src/decaf-model/decorators/route.ts","../src/interceptors/AuthInterceptor.ts","../src/decaf-model/decorators/decorators.ts","../src/request/DecafAuthHandler.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/decaf-model/utils.ts","../src/controllers.ts","../src/factory/openapi/DtoBuilder.ts","../src/decaf-model/FromModelController.ts","../src/overrides/overrides.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/interceptors/context.ts","../src/decaf-model/DecafModelModule.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/DecafErrorFilter.ts","../src/factory/exceptions/decorators.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/factory/NestBootstraper.ts","../src/core-module.ts","../src/module.ts","../src/utils.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,null,null,null,null,null,null,null,null],"names":["DECORATORS_PREFIX","DECORATORS","API_OPERATION","API_RESPONSE","API_PRODUCES","API_CONSUMES","API_TAGS","API_CALLBACKS","API_PARAMETERS","API_HEADERS","API_MODEL_PROPERTIES","API_MODEL_PROPERTIES_ARRAY","API_SECURITY","API_EXCLUDE_ENDPOINT","API_EXCLUDE_CONTROLLER","API_EXTRA_MODELS","API_EXTENSION","API_SCHEMA","API_DEFAULT_GETTER","API_LINK","getTypeIsArrayTuple","input","isArrayFlag","isInputArray","isArray","isUndefined","obj","getEnumValues","enumType","Array","numericValues","Object","values","filter","value","map","toString","keys","key","includes","getEnumType","isString","length","createPropertyDecorator","metakey","metadata","overrideExisting","target","propertyKey","properties","Reflect","getMetadata","defineMetadata","existingMetadata","newMetadata","pickBy","negate","metadataToSave","type","constructor","ApiProperty","options","createApiPropertyDecorator","opts","undefined","enum","enumValues","items","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","get","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","apply","ApiExcludeEndpoint","BulkApiOperationFromModel","BulkCrudOperationKeys","READ_ALL","CREATE_ALL","UPDATE_ALL","DELETE_ALL","ApiParamsFromModel","props","decorators","p","ApiParamDec","name","description","required","String","applyDecorators","Decoration","for","InjectablesKeys","INJECTABLE","extend","decorator","category","cfg","assign","DefaultInjectablesConfig","Injectable","scope","singleton","Scope","DEFAULT","REQUEST","durable","INJECT","descriptor","Inject","ValidationKeys","REQUIRED","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","TYPE","prop","DATE","format","ENUM","PATTERN","pat","pattern","source","PersistenceKeys","COLUMN","DecorationKeys","DESCRIPTION","DecafBody","createParamDecorator","data","ctx","body","switchToHttp","getRequest","controller","getClass","ModelConstr","class","InternalServerErrorException","item","OrderedParams","order","req","original","params","orderList","ordered","k","raw","valuesInOrder","keysInOrder","DecafParams","DecafQuery","_","parsed","query","limit","n","Number","isNaN","offset","bookmark","HttpVerbToDecorator","Error","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_ROUTE","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","AUTH_HANDLER","AUTH_META_KEY","AuthRole","DECAF_CONTEXT_KEY","route","httpMethod","define","methodMetadata","AuthInterceptor","reflector","authHandler","this","intercept","next","modelName","getHandler","authorize","handle","Auth","model","resource","SetMetadata","UseInterceptors","__decorate","__param","Optional","Reflector","Roles","roles","DecafAuthHandler","parseRequest","userRole","headers","authorization","split","AuthorizationError","Model","DecafRoleAuthHandler","super","DecafRequestContext","put","record","overrides","e","_ctx","accumulate","applyCtx","InternalError","DecafHandlerExecutor","handlers","context","exec","res","apiParamSpec","getApiDecorators","methodName","routePath","httpVerb","includeQueryParams","NestHttpRouteDec","apiPathParams","startsWith","slice","extractPathParams","swaggerQueryParams","push","ApiQuery","OrderDirection","method","ApiParam","ApiOperation","summary","ApiOkResponse","ApiNoContentResponse","Query","applyApiDecorators","proto","prototype","forEach","d","index","createRouteHandler","async","pathParams","queryParams","log","debug","JSON","stringify","direction","persistence","ModelService","statement","resolvePersistenceMethod","error","defineRouteMethod","ControllerClass","defineProperty","writable","getOwnPropertyDescriptor","DecafController","Service","clientContext","logCtx","operation","allowCreate","ContextualLoggedClass","call","DecafModelController","_persistence","getService","Repository","forModel","override","toOverrides","contextual","ctxArgs","repo","then","DtoFor","TransactionOperationKeys","isUpdate","relations","exceptions","generated","pk","DynamicDTO","OmitType","addRelation","relation","relationDto","enumerable","configurable","toPascalCase","allowedTypes","meta","validationFor","LIST","FromModelController","Logging","getPersistence","ModelClazz","createQueryRoutesFromRepository","prefix","QUERY","queryMethods","routeMethods","QueryController","entries","replace","segment","trim","join","message","objValues","fields","f","create","tableName","toKebabCase","modelClazzName","getPK","apiProperties","getRouteParametersFromModel","BaseController","DynamicModelController","info","listBy","details","PreparedStatementKeys","LIST_BY","paginateBy","PAGE_BY","findOneBy","FIND_ONE_BY","findBy","FIND_BY","STATEMENT","a","parseInt","createAll","created","verbose","readAll","ids","read","routeParams","id","ValidationError","updateAll","updated","payloads","entry","parse","update","payload","deleteAll","delete","del","Param","ApiNotFoundResponse","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","from","Set","separator","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","flavour","transformer","Context","DefaultAdapterFlags","logger","timestamp","Date","getResponse","RequestToContextTransformer","requestToContextTransformer","set","getModuleFor","DecafModelModule","DecafModelModule_1","createModelServices","models","provide","useFactory","forRoot","trackedModels","modelServices","autoServices","controllers","module","providers","H","APP_INTERCEPTOR","useClass","Module","CorsError","ForbiddenError","msg","DecafExceptionFilter","exception","host","response","request","isProduction","LoggedEnvironment","env","BaseError","status","code","json","toISOString","url","UseDecafFilter","UseFilters","Catch","SWAGGER_UI_CONSTANTS","title","version","faviconFilePath","topbarIconFilePath","auth","scheme","bearerFormat","in","persistAuthorization","topbarBgColor","SwaggerCustomUI","customCSS","css","topbarIconPath","b64","getCustomOptions","favicon","faviconPath","customSiteTitle","customCss","swaggerOptions","jsonDocumentUrl","yamlDocumentUrl","file","img","filePath","assetsPath","readFileSync","encoding","SwaggerBuilder","app","createDocument","config","DocumentBuilder","setTitle","setDescription","setVersion","addBearerAuth","build","SwaggerModule","extraModels","setupSwagger","document","swaggerUI","setup","NestBootstraper","_logger","Logger","initialize","enableLogger","customLogger","useLogger","enableCors","origins","allowMethods","allowedOrigins","o","toLowerCase","corsOptions","origin","callback","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","useGlobalInterceptors","interceptors","start","port","process","PORT","listen","getUrl","DecafCoreModule","DecafCoreModule_1","moduleRef","bootPersistence","trimmed","conf","contr","pop","PersistenceService","boot","clients","client","i","c","typeOrmModuleOptions","useValue","inject","exports","onApplicationShutdown","adapters","shutdown","Global","ModuleRef","DecafModule","DecafModule_1","forRootAsync","autoControllers","imports","repoForModel","m","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../src/controllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../src/controllers.ts"],"names":[],"mappings":"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"}
@@ -239,7 +239,8 @@ class FromModelController {
239
239
  log.verbose(`creating new ${modelClazzName}`);
240
240
  let created;
241
241
  try {
242
- created = await this.persistence(ctx).create(data, ctx);
242
+ const persistence = this.persistence(ctx);
243
+ created = await persistence.create(data, ctx);
243
244
  }
244
245
  catch (e) {
245
246
  log.error(`Failed to create new ${modelClazzName}`, e);
@@ -253,7 +254,8 @@ class FromModelController {
253
254
  let read;
254
255
  try {
255
256
  log.debug(`reading ${ids.length} ${modelClazzName}: ${ids}`);
256
- read = await this.persistence(ctx).readAll(ids, ctx);
257
+ const persistence = this.persistence(ctx);
258
+ read = await persistence.readAll(ids, ctx);
257
259
  }
258
260
  catch (e) {
259
261
  log.error(`Failed to ${modelClazzName} with id ${ids}`, e);
@@ -270,7 +272,8 @@ class FromModelController {
270
272
  let read;
271
273
  try {
272
274
  log.debug(`reading ${modelClazzName} with ${this.pk} ${id}`);
273
- read = await this.persistence(ctx).read(id, ctx);
275
+ const persistence = this.persistence(ctx);
276
+ read = await persistence.read(id, ctx);
274
277
  }
275
278
  catch (e) {
276
279
  log.error(`Failed to read ${modelClazzName} with id ${id}`, e);
@@ -302,7 +305,8 @@ class FromModelController {
302
305
  try {
303
306
  log.info(`updating ${modelClazzName} with ${this.pk} ${id}`);
304
307
  const payload = JSON.parse(JSON.stringify(body));
305
- updated = await this.persistence(ctx).update(new ModelConstr({
308
+ const persistence = this.persistence(ctx);
309
+ updated = await persistence.update(new ModelConstr({
306
310
  ...payload,
307
311
  [this.pk]: id,
308
312
  }), ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"FromModelController.js","sourceRoot":"","sources":["../../src/decaf-model/FromModelController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA0D;AAC1D,6CAayB;AACzB,yCAQwB;AACxB,yEAAyE;AACzE,+CAAyD;AACzD,2DAKiC;AACjC,qDAA6D;AAC7D,uDAUsB;AACtB,oDAAiD;AACjD,kDAA2C;AAC3C,uCAKiB;AACjB,4DAA+C;AAE/C,sDAAsD;AACtD,oEAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAa,mBAAmB;aACN,QAAG,GAAG,iBAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEpE,MAAM,CAAC,cAAc,CACnB,UAA+B;QAE/B,IAAI,CAAC;YACH,OAAO,mBAAY,CAAC,UAAU,CAAC,UAAU,CAAoB,CAAC;YAC9D,6DAA6D;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,iBAAU,CAAC,QAAQ,CAAC,UAAU,CAAY,CAAC;QACpD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,+BAA+B,CACpC,WAAsC,EACtC,SAAiB,sBAAe,CAAC,KAAK;QAEtC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CACrC,mBAAmB,CAAC,+BAA+B,CACpD,CAAC;QACF,MAAM,IAAI,GACR,WAAW,YAAY,mBAAY,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QACvE,MAAM,WAAW,GAAgB,IAAI,CAAC,KAAK,CAAC;QAC5C,MAAM,YAAY,GAChB,qBAAQ,CAAC,GAAG,CACV,IAAI,CAAC,WAA0B,EAC/B,qBAAQ,CAAC,GAAG,CAAC,sBAAe,CAAC,KAAK,CAAC,CACpC,IAAI,EAAE,CAAC;QAEV,MAAM,YAAY,GAChB,qBAAQ,CAAC,GAAG,CACV,WAAW,CAAC,WAA0B,EACtC,qBAAQ,CAAC,GAAG,CAAC,uBAAW,CAAC,CAC1B,IAAI,EAAE,CAAC;QAEV,oBAAoB;QACpB,MAAM,eAAgB,SAAQ,kCAAuB;YACnD,IAAa,KAAK;gBAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACD,YAAY,aAAkC,EAAE,IAAY;gBAC1D,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;SACF;QAED,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAChE,2CAA2C;YAC3C,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;iBACtD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;iBAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;YAEb,wCAAwC;YACxC,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,UAAU,CAAQ,CAAC;YACtD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,wCAAwC,WAAW,CAAC,IAAI,wBAAwB,UAAU,EAAE,CAAC;gBAC7G,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YAED,MAAM,UAAU,GAAG,IAAA,yBAAiB,EAClC,eAAe,EACf,UAAU,EACV,OAAO,CACR,CAAC;YAEF,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,UAAU,GAAG,IAAA,wBAAgB,EACjC,UAAU,EACV,SAAS,EACT,MAAM,CAAC,UAAU,CAClB,CAAC;gBACF,IAAA,0BAAkB,EAAC,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAClE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;iBAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;YAEb,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,UAAU,CAAQ,CAAC;YACtD,MAAM,UAAU,GAAG,IAAA,yBAAiB,EAClC,eAAe,EACf,UAAU,EACV,OAAO,CACR,CAAC;YAEF,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACxE,IAAA,0BAAkB,EAAC,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAEM,AAAP,MAAM,CAAC,MAAM,CAAuB,WAAgC;QAClE,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,4BAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAA,qBAAW,EAAC,SAAS,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC;QACxC,MAAM,WAAW,GAAG,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEpE,6DAA6D;QAC7D,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,GAC/C,mBAAmB,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAE/D,GAAG,CAAC,KAAK,CAAC,kCAAkC,cAAc,EAAE,CAAC,CAAC;QAE9D,MAAM,cAAc,GAAG,mBAAmB,CAAC,+BAA+B,CACxE,WAAW,CAAC,2DAA2D;SAChC,CAAC;QAE1C,IAIM,sBAAsB,GAJ5B,MAIM,sBAAuB,SAAQ,cAAc;YAGvC,MAAM,KAAK,KAAK;gBACxB,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,IAAa,KAAK;gBAChB,OAAO,WAAW,CAAC;gBACnB,uCAAuC;YACzC,CAAC;YAED,YAAY,aAAkC;gBAC5C,KAAK,CAAC,aAAa,CAAC,CAAC;gBAZN,OAAE,GAAW,4BAAK,CAAC,EAAE,CAAC,WAAW,CAAW,CAAC;gBAa5D,GAAG,CAAC,IAAI,CACN,6CAA6C,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,SAAS,EAAE,CACpF,CAAC;YACJ,CAAC;YAED,EAAE;YACF,yEAAyE;YACzE,6EAA6E;YAC7E,0EAA0E;YAC1E,mBAAmB;YACnB,8DAA8D;YAC9D,KAAK;YACL,yBAAyB;YACzB,oEAAoE;YACpE,KAAK;YACL,eAAe;YACf,mDAAmD;YACnD,uCAAuC;YACvC,mDAAmD;YACnD,MAAM;YACN,gDAAgD;YAChD,gGAAgG;YAChG,IAAI;YASE,AAAN,KAAK,CAAC,MAAM,CAAC,GAAW,EAAgB,OAA6B;gBACnE,MAAM,EAAE,GAAG,EAAE,GAAG,CACd,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,4BAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAC3D,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CACjC,GAAc,EACd,OAAO,CAAC,SAA2B,EACnC,GAAG,CACJ,CAAC;YACJ,CAAC;YAoBK,AAAN,KAAK,CAAC,UAAU,CACA,GAAW,EACX,OAA6B;gBAE3C,MAAM,EAAE,GAAG,EAAE,GAAG,CACd,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,4BAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAC3D,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,CACrC,GAAc,EACd,OAAO,CAAC,SAA2B,EACnC,OAAkD,EAClD,GAAG,CACJ,CAAC;YACJ,CAAC;YAWK,AAAN,KAAK,CAAC,SAAS,CAAe,GAAW,EAAkB,KAAU;gBACnE,MAAM,EAAE,GAAG,EAAE,GAAG,CACd,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,4BAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,CAC/D,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAc,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACrE,CAAC;YAkBK,AAAN,KAAK,CAAC,MAAM,CACI,GAAW,EACT,KAAU,EAEZ,OAA6B;gBAE3C,MAAM,EAAE,GAAG,EAAE,GAAG,CACd,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,4BAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAC3D,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;qBACzB,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;qBACtB,MAAM,CAAC,GAAc,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;YAqCK,AAAN,KAAK,CAAC,SAAS,CACI,IAAY,EACd,IAAyB,EAC1B,OAA6B;gBAE3C,MAAM,EAAE,GAAG,EAAE,GAAG,CACd,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,sBAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CACvD,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;gBACvD,IAAI,GAAG,IAAI,CAAC,GAAG,CACb,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7C,CAAC;gBACX,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,4BAAqB,CAAC,OAAO;wBAChC,MAAM;oBACR,KAAK,4BAAqB,CAAC,OAAO;wBAChC,IAAI,CAAC,IAAI,CAAC,SAAmB,CAAC,CAAC;wBAC/B,MAAM;oBACR,KAAK,4BAAqB,CAAC,OAAO;wBAChC,IAAI,GAAG;4BACL,IAAI,CAAC,CAAC,CAAC;4BACP,SAAgB;4BAChB;gCACE,KAAK,EAAE,KAAK;gCACZ,MAAM,EAAE,MAAM;gCACd,QAAQ,EAAE,QAAQ;6BACnB;yBACF,CAAC;wBACF,MAAM;oBACR,KAAK,4BAAqB,CAAC,WAAW;wBACpC,MAAM;gBACV,CAAC;gBACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7D,CAAC;YA2BK,AAAN,KAAK,CAAC,SAAS,CAAc,IAAS;gBACpC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CACnB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,qCAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAC9D,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,GAAG,CAAC,OAAO,CAAC,gBAAgB,cAAc,EAAE,CAAC,CAAC;gBAC9C,IAAI,OAAY,CAAC;gBACjB,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAC7C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,EACnC,GAAG,CACJ,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,GAAG,CAAC,KAAK,CAAC,wBAAwB,cAAc,EAAE,EAAE,CAAU,CAAC,CAAC;oBAChE,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,GAAG,CAAC,IAAI,CACN,eAAe,cAAc,YAAa,OAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACrE,CAAC;gBACF,OAAO,OAAO,CAAC;YACjB,CAAC;YAkBK,AAAN,KAAK,CAAC,MAAM,CAAc,IAAO;gBAC/B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CACnB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,6BAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAClD,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnB,GAAG,CAAC,OAAO,CAAC,gBAAgB,cAAc,EAAE,CAAC,CAAC;gBAC9C,IAAI,OAAc,CAAC;gBACnB,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC1D,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,GAAG,CAAC,KAAK,CAAC,wBAAwB,cAAc,EAAE,EAAE,CAAU,CAAC,CAAC;oBAChE,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,GAAG,CAAC,IAAI,CACN,eAAe,cAAc,YAAa,OAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACrE,CAAC;gBACF,OAAO,OAAO,CAAC;YACjB,CAAC;YAiBK,AAAN,KAAK,CAAC,OAAO,CAAe,GAAa;gBACvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CACnB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,qCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAC5D,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,IAAI,IAAa,CAAC;gBAClB,IAAI,CAAC;oBACH,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,cAAc,KAAK,GAAG,EAAE,CAAC,CAAC;oBAC7D,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAU,EAAE,GAAG,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,GAAG,CAAC,KAAK,CAAC,aAAa,cAAc,YAAY,GAAG,EAAE,EAAE,CAAU,CAAC,CAAC;oBACpE,MAAM,CAAC,CAAC;gBACV,CAAC;gBAED,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC,CAAC;gBAClD,OAAO,IAAI,CAAC;YACd,CAAC;YAcK,AAAN,KAAK,CAAC,IAAI,CAA6B,WAA4B;gBACjE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CACnB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,6BAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAChD,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC/C,IAAI,OAAO,EAAE,KAAK,WAAW;oBAC3B,MAAM,IAAI,+BAAe,CAAC,MAAM,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;gBAEtD,IAAI,IAAW,CAAC;gBAChB,IAAI,CAAC;oBACH,GAAG,CAAC,KAAK,CAAC,WAAW,cAAc,SAAS,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC7D,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,GAAG,CAAC,KAAK,CACP,kBAAkB,cAAc,YAAY,EAAE,EAAE,EAChD,CAAU,CACX,CAAC;oBACF,MAAM,CAAC,CAAC;gBACV,CAAC;gBAED,GAAG,CAAC,IAAI,CAAC,QAAQ,cAAc,YAAa,IAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC;YA8BK,AAAN,KAAK,CAAC,SAAS,CAAc,IAAS;gBACpC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CACnB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,qCAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAC9D,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAEtB,IAAI,OAAY,CAAC;gBACjB,IAAI,CAAC;oBACH,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC,CAAC;oBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAClC,CAAC;oBACF,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACjE,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,GAAG,CAAC,KAAK,CAAC,CAAU,CAAC,CAAC;oBACtB,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;YAqBK,AAAN,KAAK,CAAC,MAAM,CACkB,WAA4B,EAC3C,IAAO;gBAEpB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CACnB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,6BAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAClD,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEnB,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC/C,IAAI,OAAO,EAAE,KAAK,WAAW;oBAC3B,MAAM,IAAI,+BAAe,CAAC,MAAM,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;gBAEtD,IAAI,OAAU,CAAC;gBACf,IAAI,CAAC;oBACH,GAAG,CAAC,IAAI,CAAC,YAAY,cAAc,SAAS,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjD,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAC1C,IAAI,WAAW,CAAC;wBACd,GAAG,OAAO;wBACV,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;qBACd,CAAC,EACF,GAAG,CACJ,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,GAAG,CAAC,KAAK,CAAC,CAAU,CAAC,CAAC;oBACtB,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;YAYK,AAAN,KAAK,CAAC,SAAS,CAAe,GAAa;gBACzC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CACnB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,qCAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAC9D,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,IAAI,IAAa,CAAC;gBAClB,IAAI,CAAC;oBACH,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,cAAc,KAAK,GAAG,EAAE,CAAC,CAAC;oBAC9D,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACzD,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,GAAG,CAAC,KAAK,CACP,oBAAoB,cAAc,YAAY,GAAG,EAAE,EACnD,CAAU,CACX,CAAC;oBACF,MAAM,CAAC,CAAC;gBACV,CAAC;gBAED,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;YAWK,AAAN,KAAK,CAAC,MAAM,CAA6B,WAA4B;gBACnE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CACnB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,6BAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAClD,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEnB,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC/C,IAAI,OAAO,EAAE,KAAK,WAAW;oBAC3B,MAAM,IAAI,+BAAe,CAAC,MAAM,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;gBAEtD,IAAI,GAAU,CAAC;gBACf,IAAI,CAAC;oBACH,GAAG,CAAC,KAAK,CACP,YAAY,cAAc,SAAS,IAAI,CAAC,EAAY,IAAI,EAAE,EAAE,CAC7D,CAAC;oBACF,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,GAAG,CAAC,KAAK,CACP,oBAAoB,cAAc,YAAY,EAAE,EAAE,EAClD,CAAU,CACX,CAAC;oBACF,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,WAAW,cAAc,YAAY,EAAE,EAAE,CAAC,CAAC;gBACpD,OAAO,GAAG,CAAC;YACb,CAAC;SACF,CAAA;QApdO;YAPL,IAAA,kCAAqB,EAAC,WAAW,EAAE,KAAK,EAAE,aAAa,CAAC;YACxD,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,YAAY,cAAc,oBAAoB,EAAE,CAAC;YACzE,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;YAClE,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAc,EAAE,CAAC;YACrE,IAAA,uBAAa,EAAC;gBACb,WAAW,EAAE,GAAG,cAAc,uBAAuB;aACtD,CAAC;YACyB,WAAA,IAAA,uBAAU,GAAE,CAAA;;;;4DAStC;QAoBK;YAlBL,IAAA,kCAAqB,EAAC,WAAW,EAAE,KAAK,EAAE,uBAAuB,CAAC;YAClE,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,YAAY,cAAc,oBAAoB,EAAE,CAAC;YACzE,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;YAClE,IAAA,kBAAQ,EAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,sCAAsC;aACpD,CAAC;YACD,IAAA,kBAAQ,EAAC;gBACR,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,qBAAc;gBACpB,WAAW,EAAE,gBAAgB;aAC9B,CAAC;YACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;YACzE,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;YACxE,IAAA,uBAAa,EAAC;gBACb,WAAW,EAAE,GAAG,cAAc,oBAAoB;aACnD,CAAC;YAEC,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;YACZ,WAAA,IAAA,uBAAU,GAAE,CAAA;;;;gEAWd;QAWK;YATL,IAAA,kCAAqB,EAAC,WAAW,EAAE,KAAK,EAAE,gBAAgB,CAAC;YAC3D,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,YAAY,cAAc,oBAAoB,EAAE,CAAC;YACzE,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;YAClE,IAAA,uBAAa,EAAC;gBACb,WAAW,EAAE,GAAG,cAAc,gBAAgB;aAC/C,CAAC;YACD,IAAA,6BAAmB,EAAC;gBACnB,WAAW,EAAE,MAAM,cAAc,0CAA0C;aAC5E,CAAC;YACe,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;YAAe,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;;;+DAKzD;QAkBK;YAhBL,IAAA,kCAAqB,EAAC,WAAW,EAAE,KAAK,EAAE,oBAAoB,CAAC;YAC/D,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,YAAY,cAAc,oBAAoB,EAAE,CAAC;YACzE,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;YAClE,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;YAC9D,IAAA,kBAAQ,EAAC;gBACR,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,qBAAc;gBACpB,WAAW,EAAE,iCAAiC;aAC/C,CAAC;YACD,IAAA,uBAAa,EAAC;gBACb,WAAW,EAAE,GAAG,cAAc,gBAAgB;aAC/C,CAAC;YACD,IAAA,6BAAmB,EAAC;gBACnB,WAAW,EAAE,MAAM,cAAc,0CAA0C;aAC5E,CAAC;YAEC,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;YACZ,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;YAEd,WAAA,IAAA,uBAAU,GAAE,CAAA;;;;4DAQd;QAqCK;YAnCL,IAAA,kCAAqB,EAAC,WAAW,EAAE,KAAK,EAAE,yBAAyB,CAAC;YACpE,IAAA,sBAAY,EAAC;gBACZ,OAAO,EAAE,oCAAoC,cAAc,GAAG;aAC/D,CAAC;YACD,IAAA,kBAAQ,EAAC;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mCAAmC;aACjD,CAAC;YACD,IAAA,kBAAQ,EAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,WAAW,EACT,kEAAkE;aACrE,CAAC;YACD,IAAA,kBAAQ,EAAC;gBACR,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,qBAAc;gBACpB,WAAW,EAAE,iCAAiC;aAC/C,CAAC;YACD,IAAA,kBAAQ,EAAC;gBACR,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,oCAAoC;aAClD,CAAC;YACD,IAAA,kBAAQ,EAAC;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,oCAAoC;aAClD,CAAC;YACD,IAAA,uBAAa,EAAC;gBACb,WAAW,EAAE,GAAG,cAAc,gBAAgB;aAC/C,CAAC;YACD,IAAA,6BAAmB,EAAC;gBACnB,WAAW,EAAE,MAAM,cAAc,0CAA0C;aAC5E,CAAC;YAEC,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;YACf,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;YACb,WAAA,IAAA,uBAAU,GAAE,CAAA;;;;+DA8Bd;QA2BK;YAzBL,IAAA,kCAAqB,EAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC;YAClD,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,gBAAgB,cAAc,GAAG,EAAE,CAAC;YAC5D,IAAA,iBAAO,EAAC;gBACP,WAAW,EAAE,eAAe,cAAc,EAAE;gBAC5C,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,IAAA,uBAAa,EAAC,WAAW,CAAC;wBAChC,kEAAkE;qBACnE;iBACF;aACF,CAAC;YACD,IAAA,4BAAkB,EAAC;gBAClB,WAAW,EAAE,GAAG,cAAc,wBAAwB;gBACtD,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,IAAA,uBAAa,EAAC,WAAW,CAAC;qBACjC;iBACF;aACF,CAAC;YACD,IAAA,+BAAqB,EAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;YACpE,IAAA,wCAA8B,EAAC;gBAC9B,WAAW,EAAE,2CAA2C;aACzD,CAAC;YACe,WAAA,IAAA,sBAAS,GAAE,CAAA;;;;+DAmB3B;QAkBK;YAhBL,IAAA,kCAAqB,EAAC,WAAW,EAAE,MAAM,CAAC;YAC1C,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,gBAAgB,cAAc,GAAG,EAAE,CAAC;YAC5D,IAAA,iBAAO,EAAC;gBACP,WAAW,EAAE,eAAe,cAAc,EAAE;gBAC5C,IAAI,EAAE,IAAA,mBAAM,EAAC,6BAAa,CAAC,MAAM,EAAE,WAAW,CAAC;aAChD,CAAC;YACD,IAAA,4BAAkB,EAAC;gBAClB,WAAW,EAAE,GAAG,cAAc,wBAAwB;gBACtD,MAAM,EAAE;oBACN,IAAI,EAAE,IAAA,uBAAa,EAAC,WAAW,CAAC;iBACjC;aACF,CAAC;YACD,IAAA,+BAAqB,EAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;YACpE,IAAA,wCAA8B,EAAC;gBAC9B,WAAW,EAAE,2CAA2C;aACzD,CAAC;YACY,WAAA,IAAA,sBAAS,GAAE,CAAA;;;;4DAgBxB;QAiBK;YAfL,IAAA,kCAAqB,EAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC;YACjD,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,cAAc,cAAc,gBAAgB,EAAE,CAAC;YACvE,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACxD,IAAA,uBAAa,EAAC;gBACb,WAAW,EAAE,GAAG,cAAc,0BAA0B;gBACxD,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,IAAA,uBAAa,EAAC,WAAW,CAAC;qBACjC;iBACF;aACF,CAAC;YACD,IAAA,6BAAmB,EAAC;gBACnB,WAAW,EAAE,MAAM,cAAc,0CAA0C;aAC5E,CAAC;YACa,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;;;;6DAe1B;QAcK;YAZL,IAAA,kCAAqB,EAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC;YAC/C,IAAA,+BAAkB,EAAC,aAAa,CAAC;YACjC,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,cAAc,cAAc,gBAAgB,EAAE,CAAC;YACvE,IAAA,uBAAa,EAAC;gBACb,WAAW,EAAE,GAAG,cAAc,0BAA0B;gBACxD,MAAM,EAAE;oBACN,IAAI,EAAE,IAAA,uBAAa,EAAC,WAAW,CAAC;iBACjC;aACF,CAAC;YACD,IAAA,6BAAmB,EAAC;gBACnB,WAAW,EAAE,MAAM,cAAc,0CAA0C;aAC5E,CAAC;YACU,WAAA,IAAA,wBAAW,EAAC,aAAa,CAAC,CAAA;;;;0DAsBrC;QA8BK;YA5BL,IAAA,kCAAqB,EAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC;YACjD,IAAA,+BAAkB,EAAC,aAAa,CAAC;YACjC,IAAA,sBAAY,EAAC;gBACZ,OAAO,EAAE,uBAAuB,cAAc,6BAA6B;aAC5E,CAAC;YACD,IAAA,iBAAO,EAAC;gBACP,WAAW,EAAE,4CAA4C,cAAc,EAAE;gBACzE,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,IAAA,uBAAa,EAAC,WAAW,CAAC;wBAChC,kEAAkE;qBACnE;iBACF;aACF,CAAC;YACD,IAAA,4BAAkB,EAAC;gBAClB,WAAW,EAAE,GAAG,cAAc,wBAAwB;gBACtD,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,IAAA,uBAAa,EAAC,WAAW,CAAC;qBACjC;iBACF;aACF,CAAC;YACD,IAAA,6BAAmB,EAAC;gBACnB,WAAW,EAAE,MAAM,cAAc,0CAA0C;aAC5E,CAAC;YACD,IAAA,+BAAqB,EAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;YACpD,WAAA,IAAA,sBAAS,GAAE,CAAA;;;;+DAiB3B;QAqBK;YAnBL,IAAA,kCAAqB,EAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC;YAC/C,IAAA,+BAAkB,EAAC,aAAa,CAAC;YACjC,IAAA,sBAAY,EAAC;gBACZ,OAAO,EAAE,uBAAuB,cAAc,6BAA6B;aAC5E,CAAC;YACD,IAAA,iBAAO,EAAC;gBACP,WAAW,EAAE,4CAA4C,cAAc,EAAE;gBACzE,MAAM,EAAE;oBACN,IAAI,EAAE,IAAA,uBAAa,EAAC,WAAW,CAAC;oBAChC,kEAAkE;iBACnE;aACF,CAAC;YACD,IAAA,uBAAa,EAAC;gBACb,WAAW,EAAE,GAAG,cAAc,wBAAwB;aACvD,CAAC;YACD,IAAA,6BAAmB,EAAC;gBACnB,WAAW,EAAE,MAAM,cAAc,0CAA0C;aAC5E,CAAC;YACD,IAAA,+BAAqB,EAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;YAElE,WAAA,IAAA,wBAAW,EAAC,aAAa,CAAC,CAAA;YAC1B,WAAA,IAAA,sBAAS,GAAE,CAAA;;;;4DA0Bb;QAYK;YAVL,IAAA,kCAAqB,EAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC;YACpD,IAAA,+BAAkB,EAAC,aAAa,CAAC;YACjC,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,cAAc,cAAc,gBAAgB,EAAE,CAAC;YACvE,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACxD,IAAA,uBAAa,EAAC;gBACb,WAAW,EAAE,GAAG,cAAc,0BAA0B;aACzD,CAAC;YACD,IAAA,6BAAmB,EAAC;gBACnB,WAAW,EAAE,MAAM,cAAc,0CAA0C;aAC5E,CAAC;YACe,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;;;;+DAkB5B;QAWK;YATL,IAAA,kCAAqB,EAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC;YAClD,IAAA,+BAAkB,EAAC,aAAa,CAAC;YACjC,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,YAAY,cAAc,gBAAgB,EAAE,CAAC;YACrE,IAAA,uBAAa,EAAC;gBACb,WAAW,EAAE,GAAG,cAAc,+BAA+B;aAC9D,CAAC;YACD,IAAA,6BAAmB,EAAC;gBACnB,WAAW,EAAE,MAAM,cAAc,0CAA0C;aAC5E,CAAC;YACY,WAAA,IAAA,wBAAW,EAAC,aAAa,CAAC,CAAA;;;;4DAwBvC;QAhgBG,sBAAsB;YAJ3B,IAAA,mBAAU,EAAC,SAAS,CAAC;YACrB,IAAA,iBAAO,EAAC,cAAc,CAAC;YACvB,IAAA,wBAAc,EAAC,WAAW,CAAC;YAC3B,IAAA,iBAAI,EAAC,WAAW,CAAC;6CAaW,6BAAmB;WAZ1C,sBAAsB,CAigB3B;QAED,OAAO,sBAA6B,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,2BAA2B,CAChC,UAA+B;QAE/B,MAAM,EAAE,GAAG,4BAAK,CAAC,EAAE,CAAC,UAAU,CAAqB,CAAC;QACpD,MAAM,QAAQ,GAAG,qBAAQ,CAAC,GAAG,CAC3B,UAAU,EACV,qBAAQ,CAAC,GAAG,CAAC,sBAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAClC,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;QAE1C,2CAA2C;QAC3C,MAAM,UAAU,GACd,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YACpD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhC,MAAM,WAAW,GAAG,qBAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,aAAa,GAAuB,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/D,OAAO;gBACL,IAAI,EAAE,GAAG;gBACT,WAAW,EAAE,qBAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC;gBAClD,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,MAAM;aACb,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI;YACJ,WAAW;YACX,aAAa;YACb,KAAK,EAAE,CAAC,GAAG,MAA8B,EAAE,EAAE,CAC3C,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAC1E,CAAC;IACJ,CAAC;;AA/pBH,kDAgqBC"}
1
+ {"version":3,"file":"FromModelController.js","sourceRoot":"","sources":["../../src/decaf-model/FromModelController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}
@@ -236,7 +236,8 @@ export class FromModelController {
236
236
  log.verbose(`creating new ${modelClazzName}`);
237
237
  let created;
238
238
  try {
239
- created = await this.persistence(ctx).create(data, ctx);
239
+ const persistence = this.persistence(ctx);
240
+ created = await persistence.create(data, ctx);
240
241
  }
241
242
  catch (e) {
242
243
  log.error(`Failed to create new ${modelClazzName}`, e);
@@ -250,7 +251,8 @@ export class FromModelController {
250
251
  let read;
251
252
  try {
252
253
  log.debug(`reading ${ids.length} ${modelClazzName}: ${ids}`);
253
- read = await this.persistence(ctx).readAll(ids, ctx);
254
+ const persistence = this.persistence(ctx);
255
+ read = await persistence.readAll(ids, ctx);
254
256
  }
255
257
  catch (e) {
256
258
  log.error(`Failed to ${modelClazzName} with id ${ids}`, e);
@@ -267,7 +269,8 @@ export class FromModelController {
267
269
  let read;
268
270
  try {
269
271
  log.debug(`reading ${modelClazzName} with ${this.pk} ${id}`);
270
- read = await this.persistence(ctx).read(id, ctx);
272
+ const persistence = this.persistence(ctx);
273
+ read = await persistence.read(id, ctx);
271
274
  }
272
275
  catch (e) {
273
276
  log.error(`Failed to read ${modelClazzName} with id ${id}`, e);
@@ -299,7 +302,8 @@ export class FromModelController {
299
302
  try {
300
303
  log.info(`updating ${modelClazzName} with ${this.pk} ${id}`);
301
304
  const payload = JSON.parse(JSON.stringify(body));
302
- updated = await this.persistence(ctx).update(new ModelConstr({
305
+ const persistence = this.persistence(ctx);
306
+ updated = await persistence.update(new ModelConstr({
303
307
  ...payload,
304
308
  [this.pk]: id,
305
309
  }), ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"FromModelController.js","sourceRoot":"","sources":["../../../src/decaf-model/FromModelController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FromModelController.js","sourceRoot":"","sources":["../../../src/decaf-model/FromModelController.ts"],"names":[],"mappings":"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"}
@@ -37,5 +37,5 @@ export * from "./utils";
37
37
  * @constant
38
38
  * @type {string}
39
39
  */
40
- export declare const VERSION = "0.2.5";
40
+ export declare const VERSION = "0.2.6";
41
41
  export declare const PACKAGE_NAME = "@decaf-ts/for-nest";
package/lib/esm/index.js CHANGED
@@ -38,7 +38,7 @@ export * from "./utils.js";
38
38
  * @constant
39
39
  * @type {string}
40
40
  */
41
- export const VERSION = "0.2.5";
41
+ export const VERSION = "0.2.6";
42
42
  export const PACKAGE_NAME = "@decaf-ts/for-nest";
43
43
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
44
44
  //# sourceMappingURL=index.js.map
package/lib/index.cjs CHANGED
@@ -55,7 +55,7 @@ __exportStar(require("./utils.cjs"), exports);
55
55
  * @constant
56
56
  * @type {string}
57
57
  */
58
- exports.VERSION = "0.2.5";
58
+ exports.VERSION = "0.2.6";
59
59
  exports.PACKAGE_NAME = "@decaf-ts/for-nest";
60
60
  decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
61
61
  //# sourceMappingURL=index.js.map
package/lib/index.d.ts CHANGED
@@ -37,5 +37,5 @@ export * from "./utils";
37
37
  * @constant
38
38
  * @type {string}
39
39
  */
40
- export declare const VERSION = "0.2.5";
40
+ export declare const VERSION = "0.2.6";
41
41
  export declare const PACKAGE_NAME = "@decaf-ts/for-nest";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/for-nest",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "description": "NestJS decaf integration",
5
5
  "type": "module",
6
6
  "exports": {