@decaf-ts/for-nest 0.2.8 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/for-nest.cjs CHANGED
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,r,o,a,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 o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{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(o,a)=>{const i=Reflect.getMetadata(g.API_MODEL_PROPERTIES_ARRAY,o)||[],n=":"+a;i.includes(n)||Reflect.defineMetadata(g.API_MODEL_PROPERTIES_ARRAY,[...i,":"+a],o);const c=Reflect.getMetadata(e,o,a);if(c){const i=s.pickBy(t,s.negate(_)),n=r?{...c,...i}:{...i,...c};Reflect.defineMetadata(e,n,o,a)}else{const r=o?.constructor?._OPENAPI_METADATA_FACTORY?.()[a]?.type??Reflect.getMetadata("design:type",o,a);Reflect.defineMetadata(e,{type:r,...s.pickBy(t,s.negate(_))},o,a)}}}function b(e={}){return R(e)}function R(e={},t=!0){const[r,o]=((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((a=e={...e,type:r,isArray:o}).isArray&&"enum"in a&&void 0!==a.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 a;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 O(e,r){const{handler:o,args:a}=t.Metadata.get(e,c.OperationKeys.REFLECT+c.OperationKeys.BLOCK)||{};return!!o&&(o(...a,r)??!1)}function w(e,r,a){const i={GET:[c.OperationKeys.READ,o.Get],POST:[c.OperationKeys.CREATE,o.Post],PUT:[c.OperationKeys.UPDATE,o.Put],PATCH:[c.OperationKeys.UPDATE,o.Patch],DELETE:[c.OperationKeys.DELETE,o.Delete]},[s,p]=i[r];return O(e,s)?t.apply(n.ApiExcludeEndpoint()):t.apply(p(a))}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 o.applyDecorators(...t)}t.Decoration.for(r.InjectablesKeys.INJECTABLE).extend({decorator:(e,t)=>(t=t||("object"==typeof e?Object.assign(e,r.DefaultInjectablesConfig):r.DefaultInjectablesConfig),o.Injectable({scope:t.singleton?o.Scope.DEFAULT:o.Scope.REQUEST,durable:!t.singleton||void 0}))}).apply(),t.Decoration.for(r.InjectablesKeys.INJECT).extend({decorator:(e,t)=>(t,r,a)=>o.Inject(e||t)(t,r,a)}).apply(),t.Decoration.for(a.ValidationKeys.REQUIRED).extend(b({required:!0})).apply(),t.Decoration.for(a.ValidationKeys.MAX).extend({decorator:e=>b({maximum:e})}).apply(),t.Decoration.for(a.ValidationKeys.MIN).extend({decorator:e=>b({minimum:e})}).apply(),t.Decoration.for(a.ValidationKeys.MAX_LENGTH).extend({decorator:e=>b({maxLength:e})}).apply(),t.Decoration.for(a.ValidationKeys.MIN_LENGTH).extend({decorator:e=>b({minLength:e})}).apply(),t.Decoration.for(a.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(a.ValidationKeys.DATE).extend({decorator:e=>b({type:String,format:"date-time"})}).apply(),t.Decoration.for(a.ValidationKeys.ENUM).extend({decorator:e=>b({enum:Array.isArray(e)?e:Object.values(e)})}).apply(),t.Decoration.for(a.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=o.createParamDecorator((e,t)=>{const r=t.switchToHttp().getRequest().body,a=t.getClass(),i=a.class;if(!i)throw new o.InternalServerErrorException(`ModelConstructor not found on controller ${a.name}. Ensure the controller was created via FromModelController.`);return r?Array.isArray(r)?r.map(e=>new i(e)):new i(r):r}),v=o.createParamDecorator((e,t)=>{const r=t.switchToHttp().getRequest(),o=r?.params??{},a=e??Object.keys(o),i=a.map(e=>o[e]);return{raw:o,valuesInOrder:i,keysInOrder:a}});function S(e=[]){const t=e.map(e=>e.name);return v(t)}const C=o.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:o.Get,POST:o.Post,PUT:o.Put,PATCH:o.Patch,DELETE:o.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"),j="auth:meta",L="AuthRole",q=Symbol("decaf:context");function B(t){const r="string"==typeof t?t:t.name;return o.applyDecorators(o.SetMetadata(j,r),o.UseInterceptors(e.AuthInterceptor))}e.AuthInterceptor=class{constructor(e,t){this.reflector=e,this.authHandler=t}async intercept(e,t){const r=this.reflector.get(j,e.getHandler())??this.reflector.get(j,e.getClass());return r&&this.authHandler&&await this.authHandler.authorize(e,r),t.handle()}},e.AuthInterceptor=p.__decorate([o.Injectable(),p.__param(1,o.Optional()),p.__param(1,o.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 o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new i.AuthorizationError("Unauthenticated");if(!t.Metadata.get(a.Model.get(r),L).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([o.Injectable({scope:o.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([o.Injectable({scope:o.Scope.REQUEST}),p.__param(0,o.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,a=!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&&a&&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),o.Query()]}}function G(e,t,r,o){const a=e?.prototype??e;o.method.forEach(e=>e(a,t,r)),o.params?.forEach((e,r)=>e(a,t,r))}function z(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:a,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,a,s,n)}catch(t){throw o.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,o){const a=this.clientContext.ctx;return e=e.filter(e=>void 0!==e),i.ContextualLoggedClass.logCtx.call(this,t,o||{},r,...e,a)}}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 o=this.clientContext.ctx;let a={};try{a=o.get("overrides")}catch(e){}const s=this.persistence(o);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,a).then(e=>e):(c=n.logCtx(e,t,!1,a),c)}}function J(e,r){if(!i.TransactionOperationKeys.includes(e))return r;const o=[c.OperationKeys.UPDATE,c.BulkCrudOperationKeys.UPDATE_ALL].includes(e),s=t.Metadata.properties(r)||[],p=a.Model.relations(r)||[];let d=s.filter(e=>a.Model.generated(r,e));o&&(d=d.filter(e=>e!==a.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 o of p){let i=t.Metadata.allowedTypes(r,o);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 ${o} not found`);if(a.Model.get(i.name)){const s=t.Metadata.validationFor(r,o);h(o,J(e,i),!!s[a.ValidationKeys.LIST])}}return u}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),i.Context.prototype.toResponse=function(e){const t=this.pending();return t&&e.header("x-pending-task",JSON.stringify(t)),e};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 o=X.log.for(X.createQueryRoutesFromRepository),a=e instanceof i.ModelService?e.repo:e,s=a.class,n=t.Metadata.get(a.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("/"),a=z(e);if(!a){const t=`Invalid or missing handler for model ${s.name} on decorated method ${e}`;throw o.error(t),Error(t)}const i=Q(p,e,a);i&&G(p,e,i,H(e,r,t.httpMethod))}for(const[e,t]of Object.entries(n)){const o=[r,e,...(t.fields??[]).map(e=>":"+e)].filter(e=>e&&e.trim()).join("/"),a=Q(p,e,z(e));a&&G(p,e,a,H(e,o,"GET",!0))}return p}static create(t){const r=X.log.for(X.create),s=a.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=a.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:o}=(await this.logCtx([],i.PreparedStatementKeys.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.PersistenceKeys.STATEMENT,!0)).for(this.statement),{direction:a,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(a);break;case i.PreparedStatementKeys.PAGE_BY:t=[t[0],a,{limit:n,offset:s,bookmark:c}];case i.PreparedStatementKeys.FIND_ONE_BY:}return this.persistence(o).statement(e,...t,o)}async createAll(e,r){const{ctx:o,log:a}=(await this.logCtx([],c.BulkCrudOperationKeys.CREATE_ALL,!0)).for(this.createAll);let i;a.verbose("creating new "+u);try{i=await this.persistence(o).createAll(e.map(e=>new t(e)),o)}catch(e){throw a.error("Failed to create new "+u,e),e}return a.info(`created new ${u} with id ${i[this.pk]}`),o.toResponse(r),i}async create(e,t){const{ctx:r,log:o}=(await this.logCtx([],c.OperationKeys.CREATE,!0)).for(this.create);let a;o.verbose("creating new "+u);try{const t=this.persistence(r);a=await t.create(e,r)}catch(e){throw o.error("Failed to create new "+u,e),e}return o.info(`created new ${u} with id ${a[this.pk]}`),r.toResponse(t),a}async readAll(e){const{ctx:t,log:r}=(await this.logCtx([],c.BulkCrudOperationKeys.READ_ALL,!0)).for(this.readAll);let o;try{r.debug(`reading ${e.length} ${u}: ${e}`);const a=this.persistence(t);o=await a.readAll(e,t)}catch(t){throw r.error(`Failed to ${u} with id ${e}`,t),t}return r.info(`read ${o.length} ${u}`),o}async read(e){const{ctx:t,log:r}=(await this.logCtx([],c.OperationKeys.READ,!0)).for(this.read),o=y(...e.valuesInOrder);if(void 0===o)throw new c.ValidationError(`No ${this.pk} provided`);let a;try{r.debug(`reading ${u} with ${this.pk} ${o}`);const e=this.persistence(t);a=await e.read(o,t)}catch(e){throw r.error(`Failed to read ${u} with id ${o}`,e),e}return r.info(`read ${u} with id ${a[this.pk]}`),a}async updateAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],c.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAll);let a;try{o.info(`updating ${e.length} ${u}`);const t=e.map(e=>JSON.parse(JSON.stringify(e)));a=await this.persistence(r).updateAll(t,r)}catch(e){throw o.error(e),e}return r.toResponse(t),a}async update(e,r,o){const{ctx:a,log:i}=(await this.logCtx([],c.OperationKeys.UPDATE,!0)).for(this.update),s=y(...e.valuesInOrder);if(void 0===s)throw new c.ValidationError(`No ${this.pk} provided`);let n;try{i.info(`updating ${u} with ${this.pk} ${s}`);const e=JSON.parse(JSON.stringify(r)),o=this.persistence(a);n=await o.update(new t({...e,[this.pk]:s}),a)}catch(e){throw i.error(e),e}return a.toResponse(o),n}async deleteAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],c.BulkCrudOperationKeys.DELETE_ALL,!0)).for(this.deleteAll);let a;try{o.debug(`deleting ${e.length} ${u}: ${e}`),a=await this.persistence(r).deleteAll(e,r)}catch(t){throw o.error(`Failed to delete ${u} with id ${e}`,t),t}return o.info(`deleted ${a.length} ${u}`),r.toResponse(t),a}async delete(e,t){const{ctx:r,log:o}=(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 i;try{o.debug(`deleting ${u} with ${this.pk} ${a}`),i=await this.persistence(r).delete(a,r)}catch(e){throw o.error(`Failed to delete ${u} with id ${a}`,e),e}return o.info(`deleted ${u} with id ${a}`),r.toResponse(t),i}};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,o.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,o.Param("key")),p.__param(1,o.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,o.Param("key")),p.__param(1,o.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,o.Param("method")),p.__param(1,o.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.__param(1,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array,Object]),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.__param(1,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object,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,o.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.__param(1,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array,Object]),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.__param(2,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object,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,o.Query("ids")),p.__param(1,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array,Object]),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.__param(1,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"delete",null),A=p.__decorate([o.Controller(d),n.ApiTags(u),n.ApiExtraModels(t),B(t),p.__metadata("design:paramtypes",[e.DecafRequestContext])],A),A}static getRouteParametersFromModel(e){const r=a.Model.pk(e),o=t.Metadata.get(e,t.Metadata.key(c.DBKeys.COMPOSED,r)),i=o?.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)=>o?.separator?e.join(o.separator):e.join("")}}}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 o of r)try{const r=i.Adapter.transformerFor(o),a=await r.from(e);Object.assign(t.overrides,a)}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(),o=e.switchToHttp().getResponse(),a=await this.contextualize(r);return this.requestContext.applyCtx(a),await this.executor.exec(r,o),t.handle()}},e.DecafRequestHandlerInterceptor=p.__decorate([o.Injectable({scope:o.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 a=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,o={}){const a=this.log.for(this.forRoot);a.info("Generating controllers for flavour...");const s=i.Adapter.models(t);let n=[];o.autoServices&&(a.info("Auto-services enabled. Initializing service generation."),n=this.createModelServices(s),a.info(`Auto-services completed. ${n.length} services initialized.`));const c=s.map(X.create);return a.info(`Generated ${c.length} controllers`),{module:r,controllers:c,providers:[{provide:$,useFactory:()=>o.handlers?.map(e=>(a.info("Registered request handler: "+e.name),new e))??[]},e.DecafRequestContext,e.DecafHandlerExecutor,{provide:d.APP_INTERCEPTOR,useClass:e.DecafRequestHandlerInterceptor},...n]}}};return a=r=p.__decorate([o.Module({})],a),Object.assign(a,"name",{value:"DecafModule"+t}),a}class te extends i.ForbiddenError{constructor(e){super(e,te.name)}}e.DecafExceptionFilter=class{catch(e,t){const r=t.switchToHttp(),o=r.getResponse(),a=r.getRequest(),i="production"===l.LoggedEnvironment.env;e instanceof c.BaseError||(e=new c.InternalError(e.message)),o.status(e.code).json({status:e.code,error:i?e.name:e.message,timestamp:(new Date).toISOString(),path:a.url,method:a.method})}},e.DecafExceptionFilter=p.__decorate([o.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 oe{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),o=u.readFileSync(r,{encoding:"base64"});return t?"data:image/png;base64,"+o:o}}class ae{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 oe({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 o=this._persistence.client;for(let t=0;t<o.length;t++){const r=e.conf[t];let[,,a]=r;if(!a){const e=i.Adapter.transformerFor(o[t].flavour);if(!e)throw new c.InternalError(`No transformer found for flavour ${o[t].flavour}. you should either @requestToContextTransformer or provide a transformer in the config`);a=e instanceof W?e:new e}Z(o[t].flavour)(a)}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:o.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([o.Global(),o.Module({}),p.__param(0,o.Inject(I)),p.__metadata("design:paramtypes",[Object,d.ModuleRef])],se),e.DecafModule=ne=class{static async forRootAsync(e){const{autoControllers:t,autoServices:r,handlers:o}=e,a=(await se.bootPersistence(e)).map(e=>e.flavour),i=[se.forRoot(e)];return t&&a.forEach(e=>{i.push(ee(e).forRoot(e,{autoServices:r,handlers:o}))}),{module:ne,imports:i}}},e.DecafModule=ne=p.__decorate([o.Module({})],e.DecafModule);const ce="##VERSION##",pe="##PACKAGE##";t.Metadata.registerLibrary(pe,ce),e.AUTH_HANDLER=N,e.AUTH_META_KEY=j,e.ApiOperationFromModel=w,e.ApiParamsFromModel=D,e.ApiProperty=b,e.Auth=B,e.AuthRole=L,e.BulkApiOperationFromModel=(e,r,a)=>{const i={GET:[c.BulkCrudOperationKeys.READ_ALL,o.Get],POST:[c.BulkCrudOperationKeys.CREATE_ALL,o.Post],PUT:[c.BulkCrudOperationKeys.UPDATE_ALL,o.Put],PATCH:[c.BulkCrudOperationKeys.UPDATE_ALL,o.Patch],DELETE:[c.BulkCrudOperationKeys.DELETE_ALL,o.Delete]},[s,p]=i[r];return O(e,s)?t.apply(n.ApiExcludeEndpoint()):t.apply(p(a))},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 o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new i.AuthorizationError("Unauthenticated");const n=t.Metadata.get(a.Model.get(r),L);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 o.Logger("NestBootstrap")),this._logger}static initialize(e){return this.app=e,this}static enableLogger(e){return this._logger=e||new o.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()),o={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(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 ae(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(L,e),e.SwaggerBuilder=ae,e.UseDecafFilter=()=>o.UseFilters(new e.DecafExceptionFilter),e.VERSION=ce,e.createApiPropertyDecorator=R,e.createPropertyDecorator=P,e.getEnumType=E,e.getEnumValues=A,e.getModuleFor=ee,e.isOperationBlocked=O,e.isUndefined=_,e.repoForModel=e=>{const t=a.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 o=k;return t.Decoration.for(o).define({decorator:()=>(a,i,s)=>{const n={path:r,httpMethod:e,handler:s};return t.apply(t.methodMetadata(t.Metadata.key(o,i),n))(a,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,o,a,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 o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{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(o,a)=>{const i=Reflect.getMetadata(g.API_MODEL_PROPERTIES_ARRAY,o)||[],n=":"+a;i.includes(n)||Reflect.defineMetadata(g.API_MODEL_PROPERTIES_ARRAY,[...i,":"+a],o);const c=Reflect.getMetadata(e,o,a);if(c){const i=s.pickBy(t,s.negate(_)),n=r?{...c,...i}:{...i,...c};Reflect.defineMetadata(e,n,o,a)}else{const r=o?.constructor?._OPENAPI_METADATA_FACTORY?.()[a]?.type??Reflect.getMetadata("design:type",o,a);Reflect.defineMetadata(e,{type:r,...s.pickBy(t,s.negate(_))},o,a)}}}function b(e={}){return R(e)}function R(e={},t=!0){const[r,o]=((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((a=e={...e,type:r,isArray:o}).isArray&&"enum"in a&&void 0!==a.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 a;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 O(e,r){const{handler:o,args:a}=t.Metadata.get(e,c.OperationKeys.REFLECT+c.OperationKeys.BLOCK)||{};return!!o&&(o(...a,r)??!1)}function w(e,r,a){const i={GET:[c.OperationKeys.READ,o.Get],POST:[c.OperationKeys.CREATE,o.Post],PUT:[c.OperationKeys.UPDATE,o.Put],PATCH:[c.OperationKeys.UPDATE,o.Patch],DELETE:[c.OperationKeys.DELETE,o.Delete]},[s,p]=i[r];return O(e,s)?t.apply(n.ApiExcludeEndpoint()):t.apply(p(a))}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 o.applyDecorators(...t)}t.Decoration.for(r.InjectablesKeys.INJECTABLE).extend({decorator:(e,t)=>(t=t||("object"==typeof e?Object.assign(e,r.DefaultInjectablesConfig):r.DefaultInjectablesConfig),o.Injectable({scope:t.singleton?o.Scope.DEFAULT:o.Scope.REQUEST,durable:!t.singleton||void 0}))}).apply(),t.Decoration.for(r.InjectablesKeys.INJECT).extend({decorator:(e,t)=>(t,r,a)=>o.Inject(e||t)(t,r,a)}).apply(),t.Decoration.for(a.ValidationKeys.REQUIRED).extend(b({required:!0})).apply(),t.Decoration.for(a.ValidationKeys.MAX).extend({decorator:e=>b({maximum:e})}).apply(),t.Decoration.for(a.ValidationKeys.MIN).extend({decorator:e=>b({minimum:e})}).apply(),t.Decoration.for(a.ValidationKeys.MAX_LENGTH).extend({decorator:e=>b({maxLength:e})}).apply(),t.Decoration.for(a.ValidationKeys.MIN_LENGTH).extend({decorator:e=>b({minLength:e})}).apply(),t.Decoration.for(a.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(a.ValidationKeys.DATE).extend({decorator:e=>b({type:String,format:"date-time"})}).apply(),t.Decoration.for(a.ValidationKeys.ENUM).extend({decorator:e=>b({enum:Array.isArray(e)?e:Object.values(e)})}).apply(),t.Decoration.for(a.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=o.createParamDecorator((e,t)=>{const r=t.switchToHttp().getRequest().body,a=t.getClass(),i=a.class;if(!i)throw new o.InternalServerErrorException(`ModelConstructor not found on controller ${a.name}. Ensure the controller was created via FromModelController.`);return r?Array.isArray(r)?r.map(e=>new i(e)):new i(r):r}),v=o.createParamDecorator((e,t)=>{const r=t.switchToHttp().getRequest(),o=r?.params??{},a=e??Object.keys(o),i=a.map(e=>o[e]);return{raw:o,valuesInOrder:i,keysInOrder:a}});function S(e=[]){const t=e.map(e=>e.name);return v(t)}const C=o.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:o.Get,POST:o.Post,PUT:o.Put,PATCH:o.Patch,DELETE:o.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"),j="auth:meta",L="AuthRole",q=Symbol("decaf:context");function B(t){const r="string"==typeof t?t:t.name;return o.applyDecorators(o.SetMetadata(j,r),o.UseInterceptors(e.AuthInterceptor))}e.AuthInterceptor=class{constructor(e,t){this.reflector=e,this.authHandler=t}async intercept(e,t){const r=this.reflector.get(j,e.getHandler())??this.reflector.get(j,e.getClass());return r&&this.authHandler&&await this.authHandler.authorize(e,r),t.handle()}},e.AuthInterceptor=p.__decorate([o.Injectable(),p.__param(1,o.Optional()),p.__param(1,o.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 o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new i.AuthorizationError("Unauthenticated");if(!t.Metadata.get(a.Model.get(r),L).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([o.Injectable({scope:o.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([o.Injectable({scope:o.Scope.REQUEST}),p.__param(0,o.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,a=!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&&a&&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),o.Query()]}}function G(e,t,r,o){const a=e?.prototype??e;o.method.forEach(e=>e(a,t,r)),o.params?.forEach((e,r)=>e(a,t,r))}function z(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:a,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,a,s,n)}catch(t){throw o.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,o){const a=this.clientContext.ctx;return e=e.filter(e=>void 0!==e),i.ContextualLoggedClass.logCtx.call(this,t,o||{},r,...e,a)}}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 o=this.clientContext.ctx;let a={};try{a=o.get("overrides")}catch(e){}const s=this.persistence(o);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,a).then(e=>e):(c=n.logCtx(e,t,!1,a),c)}}function J(e,r){if(!i.TransactionOperationKeys.includes(e))return r;const o=[c.OperationKeys.UPDATE,c.BulkCrudOperationKeys.UPDATE_ALL].includes(e),s=t.Metadata.properties(r)||[],p=a.Model.relations(r)||[];let d=s.filter(e=>a.Model.generated(r,e));o&&(d=d.filter(e=>e!==a.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 o of p){let i=t.Metadata.allowedTypes(r,o);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 ${o} not found`);if(a.Model.get(i.name)){const s=t.Metadata.validationFor(r,o);h(o,J(e,i),!!s[a.ValidationKeys.LIST])}}return u}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),i.Context.prototype.toResponse=function(e){const t=this.pending();return t&&e.header("x-pending-task",JSON.stringify(t)),e};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 o=X.log.for(X.createQueryRoutesFromRepository),a=e instanceof i.ModelService?e.repo:e,s=a.class,n=t.Metadata.get(a.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("/"),a=z(e);if(!a){const t=`Invalid or missing handler for model ${s.name} on decorated method ${e}`;throw o.error(t),Error(t)}const i=Q(p,e,a);i&&G(p,e,i,H(e,r,t.httpMethod))}for(const[e,t]of Object.entries(n)){const o=[r,e,...(t.fields??[]).map(e=>":"+e)].filter(e=>e&&e.trim()).join("/"),a=Q(p,e,z(e));a&&G(p,e,a,H(e,o,"GET",!0))}return p}static create(t){const r=X.log.for(X.create),s=a.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=a.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:o}=(await this.logCtx([],i.PreparedStatementKeys.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.PersistenceKeys.STATEMENT,!0)).for(this.statement),{direction:a,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(a);break;case i.PreparedStatementKeys.PAGE_BY:t=[t[0],a,{limit:n,offset:s,bookmark:c}];case i.PreparedStatementKeys.FIND_ONE_BY:}return this.persistence(o).statement(e,...t,o)}async createAll(e,r){const{ctx:o,log:a}=(await this.logCtx([],c.BulkCrudOperationKeys.CREATE_ALL,!0)).for(this.createAll);let i;a.verbose("creating new "+u);try{i=await this.persistence(o).createAll(e.map(e=>new t(e)),o)}catch(e){throw a.error("Failed to create new "+u,e),e}return a.info(`created new ${u} with id ${i[this.pk]}`),o.toResponse(r),i}async create(e,t){const{ctx:r,log:o}=(await this.logCtx([],c.OperationKeys.CREATE,!0)).for(this.create);let a;o.verbose("creating new "+u);try{const t=this.persistence(r);a=await t.create(e,r)}catch(e){throw o.error("Failed to create new "+u,e),e}return o.info(`created new ${u} with id ${a[this.pk]}`),r.toResponse(t),a}async readAll(e){const{ctx:t,log:r}=(await this.logCtx([],c.BulkCrudOperationKeys.READ_ALL,!0)).for(this.readAll);let o;try{r.debug(`reading ${e.length} ${u}: ${e}`);const a=this.persistence(t);o=await a.readAll(e,t)}catch(t){throw r.error(`Failed to ${u} with id ${e}`,t),t}return r.info(`read ${o.length} ${u}`),o}async read(e){const{ctx:t,log:r}=(await this.logCtx([],c.OperationKeys.READ,!0)).for(this.read),o=y(...e.valuesInOrder);if(void 0===o)throw new c.ValidationError(`No ${this.pk} provided`);let a;try{r.debug(`reading ${u} with ${this.pk} ${o}`);const e=this.persistence(t);a=await e.read(o,t)}catch(e){throw r.error(`Failed to read ${u} with id ${o}`,e),e}return r.info(`read ${u} with id ${a[this.pk]}`),a}async updateAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],c.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAll);let a;try{o.info(`updating ${e.length} ${u}`),a=await this.persistence(r).updateAll(e,r)}catch(e){throw o.error(e),e}return r.toResponse(t),a}async update(e,r,o){const{ctx:a,log:i}=(await this.logCtx([],c.OperationKeys.UPDATE,!0)).for(this.update),s=y(...e.valuesInOrder);if(void 0===s)throw new c.ValidationError(`No ${this.pk} provided`);let n;try{i.info(`updating ${u} with ${this.pk} ${s}`);const e=JSON.parse(JSON.stringify(r)),o=this.persistence(a);n=await o.update(new t({...e,[this.pk]:s}),a)}catch(e){throw i.error(e),e}return a.toResponse(o),n}async deleteAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],c.BulkCrudOperationKeys.DELETE_ALL,!0)).for(this.deleteAll);let a;try{o.debug(`deleting ${e.length} ${u}: ${e}`),a=await this.persistence(r).deleteAll(e,r)}catch(t){throw o.error(`Failed to delete ${u} with id ${e}`,t),t}return o.info(`deleted ${a.length} ${u}`),r.toResponse(t),a}async delete(e,t){const{ctx:r,log:o}=(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 i;try{o.debug(`deleting ${u} with ${this.pk} ${a}`),i=await this.persistence(r).delete(a,r)}catch(e){throw o.error(`Failed to delete ${u} with id ${a}`,e),e}return o.info(`deleted ${u} with id ${a}`),r.toResponse(t),i}};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,o.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,o.Param("key")),p.__param(1,o.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,o.Param("key")),p.__param(1,o.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,o.Param("method")),p.__param(1,o.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.__param(1,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array,Object]),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.__param(1,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object,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,o.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.__param(1,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array,Object]),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.__param(2,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object,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,o.Query("ids")),p.__param(1,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Array,Object]),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.__param(1,o.Response({passthrough:!0})),p.__metadata("design:type",Function),p.__metadata("design:paramtypes",[Object,Object]),p.__metadata("design:returntype",Promise)],A.prototype,"delete",null),A=p.__decorate([o.Controller(d),n.ApiTags(u),n.ApiExtraModels(t),B(t),p.__metadata("design:paramtypes",[e.DecafRequestContext])],A),A}static getRouteParametersFromModel(e){const r=a.Model.pk(e),o=t.Metadata.get(e,t.Metadata.key(c.DBKeys.COMPOSED,r)),i=o?.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)=>o?.separator?e.join(o.separator):e.join("")}}}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 o of r)try{const r=i.Adapter.transformerFor(o),a=await r.from(e);Object.assign(t.overrides,a)}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(),o=e.switchToHttp().getResponse(),a=await this.contextualize(r);return this.requestContext.applyCtx(a),await this.executor.exec(r,o),t.handle()}},e.DecafRequestHandlerInterceptor=p.__decorate([o.Injectable({scope:o.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 a=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,o={}){const a=this.log.for(this.forRoot);a.info("Generating controllers for flavour...");const s=i.Adapter.models(t);let n=[];o.autoServices&&(a.info("Auto-services enabled. Initializing service generation."),n=this.createModelServices(s),a.info(`Auto-services completed. ${n.length} services initialized.`));const c=s.map(X.create);return a.info(`Generated ${c.length} controllers`),{module:r,controllers:c,providers:[{provide:$,useFactory:()=>o.handlers?.map(e=>(a.info("Registered request handler: "+e.name),new e))??[]},e.DecafRequestContext,e.DecafHandlerExecutor,{provide:d.APP_INTERCEPTOR,useClass:e.DecafRequestHandlerInterceptor},...n]}}};return a=r=p.__decorate([o.Module({})],a),Object.assign(a,"name",{value:"DecafModule"+t}),a}class te extends i.ForbiddenError{constructor(e){super(e,te.name)}}e.DecafExceptionFilter=class{catch(e,t){const r=t.switchToHttp(),o=r.getResponse(),a=r.getRequest(),i="production"===l.LoggedEnvironment.env;e instanceof c.BaseError||(e=new c.InternalError(e.message)),o.status(e.code).json({status:e.code,error:i?e.name:e.message,timestamp:(new Date).toISOString(),path:a.url,method:a.method})}},e.DecafExceptionFilter=p.__decorate([o.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 oe{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),o=u.readFileSync(r,{encoding:"base64"});return t?"data:image/png;base64,"+o:o}}class ae{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 oe({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 o=this._persistence.client;for(let t=0;t<o.length;t++){const r=e.conf[t];let[,,a]=r;if(!a){const e=i.Adapter.transformerFor(o[t].flavour);if(!e)throw new c.InternalError(`No transformer found for flavour ${o[t].flavour}. you should either @requestToContextTransformer or provide a transformer in the config`);a=e instanceof W?e:new e}Z(o[t].flavour)(a)}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:o.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([o.Global(),o.Module({}),p.__param(0,o.Inject(I)),p.__metadata("design:paramtypes",[Object,d.ModuleRef])],se),e.DecafModule=ne=class{static async forRootAsync(e){const{autoControllers:t,autoServices:r,handlers:o}=e,a=(await se.bootPersistence(e)).map(e=>e.flavour),i=[se.forRoot(e)];return t&&a.forEach(e=>{i.push(ee(e).forRoot(e,{autoServices:r,handlers:o}))}),{module:ne,imports:i}}},e.DecafModule=ne=p.__decorate([o.Module({})],e.DecafModule);const ce="##VERSION##",pe="##PACKAGE##";t.Metadata.registerLibrary(pe,ce),e.AUTH_HANDLER=N,e.AUTH_META_KEY=j,e.ApiOperationFromModel=w,e.ApiParamsFromModel=D,e.ApiProperty=b,e.Auth=B,e.AuthRole=L,e.BulkApiOperationFromModel=(e,r,a)=>{const i={GET:[c.BulkCrudOperationKeys.READ_ALL,o.Get],POST:[c.BulkCrudOperationKeys.CREATE_ALL,o.Post],PUT:[c.BulkCrudOperationKeys.UPDATE_ALL,o.Put],PATCH:[c.BulkCrudOperationKeys.UPDATE_ALL,o.Patch],DELETE:[c.BulkCrudOperationKeys.DELETE_ALL,o.Delete]},[s,p]=i[r];return O(e,s)?t.apply(n.ApiExcludeEndpoint()):t.apply(p(a))},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 o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new i.AuthorizationError("Unauthenticated");const n=t.Metadata.get(a.Model.get(r),L);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 o.Logger("NestBootstrap")),this._logger}static initialize(e){return this.app=e,this}static enableLogger(e){return this._logger=e||new o.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()),o={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(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 ae(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(L,e),e.SwaggerBuilder=ae,e.UseDecafFilter=()=>o.UseFilters(new e.DecafExceptionFilter),e.VERSION=ce,e.createApiPropertyDecorator=R,e.createPropertyDecorator=P,e.getEnumType=E,e.getEnumValues=A,e.getModuleFor=ee,e.isOperationBlocked=O,e.isUndefined=_,e.repoForModel=e=>{const t=a.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 o=k;return t.Decoration.for(o).define({decorator:()=>(a,i,s)=>{const n={path:r,httpMethod:e,handler:s};return t.apply(t.methodMetadata(t.Metadata.key(o,i),n))(a,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/overrides/overrides.ts","../src/decaf-model/FromModelController.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","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","core","Context","toResponse","pending","header","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","resp","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","Response","passthrough","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","from","Set","separator","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","flavour","transformer","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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"}
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/overrides/overrides.ts","../src/decaf-model/FromModelController.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","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","core","Context","toResponse","pending","header","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","resp","CREATE_ALL","created","verbose","readAll","ids","READ_ALL","read","routeParams","id","ValidationError","updateAll","updated","update","payload","parse","deleteAll","DELETE_ALL","delete","del","Param","ApiNotFoundResponse","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Response","passthrough","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","from","Set","separator","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","flavour","transformer","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 s,metadata as i}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 b,SetMetadata as E,UseInterceptors as A,Query as P,Param as v,Response as T,Controller as R,Module as O,Catch as x,UseFilters as $,Logger as S,Global as _}from"@nestjs/common";import{ValidationKeys as C,Model as I}from"@decaf-ts/decorator-validation";import{PersistenceKeys as k,AuthorizationError as N,OrderDirection as L,ModelService as D,Service as j,ContextualLoggedClass as F,Repository as M,TransactionOperationKeys as q,Adapter as B,Context as U,PreparedStatementKeys as G,DefaultAdapterFlags as H,ForbiddenError as z,PersistenceService as Y}from"@decaf-ts/core";import{isArray as J,isString as Q,pickBy as K,negate as X}from"lodash";import{ApiExcludeEndpoint as V,ApiParam as W,ApiQuery as Z,ApiOperation as ee,ApiOkResponse as te,ApiNoContentResponse as re,OmitType as oe,ApiNotFoundResponse as se,ApiBody as ie,getSchemaPath as ne,ApiCreatedResponse as ae,ApiBadRequestResponse as ce,ApiUnprocessableEntityResponse as pe,ApiTags as de,ApiExtraModels as le,DocumentBuilder as ue,SwaggerModule as he}from"@nestjs/swagger";import{OperationKeys as fe,BulkCrudOperationKeys as me,InternalError as ye,DBKeys as ge,ValidationError as we,BaseError as be}from"@decaf-ts/db-decorators";import{__decorate as Ee,__param as Ae,__metadata as Pe}from"tslib";import{Reflector as ve,APP_INTERCEPTOR as Te,ModuleRef as Re}from"@nestjs/core";import{toPascalCase as Oe,Logging as xe,toKebabCase as $e,LoggedEnvironment as Se}from"@decaf-ts/logging";import{readFileSync as _e}from"fs";import*as Ce from"path";const Ie="swagger",ke={API_OPERATION:Ie+"/apiOperation",API_RESPONSE:Ie+"/apiResponse",API_PRODUCES:Ie+"/apiProduces",API_CONSUMES:Ie+"/apiConsumes",API_TAGS:Ie+"/apiUseTags",API_CALLBACKS:Ie+"/apiCallbacks",API_PARAMETERS:Ie+"/apiParameters",API_HEADERS:Ie+"/apiHeaders",API_MODEL_PROPERTIES:Ie+"/apiModelProperties",API_MODEL_PROPERTIES_ARRAY:Ie+"/apiModelPropertiesArray",API_SECURITY:Ie+"/apiSecurity",API_EXCLUDE_ENDPOINT:Ie+"/apiExcludeEndpoint",API_EXCLUDE_CONTROLLER:Ie+"/apiExcludeController",API_EXTRA_MODELS:Ie+"/apiExtraModels",API_EXTENSION:Ie+"/apiExtension",API_SCHEMA:Ie+"/apiSchema",API_DEFAULT_GETTER:Ie+"/apiDefaultGetter",API_LINK:Ie+"/apiLink"};function Ne(e,t){if(!e)return[e,t];if(t)return[e,t];const r=J(e);return[r?e[0]:e,r]}const Le=e=>void 0===e;function De(e){if("function"==typeof e)return De(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 je(e){return e.filter(Q).length>0?"string":"number"}function Fe(e,t,r=!0){return(o,s)=>{const i=Reflect.getMetadata(ke.API_MODEL_PROPERTIES_ARRAY,o)||[],n=":"+s;i.includes(n)||Reflect.defineMetadata(ke.API_MODEL_PROPERTIES_ARRAY,[...i,":"+s],o);const a=Reflect.getMetadata(e,o,s);if(a){const i=K(t,X(Le)),n=r?{...a,...i}:{...i,...a};Reflect.defineMetadata(e,n,o,s)}else{const r=o?.constructor?._OPENAPI_METADATA_FACTORY?.()[s]?.type??Reflect.getMetadata("design:type",o,s);Reflect.defineMetadata(e,{type:r,...K(t,X(Le))},o,s)}}}function Me(e={}){return qe(e)}function qe(e={},t=!0){const[r,o]=Ne(e.type,e.isArray);if((s=e={...e,type:r,isArray:o}).isArray&&"enum"in s&&void 0!==s.enum){e.type="array";const t=De(e.enum);e.items={type:je(t),enum:t},delete e.enum}else if("enum"in e&&void 0!==e.enum){const t=De(e.enum);e.enum=t,e.type=je(t)}var s;return Array.isArray(e.type)&&(e.type="array",e.items={type:"array",items:{type:e.type[0]}}),Fe(ke.API_MODEL_PROPERTIES,e,t)}function Be(e,t){const{handler:o,args:s}=r.get(e,fe.REFLECT+fe.BLOCK)||{};return!!o&&(o(...s,t)??!1)}function Ue(e,t,r){const s={GET:[fe.READ,l],POST:[fe.CREATE,u],PUT:[fe.UPDATE,h],PATCH:[fe.UPDATE,f],DELETE:[fe.DELETE,m]},[i,n]=s[t];return Be(e,i)?o(V()):o(n(r))}function Ge(e,t,r){const s={GET:[me.READ_ALL,l],POST:[me.CREATE_ALL,u],PUT:[me.UPDATE_ALL,h],PATCH:[me.UPDATE_ALL,f],DELETE:[me.DELETE_ALL,m]},[i,n]=s[t];return Be(e,i)?o(V()):o(n(r))}function He(e=[]){const t=e.map(e=>W({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(C.REQUIRED).extend(Me({required:!0})).apply(),e.for(C.MAX).extend({decorator:e=>Me({maximum:e})}).apply(),e.for(C.MIN).extend({decorator:e=>Me({minimum:e})}).apply(),e.for(C.MAX_LENGTH).extend({decorator:e=>Me({maxLength:e})}).apply(),e.for(C.MIN_LENGTH).extend({decorator:e=>Me({minLength:e})}).apply(),e.for(C.TYPE).extend({decorator:e=>(t,r)=>("function"!=typeof(e=Array.isArray(e)?e[0]:e)||e.name||(e=e()),Me({type:e})(t,r))}).apply(),e.for(C.DATE).extend({decorator:e=>Me({type:String,format:"date-time"})}).apply(),e.for(C.ENUM).extend({decorator:e=>Me({enum:Array.isArray(e)?e:Object.values(e)})}).apply(),e.for(C.PATTERN).extend({decorator:e=>Me({pattern:"string"==typeof e?e:e.source})}).apply(),e.for(k.COLUMN).extend({decorator:e=>Me({name:e})}).apply(),e.for(t.DESCRIPTION).extend({decorator:e=>Me({description:e})}).apply();const ze=g((e,t)=>{const r=t.switchToHttp().getRequest().body,o=t.getClass(),s=o.class;if(!s)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 s(e)):new s(r):r}),Ye=g((e,t)=>{const r=t.switchToHttp().getRequest(),o=r?.params??{},s=e??Object.keys(o),i=s.map(e=>o[e]);return{raw:o,valuesInOrder:i,keysInOrder:s}});function Je(e=[]){const t=e.map(e=>e.name);return Ye(t)}const Qe=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 Ke(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 Xe="DecafModuleOptions",Ve="DecafAdapter",We="DecafRoute",Ze=Symbol("DecafHandlers"),et=Symbol("DecafAdapterForOptions"),tt=Symbol("AUTH_HANDLER"),rt="auth:meta",ot="AuthRole",st=Symbol("decaf:context");function it(t,i){const n=We;return e.for(n).define({decorator:()=>(e,a,c)=>{const p={path:i,httpMethod:t,handler:c};return o(s(r.key(n,a),p))(e,a,c)},args:[]}).apply()}let nt=class{constructor(e,t){this.reflector=e,this.authHandler=t}async intercept(e,t){const r=this.reflector.get(rt,e.getHandler())??this.reflector.get(rt,e.getClass());return r&&this.authHandler&&await this.authHandler.authorize(e,r),t.handle()}};function at(e){const t="string"==typeof e?e:e.name;return y(E(rt,t),A(nt))}nt=Ee([c(),Ae(1,b()),Ae(1,d(tt)),Pe("design:paramtypes",[ve,Object])],nt);const ct=e=>i(ot,e);class pt{parseRequest(e){const t=e.headers.authorization?.split(" ")[1];return t}async authorize(e,t){const o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new N("Unauthenticated");if(!r.get(I.get(t),ot).includes(s))throw new N("Missing role: "+s)}}class dt extends pt{constructor(){super()}async authorize(e,t){const o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new N("Unauthenticated");const i=r.get(I.get(t),ot);if(!i.includes(s))throw new N("Missing role: "+s);return i}}let lt=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 ye("Context not initialized for request");return this._ctx}};lt=Ee([c({scope:p.REQUEST})],lt);let ut=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)}};ut=Ee([c({scope:p.REQUEST}),Ae(0,d(Ze)),Pe("design:paramtypes",[Array,lt])],ut);const ht=e=>({name:e,description:e+" parameter for the query",required:!0,type:String});function ft(e,t,r,o=!1){const s=Ke(r),i=(e=>e.split("/").filter(e=>e.startsWith(":")).map(e=>e.slice(1)))(t).map(ht),n=[];return"GET"===r&&o&&n.push(Z({name:"direction",required:!1,enum:L,description:"the sort order when applicable"}),Z({name:"limit",required:!1,description:"limit or page size when applicable"}),Z({name:"offset",required:!1,description:"offset or bookmark when applicable"})),{method:[s(t),...i.map(W),...n,ee({summary:`Retrieve records using according to "${e}".`}),te({description:"Result successfully retrieved."}),re({description:"No content returned by the method."})],params:[Je(i),P()]}}function mt(e,t,r,o){const s=e?.prototype??e;o.method.forEach(e=>e(s,t,r)),o.params?.forEach((e,r)=>e(s,t,r))}function yt(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:s,limit:i,offset:n}=r;return await((e,t,...r)=>{if(e instanceof D)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,s,i,n)}catch(t){throw o.error(`Custom query "${e}" failed`,t),t}}}function gt(e,t,r){return Object.defineProperty(e.prototype||e,t,{value:r,writable:!1}),Object.getOwnPropertyDescriptor(e.prototype||e,t)}class wt extends j{constructor(e,t){super(t),this.clientContext=e}logCtx(e,t,r=!1,o){const s=this.clientContext.ctx;return e=e.filter(e=>void 0!==e),F.logCtx.call(this,t,o||{},r,...e,s)}}class bt extends wt{persistence(e){if(!this._persistence)try{this._persistence=D.getService(this.class)}catch(e){this._persistence=M.forModel(this.class)}return e?this._persistence instanceof M?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 s={};try{s=o.get("overrides")}catch(e){}const i=this.persistence(o);let n,a;return i instanceof D?n=i.repo.adapter:i instanceof M?n=i.adapter:i.context&&(n=i),r?n.logCtx(e,t,!0,s).then(e=>e):(a=n.logCtx(e,t,!1,s),a)}}function Et(e,t){if(!q.includes(e))return t;const o=[fe.UPDATE,me.UPDATE_ALL].includes(e),s=r.properties(t)||[],i=I.relations(t)||[];let n=s.filter(e=>I.generated(t,e));o&&(n=n.filter(e=>e!==I.pk(t)));class a extends(oe(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:`${Oe(t.name)}${Oe(e)}DTO`});for(const o of i){let s=r.allowedTypes(t,o);if(s=s?Array.isArray(s)?s[0]:s:void 0,s="function"!=typeof s||s.name?s:s(),!s)throw new ye(`Type for relation ${o} not found`);if(I.get(s.name)){const i=r.validationFor(t,o);c(o,Et(e,s),!!i[C.LIST])}}return a}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),U.prototype.toResponse=function(e){const t=this.pending();return t&&e.header("x-pending-task",JSON.stringify(t)),e};class At{static{this.log=xe.for(At.name)}static getPersistence(e){try{return D.getService(e)}catch(t){return M.forModel(e)}}static createQueryRoutesFromRepository(e,t=k.QUERY){const o=At.log.for(At.createQueryRoutesFromRepository),s=e instanceof D?e.repo:e,i=s.class,n=r.get(s.constructor,r.key(k.QUERY))??{},a=r.get(e.constructor,r.key(We))??{};class c extends bt{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("/"),s=yt(e);if(!s){const t=`Invalid or missing handler for model ${i.name} on decorated method ${e}`;throw o.error(t),Error(t)}const n=gt(c,e,s);n&&mt(c,e,n,ft(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("/"),s=gt(c,e,yt(e));s&&mt(c,e,s,ft(e,o,"GET",!0))}return c}static create(e){const t=At.log.for(At.create),r=I.tableName(e),o=$e(r),s=e.name,i=At.getPersistence(e),{description:n,getPK:a,apiProperties:c,path:p}=At.getRouteParametersFromModel(e);t.debug("Creating controller for model: "+s);const d=At.createQueryRoutesFromRepository(i);let l=class extends d{static get class(){return e}get class(){return e}constructor(r){super(r),this.pk=I.pk(e),t.info(`Registering dynamic controller for model: ${this.class.name} route: /${o}`)}async listBy(e,t){const{ctx:r}=(await this.logCtx([],G.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([],G.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([],G.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([],G.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([],k.STATEMENT,!0)).for(this.statement),{direction:s,offset:i,limit:n,bookmark:a}=r;switch(t=t.map(e=>("string"==typeof e?parseInt(e):e)||e),e){case G.FIND_BY:break;case G.LIST_BY:t.push(s);break;case G.PAGE_BY:t=[t[0],s,{limit:n,offset:i,bookmark:a}];case G.FIND_ONE_BY:}return this.persistence(o).statement(e,...t,o)}async createAll(t,r){const{ctx:o,log:i}=(await this.logCtx([],me.CREATE_ALL,!0)).for(this.createAll);let n;i.verbose("creating new "+s);try{n=await this.persistence(o).createAll(t.map(t=>new e(t)),o)}catch(e){throw i.error("Failed to create new "+s,e),e}return i.info(`created new ${s} with id ${n[this.pk]}`),o.toResponse(r),n}async create(e,t){const{ctx:r,log:o}=(await this.logCtx([],fe.CREATE,!0)).for(this.create);let i;o.verbose("creating new "+s);try{const t=this.persistence(r);i=await t.create(e,r)}catch(e){throw o.error("Failed to create new "+s,e),e}return o.info(`created new ${s} with id ${i[this.pk]}`),r.toResponse(t),i}async readAll(e){const{ctx:t,log:r}=(await this.logCtx([],me.READ_ALL,!0)).for(this.readAll);let o;try{r.debug(`reading ${e.length} ${s}: ${e}`);const i=this.persistence(t);o=await i.readAll(e,t)}catch(t){throw r.error(`Failed to ${s} with id ${e}`,t),t}return r.info(`read ${o.length} ${s}`),o}async read(e){const{ctx:t,log:r}=(await this.logCtx([],fe.READ,!0)).for(this.read),o=a(...e.valuesInOrder);if(void 0===o)throw new we(`No ${this.pk} provided`);let i;try{r.debug(`reading ${s} with ${this.pk} ${o}`);const e=this.persistence(t);i=await e.read(o,t)}catch(e){throw r.error(`Failed to read ${s} with id ${o}`,e),e}return r.info(`read ${s} with id ${i[this.pk]}`),i}async updateAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],me.UPDATE_ALL,!0)).for(this.updateAll);let i;try{o.info(`updating ${e.length} ${s}`);const t=e.map(e=>JSON.parse(JSON.stringify(e)));i=await this.persistence(r).updateAll(t,r)}catch(e){throw o.error(e),e}return r.toResponse(t),i}async update(t,r,o){const{ctx:i,log:n}=(await this.logCtx([],fe.UPDATE,!0)).for(this.update),c=a(...t.valuesInOrder);if(void 0===c)throw new we(`No ${this.pk} provided`);let p;try{n.info(`updating ${s} with ${this.pk} ${c}`);const t=JSON.parse(JSON.stringify(r)),o=this.persistence(i);p=await o.update(new e({...t,[this.pk]:c}),i)}catch(e){throw n.error(e),e}return i.toResponse(o),p}async deleteAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],me.DELETE_ALL,!0)).for(this.deleteAll);let i;try{o.debug(`deleting ${e.length} ${s}: ${e}`),i=await this.persistence(r).deleteAll(e,r)}catch(t){throw o.error(`Failed to delete ${s} with id ${e}`,t),t}return o.info(`deleted ${i.length} ${s}`),r.toResponse(t),i}async delete(e,t){const{ctx:r,log:o}=(await this.logCtx([],fe.DELETE,!0)).for(this.delete),i=a(...e.valuesInOrder);if(void 0===i)throw new we(`No ${this.pk} provided`);let n;try{o.debug(`deleting ${s} with ${this.pk} ${i}`),n=await this.persistence(r).delete(i,r)}catch(e){throw o.error(`Failed to delete ${s} with id ${i}`,e),e}return o.info(`deleted ${s} with id ${i}`),r.toResponse(t),n}};return Ee([Ue(e,"GET","listBy/:key"),ee({summary:`Retrieve ${s} records by query.`}),W({name:"key",description:"the model key to sort by"}),Z({name:"direction",required:!0,enum:L}),te({description:s+" listed successfully."}),Ae(1,Qe()),Pe("design:type",Function),Pe("design:paramtypes",[String,Object]),Pe("design:returntype",Promise)],l.prototype,"listBy",null),Ee([Ue(e,"GET","paginateBy/:key/:page"),ee({summary:`Retrieve ${s} records by query.`}),W({name:"key",description:"the model key to sort by"}),W({name:"page",description:"the page to retrieve or the bookmark"}),Z({name:"direction",required:!0,enum:L,description:"the sort order"}),Z({name:"limit",required:!0,description:"the page size"}),Z({name:"offset",description:"the bookmark when necessary"}),te({description:s+" listed paginated."}),Ae(0,v("key")),Ae(1,Qe()),Pe("design:type",Function),Pe("design:paramtypes",[String,Object]),Pe("design:returntype",Promise)],l.prototype,"paginateBy",null),Ee([Ue(e,"GET","findOneBy/:key"),ee({summary:`Retrieve ${s} records by query.`}),W({name:"key",description:"the model key to sort by"}),te({description:s+" listed found."}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,v("key")),Ae(1,v("value")),Pe("design:type",Function),Pe("design:paramtypes",[String,Object]),Pe("design:returntype",Promise)],l.prototype,"findOneBy",null),Ee([Ue(e,"GET","findBy/:key/:value"),ee({summary:`Retrieve ${s} records by query.`}),W({name:"key",description:"the model key to compare"}),W({name:"value",description:"the value to match"}),Z({name:"direction",required:!0,enum:L,description:"the sort order when applicable"}),te({description:s+" listed found."}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,v("key")),Ae(1,v("value")),Ae(2,Qe()),Pe("design:type",Function),Pe("design:paramtypes",[String,Object,Object]),Pe("design:returntype",Promise)],l.prototype,"findBy",null),Ee([Ue(e,"GET","statement/:method/*args"),ee({summary:`Executes a prepared statement on ${s}.`}),W({name:"method",description:"the prepared statement to execute"}),W({name:"args",description:"concatenated list of arguments the prepared statement can accept"}),Z({name:"direction",required:!0,enum:L,description:"the sort order when applicable"}),Z({name:"limit",required:!0,description:"limit or page size when applicable"}),Z({name:"offset",required:!0,description:"offset or bookmark when applicable"}),te({description:s+" listed found."}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,v("method")),Ae(1,v("args")),Ae(2,Qe()),Pe("design:type",Function),Pe("design:paramtypes",[String,Array,Object]),Pe("design:returntype",Promise)],l.prototype,"statement",null),Ee([Ue(e,"POST","bulk"),ee({summary:`Create a new ${s}.`}),ie({description:"Payload for "+s,schema:{type:"array",items:{$ref:ne(e)}}}),ae({description:s+" created successfully.",schema:{type:"array",items:{$ref:ne(e)}}}),ce({description:"Payload validation failed."}),pe({description:"Repository rejected the provided payload."}),Ae(0,ze()),Ae(1,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Array,Object]),Pe("design:returntype",Promise)],l.prototype,"createAll",null),Ee([Ue(e,"POST"),ee({summary:`Create a new ${s}.`}),ie({description:"Payload for "+s,type:Et(fe.CREATE,e)}),ae({description:s+" created successfully.",schema:{$ref:ne(e)}}),ce({description:"Payload validation failed."}),pe({description:"Repository rejected the provided payload."}),Ae(0,ze()),Ae(1,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Object,Object]),Pe("design:returntype",Promise)],l.prototype,"create",null),Ee([Ue(e,"GET","bulk"),ee({summary:`Retrieve a ${s} record by id.`}),Z({name:"ids",required:!0,type:"array"}),te({description:s+" retrieved successfully.",schema:{type:"array",items:{$ref:ne(e)}}}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,P("ids")),Pe("design:type",Function),Pe("design:paramtypes",[Array]),Pe("design:returntype",Promise)],l.prototype,"readAll",null),Ee([Ue(e,"GET",p),He(c),ee({summary:`Retrieve a ${s} record by id.`}),te({description:s+" retrieved successfully.",schema:{$ref:ne(e)}}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,Je(c)),Pe("design:type",Function),Pe("design:paramtypes",[Object]),Pe("design:returntype",Promise)],l.prototype,"read",null),Ee([Ue(e,"PUT","bulk"),He(c),ee({summary:`Replace an existing ${s} record with a new payload.`}),ie({description:"Payload for replace a existing record of "+s,schema:{type:"array",items:{$ref:ne(e)}}}),ae({description:s+" updated successfully.",schema:{type:"array",items:{$ref:ne(e)}}}),se({description:`No ${s} record matches the provided identifier.`}),ce({description:"Payload validation failed."}),Ae(0,ze()),Ae(1,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Array,Object]),Pe("design:returntype",Promise)],l.prototype,"updateAll",null),Ee([Ue(e,"PUT",p),He(c),ee({summary:`Replace an existing ${s} record with a new payload.`}),ie({description:"Payload for replace a existing record of "+s,schema:{$ref:ne(e)}}),te({description:s+" updated successfully."}),se({description:`No ${s} record matches the provided identifier.`}),ce({description:"Payload validation failed."}),Ae(0,Je(c)),Ae(1,ze()),Ae(2,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Object,Object,Object]),Pe("design:returntype",Promise)],l.prototype,"update",null),Ee([Ue(e,"DELETE","bulk"),He(c),ee({summary:`Retrieve a ${s} record by id.`}),Z({name:"ids",required:!0,type:"array"}),te({description:s+" retrieved successfully."}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,P("ids")),Ae(1,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Array,Object]),Pe("design:returntype",Promise)],l.prototype,"deleteAll",null),Ee([Ue(e,"DELETE",p),He(c),ee({summary:`Delete a ${s} record by id.`}),te({description:s+" record deleted successfully."}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,Je(c)),Ae(1,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Object,Object]),Pe("design:returntype",Promise)],l.prototype,"delete",null),l=Ee([R(o),de(s),le(e),at(e),Pe("design:paramtypes",[lt])],l),l}static getRouteParametersFromModel(e){const t=I.pk(e),o=r.get(e,r.key(ge.COMPOSED,t)),s=o?.args??[],i=Array.isArray(s)&&s.length>0?Array.from(new Set([...s])):Array.from(new Set([t])),n=r.description(e);return{path:":"+i.join("/:"),description:n,apiProperties:i.map(t=>({name:t,description:r.description(e,t),required:!0,type:String})),getPK:(...e)=>o?.separator?e.join(o.separator):e.join("")}}}let Pt=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),s=await r.from(e);Object.assign(t.overrides,s)}catch(e){throw new ye("Failed to contextualize request: "+e)}return(new U).accumulate(Object.assign({},H,{logger:xe.get(),timestamp:new Date},t))}async intercept(e,t){const r=e.switchToHttp().getRequest(),o=e.switchToHttp().getResponse(),s=await this.contextualize(r);return this.requestContext.applyCtx(s),await this.executor.exec(r,o),t.handle()}};Pt=Ee([c({scope:p.REQUEST}),Pe("design:paramtypes",[lt,ut])],Pt);class vt{}function Tt(e){return t=>(r.set("transformers",e,t),"function"==typeof t?i("transformers",e)(t):t)}function Rt(e){var t;let r=class{static{t=this}static{this.log=xe.for(t.name).for(e)}static createModelServices(e){return e.map(e=>({provide:e.name+"Service",useFactory:()=>D.forModel(e)}))}static forRoot(e,r={}){const o=this.log.for(this.forRoot);o.info("Generating controllers for flavour...");const s=B.models(e);let i=[];r.autoServices&&(o.info("Auto-services enabled. Initializing service generation."),i=this.createModelServices(s),o.info(`Auto-services completed. ${i.length} services initialized.`));const n=s.map(At.create);return o.info(`Generated ${n.length} controllers`),{module:t,controllers:n,providers:[{provide:Ze,useFactory:()=>r.handlers?.map(e=>(o.info("Registered request handler: "+e.name),new e))??[]},lt,ut,{provide:Te,useClass:Pt},...i]}}};return r=t=Ee([O({})],r),Object.assign(r,"name",{value:"DecafModule"+e}),r}class Ot extends z{constructor(e){super(e,Ot.name)}}let xt=class{catch(e,t){const r=t.switchToHttp(),o=r.getResponse(),s=r.getRequest(),i="production"===Se.env;e instanceof be||(e=new ye(e.message)),o.status(e.code).json({status:e.code,error:i?e.name:e.message,timestamp:(new Date).toISOString(),path:s.url,method:s.method})}};function $t(){return $(new xt)}xt=Ee([x()],xt);const St={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 _t{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||St.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=Ce.join(this.options.assetsPath||"",e),o=_e(r,{encoding:"base64"});return t?"data:image/png;base64,"+o:o}}class Ct{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 ue).setTitle(this.options.title).setDescription(e).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||St.auth).build();return he.createDocument(this.app,t,{extraModels:this.options.extraModels||[]})}setupSwagger(){const e=this.createDocument(),t=new _t({title:this.options.title,path:this.options.path||St.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});he.setup(this.options.path||St.path,this.app,e,{...t.getCustomOptions()})}}class It{static get logger(){return this._logger||(this._logger=new S("NestBootstrap")),this._logger}static initialize(e){return this.app=e,this}static enableLogger(e){return this._logger=e||new S("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 Ot(`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 Ct(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 xt]),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 kt;let Nt=class{static{kt=this}static get persistence(){if(!this._persistence)throw new ye("Persistence service not initialized");return this._persistence}static get log(){return this._logger||(this._logger=xe.for(kt)),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 Y,await this._persistence.boot(r);const o=this._persistence.client;for(let t=0;t<o.length;t++){const r=e.conf[t];let[,,s]=r;if(!s){const e=B.transformerFor(o[t].flavour);if(!e)throw new ye(`No transformer found for flavour ${o[t].flavour}. you should either @requestToContextTransformer or provide a transformer in the config`);s=e instanceof vt?e:new e}Tt(o[t].flavour)(s)}t.info("persistence layer created successfully!")}return this.persistence.client}static forRoot(e){const t={provide:Xe,useValue:e},r={useFactory:async e=>kt.bootPersistence(e),provide:Ve,durable:!0,scope:p.DEFAULT,inject:[Xe]};return{module:kt,providers:[r,t],exports:[r]}}async onApplicationShutdown(){const e=kt.log.for(this.onApplicationShutdown),t=this.moduleRef.get(Ve);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 Lt;Nt=kt=Ee([_(),O({}),Ae(0,d(Xe)),Pe("design:paramtypes",[Object,Re])],Nt);let Dt=Lt=class{static async forRootAsync(e){const{autoControllers:t,autoServices:r,handlers:o}=e,s=(await Nt.bootPersistence(e)).map(e=>e.flavour),i=[Nt.forRoot(e)];return t&&s.forEach(e=>{i.push(Rt(e).forRoot(e,{autoServices:r,handlers:o}))}),{module:Lt,imports:i}}};function jt(e){const t=I.get(e);if(!t)throw new ye("Failed to find repository for "+e);return M.forModel(t)}Dt=Lt=Ee([O({})],Dt);const Ft="##VERSION##",Mt="##PACKAGE##";r.registerLibrary(Mt,Ft);export{tt as AUTH_HANDLER,rt as AUTH_META_KEY,Ue as ApiOperationFromModel,He as ApiParamsFromModel,Me as ApiProperty,at as Auth,nt as AuthInterceptor,ot as AuthRole,Ge as BulkApiOperationFromModel,Ot as CorsError,Ve as DECAF_ADAPTER_ID,et as DECAF_ADAPTER_OPTIONS,st as DECAF_CONTEXT_KEY,Ze as DECAF_HANDLERS,Xe as DECAF_MODULE_OPTIONS,We as DECAF_ROUTE,ke as DECORATORS,Ie as DECORATORS_PREFIX,pt as DecafAuthHandler,ze as DecafBody,wt as DecafController,xt as DecafExceptionFilter,ut as DecafHandlerExecutor,bt as DecafModelController,Dt as DecafModule,Je as DecafParams,Qe as DecafQuery,lt as DecafRequestContext,Pt as DecafRequestHandlerInterceptor,dt as DecafRoleAuthHandler,Et as DtoFor,At as FromModelController,Ke as HttpVerbToDecorator,It as NestBootstraper,Mt as PACKAGE_NAME,vt as RequestToContextTransformer,ct as Roles,Ct as SwaggerBuilder,$t as UseDecafFilter,Ft as VERSION,qe as createApiPropertyDecorator,Fe as createPropertyDecorator,je as getEnumType,De as getEnumValues,Rt as getModuleFor,Be as isOperationBlocked,Le as isUndefined,jt as repoForModel,Tt as requestToContextTransformer,it as route};
1
+ import{Decoration as e,DecorationKeys as t,Metadata as r,apply as o,methodMetadata as s,metadata as i}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 b,SetMetadata as E,UseInterceptors as A,Query as P,Param as v,Response as T,Controller as R,Module as O,Catch as x,UseFilters as $,Logger as S,Global as _}from"@nestjs/common";import{ValidationKeys as C,Model as I}from"@decaf-ts/decorator-validation";import{PersistenceKeys as k,AuthorizationError as N,OrderDirection as L,ModelService as D,Service as j,ContextualLoggedClass as F,Repository as M,TransactionOperationKeys as q,Adapter as B,Context as U,PreparedStatementKeys as G,DefaultAdapterFlags as H,ForbiddenError as z,PersistenceService as Y}from"@decaf-ts/core";import{isArray as J,isString as Q,pickBy as K,negate as X}from"lodash";import{ApiExcludeEndpoint as V,ApiParam as W,ApiQuery as Z,ApiOperation as ee,ApiOkResponse as te,ApiNoContentResponse as re,OmitType as oe,ApiNotFoundResponse as se,ApiBody as ie,getSchemaPath as ne,ApiCreatedResponse as ae,ApiBadRequestResponse as ce,ApiUnprocessableEntityResponse as pe,ApiTags as de,ApiExtraModels as le,DocumentBuilder as ue,SwaggerModule as he}from"@nestjs/swagger";import{OperationKeys as fe,BulkCrudOperationKeys as me,InternalError as ye,DBKeys as ge,ValidationError as we,BaseError as be}from"@decaf-ts/db-decorators";import{__decorate as Ee,__param as Ae,__metadata as Pe}from"tslib";import{Reflector as ve,APP_INTERCEPTOR as Te,ModuleRef as Re}from"@nestjs/core";import{toPascalCase as Oe,Logging as xe,toKebabCase as $e,LoggedEnvironment as Se}from"@decaf-ts/logging";import{readFileSync as _e}from"fs";import*as Ce from"path";const Ie="swagger",ke={API_OPERATION:Ie+"/apiOperation",API_RESPONSE:Ie+"/apiResponse",API_PRODUCES:Ie+"/apiProduces",API_CONSUMES:Ie+"/apiConsumes",API_TAGS:Ie+"/apiUseTags",API_CALLBACKS:Ie+"/apiCallbacks",API_PARAMETERS:Ie+"/apiParameters",API_HEADERS:Ie+"/apiHeaders",API_MODEL_PROPERTIES:Ie+"/apiModelProperties",API_MODEL_PROPERTIES_ARRAY:Ie+"/apiModelPropertiesArray",API_SECURITY:Ie+"/apiSecurity",API_EXCLUDE_ENDPOINT:Ie+"/apiExcludeEndpoint",API_EXCLUDE_CONTROLLER:Ie+"/apiExcludeController",API_EXTRA_MODELS:Ie+"/apiExtraModels",API_EXTENSION:Ie+"/apiExtension",API_SCHEMA:Ie+"/apiSchema",API_DEFAULT_GETTER:Ie+"/apiDefaultGetter",API_LINK:Ie+"/apiLink"};function Ne(e,t){if(!e)return[e,t];if(t)return[e,t];const r=J(e);return[r?e[0]:e,r]}const Le=e=>void 0===e;function De(e){if("function"==typeof e)return De(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 je(e){return e.filter(Q).length>0?"string":"number"}function Fe(e,t,r=!0){return(o,s)=>{const i=Reflect.getMetadata(ke.API_MODEL_PROPERTIES_ARRAY,o)||[],n=":"+s;i.includes(n)||Reflect.defineMetadata(ke.API_MODEL_PROPERTIES_ARRAY,[...i,":"+s],o);const a=Reflect.getMetadata(e,o,s);if(a){const i=K(t,X(Le)),n=r?{...a,...i}:{...i,...a};Reflect.defineMetadata(e,n,o,s)}else{const r=o?.constructor?._OPENAPI_METADATA_FACTORY?.()[s]?.type??Reflect.getMetadata("design:type",o,s);Reflect.defineMetadata(e,{type:r,...K(t,X(Le))},o,s)}}}function Me(e={}){return qe(e)}function qe(e={},t=!0){const[r,o]=Ne(e.type,e.isArray);if((s=e={...e,type:r,isArray:o}).isArray&&"enum"in s&&void 0!==s.enum){e.type="array";const t=De(e.enum);e.items={type:je(t),enum:t},delete e.enum}else if("enum"in e&&void 0!==e.enum){const t=De(e.enum);e.enum=t,e.type=je(t)}var s;return Array.isArray(e.type)&&(e.type="array",e.items={type:"array",items:{type:e.type[0]}}),Fe(ke.API_MODEL_PROPERTIES,e,t)}function Be(e,t){const{handler:o,args:s}=r.get(e,fe.REFLECT+fe.BLOCK)||{};return!!o&&(o(...s,t)??!1)}function Ue(e,t,r){const s={GET:[fe.READ,l],POST:[fe.CREATE,u],PUT:[fe.UPDATE,h],PATCH:[fe.UPDATE,f],DELETE:[fe.DELETE,m]},[i,n]=s[t];return Be(e,i)?o(V()):o(n(r))}function Ge(e,t,r){const s={GET:[me.READ_ALL,l],POST:[me.CREATE_ALL,u],PUT:[me.UPDATE_ALL,h],PATCH:[me.UPDATE_ALL,f],DELETE:[me.DELETE_ALL,m]},[i,n]=s[t];return Be(e,i)?o(V()):o(n(r))}function He(e=[]){const t=e.map(e=>W({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(C.REQUIRED).extend(Me({required:!0})).apply(),e.for(C.MAX).extend({decorator:e=>Me({maximum:e})}).apply(),e.for(C.MIN).extend({decorator:e=>Me({minimum:e})}).apply(),e.for(C.MAX_LENGTH).extend({decorator:e=>Me({maxLength:e})}).apply(),e.for(C.MIN_LENGTH).extend({decorator:e=>Me({minLength:e})}).apply(),e.for(C.TYPE).extend({decorator:e=>(t,r)=>("function"!=typeof(e=Array.isArray(e)?e[0]:e)||e.name||(e=e()),Me({type:e})(t,r))}).apply(),e.for(C.DATE).extend({decorator:e=>Me({type:String,format:"date-time"})}).apply(),e.for(C.ENUM).extend({decorator:e=>Me({enum:Array.isArray(e)?e:Object.values(e)})}).apply(),e.for(C.PATTERN).extend({decorator:e=>Me({pattern:"string"==typeof e?e:e.source})}).apply(),e.for(k.COLUMN).extend({decorator:e=>Me({name:e})}).apply(),e.for(t.DESCRIPTION).extend({decorator:e=>Me({description:e})}).apply();const ze=g((e,t)=>{const r=t.switchToHttp().getRequest().body,o=t.getClass(),s=o.class;if(!s)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 s(e)):new s(r):r}),Ye=g((e,t)=>{const r=t.switchToHttp().getRequest(),o=r?.params??{},s=e??Object.keys(o),i=s.map(e=>o[e]);return{raw:o,valuesInOrder:i,keysInOrder:s}});function Je(e=[]){const t=e.map(e=>e.name);return Ye(t)}const Qe=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 Ke(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 Xe="DecafModuleOptions",Ve="DecafAdapter",We="DecafRoute",Ze=Symbol("DecafHandlers"),et=Symbol("DecafAdapterForOptions"),tt=Symbol("AUTH_HANDLER"),rt="auth:meta",ot="AuthRole",st=Symbol("decaf:context");function it(t,i){const n=We;return e.for(n).define({decorator:()=>(e,a,c)=>{const p={path:i,httpMethod:t,handler:c};return o(s(r.key(n,a),p))(e,a,c)},args:[]}).apply()}let nt=class{constructor(e,t){this.reflector=e,this.authHandler=t}async intercept(e,t){const r=this.reflector.get(rt,e.getHandler())??this.reflector.get(rt,e.getClass());return r&&this.authHandler&&await this.authHandler.authorize(e,r),t.handle()}};function at(e){const t="string"==typeof e?e:e.name;return y(E(rt,t),A(nt))}nt=Ee([c(),Ae(1,b()),Ae(1,d(tt)),Pe("design:paramtypes",[ve,Object])],nt);const ct=e=>i(ot,e);class pt{parseRequest(e){const t=e.headers.authorization?.split(" ")[1];return t}async authorize(e,t){const o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new N("Unauthenticated");if(!r.get(I.get(t),ot).includes(s))throw new N("Missing role: "+s)}}class dt extends pt{constructor(){super()}async authorize(e,t){const o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new N("Unauthenticated");const i=r.get(I.get(t),ot);if(!i.includes(s))throw new N("Missing role: "+s);return i}}let lt=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 ye("Context not initialized for request");return this._ctx}};lt=Ee([c({scope:p.REQUEST})],lt);let ut=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)}};ut=Ee([c({scope:p.REQUEST}),Ae(0,d(Ze)),Pe("design:paramtypes",[Array,lt])],ut);const ht=e=>({name:e,description:e+" parameter for the query",required:!0,type:String});function ft(e,t,r,o=!1){const s=Ke(r),i=(e=>e.split("/").filter(e=>e.startsWith(":")).map(e=>e.slice(1)))(t).map(ht),n=[];return"GET"===r&&o&&n.push(Z({name:"direction",required:!1,enum:L,description:"the sort order when applicable"}),Z({name:"limit",required:!1,description:"limit or page size when applicable"}),Z({name:"offset",required:!1,description:"offset or bookmark when applicable"})),{method:[s(t),...i.map(W),...n,ee({summary:`Retrieve records using according to "${e}".`}),te({description:"Result successfully retrieved."}),re({description:"No content returned by the method."})],params:[Je(i),P()]}}function mt(e,t,r,o){const s=e?.prototype??e;o.method.forEach(e=>e(s,t,r)),o.params?.forEach((e,r)=>e(s,t,r))}function yt(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:s,limit:i,offset:n}=r;return await((e,t,...r)=>{if(e instanceof D)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,s,i,n)}catch(t){throw o.error(`Custom query "${e}" failed`,t),t}}}function gt(e,t,r){return Object.defineProperty(e.prototype||e,t,{value:r,writable:!1}),Object.getOwnPropertyDescriptor(e.prototype||e,t)}class wt extends j{constructor(e,t){super(t),this.clientContext=e}logCtx(e,t,r=!1,o){const s=this.clientContext.ctx;return e=e.filter(e=>void 0!==e),F.logCtx.call(this,t,o||{},r,...e,s)}}class bt extends wt{persistence(e){if(!this._persistence)try{this._persistence=D.getService(this.class)}catch(e){this._persistence=M.forModel(this.class)}return e?this._persistence instanceof M?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 s={};try{s=o.get("overrides")}catch(e){}const i=this.persistence(o);let n,a;return i instanceof D?n=i.repo.adapter:i instanceof M?n=i.adapter:i.context&&(n=i),r?n.logCtx(e,t,!0,s).then(e=>e):(a=n.logCtx(e,t,!1,s),a)}}function Et(e,t){if(!q.includes(e))return t;const o=[fe.UPDATE,me.UPDATE_ALL].includes(e),s=r.properties(t)||[],i=I.relations(t)||[];let n=s.filter(e=>I.generated(t,e));o&&(n=n.filter(e=>e!==I.pk(t)));class a extends(oe(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:`${Oe(t.name)}${Oe(e)}DTO`});for(const o of i){let s=r.allowedTypes(t,o);if(s=s?Array.isArray(s)?s[0]:s:void 0,s="function"!=typeof s||s.name?s:s(),!s)throw new ye(`Type for relation ${o} not found`);if(I.get(s.name)){const i=r.validationFor(t,o);c(o,Et(e,s),!!i[C.LIST])}}return a}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),U.prototype.toResponse=function(e){const t=this.pending();return t&&e.header("x-pending-task",JSON.stringify(t)),e};class At{static{this.log=xe.for(At.name)}static getPersistence(e){try{return D.getService(e)}catch(t){return M.forModel(e)}}static createQueryRoutesFromRepository(e,t=k.QUERY){const o=At.log.for(At.createQueryRoutesFromRepository),s=e instanceof D?e.repo:e,i=s.class,n=r.get(s.constructor,r.key(k.QUERY))??{},a=r.get(e.constructor,r.key(We))??{};class c extends bt{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("/"),s=yt(e);if(!s){const t=`Invalid or missing handler for model ${i.name} on decorated method ${e}`;throw o.error(t),Error(t)}const n=gt(c,e,s);n&&mt(c,e,n,ft(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("/"),s=gt(c,e,yt(e));s&&mt(c,e,s,ft(e,o,"GET",!0))}return c}static create(e){const t=At.log.for(At.create),r=I.tableName(e),o=$e(r),s=e.name,i=At.getPersistence(e),{description:n,getPK:a,apiProperties:c,path:p}=At.getRouteParametersFromModel(e);t.debug("Creating controller for model: "+s);const d=At.createQueryRoutesFromRepository(i);let l=class extends d{static get class(){return e}get class(){return e}constructor(r){super(r),this.pk=I.pk(e),t.info(`Registering dynamic controller for model: ${this.class.name} route: /${o}`)}async listBy(e,t){const{ctx:r}=(await this.logCtx([],G.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([],G.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([],G.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([],G.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([],k.STATEMENT,!0)).for(this.statement),{direction:s,offset:i,limit:n,bookmark:a}=r;switch(t=t.map(e=>("string"==typeof e?parseInt(e):e)||e),e){case G.FIND_BY:break;case G.LIST_BY:t.push(s);break;case G.PAGE_BY:t=[t[0],s,{limit:n,offset:i,bookmark:a}];case G.FIND_ONE_BY:}return this.persistence(o).statement(e,...t,o)}async createAll(t,r){const{ctx:o,log:i}=(await this.logCtx([],me.CREATE_ALL,!0)).for(this.createAll);let n;i.verbose("creating new "+s);try{n=await this.persistence(o).createAll(t.map(t=>new e(t)),o)}catch(e){throw i.error("Failed to create new "+s,e),e}return i.info(`created new ${s} with id ${n[this.pk]}`),o.toResponse(r),n}async create(e,t){const{ctx:r,log:o}=(await this.logCtx([],fe.CREATE,!0)).for(this.create);let i;o.verbose("creating new "+s);try{const t=this.persistence(r);i=await t.create(e,r)}catch(e){throw o.error("Failed to create new "+s,e),e}return o.info(`created new ${s} with id ${i[this.pk]}`),r.toResponse(t),i}async readAll(e){const{ctx:t,log:r}=(await this.logCtx([],me.READ_ALL,!0)).for(this.readAll);let o;try{r.debug(`reading ${e.length} ${s}: ${e}`);const i=this.persistence(t);o=await i.readAll(e,t)}catch(t){throw r.error(`Failed to ${s} with id ${e}`,t),t}return r.info(`read ${o.length} ${s}`),o}async read(e){const{ctx:t,log:r}=(await this.logCtx([],fe.READ,!0)).for(this.read),o=a(...e.valuesInOrder);if(void 0===o)throw new we(`No ${this.pk} provided`);let i;try{r.debug(`reading ${s} with ${this.pk} ${o}`);const e=this.persistence(t);i=await e.read(o,t)}catch(e){throw r.error(`Failed to read ${s} with id ${o}`,e),e}return r.info(`read ${s} with id ${i[this.pk]}`),i}async updateAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],me.UPDATE_ALL,!0)).for(this.updateAll);let i;try{o.info(`updating ${e.length} ${s}`),i=await this.persistence(r).updateAll(e,r)}catch(e){throw o.error(e),e}return r.toResponse(t),i}async update(t,r,o){const{ctx:i,log:n}=(await this.logCtx([],fe.UPDATE,!0)).for(this.update),c=a(...t.valuesInOrder);if(void 0===c)throw new we(`No ${this.pk} provided`);let p;try{n.info(`updating ${s} with ${this.pk} ${c}`);const t=JSON.parse(JSON.stringify(r)),o=this.persistence(i);p=await o.update(new e({...t,[this.pk]:c}),i)}catch(e){throw n.error(e),e}return i.toResponse(o),p}async deleteAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],me.DELETE_ALL,!0)).for(this.deleteAll);let i;try{o.debug(`deleting ${e.length} ${s}: ${e}`),i=await this.persistence(r).deleteAll(e,r)}catch(t){throw o.error(`Failed to delete ${s} with id ${e}`,t),t}return o.info(`deleted ${i.length} ${s}`),r.toResponse(t),i}async delete(e,t){const{ctx:r,log:o}=(await this.logCtx([],fe.DELETE,!0)).for(this.delete),i=a(...e.valuesInOrder);if(void 0===i)throw new we(`No ${this.pk} provided`);let n;try{o.debug(`deleting ${s} with ${this.pk} ${i}`),n=await this.persistence(r).delete(i,r)}catch(e){throw o.error(`Failed to delete ${s} with id ${i}`,e),e}return o.info(`deleted ${s} with id ${i}`),r.toResponse(t),n}};return Ee([Ue(e,"GET","listBy/:key"),ee({summary:`Retrieve ${s} records by query.`}),W({name:"key",description:"the model key to sort by"}),Z({name:"direction",required:!0,enum:L}),te({description:s+" listed successfully."}),Ae(1,Qe()),Pe("design:type",Function),Pe("design:paramtypes",[String,Object]),Pe("design:returntype",Promise)],l.prototype,"listBy",null),Ee([Ue(e,"GET","paginateBy/:key/:page"),ee({summary:`Retrieve ${s} records by query.`}),W({name:"key",description:"the model key to sort by"}),W({name:"page",description:"the page to retrieve or the bookmark"}),Z({name:"direction",required:!0,enum:L,description:"the sort order"}),Z({name:"limit",required:!0,description:"the page size"}),Z({name:"offset",description:"the bookmark when necessary"}),te({description:s+" listed paginated."}),Ae(0,v("key")),Ae(1,Qe()),Pe("design:type",Function),Pe("design:paramtypes",[String,Object]),Pe("design:returntype",Promise)],l.prototype,"paginateBy",null),Ee([Ue(e,"GET","findOneBy/:key"),ee({summary:`Retrieve ${s} records by query.`}),W({name:"key",description:"the model key to sort by"}),te({description:s+" listed found."}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,v("key")),Ae(1,v("value")),Pe("design:type",Function),Pe("design:paramtypes",[String,Object]),Pe("design:returntype",Promise)],l.prototype,"findOneBy",null),Ee([Ue(e,"GET","findBy/:key/:value"),ee({summary:`Retrieve ${s} records by query.`}),W({name:"key",description:"the model key to compare"}),W({name:"value",description:"the value to match"}),Z({name:"direction",required:!0,enum:L,description:"the sort order when applicable"}),te({description:s+" listed found."}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,v("key")),Ae(1,v("value")),Ae(2,Qe()),Pe("design:type",Function),Pe("design:paramtypes",[String,Object,Object]),Pe("design:returntype",Promise)],l.prototype,"findBy",null),Ee([Ue(e,"GET","statement/:method/*args"),ee({summary:`Executes a prepared statement on ${s}.`}),W({name:"method",description:"the prepared statement to execute"}),W({name:"args",description:"concatenated list of arguments the prepared statement can accept"}),Z({name:"direction",required:!0,enum:L,description:"the sort order when applicable"}),Z({name:"limit",required:!0,description:"limit or page size when applicable"}),Z({name:"offset",required:!0,description:"offset or bookmark when applicable"}),te({description:s+" listed found."}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,v("method")),Ae(1,v("args")),Ae(2,Qe()),Pe("design:type",Function),Pe("design:paramtypes",[String,Array,Object]),Pe("design:returntype",Promise)],l.prototype,"statement",null),Ee([Ue(e,"POST","bulk"),ee({summary:`Create a new ${s}.`}),ie({description:"Payload for "+s,schema:{type:"array",items:{$ref:ne(e)}}}),ae({description:s+" created successfully.",schema:{type:"array",items:{$ref:ne(e)}}}),ce({description:"Payload validation failed."}),pe({description:"Repository rejected the provided payload."}),Ae(0,ze()),Ae(1,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Array,Object]),Pe("design:returntype",Promise)],l.prototype,"createAll",null),Ee([Ue(e,"POST"),ee({summary:`Create a new ${s}.`}),ie({description:"Payload for "+s,type:Et(fe.CREATE,e)}),ae({description:s+" created successfully.",schema:{$ref:ne(e)}}),ce({description:"Payload validation failed."}),pe({description:"Repository rejected the provided payload."}),Ae(0,ze()),Ae(1,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Object,Object]),Pe("design:returntype",Promise)],l.prototype,"create",null),Ee([Ue(e,"GET","bulk"),ee({summary:`Retrieve a ${s} record by id.`}),Z({name:"ids",required:!0,type:"array"}),te({description:s+" retrieved successfully.",schema:{type:"array",items:{$ref:ne(e)}}}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,P("ids")),Pe("design:type",Function),Pe("design:paramtypes",[Array]),Pe("design:returntype",Promise)],l.prototype,"readAll",null),Ee([Ue(e,"GET",p),He(c),ee({summary:`Retrieve a ${s} record by id.`}),te({description:s+" retrieved successfully.",schema:{$ref:ne(e)}}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,Je(c)),Pe("design:type",Function),Pe("design:paramtypes",[Object]),Pe("design:returntype",Promise)],l.prototype,"read",null),Ee([Ue(e,"PUT","bulk"),He(c),ee({summary:`Replace an existing ${s} record with a new payload.`}),ie({description:"Payload for replace a existing record of "+s,schema:{type:"array",items:{$ref:ne(e)}}}),ae({description:s+" updated successfully.",schema:{type:"array",items:{$ref:ne(e)}}}),se({description:`No ${s} record matches the provided identifier.`}),ce({description:"Payload validation failed."}),Ae(0,ze()),Ae(1,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Array,Object]),Pe("design:returntype",Promise)],l.prototype,"updateAll",null),Ee([Ue(e,"PUT",p),He(c),ee({summary:`Replace an existing ${s} record with a new payload.`}),ie({description:"Payload for replace a existing record of "+s,schema:{$ref:ne(e)}}),te({description:s+" updated successfully."}),se({description:`No ${s} record matches the provided identifier.`}),ce({description:"Payload validation failed."}),Ae(0,Je(c)),Ae(1,ze()),Ae(2,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Object,Object,Object]),Pe("design:returntype",Promise)],l.prototype,"update",null),Ee([Ue(e,"DELETE","bulk"),He(c),ee({summary:`Retrieve a ${s} record by id.`}),Z({name:"ids",required:!0,type:"array"}),te({description:s+" retrieved successfully."}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,P("ids")),Ae(1,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Array,Object]),Pe("design:returntype",Promise)],l.prototype,"deleteAll",null),Ee([Ue(e,"DELETE",p),He(c),ee({summary:`Delete a ${s} record by id.`}),te({description:s+" record deleted successfully."}),se({description:`No ${s} record matches the provided identifier.`}),Ae(0,Je(c)),Ae(1,T({passthrough:!0})),Pe("design:type",Function),Pe("design:paramtypes",[Object,Object]),Pe("design:returntype",Promise)],l.prototype,"delete",null),l=Ee([R(o),de(s),le(e),at(e),Pe("design:paramtypes",[lt])],l),l}static getRouteParametersFromModel(e){const t=I.pk(e),o=r.get(e,r.key(ge.COMPOSED,t)),s=o?.args??[],i=Array.isArray(s)&&s.length>0?Array.from(new Set([...s])):Array.from(new Set([t])),n=r.description(e);return{path:":"+i.join("/:"),description:n,apiProperties:i.map(t=>({name:t,description:r.description(e,t),required:!0,type:String})),getPK:(...e)=>o?.separator?e.join(o.separator):e.join("")}}}let Pt=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),s=await r.from(e);Object.assign(t.overrides,s)}catch(e){throw new ye("Failed to contextualize request: "+e)}return(new U).accumulate(Object.assign({},H,{logger:xe.get(),timestamp:new Date},t))}async intercept(e,t){const r=e.switchToHttp().getRequest(),o=e.switchToHttp().getResponse(),s=await this.contextualize(r);return this.requestContext.applyCtx(s),await this.executor.exec(r,o),t.handle()}};Pt=Ee([c({scope:p.REQUEST}),Pe("design:paramtypes",[lt,ut])],Pt);class vt{}function Tt(e){return t=>(r.set("transformers",e,t),"function"==typeof t?i("transformers",e)(t):t)}function Rt(e){var t;let r=class{static{t=this}static{this.log=xe.for(t.name).for(e)}static createModelServices(e){return e.map(e=>({provide:e.name+"Service",useFactory:()=>D.forModel(e)}))}static forRoot(e,r={}){const o=this.log.for(this.forRoot);o.info("Generating controllers for flavour...");const s=B.models(e);let i=[];r.autoServices&&(o.info("Auto-services enabled. Initializing service generation."),i=this.createModelServices(s),o.info(`Auto-services completed. ${i.length} services initialized.`));const n=s.map(At.create);return o.info(`Generated ${n.length} controllers`),{module:t,controllers:n,providers:[{provide:Ze,useFactory:()=>r.handlers?.map(e=>(o.info("Registered request handler: "+e.name),new e))??[]},lt,ut,{provide:Te,useClass:Pt},...i]}}};return r=t=Ee([O({})],r),Object.assign(r,"name",{value:"DecafModule"+e}),r}class Ot extends z{constructor(e){super(e,Ot.name)}}let xt=class{catch(e,t){const r=t.switchToHttp(),o=r.getResponse(),s=r.getRequest(),i="production"===Se.env;e instanceof be||(e=new ye(e.message)),o.status(e.code).json({status:e.code,error:i?e.name:e.message,timestamp:(new Date).toISOString(),path:s.url,method:s.method})}};function $t(){return $(new xt)}xt=Ee([x()],xt);const St={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 _t{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||St.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=Ce.join(this.options.assetsPath||"",e),o=_e(r,{encoding:"base64"});return t?"data:image/png;base64,"+o:o}}class Ct{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 ue).setTitle(this.options.title).setDescription(e).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||St.auth).build();return he.createDocument(this.app,t,{extraModels:this.options.extraModels||[]})}setupSwagger(){const e=this.createDocument(),t=new _t({title:this.options.title,path:this.options.path||St.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});he.setup(this.options.path||St.path,this.app,e,{...t.getCustomOptions()})}}class It{static get logger(){return this._logger||(this._logger=new S("NestBootstrap")),this._logger}static initialize(e){return this.app=e,this}static enableLogger(e){return this._logger=e||new S("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 Ot(`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 Ct(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 xt]),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 kt;let Nt=class{static{kt=this}static get persistence(){if(!this._persistence)throw new ye("Persistence service not initialized");return this._persistence}static get log(){return this._logger||(this._logger=xe.for(kt)),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 Y,await this._persistence.boot(r);const o=this._persistence.client;for(let t=0;t<o.length;t++){const r=e.conf[t];let[,,s]=r;if(!s){const e=B.transformerFor(o[t].flavour);if(!e)throw new ye(`No transformer found for flavour ${o[t].flavour}. you should either @requestToContextTransformer or provide a transformer in the config`);s=e instanceof vt?e:new e}Tt(o[t].flavour)(s)}t.info("persistence layer created successfully!")}return this.persistence.client}static forRoot(e){const t={provide:Xe,useValue:e},r={useFactory:async e=>kt.bootPersistence(e),provide:Ve,durable:!0,scope:p.DEFAULT,inject:[Xe]};return{module:kt,providers:[r,t],exports:[r]}}async onApplicationShutdown(){const e=kt.log.for(this.onApplicationShutdown),t=this.moduleRef.get(Ve);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 Lt;Nt=kt=Ee([_(),O({}),Ae(0,d(Xe)),Pe("design:paramtypes",[Object,Re])],Nt);let Dt=Lt=class{static async forRootAsync(e){const{autoControllers:t,autoServices:r,handlers:o}=e,s=(await Nt.bootPersistence(e)).map(e=>e.flavour),i=[Nt.forRoot(e)];return t&&s.forEach(e=>{i.push(Rt(e).forRoot(e,{autoServices:r,handlers:o}))}),{module:Lt,imports:i}}};function jt(e){const t=I.get(e);if(!t)throw new ye("Failed to find repository for "+e);return M.forModel(t)}Dt=Lt=Ee([O({})],Dt);const Ft="##VERSION##",Mt="##PACKAGE##";r.registerLibrary(Mt,Ft);export{tt as AUTH_HANDLER,rt as AUTH_META_KEY,Ue as ApiOperationFromModel,He as ApiParamsFromModel,Me as ApiProperty,at as Auth,nt as AuthInterceptor,ot as AuthRole,Ge as BulkApiOperationFromModel,Ot as CorsError,Ve as DECAF_ADAPTER_ID,et as DECAF_ADAPTER_OPTIONS,st as DECAF_CONTEXT_KEY,Ze as DECAF_HANDLERS,Xe as DECAF_MODULE_OPTIONS,We as DECAF_ROUTE,ke as DECORATORS,Ie as DECORATORS_PREFIX,pt as DecafAuthHandler,ze as DecafBody,wt as DecafController,xt as DecafExceptionFilter,ut as DecafHandlerExecutor,bt as DecafModelController,Dt as DecafModule,Je as DecafParams,Qe as DecafQuery,lt as DecafRequestContext,Pt as DecafRequestHandlerInterceptor,dt as DecafRoleAuthHandler,Et as DtoFor,At as FromModelController,Ke as HttpVerbToDecorator,It as NestBootstraper,Mt as PACKAGE_NAME,vt as RequestToContextTransformer,ct as Roles,Ct as SwaggerBuilder,$t as UseDecafFilter,Ft as VERSION,qe as createApiPropertyDecorator,Fe as createPropertyDecorator,je as getEnumType,De as getEnumValues,Rt as getModuleFor,Be as isOperationBlocked,Le as isUndefined,jt as repoForModel,Tt 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/overrides/overrides.ts","../src/decaf-model/FromModelController.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","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","Context","toResponse","pending","header","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","resp","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","Response","passthrough","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","from","Set","separator","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","flavour","transformer","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/overrides/overrides.ts","../src/decaf-model/FromModelController.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","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","Context","toResponse","pending","header","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","resp","created","verbose","readAll","ids","read","routeParams","id","ValidationError","updateAll","updated","update","payload","parse","deleteAll","delete","del","Param","ApiNotFoundResponse","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Response","passthrough","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","from","Set","separator","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","flavour","transformer","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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"}
@@ -290,8 +290,7 @@ class FromModelController {
290
290
  let updated;
291
291
  try {
292
292
  log.info(`updating ${body.length} ${modelClazzName}`);
293
- const payloads = body.map((entry) => JSON.parse(JSON.stringify(entry)));
294
- updated = await this.persistence(ctx).updateAll(payloads, ctx);
293
+ updated = await this.persistence(ctx).updateAll(body, ctx);
295
294
  }
296
295
  catch (e) {
297
296
  log.error(e);
@@ -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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"}
@@ -287,8 +287,7 @@ export class FromModelController {
287
287
  let updated;
288
288
  try {
289
289
  log.info(`updating ${body.length} ${modelClazzName}`);
290
- const payloads = body.map((entry) => JSON.parse(JSON.stringify(entry)));
291
- updated = await this.persistence(ctx).updateAll(payloads, ctx);
290
+ updated = await this.persistence(ctx).updateAll(body, ctx);
292
291
  }
293
292
  catch (e) {
294
293
  log.error(e);
@@ -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.7";
40
+ export declare const VERSION = "0.2.8";
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.7";
41
+ export const VERSION = "0.2.8";
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.7";
58
+ exports.VERSION = "0.2.8";
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.7";
40
+ export declare const VERSION = "0.2.8";
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.8",
3
+ "version": "0.2.9",
4
4
  "description": "NestJS decaf integration",
5
5
  "type": "module",
6
6
  "exports": {