@decaf-ts/for-nest 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/for-nest.cjs +1 -1
- package/dist/for-nest.cjs.map +1 -1
- package/dist/for-nest.js +1 -1
- package/dist/for-nest.js.map +1 -1
- package/lib/decaf-model/FromModelController.cjs +12 -5
- package/lib/decaf-model/FromModelController.js.map +1 -1
- package/lib/esm/decaf-model/FromModelController.js +13 -6
- package/lib/esm/decaf-model/FromModelController.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/for-nest.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t,e,o,r,s,a,i,n,c,p,d,l,u,h){"use strict";function g(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(o=>{if("default"!==o){var r=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(e,o,r.get?r:{enumerable:!0,get:()=>t[o]})}}),e.default=t,Object.freeze(e)}var f=g(h);e.Decoration.for(o.InjectablesKeys.INJECTABLE).extend({decorator:(t,e)=>(e=e||("object"==typeof t?Object.assign(t,o.DefaultInjectablesConfig):o.DefaultInjectablesConfig),r.Injectable({scope:e.singleton?r.Scope.DEFAULT:r.Scope.REQUEST,durable:!e.singleton||void 0}))}).apply(),e.Decoration.for(o.InjectablesKeys.INJECT).extend({decorator:(t,e)=>(e,o,s)=>r.Inject(t||e)(e,o,s)}).apply(),e.Decoration.for(s.ValidationKeys.REQUIRED).extend(i.ApiProperty({required:!0})).apply(),e.Decoration.for(s.ValidationKeys.MAX).extend({decorator:t=>i.ApiProperty({maximum:t})}).apply(),e.Decoration.for(s.ValidationKeys.MIN).extend({decorator:t=>i.ApiProperty({minimum:t})}).apply(),e.Decoration.for(s.ValidationKeys.MAX_LENGTH).extend({decorator:t=>i.ApiProperty({maxLength:t})}).apply(),e.Decoration.for(s.ValidationKeys.MIN_LENGTH).extend({decorator:t=>i.ApiProperty({minLength:t})}).apply(),e.Decoration.for(s.ValidationKeys.LIST).extend({decorator:t=>{const e=Array.isArray(t)?t[0]:t;return i.ApiProperty({type:[e]})}}).apply(),e.Decoration.for(s.ValidationKeys.PATTERN).extend({decorator:t=>i.ApiProperty({pattern:"string"==typeof t?t:t.source})}).apply(),e.Decoration.for(a.PersistenceKeys.COLUMN).extend({decorator:t=>i.ApiProperty({name:t})}).apply(),e.Decoration.for(e.DecorationKeys.DESCRIPTION).extend({decorator:t=>i.ApiProperty({description:t})}).apply();const m="DecafModuleOptions",y="DecafAdapter",E=Symbol("DecafHandlers"),_=Symbol("DecafAdapterForOptions");var A;let b=class{static{A=this}static{this._adapterInstance=null}static get log(){return this._logger||(this._logger=p.Logging.for(A)),this._logger}constructor(t,e){this.options=t,this.moduleRef=e}static async createAdapter(t){if(!this._adapterInstance){const e=this.log.for(this.createAdapter);e.info("Creating adapter instance..."),this._adapterInstance=new t.adapter(t.conf,t.alias),e.info("Adapter instance created successfully!")}return this._adapterInstance}static getAdapterInstance(){return this._adapterInstance}static forRoot(t){const e={provide:m,useValue:t},o={useFactory:async t=>A.createAdapter(t),provide:y,durable:!0,scope:r.Scope.DEFAULT,inject:[m]};return{module:A,providers:[o,e],exports:[o]}}async onApplicationShutdown(){const t=A.log.for(this.onApplicationShutdown),e=this.moduleRef.get(y);try{e&&(t.info("Shutting down"),await e.shutdown(),A._adapterInstance=null)}catch(e){t.error("Failed to shutdown application",e)}}};function R(t,o){const{handler:r,args:s}=e.Metadata.get(t,l.OperationKeys.REFLECT+l.OperationKeys.BLOCK)||{};return!!r&&(r(...s,o)??!1)}function P(t,e,o){const s={GET:[l.OperationKeys.READ,r.Get],POST:[l.OperationKeys.CREATE,r.Post],PUT:[l.OperationKeys.UPDATE,r.Put],PATCH:[l.OperationKeys.UPDATE,r.Patch],DELETE:[l.OperationKeys.DELETE,r.Delete]},[a,n]=s[e];return R(t,a)?d.apply(i.ApiExcludeEndpoint()):d.apply(n(o))}function w(t=[]){const e=t.map(t=>i.ApiParam({name:t.name,description:t.description??"Path parameter: "+t.name,required:t.required??!0,type:t.type??String}));return r.applyDecorators(...e)}b=A=n.__decorate([r.Global(),r.Module({}),n.__param(0,r.Inject(m)),n.__metadata("design:paramtypes",[Object,c.ModuleRef])],b);const D=r.createParamDecorator((t,e)=>{const o=e.switchToHttp().getRequest(),r=o?.params??{},s=t??Object.keys(r),a=s.map(t=>r[t]);return{original:r,ordered:a,order:s}});function O(t=[]){const e=t.map(t=>t.name);return D(e)}t.DecafRequestContext=class{constructor(){this.cache=new Map}set(t,e){this.cache.set(t,e)}get(t){return this.cache.get(t)}},t.DecafRequestContext=n.__decorate([r.Injectable({scope:r.Scope.REQUEST})],t.DecafRequestContext),t.DecafHandlerExecutor=class{constructor(t,e){this.handlers=t,this.context=e}async exec(t){for(const e of this.handlers)await e.handle(this.context,t)}},t.DecafHandlerExecutor=n.__decorate([r.Injectable({scope:r.Scope.REQUEST}),n.__param(0,r.Inject(E)),n.__metadata("design:paramtypes",[Array,t.DecafRequestContext])],t.DecafHandlerExecutor);class T{static{this.log=p.Logging.for(T.name)}static create(e){const o=T.log.for(T.create),c=s.Model.tableName(e),d=p.toKebabCase(c),l=e.name,{description:u,apiProperties:h,path:g}=T.getRouteParametersFromModel(e);o.debug("Creating controller for model: "+l);let f=class extends p.LoggedClass{constructor(t){super(),this.clientContext=t,this.pk=s.Model.pk(e),o.info(`Registering dynamic controller for model: ${l} route: /${d}`)}get repository(){this._repo||(this._repo=a.Repository.forModel(e));const t=this.clientContext.get(_);return t?this._repo.for(t):this._repo}async create(t){const e=this.log.for(this.create);let o;e.verbose("creating new "+l);try{o=await this.repository.create(t)}catch(t){throw e.error("Failed to create new "+l,t),t}return e.info(`created new ${l} with id ${o[this.pk]}`),o}async read(t){const{id:e}=t,o=this.log.for(this.read);let r;try{o.debug(`reading ${l} with ${this.pk} ${e}`),r=await this.repository.read(e)}catch(t){throw o.error(`Failed to read ${l} with id ${e}`,t),t}return o.info(`read ${l} with id ${r[this.pk]}`),r}async query(t){const e=this.log.for(this.read);let o;try{e.debug(`Querying ${l} using method "${t}"`),o=await this.repository[t]()}catch(o){throw e.error(`Failed to query ${l} using method "${t}"`,o),o}return e.info(`Successfully queried ${l} using method "${t}"`),o}async update(t,e){const o=this.log.for(this.update);let r;try{o.info(`updating ${l} with ${this.pk} ${e[this.pk]}`),r=await this.repository.create(e)}catch(t){throw o.error(t),t}return r}async delete(t){const e=this.log.for(this.delete);let o;try{e.debug(`deleting ${l} with ${this.pk} ${t}`),o=await this.repository.read("id")}catch(t){throw e.error(`Failed to delete ${l} with id id`,t),t}return e.info(`deleted ${l} with id ${o[this.pk]}`),o}};return n.__decorate([P(e,"POST"),i.ApiOperation({summary:`Create a new ${l}.`}),i.ApiBody({description:"Payload for "+l,schema:{$ref:i.getSchemaPath(e)}}),i.ApiCreatedResponse({description:l+" created successfully."}),i.ApiBadRequestResponse({description:"Payload validation failed."}),i.ApiUnprocessableEntityResponse({description:"Repository rejected the provided payload."}),n.__param(0,r.Body()),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",Promise)],f.prototype,"create",null),n.__decorate([P(e,"GET",g),w(h),i.ApiOperation({summary:`Retrieve a ${l} record by id.`}),i.ApiOkResponse({description:l+" retrieved successfully."}),i.ApiNotFoundResponse({description:`No ${l} record matches the provided identifier.`}),n.__param(0,r.Param()),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",Promise)],f.prototype,"read",null),n.__decorate([P(e,"GET","query/:method"),i.ApiOperation({summary:`Retrieve ${l} records by query.`}),i.ApiParam({name:"method",description:"Query method to be called"}),i.ApiOkResponse({description:l+" retrieved successfully."}),i.ApiNotFoundResponse({description:`No ${l} records matches the query.`}),n.__param(0,r.Param("method")),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",Promise)],f.prototype,"query",null),n.__decorate([P(e,"PUT",g),w(h),i.ApiOperation({summary:`Replace an existing ${l} record with a new payload.`}),i.ApiBody({description:"Payload for replace a existing record of "+l,schema:{$ref:i.getSchemaPath(e)}}),i.ApiOkResponse({description:e+" record replaced successfully."}),i.ApiNotFoundResponse({description:`No ${l} record matches the provided identifier.`}),i.ApiBadRequestResponse({description:"Payload validation failed."}),n.__param(0,O(h)),n.__param(1,r.Body()),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,s.Model]),n.__metadata("design:returntype",Promise)],f.prototype,"update",null),n.__decorate([P(e,"DELETE",g),w(h),i.ApiOperation({summary:`Delete a ${l} record by id.`}),i.ApiOkResponse({description:l+" record deleted successfully."}),i.ApiNotFoundResponse({description:`No ${l} record matches the provided identifier.`}),n.__param(0,O(h)),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",Promise)],f.prototype,"delete",null),f=n.__decorate([r.Controller(d),i.ApiTags(l),i.ApiExtraModels(e),n.__metadata("design:paramtypes",[t.DecafRequestContext])],f),f}static getRouteParametersFromModel(t){const o=new t({}),r=s.Model.pk(t),a=l.DBKeys.COMPOSED,i=Reflect.getMetadata(a,o,r)?.args??[],n=Array.isArray(i)&&i.length>0?[...i]:[r],c=e.Metadata.description(t),p=Array.from(new Set(n)),d=p.map(t=>":"+t).join("/");return{description:c,apiProperties:p.map(o=>({name:o,description:e.Metadata.description(t,o),required:!0,type:String})),path:d}}}var C,F;t.DecafRequestHandlerInterceptor=class{constructor(t){this.executor=t}async intercept(t,e){const o=t.switchToHttp().getRequest();return await this.executor.exec(o),e.handle()}},t.DecafRequestHandlerInterceptor=n.__decorate([r.Injectable({scope:r.Scope.REQUEST}),n.__metadata("design:paramtypes",[t.DecafHandlerExecutor])],t.DecafRequestHandlerInterceptor),t.DecafModelModule=class{static{C=this}static{this.log=p.Logging.for(C.name)}static forRoot(e,o=[]){const r=this.log.for(this.forRoot);r.info("Generating controllers for flavour...");const s=a.Adapter.models(e).map(T.create);return r.info(`Generated ${s.length} controllers`),{module:C,controllers:s,providers:[{provide:E,useFactory:()=>o.map(t=>(r.info("Registered request handler: "+t.name),new t))},t.DecafRequestContext,t.DecafHandlerExecutor,{provide:c.APP_INTERCEPTOR,useClass:t.DecafRequestHandlerInterceptor}]}}},t.DecafModelModule=C=n.__decorate([r.Module({})],t.DecafModelModule),t.DecafModule=F=class{static async forRootAsync(e){const{autoControllers:o}=e,r=(await b.createAdapter(e)).flavour,s=[b.forRoot(e)];return o&&s.push(t.DecafModelModule.forRoot(r,e.handlers)),{module:F,imports:s}}},t.DecafModule=F=n.__decorate([r.Module({})],t.DecafModule);class x extends a.ForbiddenError{constructor(t){super(t,x.name)}}class S{constructor(t,e){const o=e?.status??r.HttpStatus.INTERNAL_SERVER_ERROR,s=e?.message??"Internal Server Error",a=(e?.error??r.HttpStatus[o]??"HTTP_EXCEPTION").toString().toUpperCase();Object.assign(this,{status:o,message:s,error:a,timestamp:(new Date).toISOString(),path:t.url,method:t.method})}}class I extends Error{constructor(t="Unauthorized"){super(t),this.name="AuthorizationError",this.status=401,this.code="UNAUTHORIZED",Object.setPrototypeOf(this,I.prototype)}}t.AuthorizationExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),s=o.getRequest(),a=o.getResponse(),i=new S(s,{error:"UNAUTHORIZED",status:r.HttpStatus.UNAUTHORIZED,message:t.message});a.status(r.HttpStatus.UNAUTHORIZED).json(i)}},t.AuthorizationExceptionFilter=n.__decorate([r.Catch(I)],t.AuthorizationExceptionFilter);class N extends Error{constructor(t="Conflict"){super(t),this.name="ConflictError",this.status=409,this.code="CONFLICT",Object.setPrototypeOf(this,N.prototype)}}t.ConflictExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),s=o.getResponse(),a=o.getRequest(),i=new S(a,{status:r.HttpStatus.CONFLICT,message:t.message,error:"CONFLICT"});s.status(i.status).json(i)}},t.ConflictExceptionFilter=n.__decorate([r.Catch(N)],t.ConflictExceptionFilter),t.GlobalExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),s=o.getRequest(),a=o.getResponse();let i,n=r.HttpStatus.INTERNAL_SERVER_ERROR,c="Internal Server Error";if(t instanceof r.HttpException){const e=t.getResponse();n=t.getStatus(),c=(e?.message||t.message)??c,i=e?.error??t.name}else t instanceof Error&&(c=t.message,i=t.name);const p=new S(s,{status:n,message:c,error:i});a.status(p.status).json(p)}},t.GlobalExceptionFilter=n.__decorate([r.Catch()],t.GlobalExceptionFilter),t.HttpExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),r=o.getResponse(),s=o.getRequest(),a=t.getStatus(),i=new S(s,{status:a,message:t.message,error:t.name});r.status(i.status).json(i)}},t.HttpExceptionFilter=n.__decorate([r.Catch(r.HttpException)],t.HttpExceptionFilter);class j extends Error{constructor(t="Resource not found"){super(t),this.name="NotFoundError",this.status=404,this.code="NOT_FOUND",Object.setPrototypeOf(this,j.prototype)}}t.NotFoundExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),s=o.getResponse(),a=o.getRequest(),i=new S(a,{status:r.HttpStatus.NOT_FOUND,message:t.message,error:"NOT_FOUND"});s.status(i.status).json(i)}},t.NotFoundExceptionFilter=n.__decorate([r.Catch(j)],t.NotFoundExceptionFilter);class M extends Error{constructor(t="Validation failed"){super(t),this.name="ValidationError",this.status=422,this.code="VALIDATION_ERROR",Object.setPrototypeOf(this,M.prototype)}}t.ValidationExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),s=o.getResponse(),a=o.getRequest(),i=new S(a,{status:r.HttpStatus.UNPROCESSABLE_ENTITY,message:t.message,error:"VALIDATION_ERROR"});s.status(i.status).json(i)}},t.ValidationExceptionFilter=n.__decorate([r.Catch(M)],t.ValidationExceptionFilter);const v={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 q{constructor(t){this.options={...t}}customCSS(){let t="";return this.options.topbarIconPath&&(t+=`.topbar-wrapper { content: url('data:image/png;base64,${this.b64(this.options.topbarIconPath)}'); width: 200px; height: auto; }\n`),t+`\n .topbar-wrapper svg { visibility: hidden; }\n .swagger-ui .topbar { background-color: ${this.options.topbarBgColor||v.topbarBgColor}; }\n `}getCustomOptions(){const t={};return this.options.faviconPath&&(t.customfavIcon=this.b64(this.options.faviconPath,!0)),{customSiteTitle:this.options.title,...t,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(t,e=!1){const o=f.join(this.options.assetsPath||"",t),r=u.readFileSync(o,{encoding:"base64"});return e?"data:image/png;base64,"+r:r}}class H{constructor(t,e){this.app=t,this.options=e}createDocument(){const t=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,e=(new i.DocumentBuilder).setTitle(this.options.title).setDescription(t).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||v.auth).build();return i.SwaggerModule.createDocument(this.app,e,{extraModels:this.options.extraModels||[]})}setupSwagger(){const t=this.createDocument(),e=new q({title:this.options.title,path:this.options.path||v.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});i.SwaggerModule.setup(this.options.path||v.path,this.app,t,{...e.getCustomOptions()})}}const $="##VERSION##",L="##PACKAGE##";e.Metadata.registerLibrary(L,$),t.ApiOperationFromModel=P,t.ApiParamsFromModel=w,t.AuthorizationError=I,t.ConflictError=N,t.CorsError=x,t.DECAF_ADAPTER_ID=y,t.DECAF_ADAPTER_OPTIONS=_,t.DECAF_HANDLERS=E,t.DECAF_MODULE_OPTIONS=m,t.DecafParams=O,t.FromModelController=T,t.HttpResponseError=S,t.NestBootstraper=class{static get logger(){return this._logger||(this._logger=new r.Logger("NestBootstrap")),this._logger}static initialize(t){return this.app=t,this}static enableLogger(t){return this._logger=t||new r.Logger("NestBootstrap"),this.app.useLogger(this._logger),this}static enableCors(t=[],e=["GET","POST","PUT","DELETE"]){const o="*"===t?"*":t.map(t=>t.trim().toLowerCase()),r={origin:(t,e)=>t?"*"===o||Array.isArray(o)&&o.includes(t.toLowerCase())?e(null,!0):void e(new x(`Origin ${t} not allowed`)):e(null,!0),credentials:!0,methods:e.join(",")};return this.app.enableCors(r),this}static useHelmet(t){try{const e=require("helmet");this.app.use(e(t)),this.logger.log("Helmet middleware enabled successfully.")}catch(t){this.logger.warn("Helmet not installed. Skipping middleware.")}return this}static setupSwagger(t){return new H(this.app,{title:t.title,description:t.description,version:t.version,path:t.path||"api",persistAuthorization:t.persistAuthorization??!0,assetsPath:t.assetsPath,faviconFilePath:t.faviconPath,topbarIconFilePath:t.topbarIconPath,topbarBgColor:t.topbarBgColor}).setupSwagger(),this}static useGlobalPipes(...t){return t.length>0&&this.app.useGlobalPipes(...t),this}static useGlobalFilters(...e){const o=[new t.HttpExceptionFilter,new t.ValidationExceptionFilter,new t.NotFoundExceptionFilter,new t.ConflictExceptionFilter,new t.AuthorizationExceptionFilter,new t.GlobalExceptionFilter];return this.app.useGlobalFilters(...e.length>0?e:o),this}static useGlobalInterceptors(...t){return t.length>0&&this.app.useGlobalInterceptors(...t),this}static async start(t=Number(process.env.PORT)||3e3,e=void 0,o=!0){this.app.listen(t,e).then(async()=>{if(o){const t=await this.app.getUrl();this.logger.log("\ud83d\ude80 Application is running at: "+t)}})}},t.NotFoundError=j,t.PACKAGE_NAME=L,t.SwaggerBuilder=H,t.VERSION=$,t.ValidationError=M,t.isOperationBlocked=R,t.repoForModel=t=>{const e=s.Model.get(t);if(!e)throw new l.InternalError("Failed to find repository for "+t);return a.Repository.forModel(e)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@decaf-ts/decoration"),require("@decaf-ts/injectable-decorators"),require("@nestjs/common"),require("@decaf-ts/decorator-validation"),require("@decaf-ts/core"),require("@nestjs/swagger"),require("tslib"),require("@nestjs/core"),require("@decaf-ts/logging"),require("@decaf-ts/reflection"),require("@decaf-ts/db-decorators"),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","@nestjs/swagger","tslib","@nestjs/core","@decaf-ts/logging","@decaf-ts/reflection","@decaf-ts/db-decorators","fs","path"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["for-nest"]={},t.decafTsDecoration,t.decafTsInjectableDecorators,t.nestjsCommon,t.decafTsDecoratorValidation,t.decafTsCore,t.nestjsSwagger,t.tslib,t.nestjsCore,t.decafTsLogging,t.decafTsReflection,t.decafTsDbDecorators,t.fs,t.path);
|
|
1
|
+
var t,e;t=this,e=function(t,e,o,r,s,a,i,n,c,p,d,l,u,h){"use strict";function g(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(o=>{if("default"!==o){var r=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(e,o,r.get?r:{enumerable:!0,get:()=>t[o]})}}),e.default=t,Object.freeze(e)}var f=g(h);e.Decoration.for(o.InjectablesKeys.INJECTABLE).extend({decorator:(t,e)=>(e=e||("object"==typeof t?Object.assign(t,o.DefaultInjectablesConfig):o.DefaultInjectablesConfig),r.Injectable({scope:e.singleton?r.Scope.DEFAULT:r.Scope.REQUEST,durable:!e.singleton||void 0}))}).apply(),e.Decoration.for(o.InjectablesKeys.INJECT).extend({decorator:(t,e)=>(e,o,s)=>r.Inject(t||e)(e,o,s)}).apply(),e.Decoration.for(s.ValidationKeys.REQUIRED).extend(i.ApiProperty({required:!0})).apply(),e.Decoration.for(s.ValidationKeys.MAX).extend({decorator:t=>i.ApiProperty({maximum:t})}).apply(),e.Decoration.for(s.ValidationKeys.MIN).extend({decorator:t=>i.ApiProperty({minimum:t})}).apply(),e.Decoration.for(s.ValidationKeys.MAX_LENGTH).extend({decorator:t=>i.ApiProperty({maxLength:t})}).apply(),e.Decoration.for(s.ValidationKeys.MIN_LENGTH).extend({decorator:t=>i.ApiProperty({minLength:t})}).apply(),e.Decoration.for(s.ValidationKeys.LIST).extend({decorator:t=>{const e=Array.isArray(t)?t[0]:t;return i.ApiProperty({type:[e]})}}).apply(),e.Decoration.for(s.ValidationKeys.PATTERN).extend({decorator:t=>i.ApiProperty({pattern:"string"==typeof t?t:t.source})}).apply(),e.Decoration.for(a.PersistenceKeys.COLUMN).extend({decorator:t=>i.ApiProperty({name:t})}).apply(),e.Decoration.for(e.DecorationKeys.DESCRIPTION).extend({decorator:t=>i.ApiProperty({description:t})}).apply();const m="DecafModuleOptions",y="DecafAdapter",E=Symbol("DecafHandlers"),_=Symbol("DecafAdapterForOptions");var A;let b=class{static{A=this}static{this._adapterInstance=null}static get log(){return this._logger||(this._logger=p.Logging.for(A)),this._logger}constructor(t,e){this.options=t,this.moduleRef=e}static async createAdapter(t){if(!this._adapterInstance){const e=this.log.for(this.createAdapter);e.info("Creating adapter instance..."),this._adapterInstance=new t.adapter(t.conf,t.alias),e.info("Adapter instance created successfully!")}return this._adapterInstance}static getAdapterInstance(){return this._adapterInstance}static forRoot(t){const e={provide:m,useValue:t},o={useFactory:async t=>A.createAdapter(t),provide:y,durable:!0,scope:r.Scope.DEFAULT,inject:[m]};return{module:A,providers:[o,e],exports:[o]}}async onApplicationShutdown(){const t=A.log.for(this.onApplicationShutdown),e=this.moduleRef.get(y);try{e&&(t.info("Shutting down"),await e.shutdown(),A._adapterInstance=null)}catch(e){t.error("Failed to shutdown application",e)}}};function R(t,o){const{handler:r,args:s}=e.Metadata.get(t,l.OperationKeys.REFLECT+l.OperationKeys.BLOCK)||{};return!!r&&(r(...s,o)??!1)}function w(t,e,o){const s={GET:[l.OperationKeys.READ,r.Get],POST:[l.OperationKeys.CREATE,r.Post],PUT:[l.OperationKeys.UPDATE,r.Put],PATCH:[l.OperationKeys.UPDATE,r.Patch],DELETE:[l.OperationKeys.DELETE,r.Delete]},[a,n]=s[e];return R(t,a)?d.apply(i.ApiExcludeEndpoint()):d.apply(n(o))}function P(t=[]){const e=t.map(t=>i.ApiParam({name:t.name,description:t.description??"Path parameter: "+t.name,required:t.required??!0,type:t.type??String}));return r.applyDecorators(...e)}b=A=n.__decorate([r.Global(),r.Module({}),n.__param(0,r.Inject(m)),n.__metadata("design:paramtypes",[Object,c.ModuleRef])],b);const D=r.createParamDecorator((t,e)=>{const o=e.switchToHttp().getRequest(),r=o?.params??{},s=t??Object.keys(r),a=s.map(t=>r[t]);return{original:r,ordered:a,order:s}});function O(t=[]){const e=t.map(t=>t.name);return D(e)}t.DecafRequestContext=class{constructor(){this.cache=new Map}set(t,e){this.cache.set(t,e)}get(t){return this.cache.get(t)}},t.DecafRequestContext=n.__decorate([r.Injectable({scope:r.Scope.REQUEST})],t.DecafRequestContext),t.DecafHandlerExecutor=class{constructor(t,e){this.handlers=t,this.context=e}async exec(t){for(const e of this.handlers)await e.handle(this.context,t)}},t.DecafHandlerExecutor=n.__decorate([r.Injectable({scope:r.Scope.REQUEST}),n.__param(0,r.Inject(E)),n.__metadata("design:paramtypes",[Array,t.DecafRequestContext])],t.DecafHandlerExecutor);class T{static{this.log=p.Logging.for(T.name)}static create(e){const o=T.log.for(T.create),c=s.Model.tableName(e),d=p.toKebabCase(c),u=e.name,{description:h,apiProperties:g,path:f}=T.getRouteParametersFromModel(e);o.debug("Creating controller for model: "+u);let m=class extends p.LoggedClass{constructor(t){super(),this.clientContext=t,this.pk=s.Model.pk(e),o.info(`Registering dynamic controller for model: ${u} route: /${d}`)}get repository(){this._repo||(this._repo=a.Repository.forModel(e));const t=this.clientContext.get(_);return t?this._repo.for(t):this._repo}async create(t){const e=this.log.for(this.create);let o;e.verbose("creating new "+u);try{o=await this.repository.create(t)}catch(t){throw e.error("Failed to create new "+u,t),t}return e.info(`created new ${u} with id ${o[this.pk]}`),o}async read(t){const e=t[this.pk];if(void 0===e)throw new l.ValidationError(`No ${this.pk} provided`);const o=this.log.for(this.read);let r;try{o.debug(`reading ${u} with ${this.pk} ${e}`),r=await this.repository.read(e)}catch(t){throw o.error(`Failed to read ${u} with id ${e}`,t),t}return o.info(`read ${u} with id ${r[this.pk]}`),r}async query(t){const e=this.log.for(this.read);let o;try{e.debug(`Querying ${u} using method "${t}"`),o=await this.repository[t]()}catch(o){throw e.error(`Failed to query ${u} using method "${t}"`,o),o}return e.info(`Successfully queried ${u} using method "${t}"`),o}async update(t,e){const o=this.log.for(this.update);let r;try{o.info(`updating ${u} with ${this.pk} ${e[this.pk]}`),r=await this.repository.create(e)}catch(t){throw o.error(t),t}return r}async delete(t){const e=t[this.pk];if(void 0===e)throw new l.ValidationError(`No ${this.pk} provided`);const o=this.log.for(this.delete);if(void 0===e)throw new l.ValidationError(`No ${this.pk} provided`);let r;try{o.debug(`deleting ${u} with ${this.pk} ${t}`),r=await this.repository.delete("id")}catch(t){throw o.error(`Failed to delete ${u} with id id`,t),t}return o.info(`deleted ${u} with id ${r[this.pk]}`),r}};return n.__decorate([w(e,"POST"),i.ApiOperation({summary:`Create a new ${u}.`}),i.ApiBody({description:"Payload for "+u,schema:{$ref:i.getSchemaPath(e)}}),i.ApiCreatedResponse({description:u+" created successfully."}),i.ApiBadRequestResponse({description:"Payload validation failed."}),i.ApiUnprocessableEntityResponse({description:"Repository rejected the provided payload."}),n.__param(0,r.Body()),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",Promise)],m.prototype,"create",null),n.__decorate([w(e,"GET",f),P(g),i.ApiOperation({summary:`Retrieve a ${u} record by id.`}),i.ApiOkResponse({description:u+" retrieved successfully."}),i.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),n.__param(0,r.Param()),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",Promise)],m.prototype,"read",null),n.__decorate([w(e,"GET","query/:method"),i.ApiOperation({summary:`Retrieve ${u} records by query.`}),i.ApiParam({name:"method",description:"Query method to be called"}),i.ApiOkResponse({description:u+" retrieved successfully."}),i.ApiNotFoundResponse({description:`No ${u} records matches the query.`}),n.__param(0,r.Param("method")),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",Promise)],m.prototype,"query",null),n.__decorate([w(e,"PUT",f),P(g),i.ApiOperation({summary:`Replace an existing ${u} record with a new payload.`}),i.ApiBody({description:"Payload for replace a existing record of "+u,schema:{$ref:i.getSchemaPath(e)}}),i.ApiOkResponse({description:e+" record replaced successfully."}),i.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),i.ApiBadRequestResponse({description:"Payload validation failed."}),n.__param(0,O(g)),n.__param(1,r.Body()),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,s.Model]),n.__metadata("design:returntype",Promise)],m.prototype,"update",null),n.__decorate([w(e,"DELETE",f),P(g),i.ApiOperation({summary:`Delete a ${u} record by id.`}),i.ApiOkResponse({description:u+" record deleted successfully."}),i.ApiNotFoundResponse({description:`No ${u} record matches the provided identifier.`}),n.__param(0,r.Param()),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",Promise)],m.prototype,"delete",null),m=n.__decorate([r.Controller(d),i.ApiTags(u),i.ApiExtraModels(e),n.__metadata("design:paramtypes",[t.DecafRequestContext])],m),m}static getRouteParametersFromModel(t){const o=new t({}),r=s.Model.pk(t),a=l.DBKeys.COMPOSED,i=Reflect.getMetadata(a,o,r)?.args??[],n=Array.isArray(i)&&i.length>0?[...i]:[r],c=e.Metadata.description(t),p=Array.from(new Set(n)),d=p.map(t=>":"+t).join("/");return{description:c,apiProperties:p.map(o=>({name:o,description:e.Metadata.description(t,o),required:!0,type:String})),path:d}}}var C,F;t.DecafRequestHandlerInterceptor=class{constructor(t){this.executor=t}async intercept(t,e){const o=t.switchToHttp().getRequest();return await this.executor.exec(o),e.handle()}},t.DecafRequestHandlerInterceptor=n.__decorate([r.Injectable({scope:r.Scope.REQUEST}),n.__metadata("design:paramtypes",[t.DecafHandlerExecutor])],t.DecafRequestHandlerInterceptor),t.DecafModelModule=class{static{C=this}static{this.log=p.Logging.for(C.name)}static forRoot(e,o=[]){const r=this.log.for(this.forRoot);r.info("Generating controllers for flavour...");const s=a.Adapter.models(e).map(T.create);return r.info(`Generated ${s.length} controllers`),{module:C,controllers:s,providers:[{provide:E,useFactory:()=>o.map(t=>(r.info("Registered request handler: "+t.name),new t))},t.DecafRequestContext,t.DecafHandlerExecutor,{provide:c.APP_INTERCEPTOR,useClass:t.DecafRequestHandlerInterceptor}]}}},t.DecafModelModule=C=n.__decorate([r.Module({})],t.DecafModelModule),t.DecafModule=F=class{static async forRootAsync(e){const{autoControllers:o}=e,r=(await b.createAdapter(e)).flavour,s=[b.forRoot(e)];return o&&s.push(t.DecafModelModule.forRoot(r,e.handlers)),{module:F,imports:s}}},t.DecafModule=F=n.__decorate([r.Module({})],t.DecafModule);class x extends a.ForbiddenError{constructor(t){super(t,x.name)}}class S{constructor(t,e){const o=e?.status??r.HttpStatus.INTERNAL_SERVER_ERROR,s=e?.message??"Internal Server Error",a=(e?.error??r.HttpStatus[o]??"HTTP_EXCEPTION").toString().toUpperCase();Object.assign(this,{status:o,message:s,error:a,timestamp:(new Date).toISOString(),path:t.url,method:t.method})}}class I extends Error{constructor(t="Unauthorized"){super(t),this.name="AuthorizationError",this.status=401,this.code="UNAUTHORIZED",Object.setPrototypeOf(this,I.prototype)}}t.AuthorizationExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),s=o.getRequest(),a=o.getResponse(),i=new S(s,{error:"UNAUTHORIZED",status:r.HttpStatus.UNAUTHORIZED,message:t.message});a.status(r.HttpStatus.UNAUTHORIZED).json(i)}},t.AuthorizationExceptionFilter=n.__decorate([r.Catch(I)],t.AuthorizationExceptionFilter);class N extends Error{constructor(t="Conflict"){super(t),this.name="ConflictError",this.status=409,this.code="CONFLICT",Object.setPrototypeOf(this,N.prototype)}}t.ConflictExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),s=o.getResponse(),a=o.getRequest(),i=new S(a,{status:r.HttpStatus.CONFLICT,message:t.message,error:"CONFLICT"});s.status(i.status).json(i)}},t.ConflictExceptionFilter=n.__decorate([r.Catch(N)],t.ConflictExceptionFilter),t.GlobalExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),s=o.getRequest(),a=o.getResponse();let i,n=r.HttpStatus.INTERNAL_SERVER_ERROR,c="Internal Server Error";if(t instanceof r.HttpException){const e=t.getResponse();n=t.getStatus(),c=(e?.message||t.message)??c,i=e?.error??t.name}else t instanceof Error&&(c=t.message,i=t.name);const p=new S(s,{status:n,message:c,error:i});a.status(p.status).json(p)}},t.GlobalExceptionFilter=n.__decorate([r.Catch()],t.GlobalExceptionFilter),t.HttpExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),r=o.getResponse(),s=o.getRequest(),a=t.getStatus(),i=new S(s,{status:a,message:t.message,error:t.name});r.status(i.status).json(i)}},t.HttpExceptionFilter=n.__decorate([r.Catch(r.HttpException)],t.HttpExceptionFilter);class j extends Error{constructor(t="Resource not found"){super(t),this.name="NotFoundError",this.status=404,this.code="NOT_FOUND",Object.setPrototypeOf(this,j.prototype)}}t.NotFoundExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),s=o.getResponse(),a=o.getRequest(),i=new S(a,{status:r.HttpStatus.NOT_FOUND,message:t.message,error:"NOT_FOUND"});s.status(i.status).json(i)}},t.NotFoundExceptionFilter=n.__decorate([r.Catch(j)],t.NotFoundExceptionFilter);class v extends Error{constructor(t="Validation failed"){super(t),this.name="ValidationError",this.status=422,this.code="VALIDATION_ERROR",Object.setPrototypeOf(this,v.prototype)}}t.ValidationExceptionFilter=class{catch(t,e){const o=e.switchToHttp(),s=o.getResponse(),a=o.getRequest(),i=new S(a,{status:r.HttpStatus.UNPROCESSABLE_ENTITY,message:t.message,error:"VALIDATION_ERROR"});s.status(i.status).json(i)}},t.ValidationExceptionFilter=n.__decorate([r.Catch(v)],t.ValidationExceptionFilter);const M={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 q{constructor(t){this.options={...t}}customCSS(){let t="";return this.options.topbarIconPath&&(t+=`.topbar-wrapper { content: url('data:image/png;base64,${this.b64(this.options.topbarIconPath)}'); width: 200px; height: auto; }\n`),t+`\n .topbar-wrapper svg { visibility: hidden; }\n .swagger-ui .topbar { background-color: ${this.options.topbarBgColor||M.topbarBgColor}; }\n `}getCustomOptions(){const t={};return this.options.faviconPath&&(t.customfavIcon=this.b64(this.options.faviconPath,!0)),{customSiteTitle:this.options.title,...t,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(t,e=!1){const o=f.join(this.options.assetsPath||"",t),r=u.readFileSync(o,{encoding:"base64"});return e?"data:image/png;base64,"+r:r}}class ${constructor(t,e){this.app=t,this.options=e}createDocument(){const t=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,e=(new i.DocumentBuilder).setTitle(this.options.title).setDescription(t).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||M.auth).build();return i.SwaggerModule.createDocument(this.app,e,{extraModels:this.options.extraModels||[]})}setupSwagger(){const t=this.createDocument(),e=new q({title:this.options.title,path:this.options.path||M.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});i.SwaggerModule.setup(this.options.path||M.path,this.app,t,{...e.getCustomOptions()})}}const H="##VERSION##",L="##PACKAGE##";e.Metadata.registerLibrary(L,H),t.ApiOperationFromModel=w,t.ApiParamsFromModel=P,t.AuthorizationError=I,t.ConflictError=N,t.CorsError=x,t.DECAF_ADAPTER_ID=y,t.DECAF_ADAPTER_OPTIONS=_,t.DECAF_HANDLERS=E,t.DECAF_MODULE_OPTIONS=m,t.DecafParams=O,t.FromModelController=T,t.HttpResponseError=S,t.NestBootstraper=class{static get logger(){return this._logger||(this._logger=new r.Logger("NestBootstrap")),this._logger}static initialize(t){return this.app=t,this}static enableLogger(t){return this._logger=t||new r.Logger("NestBootstrap"),this.app.useLogger(this._logger),this}static enableCors(t=[],e=["GET","POST","PUT","DELETE"]){const o="*"===t?"*":t.map(t=>t.trim().toLowerCase()),r={origin:(t,e)=>t?"*"===o||Array.isArray(o)&&o.includes(t.toLowerCase())?e(null,!0):void e(new x(`Origin ${t} not allowed`)):e(null,!0),credentials:!0,methods:e.join(",")};return this.app.enableCors(r),this}static useHelmet(t){try{const e=require("helmet");this.app.use(e(t)),this.logger.log("Helmet middleware enabled successfully.")}catch(t){this.logger.warn("Helmet not installed. Skipping middleware.")}return this}static setupSwagger(t){return new $(this.app,{title:t.title,description:t.description,version:t.version,path:t.path||"api",persistAuthorization:t.persistAuthorization??!0,assetsPath:t.assetsPath,faviconFilePath:t.faviconPath,topbarIconFilePath:t.topbarIconPath,topbarBgColor:t.topbarBgColor}).setupSwagger(),this}static useGlobalPipes(...t){return t.length>0&&this.app.useGlobalPipes(...t),this}static useGlobalFilters(...e){const o=[new t.HttpExceptionFilter,new t.ValidationExceptionFilter,new t.NotFoundExceptionFilter,new t.ConflictExceptionFilter,new t.AuthorizationExceptionFilter,new t.GlobalExceptionFilter];return this.app.useGlobalFilters(...e.length>0?e:o),this}static useGlobalInterceptors(...t){return t.length>0&&this.app.useGlobalInterceptors(...t),this}static async start(t=Number(process.env.PORT)||3e3,e=void 0,o=!0){this.app.listen(t,e).then(async()=>{if(o){const t=await this.app.getUrl();this.logger.log("\ud83d\ude80 Application is running at: "+t)}})}},t.NotFoundError=j,t.PACKAGE_NAME=L,t.SwaggerBuilder=$,t.VERSION=H,t.ValidationError=v,t.isOperationBlocked=R,t.repoForModel=t=>{const e=s.Model.get(t);if(!e)throw new l.InternalError("Failed to find repository for "+t);return a.Repository.forModel(e)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@decaf-ts/decoration"),require("@decaf-ts/injectable-decorators"),require("@nestjs/common"),require("@decaf-ts/decorator-validation"),require("@decaf-ts/core"),require("@nestjs/swagger"),require("tslib"),require("@nestjs/core"),require("@decaf-ts/logging"),require("@decaf-ts/reflection"),require("@decaf-ts/db-decorators"),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","@nestjs/swagger","tslib","@nestjs/core","@decaf-ts/logging","@decaf-ts/reflection","@decaf-ts/db-decorators","fs","path"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["for-nest"]={},t.decafTsDecoration,t.decafTsInjectableDecorators,t.nestjsCommon,t.decafTsDecoratorValidation,t.decafTsCore,t.nestjsSwagger,t.tslib,t.nestjsCore,t.decafTsLogging,t.decafTsReflection,t.decafTsDbDecorators,t.fs,t.path);
|
|
2
2
|
//# sourceMappingURL=for-nest.cjs.map
|
package/dist/for-nest.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-nest.cjs","sources":["../src/decoration.ts","../src/constants.ts","../src/core-module.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decaf-model/decorators/DecafParams.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/decaf-model/FromModelController.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/decaf-model/DecafModelModule.ts","../src/module.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/HttpResponseError.ts","../src/factory/exceptions/AuthorizationExceptionFilter.ts","../src/factory/exceptions/ConflictExceptionFilter.ts","../src/factory/exceptions/GlobalExceptionFilter.ts","../src/factory/exceptions/HttpExceptionFilter.ts","../src/factory/exceptions/NotFoundExceptionFilter.ts","../src/factory/exceptions/ValidationExceptionFilter.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/index.ts","../src/factory/NestBootstraper.ts","../src/utils.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],"names":["Decoration","for","InjectablesKeys","INJECTABLE","extend","decorator","category","cfg","Object","assign","DefaultInjectablesConfig","Injectable","scope","singleton","Scope","DEFAULT","REQUEST","durable","undefined","apply","INJECT","target","propertyKey","descriptor","Inject","ValidationKeys","REQUIRED","ApiProperty","required","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","LIST","clazz","c","Array","isArray","type","PATTERN","pat","pattern","source","PersistenceKeys","COLUMN","name","DecorationKeys","DESCRIPTION","description","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","DecafCoreModule","this","_adapterInstance","log","_logger","Logging","DecafCoreModule_1","constructor","options","moduleRef","createAdapter","info","adapter","conf","alias","getAdapterInstance","forRoot","typeOrmModuleOptions","provide","useValue","useFactory","async","opts","inject","module","providers","exports","onApplicationShutdown","get","shutdown","e","error","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","ApiExcludeEndpoint","ApiParamsFromModel","props","decorators","map","p","ApiParamDec","String","applyDecorators","__decorate","Global","Module","__param","ModuleRef","OrderedParams","createParamDecorator","order","ctx","req","switchToHttp","getRequest","original","params","orderList","keys","ordered","k","DecafParams","DecafRequestContext","cache","Map","set","key","value","DecafHandlerExecutor","handlers","context","exec","handle","FromModelController","create","ModelClazz","tableName","Model","routePath","toKebabCase","modelClazzName","apiProperties","getRouteParametersFromModel","debug","DynamicModelController","LoggedClass","clientContext","super","pk","repository","_repo","Repository","forModel","adapterOptions","data","created","verbose","read","pathParams","id","query","method","results","update","routeParams","body","updated","delete","ApiOperation","summary","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Body","prototype","ApiOkResponse","ApiNotFoundResponse","Param","ApiParam","Controller","ApiTags","ApiExtraModels","instance","composedKeyMetaKey","DBKeys","COMPOSED","composedKeys","Reflect","getMetadata","keysToReturn","length","uniqueKeys","from","Set","join","DecafRequestHandlerInterceptor","executor","intercept","next","DecafModelModule","DecafModelModule_1","flavour","controllers","Adapter","models","H","APP_INTERCEPTOR","useClass","DecafModule","DecafModule_1","forRootAsync","autoControllers","imports","push","CorsError","ForbiddenError","msg","HttpResponseError","request","responseError","status","HttpStatus","INTERNAL_SERVER_ERROR","message","toString","toUpperCase","timestamp","Date","toISOString","url","AuthorizationError","Error","code","setPrototypeOf","AuthorizationExceptionFilter","exception","host","response","getResponse","httpResponseError","UNAUTHORIZED","json","Catch","ConflictError","ConflictExceptionFilter","CONFLICT","GlobalExceptionFilter","HttpException","res","getStatus","HttpExceptionFilter","NotFoundError","NotFoundExceptionFilter","NOT_FOUND","ValidationError","ValidationExceptionFilter","UNPROCESSABLE_ENTITY","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","VERSION","PACKAGE_NAME","registerLibrary","logger","Logger","initialize","enableLogger","customLogger","useLogger","enableCors","origins","allowMethods","allowedOrigins","o","trim","toLowerCase","corsOptions","origin","callback","includes","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","defaultFilters","useGlobalInterceptors","interceptors","start","port","Number","process","env","PORT","listen","then","getUrl","model","m","InternalError"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-nest.cjs","sources":["../src/decoration.ts","../src/constants.ts","../src/core-module.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decaf-model/decorators/DecafParams.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/decaf-model/FromModelController.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/decaf-model/DecafModelModule.ts","../src/module.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/HttpResponseError.ts","../src/factory/exceptions/AuthorizationExceptionFilter.ts","../src/factory/exceptions/ConflictExceptionFilter.ts","../src/factory/exceptions/GlobalExceptionFilter.ts","../src/factory/exceptions/HttpExceptionFilter.ts","../src/factory/exceptions/NotFoundExceptionFilter.ts","../src/factory/exceptions/ValidationExceptionFilter.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/index.ts","../src/factory/NestBootstraper.ts","../src/utils.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],"names":["Decoration","for","InjectablesKeys","INJECTABLE","extend","decorator","category","cfg","Object","assign","DefaultInjectablesConfig","Injectable","scope","singleton","Scope","DEFAULT","REQUEST","durable","undefined","apply","INJECT","target","propertyKey","descriptor","Inject","ValidationKeys","REQUIRED","ApiProperty","required","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","LIST","clazz","c","Array","isArray","type","PATTERN","pat","pattern","source","PersistenceKeys","COLUMN","name","DecorationKeys","DESCRIPTION","description","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","DecafCoreModule","this","_adapterInstance","log","_logger","Logging","DecafCoreModule_1","constructor","options","moduleRef","createAdapter","info","adapter","conf","alias","getAdapterInstance","forRoot","typeOrmModuleOptions","provide","useValue","useFactory","async","opts","inject","module","providers","exports","onApplicationShutdown","get","shutdown","e","error","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","ApiExcludeEndpoint","ApiParamsFromModel","props","decorators","map","p","ApiParamDec","String","applyDecorators","__decorate","Global","Module","__param","ModuleRef","OrderedParams","createParamDecorator","order","ctx","req","switchToHttp","getRequest","original","params","orderList","keys","ordered","k","DecafParams","DecafRequestContext","cache","Map","set","key","value","DecafHandlerExecutor","handlers","context","exec","handle","FromModelController","create","ModelClazz","tableName","Model","routePath","toKebabCase","modelClazzName","apiProperties","getRouteParametersFromModel","debug","DynamicModelController","LoggedClass","clientContext","super","pk","repository","_repo","Repository","forModel","adapterOptions","data","created","verbose","read","pathParams","id","ValidationError","query","method","results","update","routeParams","body","updated","delete","ApiOperation","summary","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Body","prototype","ApiOkResponse","ApiNotFoundResponse","Param","ApiParam","Controller","ApiTags","ApiExtraModels","instance","composedKeyMetaKey","DBKeys","COMPOSED","composedKeys","Reflect","getMetadata","keysToReturn","length","uniqueKeys","from","Set","join","DecafRequestHandlerInterceptor","executor","intercept","next","DecafModelModule","DecafModelModule_1","flavour","controllers","Adapter","models","H","APP_INTERCEPTOR","useClass","DecafModule","DecafModule_1","forRootAsync","autoControllers","imports","push","CorsError","ForbiddenError","msg","HttpResponseError","request","responseError","status","HttpStatus","INTERNAL_SERVER_ERROR","message","toString","toUpperCase","timestamp","Date","toISOString","url","AuthorizationError","Error","code","setPrototypeOf","AuthorizationExceptionFilter","exception","host","response","getResponse","httpResponseError","UNAUTHORIZED","json","Catch","ConflictError","ConflictExceptionFilter","CONFLICT","GlobalExceptionFilter","HttpException","res","getStatus","HttpExceptionFilter","NotFoundError","NotFoundExceptionFilter","NOT_FOUND","ValidationExceptionFilter","UNPROCESSABLE_ENTITY","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","VERSION","PACKAGE_NAME","registerLibrary","logger","Logger","initialize","enableLogger","customLogger","useLogger","enableCors","origins","allowMethods","allowedOrigins","o","trim","toLowerCase","corsOptions","origin","callback","includes","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","defaultFilters","useGlobalInterceptors","interceptors","start","port","Number","process","env","PORT","listen","then","getUrl","model","m","InternalError"],"mappings":"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"}
|
package/dist/for-nest.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Decoration as t,DecorationKeys as e,Metadata as s}from"@decaf-ts/decoration";import{InjectablesKeys as r,DefaultInjectablesConfig as o}from"@decaf-ts/injectable-decorators";import{Injectable as i,Scope as a,Inject as n,Global as c,Module as p,Get as d,Post as h,Put as l,Patch as u,Delete as g,applyDecorators as m,createParamDecorator as f,Body as y,Param as w,Controller as E,HttpStatus as b,Catch as R,HttpException as T,Logger as A}from"@nestjs/common";import{ValidationKeys as P,Model as O}from"@decaf-ts/decorator-validation";import{PersistenceKeys as S,Repository as I,Adapter as v,ForbiddenError as C}from"@decaf-ts/core";import{ApiProperty as $,ApiExcludeEndpoint as N,ApiParam as F,ApiOperation as x,ApiBody as D,getSchemaPath as j,ApiCreatedResponse as _,ApiBadRequestResponse as U,ApiUnprocessableEntityResponse as L,ApiOkResponse as q,ApiNotFoundResponse as H,ApiTags as M,ApiExtraModels as G,DocumentBuilder as k,SwaggerModule as B}from"@nestjs/swagger";import{__decorate as z,__param as V,__metadata as Q}from"tslib";import{ModuleRef as J,APP_INTERCEPTOR as Z}from"@nestjs/core";import{Logging as X,toKebabCase as K,LoggedClass as W}from"@decaf-ts/logging";import{apply as Y}from"@decaf-ts/reflection";import{OperationKeys as tt,DBKeys as et,InternalError as st}from"@decaf-ts/db-decorators";import{readFileSync as rt}from"fs";import*as ot from"path";t.for(r.INJECTABLE).extend({decorator:(t,e)=>(e=e||("object"==typeof t?Object.assign(t,o):o),i({scope:e.singleton?a.DEFAULT:a.REQUEST,durable:!e.singleton||void 0}))}).apply(),t.for(r.INJECT).extend({decorator:(t,e)=>(e,s,r)=>n(t||e)(e,s,r)}).apply(),t.for(P.REQUIRED).extend($({required:!0})).apply(),t.for(P.MAX).extend({decorator:t=>$({maximum:t})}).apply(),t.for(P.MIN).extend({decorator:t=>$({minimum:t})}).apply(),t.for(P.MAX_LENGTH).extend({decorator:t=>$({maxLength:t})}).apply(),t.for(P.MIN_LENGTH).extend({decorator:t=>$({minLength:t})}).apply(),t.for(P.LIST).extend({decorator:t=>{const e=Array.isArray(t)?t[0]:t;return $({type:[e]})}}).apply(),t.for(P.PATTERN).extend({decorator:t=>$({pattern:"string"==typeof t?t:t.source})}).apply(),t.for(S.COLUMN).extend({decorator:t=>$({name:t})}).apply(),t.for(e.DESCRIPTION).extend({decorator:t=>$({description:t})}).apply();const it="DecafModuleOptions",at="DecafAdapter",nt=Symbol("DecafHandlers"),ct=Symbol("DecafAdapterForOptions");var pt;let dt=class{static{pt=this}static{this._adapterInstance=null}static get log(){return this._logger||(this._logger=X.for(pt)),this._logger}constructor(t,e){this.options=t,this.moduleRef=e}static async createAdapter(t){if(!this._adapterInstance){const e=this.log.for(this.createAdapter);e.info("Creating adapter instance..."),this._adapterInstance=new t.adapter(t.conf,t.alias),e.info("Adapter instance created successfully!")}return this._adapterInstance}static getAdapterInstance(){return this._adapterInstance}static forRoot(t){const e={provide:it,useValue:t},s={useFactory:async t=>pt.createAdapter(t),provide:at,durable:!0,scope:a.DEFAULT,inject:[it]};return{module:pt,providers:[s,e],exports:[s]}}async onApplicationShutdown(){const t=pt.log.for(this.onApplicationShutdown),e=this.moduleRef.get(at);try{e&&(t.info("Shutting down"),await e.shutdown(),pt._adapterInstance=null)}catch(e){t.error("Failed to shutdown application",e)}}};function ht(t,e){const{handler:r,args:o}=s.get(t,tt.REFLECT+tt.BLOCK)||{};return!!r&&(r(...o,e)??!1)}function lt(t,e,s){const r={GET:[tt.READ,d],POST:[tt.CREATE,h],PUT:[tt.UPDATE,l],PATCH:[tt.UPDATE,u],DELETE:[tt.DELETE,g]},[o,i]=r[e];return ht(t,o)?Y(N()):Y(i(s))}function ut(t=[]){const e=t.map(t=>F({name:t.name,description:t.description??"Path parameter: "+t.name,required:t.required??!0,type:t.type??String}));return m(...e)}dt=pt=z([c(),p({}),V(0,n(it)),Q("design:paramtypes",[Object,J])],dt);const gt=f((t,e)=>{const s=e.switchToHttp().getRequest(),r=s?.params??{},o=t??Object.keys(r),i=o.map(t=>r[t]);return{original:r,ordered:i,order:o}});function mt(t=[]){const e=t.map(t=>t.name);return gt(e)}let ft=class{constructor(){this.cache=new Map}set(t,e){this.cache.set(t,e)}get(t){return this.cache.get(t)}};ft=z([i({scope:a.REQUEST})],ft);let yt=class{constructor(t,e){this.handlers=t,this.context=e}async exec(t){for(const e of this.handlers)await e.handle(this.context,t)}};yt=z([i({scope:a.REQUEST}),V(0,n(nt)),Q("design:paramtypes",[Array,ft])],yt);class wt{static{this.log=X.for(wt.name)}static create(t){const e=wt.log.for(wt.create),s=O.tableName(t),r=K(s),o=t.name,{description:i,apiProperties:a,path:n}=wt.getRouteParametersFromModel(t);e.debug("Creating controller for model: "+o);let c=class extends W{constructor(s){super(),this.clientContext=s,this.pk=O.pk(t),e.info(`Registering dynamic controller for model: ${o} route: /${r}`)}get repository(){this._repo||(this._repo=I.forModel(t));const e=this.clientContext.get(ct);return e?this._repo.for(e):this._repo}async create(t){const e=this.log.for(this.create);let s;e.verbose("creating new "+o);try{s=await this.repository.create(t)}catch(t){throw e.error("Failed to create new "+o,t),t}return e.info(`created new ${o} with id ${s[this.pk]}`),s}async read(t){const{id:e}=t,s=this.log.for(this.read);let r;try{s.debug(`reading ${o} with ${this.pk} ${e}`),r=await this.repository.read(e)}catch(t){throw s.error(`Failed to read ${o} with id ${e}`,t),t}return s.info(`read ${o} with id ${r[this.pk]}`),r}async query(t){const e=this.log.for(this.read);let s;try{e.debug(`Querying ${o} using method "${t}"`),s=await this.repository[t]()}catch(s){throw e.error(`Failed to query ${o} using method "${t}"`,s),s}return e.info(`Successfully queried ${o} using method "${t}"`),s}async update(t,e){const s=this.log.for(this.update);let r;try{s.info(`updating ${o} with ${this.pk} ${e[this.pk]}`),r=await this.repository.create(e)}catch(t){throw s.error(t),t}return r}async delete(t){const e=this.log.for(this.delete);let s;try{e.debug(`deleting ${o} with ${this.pk} ${t}`),s=await this.repository.read("id")}catch(t){throw e.error(`Failed to delete ${o} with id id`,t),t}return e.info(`deleted ${o} with id ${s[this.pk]}`),s}};return z([lt(t,"POST"),x({summary:`Create a new ${o}.`}),D({description:"Payload for "+o,schema:{$ref:j(t)}}),_({description:o+" created successfully."}),U({description:"Payload validation failed."}),L({description:"Repository rejected the provided payload."}),V(0,y()),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],c.prototype,"create",null),z([lt(t,"GET",n),ut(a),x({summary:`Retrieve a ${o} record by id.`}),q({description:o+" retrieved successfully."}),H({description:`No ${o} record matches the provided identifier.`}),V(0,w()),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],c.prototype,"read",null),z([lt(t,"GET","query/:method"),x({summary:`Retrieve ${o} records by query.`}),F({name:"method",description:"Query method to be called"}),q({description:o+" retrieved successfully."}),H({description:`No ${o} records matches the query.`}),V(0,w("method")),Q("design:type",Function),Q("design:paramtypes",[String]),Q("design:returntype",Promise)],c.prototype,"query",null),z([lt(t,"PUT",n),ut(a),x({summary:`Replace an existing ${o} record with a new payload.`}),D({description:"Payload for replace a existing record of "+o,schema:{$ref:j(t)}}),q({description:t+" record replaced successfully."}),H({description:`No ${o} record matches the provided identifier.`}),U({description:"Payload validation failed."}),V(0,mt(a)),V(1,y()),Q("design:type",Function),Q("design:paramtypes",[Object,O]),Q("design:returntype",Promise)],c.prototype,"update",null),z([lt(t,"DELETE",n),ut(a),x({summary:`Delete a ${o} record by id.`}),q({description:o+" record deleted successfully."}),H({description:`No ${o} record matches the provided identifier.`}),V(0,mt(a)),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],c.prototype,"delete",null),c=z([E(r),M(o),G(t),Q("design:paramtypes",[ft])],c),c}static getRouteParametersFromModel(t){const e=new t({}),r=O.pk(t),o=et.COMPOSED,i=Reflect.getMetadata(o,e,r)?.args??[],a=Array.isArray(i)&&i.length>0?[...i]:[r],n=s.description(t),c=Array.from(new Set(a)),p=c.map(t=>":"+t).join("/");return{description:n,apiProperties:c.map(e=>({name:e,description:s.description(t,e),required:!0,type:String})),path:p}}}let Et=class{constructor(t){this.executor=t}async intercept(t,e){const s=t.switchToHttp().getRequest();return await this.executor.exec(s),e.handle()}};var bt;Et=z([i({scope:a.REQUEST}),Q("design:paramtypes",[yt])],Et);let Rt=class{static{bt=this}static{this.log=X.for(bt.name)}static forRoot(t,e=[]){const s=this.log.for(this.forRoot);s.info("Generating controllers for flavour...");const r=v.models(t).map(wt.create);return s.info(`Generated ${r.length} controllers`),{module:bt,controllers:r,providers:[{provide:nt,useFactory:()=>e.map(t=>(s.info("Registered request handler: "+t.name),new t))},ft,yt,{provide:Z,useClass:Et}]}}};var Tt;Rt=bt=z([p({})],Rt);let At=Tt=class{static async forRootAsync(t){const{autoControllers:e}=t,s=(await dt.createAdapter(t)).flavour,r=[dt.forRoot(t)];return e&&r.push(Rt.forRoot(s,t.handlers)),{module:Tt,imports:r}}};function Pt(t){const e=O.get(t);if(!e)throw new st("Failed to find repository for "+t);return I.forModel(e)}At=Tt=z([p({})],At);class Ot extends C{constructor(t){super(t,Ot.name)}}class St{constructor(t,e){const s=e?.status??b.INTERNAL_SERVER_ERROR,r=e?.message??"Internal Server Error",o=(e?.error??b[s]??"HTTP_EXCEPTION").toString().toUpperCase();Object.assign(this,{status:s,message:r,error:o,timestamp:(new Date).toISOString(),path:t.url,method:t.method})}}class It extends Error{constructor(t="Unauthorized"){super(t),this.name="AuthorizationError",this.status=401,this.code="UNAUTHORIZED",Object.setPrototypeOf(this,It.prototype)}}let vt=class{catch(t,e){const s=e.switchToHttp(),r=s.getRequest(),o=s.getResponse(),i=new St(r,{error:"UNAUTHORIZED",status:b.UNAUTHORIZED,message:t.message});o.status(b.UNAUTHORIZED).json(i)}};vt=z([R(It)],vt);class Ct extends Error{constructor(t="Conflict"){super(t),this.name="ConflictError",this.status=409,this.code="CONFLICT",Object.setPrototypeOf(this,Ct.prototype)}}let $t=class{catch(t,e){const s=e.switchToHttp(),r=s.getResponse(),o=s.getRequest(),i=new St(o,{status:b.CONFLICT,message:t.message,error:"CONFLICT"});r.status(i.status).json(i)}};$t=z([R(Ct)],$t);let Nt=class{catch(t,e){const s=e.switchToHttp(),r=s.getRequest(),o=s.getResponse();let i,a=b.INTERNAL_SERVER_ERROR,n="Internal Server Error";if(t instanceof T){const e=t.getResponse();a=t.getStatus(),n=(e?.message||t.message)??n,i=e?.error??t.name}else t instanceof Error&&(n=t.message,i=t.name);const c=new St(r,{status:a,message:n,error:i});o.status(c.status).json(c)}};Nt=z([R()],Nt);let Ft=class{catch(t,e){const s=e.switchToHttp(),r=s.getResponse(),o=s.getRequest(),i=t.getStatus(),a=new St(o,{status:i,message:t.message,error:t.name});r.status(a.status).json(a)}};Ft=z([R(T)],Ft);class xt extends Error{constructor(t="Resource not found"){super(t),this.name="NotFoundError",this.status=404,this.code="NOT_FOUND",Object.setPrototypeOf(this,xt.prototype)}}let Dt=class{catch(t,e){const s=e.switchToHttp(),r=s.getResponse(),o=s.getRequest(),i=new St(o,{status:b.NOT_FOUND,message:t.message,error:"NOT_FOUND"});r.status(i.status).json(i)}};Dt=z([R(xt)],Dt);class jt extends Error{constructor(t="Validation failed"){super(t),this.name="ValidationError",this.status=422,this.code="VALIDATION_ERROR",Object.setPrototypeOf(this,jt.prototype)}}let _t=class{catch(t,e){const s=e.switchToHttp(),r=s.getResponse(),o=s.getRequest(),i=new St(o,{status:b.UNPROCESSABLE_ENTITY,message:t.message,error:"VALIDATION_ERROR"});r.status(i.status).json(i)}};_t=z([R(jt)],_t);const Ut={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 Lt{constructor(t){this.options={...t}}customCSS(){let t="";return this.options.topbarIconPath&&(t+=`.topbar-wrapper { content: url('data:image/png;base64,${this.b64(this.options.topbarIconPath)}'); width: 200px; height: auto; }\n`),t+`\n .topbar-wrapper svg { visibility: hidden; }\n .swagger-ui .topbar { background-color: ${this.options.topbarBgColor||Ut.topbarBgColor}; }\n `}getCustomOptions(){const t={};return this.options.faviconPath&&(t.customfavIcon=this.b64(this.options.faviconPath,!0)),{customSiteTitle:this.options.title,...t,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(t,e=!1){const s=ot.join(this.options.assetsPath||"",t),r=rt(s,{encoding:"base64"});return e?"data:image/png;base64,"+r:r}}class qt{constructor(t,e){this.app=t,this.options=e}createDocument(){const t=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,e=(new k).setTitle(this.options.title).setDescription(t).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||Ut.auth).build();return B.createDocument(this.app,e,{extraModels:this.options.extraModels||[]})}setupSwagger(){const t=this.createDocument(),e=new Lt({title:this.options.title,path:this.options.path||Ut.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});B.setup(this.options.path||Ut.path,this.app,t,{...e.getCustomOptions()})}}class Ht{static get logger(){return this._logger||(this._logger=new A("NestBootstrap")),this._logger}static initialize(t){return this.app=t,this}static enableLogger(t){return this._logger=t||new A("NestBootstrap"),this.app.useLogger(this._logger),this}static enableCors(t=[],e=["GET","POST","PUT","DELETE"]){const s="*"===t?"*":t.map(t=>t.trim().toLowerCase()),r={origin:(t,e)=>t?"*"===s||Array.isArray(s)&&s.includes(t.toLowerCase())?e(null,!0):void e(new Ot(`Origin ${t} not allowed`)):e(null,!0),credentials:!0,methods:e.join(",")};return this.app.enableCors(r),this}static useHelmet(t){try{const e=require("helmet");this.app.use(e(t)),this.logger.log("Helmet middleware enabled successfully.")}catch(t){this.logger.warn("Helmet not installed. Skipping middleware.")}return this}static setupSwagger(t){return new qt(this.app,{title:t.title,description:t.description,version:t.version,path:t.path||"api",persistAuthorization:t.persistAuthorization??!0,assetsPath:t.assetsPath,faviconFilePath:t.faviconPath,topbarIconFilePath:t.topbarIconPath,topbarBgColor:t.topbarBgColor}).setupSwagger(),this}static useGlobalPipes(...t){return t.length>0&&this.app.useGlobalPipes(...t),this}static useGlobalFilters(...t){const e=[new Ft,new _t,new Dt,new $t,new vt,new Nt];return this.app.useGlobalFilters(...t.length>0?t:e),this}static useGlobalInterceptors(...t){return t.length>0&&this.app.useGlobalInterceptors(...t),this}static async start(t=Number(process.env.PORT)||3e3,e=void 0,s=!0){this.app.listen(t,e).then(async()=>{if(s){const t=await this.app.getUrl();this.logger.log("\ud83d\ude80 Application is running at: "+t)}})}}const Mt="##VERSION##",Gt="##PACKAGE##";s.registerLibrary(Gt,Mt);export{lt as ApiOperationFromModel,ut as ApiParamsFromModel,It as AuthorizationError,vt as AuthorizationExceptionFilter,Ct as ConflictError,$t as ConflictExceptionFilter,Ot as CorsError,at as DECAF_ADAPTER_ID,ct as DECAF_ADAPTER_OPTIONS,nt as DECAF_HANDLERS,it as DECAF_MODULE_OPTIONS,yt as DecafHandlerExecutor,Rt as DecafModelModule,At as DecafModule,mt as DecafParams,ft as DecafRequestContext,Et as DecafRequestHandlerInterceptor,wt as FromModelController,Nt as GlobalExceptionFilter,Ft as HttpExceptionFilter,St as HttpResponseError,Ht as NestBootstraper,xt as NotFoundError,Dt as NotFoundExceptionFilter,Gt as PACKAGE_NAME,qt as SwaggerBuilder,Mt as VERSION,jt as ValidationError,_t as ValidationExceptionFilter,ht as isOperationBlocked,Pt as repoForModel};
|
|
1
|
+
import{Decoration as t,DecorationKeys as e,Metadata as s}from"@decaf-ts/decoration";import{InjectablesKeys as o,DefaultInjectablesConfig as r}from"@decaf-ts/injectable-decorators";import{Injectable as i,Scope as a,Inject as n,Global as c,Module as p,Get as d,Post as h,Put as l,Patch as u,Delete as g,applyDecorators as m,createParamDecorator as f,Body as y,Param as w,Controller as E,HttpStatus as b,Catch as R,HttpException as T,Logger as A}from"@nestjs/common";import{ValidationKeys as P,Model as O}from"@decaf-ts/decorator-validation";import{PersistenceKeys as v,Repository as S,Adapter as I,ForbiddenError as $}from"@decaf-ts/core";import{ApiProperty as N,ApiExcludeEndpoint as C,ApiParam as F,ApiOperation as x,ApiBody as D,getSchemaPath as j,ApiCreatedResponse as _,ApiBadRequestResponse as U,ApiUnprocessableEntityResponse as L,ApiOkResponse as q,ApiNotFoundResponse as H,ApiTags as k,ApiExtraModels as M,DocumentBuilder as G,SwaggerModule as B}from"@nestjs/swagger";import{__decorate as z,__param as V,__metadata as Q}from"tslib";import{ModuleRef as J,APP_INTERCEPTOR as Z}from"@nestjs/core";import{Logging as X,toKebabCase as K,LoggedClass as W}from"@decaf-ts/logging";import{apply as Y}from"@decaf-ts/reflection";import{OperationKeys as tt,DBKeys as et,ValidationError as st,InternalError as ot}from"@decaf-ts/db-decorators";import{readFileSync as rt}from"fs";import*as it from"path";t.for(o.INJECTABLE).extend({decorator:(t,e)=>(e=e||("object"==typeof t?Object.assign(t,r):r),i({scope:e.singleton?a.DEFAULT:a.REQUEST,durable:!e.singleton||void 0}))}).apply(),t.for(o.INJECT).extend({decorator:(t,e)=>(e,s,o)=>n(t||e)(e,s,o)}).apply(),t.for(P.REQUIRED).extend(N({required:!0})).apply(),t.for(P.MAX).extend({decorator:t=>N({maximum:t})}).apply(),t.for(P.MIN).extend({decorator:t=>N({minimum:t})}).apply(),t.for(P.MAX_LENGTH).extend({decorator:t=>N({maxLength:t})}).apply(),t.for(P.MIN_LENGTH).extend({decorator:t=>N({minLength:t})}).apply(),t.for(P.LIST).extend({decorator:t=>{const e=Array.isArray(t)?t[0]:t;return N({type:[e]})}}).apply(),t.for(P.PATTERN).extend({decorator:t=>N({pattern:"string"==typeof t?t:t.source})}).apply(),t.for(v.COLUMN).extend({decorator:t=>N({name:t})}).apply(),t.for(e.DESCRIPTION).extend({decorator:t=>N({description:t})}).apply();const at="DecafModuleOptions",nt="DecafAdapter",ct=Symbol("DecafHandlers"),pt=Symbol("DecafAdapterForOptions");var dt;let ht=class{static{dt=this}static{this._adapterInstance=null}static get log(){return this._logger||(this._logger=X.for(dt)),this._logger}constructor(t,e){this.options=t,this.moduleRef=e}static async createAdapter(t){if(!this._adapterInstance){const e=this.log.for(this.createAdapter);e.info("Creating adapter instance..."),this._adapterInstance=new t.adapter(t.conf,t.alias),e.info("Adapter instance created successfully!")}return this._adapterInstance}static getAdapterInstance(){return this._adapterInstance}static forRoot(t){const e={provide:at,useValue:t},s={useFactory:async t=>dt.createAdapter(t),provide:nt,durable:!0,scope:a.DEFAULT,inject:[at]};return{module:dt,providers:[s,e],exports:[s]}}async onApplicationShutdown(){const t=dt.log.for(this.onApplicationShutdown),e=this.moduleRef.get(nt);try{e&&(t.info("Shutting down"),await e.shutdown(),dt._adapterInstance=null)}catch(e){t.error("Failed to shutdown application",e)}}};function lt(t,e){const{handler:o,args:r}=s.get(t,tt.REFLECT+tt.BLOCK)||{};return!!o&&(o(...r,e)??!1)}function ut(t,e,s){const o={GET:[tt.READ,d],POST:[tt.CREATE,h],PUT:[tt.UPDATE,l],PATCH:[tt.UPDATE,u],DELETE:[tt.DELETE,g]},[r,i]=o[e];return lt(t,r)?Y(C()):Y(i(s))}function gt(t=[]){const e=t.map(t=>F({name:t.name,description:t.description??"Path parameter: "+t.name,required:t.required??!0,type:t.type??String}));return m(...e)}ht=dt=z([c(),p({}),V(0,n(at)),Q("design:paramtypes",[Object,J])],ht);const mt=f((t,e)=>{const s=e.switchToHttp().getRequest(),o=s?.params??{},r=t??Object.keys(o),i=r.map(t=>o[t]);return{original:o,ordered:i,order:r}});function ft(t=[]){const e=t.map(t=>t.name);return mt(e)}let yt=class{constructor(){this.cache=new Map}set(t,e){this.cache.set(t,e)}get(t){return this.cache.get(t)}};yt=z([i({scope:a.REQUEST})],yt);let wt=class{constructor(t,e){this.handlers=t,this.context=e}async exec(t){for(const e of this.handlers)await e.handle(this.context,t)}};wt=z([i({scope:a.REQUEST}),V(0,n(ct)),Q("design:paramtypes",[Array,yt])],wt);class Et{static{this.log=X.for(Et.name)}static create(t){const e=Et.log.for(Et.create),s=O.tableName(t),o=K(s),r=t.name,{description:i,apiProperties:a,path:n}=Et.getRouteParametersFromModel(t);e.debug("Creating controller for model: "+r);let c=class extends W{constructor(s){super(),this.clientContext=s,this.pk=O.pk(t),e.info(`Registering dynamic controller for model: ${r} route: /${o}`)}get repository(){this._repo||(this._repo=S.forModel(t));const e=this.clientContext.get(pt);return e?this._repo.for(e):this._repo}async create(t){const e=this.log.for(this.create);let s;e.verbose("creating new "+r);try{s=await this.repository.create(t)}catch(t){throw e.error("Failed to create new "+r,t),t}return e.info(`created new ${r} with id ${s[this.pk]}`),s}async read(t){const e=t[this.pk];if(void 0===e)throw new st(`No ${this.pk} provided`);const s=this.log.for(this.read);let o;try{s.debug(`reading ${r} with ${this.pk} ${e}`),o=await this.repository.read(e)}catch(t){throw s.error(`Failed to read ${r} with id ${e}`,t),t}return s.info(`read ${r} with id ${o[this.pk]}`),o}async query(t){const e=this.log.for(this.read);let s;try{e.debug(`Querying ${r} using method "${t}"`),s=await this.repository[t]()}catch(s){throw e.error(`Failed to query ${r} using method "${t}"`,s),s}return e.info(`Successfully queried ${r} using method "${t}"`),s}async update(t,e){const s=this.log.for(this.update);let o;try{s.info(`updating ${r} with ${this.pk} ${e[this.pk]}`),o=await this.repository.create(e)}catch(t){throw s.error(t),t}return o}async delete(t){const e=t[this.pk];if(void 0===e)throw new st(`No ${this.pk} provided`);const s=this.log.for(this.delete);if(void 0===e)throw new st(`No ${this.pk} provided`);let o;try{s.debug(`deleting ${r} with ${this.pk} ${t}`),o=await this.repository.delete("id")}catch(t){throw s.error(`Failed to delete ${r} with id id`,t),t}return s.info(`deleted ${r} with id ${o[this.pk]}`),o}};return z([ut(t,"POST"),x({summary:`Create a new ${r}.`}),D({description:"Payload for "+r,schema:{$ref:j(t)}}),_({description:r+" created successfully."}),U({description:"Payload validation failed."}),L({description:"Repository rejected the provided payload."}),V(0,y()),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],c.prototype,"create",null),z([ut(t,"GET",n),gt(a),x({summary:`Retrieve a ${r} record by id.`}),q({description:r+" retrieved successfully."}),H({description:`No ${r} record matches the provided identifier.`}),V(0,w()),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],c.prototype,"read",null),z([ut(t,"GET","query/:method"),x({summary:`Retrieve ${r} records by query.`}),F({name:"method",description:"Query method to be called"}),q({description:r+" retrieved successfully."}),H({description:`No ${r} records matches the query.`}),V(0,w("method")),Q("design:type",Function),Q("design:paramtypes",[String]),Q("design:returntype",Promise)],c.prototype,"query",null),z([ut(t,"PUT",n),gt(a),x({summary:`Replace an existing ${r} record with a new payload.`}),D({description:"Payload for replace a existing record of "+r,schema:{$ref:j(t)}}),q({description:t+" record replaced successfully."}),H({description:`No ${r} record matches the provided identifier.`}),U({description:"Payload validation failed."}),V(0,ft(a)),V(1,y()),Q("design:type",Function),Q("design:paramtypes",[Object,O]),Q("design:returntype",Promise)],c.prototype,"update",null),z([ut(t,"DELETE",n),gt(a),x({summary:`Delete a ${r} record by id.`}),q({description:r+" record deleted successfully."}),H({description:`No ${r} record matches the provided identifier.`}),V(0,w()),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],c.prototype,"delete",null),c=z([E(o),k(r),M(t),Q("design:paramtypes",[yt])],c),c}static getRouteParametersFromModel(t){const e=new t({}),o=O.pk(t),r=et.COMPOSED,i=Reflect.getMetadata(r,e,o)?.args??[],a=Array.isArray(i)&&i.length>0?[...i]:[o],n=s.description(t),c=Array.from(new Set(a)),p=c.map(t=>":"+t).join("/");return{description:n,apiProperties:c.map(e=>({name:e,description:s.description(t,e),required:!0,type:String})),path:p}}}let bt=class{constructor(t){this.executor=t}async intercept(t,e){const s=t.switchToHttp().getRequest();return await this.executor.exec(s),e.handle()}};var Rt;bt=z([i({scope:a.REQUEST}),Q("design:paramtypes",[wt])],bt);let Tt=class{static{Rt=this}static{this.log=X.for(Rt.name)}static forRoot(t,e=[]){const s=this.log.for(this.forRoot);s.info("Generating controllers for flavour...");const o=I.models(t).map(Et.create);return s.info(`Generated ${o.length} controllers`),{module:Rt,controllers:o,providers:[{provide:ct,useFactory:()=>e.map(t=>(s.info("Registered request handler: "+t.name),new t))},yt,wt,{provide:Z,useClass:bt}]}}};var At;Tt=Rt=z([p({})],Tt);let Pt=At=class{static async forRootAsync(t){const{autoControllers:e}=t,s=(await ht.createAdapter(t)).flavour,o=[ht.forRoot(t)];return e&&o.push(Tt.forRoot(s,t.handlers)),{module:At,imports:o}}};function Ot(t){const e=O.get(t);if(!e)throw new ot("Failed to find repository for "+t);return S.forModel(e)}Pt=At=z([p({})],Pt);class vt extends ${constructor(t){super(t,vt.name)}}class St{constructor(t,e){const s=e?.status??b.INTERNAL_SERVER_ERROR,o=e?.message??"Internal Server Error",r=(e?.error??b[s]??"HTTP_EXCEPTION").toString().toUpperCase();Object.assign(this,{status:s,message:o,error:r,timestamp:(new Date).toISOString(),path:t.url,method:t.method})}}class It extends Error{constructor(t="Unauthorized"){super(t),this.name="AuthorizationError",this.status=401,this.code="UNAUTHORIZED",Object.setPrototypeOf(this,It.prototype)}}let $t=class{catch(t,e){const s=e.switchToHttp(),o=s.getRequest(),r=s.getResponse(),i=new St(o,{error:"UNAUTHORIZED",status:b.UNAUTHORIZED,message:t.message});r.status(b.UNAUTHORIZED).json(i)}};$t=z([R(It)],$t);class Nt extends Error{constructor(t="Conflict"){super(t),this.name="ConflictError",this.status=409,this.code="CONFLICT",Object.setPrototypeOf(this,Nt.prototype)}}let Ct=class{catch(t,e){const s=e.switchToHttp(),o=s.getResponse(),r=s.getRequest(),i=new St(r,{status:b.CONFLICT,message:t.message,error:"CONFLICT"});o.status(i.status).json(i)}};Ct=z([R(Nt)],Ct);let Ft=class{catch(t,e){const s=e.switchToHttp(),o=s.getRequest(),r=s.getResponse();let i,a=b.INTERNAL_SERVER_ERROR,n="Internal Server Error";if(t instanceof T){const e=t.getResponse();a=t.getStatus(),n=(e?.message||t.message)??n,i=e?.error??t.name}else t instanceof Error&&(n=t.message,i=t.name);const c=new St(o,{status:a,message:n,error:i});r.status(c.status).json(c)}};Ft=z([R()],Ft);let xt=class{catch(t,e){const s=e.switchToHttp(),o=s.getResponse(),r=s.getRequest(),i=t.getStatus(),a=new St(r,{status:i,message:t.message,error:t.name});o.status(a.status).json(a)}};xt=z([R(T)],xt);class Dt extends Error{constructor(t="Resource not found"){super(t),this.name="NotFoundError",this.status=404,this.code="NOT_FOUND",Object.setPrototypeOf(this,Dt.prototype)}}let jt=class{catch(t,e){const s=e.switchToHttp(),o=s.getResponse(),r=s.getRequest(),i=new St(r,{status:b.NOT_FOUND,message:t.message,error:"NOT_FOUND"});o.status(i.status).json(i)}};jt=z([R(Dt)],jt);class _t extends Error{constructor(t="Validation failed"){super(t),this.name="ValidationError",this.status=422,this.code="VALIDATION_ERROR",Object.setPrototypeOf(this,_t.prototype)}}let Ut=class{catch(t,e){const s=e.switchToHttp(),o=s.getResponse(),r=s.getRequest(),i=new St(r,{status:b.UNPROCESSABLE_ENTITY,message:t.message,error:"VALIDATION_ERROR"});o.status(i.status).json(i)}};Ut=z([R(_t)],Ut);const Lt={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 qt{constructor(t){this.options={...t}}customCSS(){let t="";return this.options.topbarIconPath&&(t+=`.topbar-wrapper { content: url('data:image/png;base64,${this.b64(this.options.topbarIconPath)}'); width: 200px; height: auto; }\n`),t+`\n .topbar-wrapper svg { visibility: hidden; }\n .swagger-ui .topbar { background-color: ${this.options.topbarBgColor||Lt.topbarBgColor}; }\n `}getCustomOptions(){const t={};return this.options.faviconPath&&(t.customfavIcon=this.b64(this.options.faviconPath,!0)),{customSiteTitle:this.options.title,...t,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(t,e=!1){const s=it.join(this.options.assetsPath||"",t),o=rt(s,{encoding:"base64"});return e?"data:image/png;base64,"+o:o}}class Ht{constructor(t,e){this.app=t,this.options=e}createDocument(){const t=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,e=(new G).setTitle(this.options.title).setDescription(t).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||Lt.auth).build();return B.createDocument(this.app,e,{extraModels:this.options.extraModels||[]})}setupSwagger(){const t=this.createDocument(),e=new qt({title:this.options.title,path:this.options.path||Lt.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});B.setup(this.options.path||Lt.path,this.app,t,{...e.getCustomOptions()})}}class kt{static get logger(){return this._logger||(this._logger=new A("NestBootstrap")),this._logger}static initialize(t){return this.app=t,this}static enableLogger(t){return this._logger=t||new A("NestBootstrap"),this.app.useLogger(this._logger),this}static enableCors(t=[],e=["GET","POST","PUT","DELETE"]){const s="*"===t?"*":t.map(t=>t.trim().toLowerCase()),o={origin:(t,e)=>t?"*"===s||Array.isArray(s)&&s.includes(t.toLowerCase())?e(null,!0):void e(new vt(`Origin ${t} not allowed`)):e(null,!0),credentials:!0,methods:e.join(",")};return this.app.enableCors(o),this}static useHelmet(t){try{const e=require("helmet");this.app.use(e(t)),this.logger.log("Helmet middleware enabled successfully.")}catch(t){this.logger.warn("Helmet not installed. Skipping middleware.")}return this}static setupSwagger(t){return new Ht(this.app,{title:t.title,description:t.description,version:t.version,path:t.path||"api",persistAuthorization:t.persistAuthorization??!0,assetsPath:t.assetsPath,faviconFilePath:t.faviconPath,topbarIconFilePath:t.topbarIconPath,topbarBgColor:t.topbarBgColor}).setupSwagger(),this}static useGlobalPipes(...t){return t.length>0&&this.app.useGlobalPipes(...t),this}static useGlobalFilters(...t){const e=[new xt,new Ut,new jt,new Ct,new $t,new Ft];return this.app.useGlobalFilters(...t.length>0?t:e),this}static useGlobalInterceptors(...t){return t.length>0&&this.app.useGlobalInterceptors(...t),this}static async start(t=Number(process.env.PORT)||3e3,e=void 0,s=!0){this.app.listen(t,e).then(async()=>{if(s){const t=await this.app.getUrl();this.logger.log("\ud83d\ude80 Application is running at: "+t)}})}}const Mt="##VERSION##",Gt="##PACKAGE##";s.registerLibrary(Gt,Mt);export{ut as ApiOperationFromModel,gt as ApiParamsFromModel,It as AuthorizationError,$t as AuthorizationExceptionFilter,Nt as ConflictError,Ct as ConflictExceptionFilter,vt as CorsError,nt as DECAF_ADAPTER_ID,pt as DECAF_ADAPTER_OPTIONS,ct as DECAF_HANDLERS,at as DECAF_MODULE_OPTIONS,wt as DecafHandlerExecutor,Tt as DecafModelModule,Pt as DecafModule,ft as DecafParams,yt as DecafRequestContext,bt as DecafRequestHandlerInterceptor,Et as FromModelController,Ft as GlobalExceptionFilter,xt as HttpExceptionFilter,St as HttpResponseError,kt as NestBootstraper,Dt as NotFoundError,jt as NotFoundExceptionFilter,Gt as PACKAGE_NAME,Ht as SwaggerBuilder,Mt as VERSION,_t as ValidationError,Ut as ValidationExceptionFilter,lt as isOperationBlocked,Ot as repoForModel};
|
|
2
2
|
//# sourceMappingURL=for-nest.js.map
|
package/dist/for-nest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-nest.js","sources":["../src/decoration.ts","../src/constants.ts","../src/core-module.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decaf-model/decorators/DecafParams.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/decaf-model/FromModelController.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/decaf-model/DecafModelModule.ts","../src/module.ts","../src/utils.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/HttpResponseError.ts","../src/factory/exceptions/AuthorizationExceptionFilter.ts","../src/factory/exceptions/ConflictExceptionFilter.ts","../src/factory/exceptions/GlobalExceptionFilter.ts","../src/factory/exceptions/HttpExceptionFilter.ts","../src/factory/exceptions/NotFoundExceptionFilter.ts","../src/factory/exceptions/ValidationExceptionFilter.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/factory/NestBootstraper.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],"names":["Decoration","for","InjectablesKeys","INJECTABLE","extend","decorator","category","cfg","Object","assign","DefaultInjectablesConfig","Injectable","scope","singleton","Scope","DEFAULT","REQUEST","durable","undefined","apply","INJECT","target","propertyKey","descriptor","Inject","ValidationKeys","REQUIRED","ApiProperty","required","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","LIST","clazz","c","Array","isArray","type","PATTERN","pat","pattern","source","PersistenceKeys","COLUMN","name","DecorationKeys","DESCRIPTION","description","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","DecafCoreModule","this","_adapterInstance","log","_logger","Logging","DecafCoreModule_1","constructor","options","moduleRef","createAdapter","info","adapter","conf","alias","getAdapterInstance","forRoot","typeOrmModuleOptions","provide","useValue","useFactory","async","opts","inject","module","providers","exports","onApplicationShutdown","get","shutdown","e","error","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","ApiExcludeEndpoint","ApiParamsFromModel","props","decorators","map","p","ApiParamDec","String","applyDecorators","__decorate","Global","Module","__param","ModuleRef","OrderedParams","createParamDecorator","order","ctx","req","switchToHttp","getRequest","original","params","orderList","keys","ordered","k","DecafParams","DecafRequestContext","cache","Map","set","key","value","DecafHandlerExecutor","handlers","context","exec","handle","FromModelController","create","ModelClazz","tableName","Model","routePath","toKebabCase","modelClazzName","apiProperties","getRouteParametersFromModel","debug","DynamicModelController","LoggedClass","clientContext","super","pk","repository","_repo","Repository","forModel","adapterOptions","data","created","verbose","read","pathParams","id","query","method","results","update","routeParams","body","updated","delete","ApiOperation","summary","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Body","prototype","ApiOkResponse","ApiNotFoundResponse","Param","ApiParam","Controller","ApiTags","ApiExtraModels","instance","composedKeyMetaKey","DBKeys","COMPOSED","composedKeys","Reflect","getMetadata","keysToReturn","length","uniqueKeys","from","Set","join","DecafRequestHandlerInterceptor","executor","intercept","next","DecafModelModule","DecafModelModule_1","flavour","controllers","Adapter","models","H","APP_INTERCEPTOR","useClass","DecafModule","DecafModule_1","forRootAsync","autoControllers","imports","push","repoForModel","model","m","InternalError","CorsError","ForbiddenError","msg","HttpResponseError","request","responseError","status","HttpStatus","INTERNAL_SERVER_ERROR","message","toString","toUpperCase","timestamp","Date","toISOString","url","AuthorizationError","Error","code","setPrototypeOf","AuthorizationExceptionFilter","exception","host","response","getResponse","httpResponseError","UNAUTHORIZED","json","Catch","ConflictError","ConflictExceptionFilter","CONFLICT","GlobalExceptionFilter","HttpException","res","getStatus","HttpExceptionFilter","NotFoundError","NotFoundExceptionFilter","NOT_FOUND","ValidationError","ValidationExceptionFilter","UNPROCESSABLE_ENTITY","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","trim","toLowerCase","corsOptions","origin","callback","includes","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","defaultFilters","useGlobalInterceptors","interceptors","start","port","Number","process","env","PORT","listen","then","getUrl","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-nest.js","sources":["../src/decoration.ts","../src/constants.ts","../src/core-module.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decaf-model/decorators/DecafParams.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/decaf-model/FromModelController.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/decaf-model/DecafModelModule.ts","../src/module.ts","../src/utils.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/HttpResponseError.ts","../src/factory/exceptions/AuthorizationExceptionFilter.ts","../src/factory/exceptions/ConflictExceptionFilter.ts","../src/factory/exceptions/GlobalExceptionFilter.ts","../src/factory/exceptions/HttpExceptionFilter.ts","../src/factory/exceptions/NotFoundExceptionFilter.ts","../src/factory/exceptions/ValidationExceptionFilter.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/factory/NestBootstraper.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],"names":["Decoration","for","InjectablesKeys","INJECTABLE","extend","decorator","category","cfg","Object","assign","DefaultInjectablesConfig","Injectable","scope","singleton","Scope","DEFAULT","REQUEST","durable","undefined","apply","INJECT","target","propertyKey","descriptor","Inject","ValidationKeys","REQUIRED","ApiProperty","required","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","LIST","clazz","c","Array","isArray","type","PATTERN","pat","pattern","source","PersistenceKeys","COLUMN","name","DecorationKeys","DESCRIPTION","description","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","DecafCoreModule","this","_adapterInstance","log","_logger","Logging","DecafCoreModule_1","constructor","options","moduleRef","createAdapter","info","adapter","conf","alias","getAdapterInstance","forRoot","typeOrmModuleOptions","provide","useValue","useFactory","async","opts","inject","module","providers","exports","onApplicationShutdown","get","shutdown","e","error","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","ApiExcludeEndpoint","ApiParamsFromModel","props","decorators","map","p","ApiParamDec","String","applyDecorators","__decorate","Global","Module","__param","ModuleRef","OrderedParams","createParamDecorator","order","ctx","req","switchToHttp","getRequest","original","params","orderList","keys","ordered","k","DecafParams","DecafRequestContext","cache","Map","set","key","value","DecafHandlerExecutor","handlers","context","exec","handle","FromModelController","create","ModelClazz","tableName","Model","routePath","toKebabCase","modelClazzName","apiProperties","getRouteParametersFromModel","debug","DynamicModelController","LoggedClass","clientContext","super","pk","repository","_repo","Repository","forModel","adapterOptions","data","created","verbose","read","pathParams","id","ValidationError","query","method","results","update","routeParams","body","updated","delete","ApiOperation","summary","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Body","prototype","ApiOkResponse","ApiNotFoundResponse","Param","ApiParam","Controller","ApiTags","ApiExtraModels","instance","composedKeyMetaKey","DBKeys","COMPOSED","composedKeys","Reflect","getMetadata","keysToReturn","length","uniqueKeys","from","Set","join","DecafRequestHandlerInterceptor","executor","intercept","next","DecafModelModule","DecafModelModule_1","flavour","controllers","Adapter","models","H","APP_INTERCEPTOR","useClass","DecafModule","DecafModule_1","forRootAsync","autoControllers","imports","push","repoForModel","model","m","InternalError","CorsError","ForbiddenError","msg","HttpResponseError","request","responseError","status","HttpStatus","INTERNAL_SERVER_ERROR","message","toString","toUpperCase","timestamp","Date","toISOString","url","AuthorizationError","Error","code","setPrototypeOf","AuthorizationExceptionFilter","exception","host","response","getResponse","httpResponseError","UNAUTHORIZED","json","Catch","ConflictError","ConflictExceptionFilter","CONFLICT","GlobalExceptionFilter","HttpException","res","getStatus","HttpExceptionFilter","NotFoundError","NotFoundExceptionFilter","NOT_FOUND","ValidationExceptionFilter","UNPROCESSABLE_ENTITY","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","trim","toLowerCase","corsOptions","origin","callback","includes","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","defaultFilters","useGlobalInterceptors","interceptors","start","port","Number","process","env","PORT","listen","then","getUrl","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
@@ -112,7 +112,9 @@ class FromModelController {
|
|
|
112
112
|
return created;
|
|
113
113
|
}
|
|
114
114
|
async read(pathParams) {
|
|
115
|
-
const
|
|
115
|
+
const id = pathParams[this.pk];
|
|
116
|
+
if (typeof id === "undefined")
|
|
117
|
+
throw new db_decorators_1.ValidationError(`No ${this.pk} provided`);
|
|
116
118
|
const log = this.log.for(this.read);
|
|
117
119
|
let read;
|
|
118
120
|
try {
|
|
@@ -153,12 +155,17 @@ class FromModelController {
|
|
|
153
155
|
}
|
|
154
156
|
return updated;
|
|
155
157
|
}
|
|
156
|
-
async delete(
|
|
158
|
+
async delete(pathParams) {
|
|
159
|
+
const id = pathParams[this.pk];
|
|
160
|
+
if (typeof id === "undefined")
|
|
161
|
+
throw new db_decorators_1.ValidationError(`No ${this.pk} provided`);
|
|
157
162
|
const log = this.log.for(this.delete);
|
|
163
|
+
if (typeof id === "undefined")
|
|
164
|
+
throw new db_decorators_1.ValidationError(`No ${this.pk} provided`);
|
|
158
165
|
let read;
|
|
159
166
|
try {
|
|
160
|
-
log.debug(`deleting ${modelClazzName} with ${this.pk} ${
|
|
161
|
-
read = await this.repository.
|
|
167
|
+
log.debug(`deleting ${modelClazzName} with ${this.pk} ${pathParams}`);
|
|
168
|
+
read = await this.repository.delete("id");
|
|
162
169
|
}
|
|
163
170
|
catch (e) {
|
|
164
171
|
log.error(`Failed to delete ${modelClazzName} with id ${"id"}`, e);
|
|
@@ -250,7 +257,7 @@ class FromModelController {
|
|
|
250
257
|
(0, swagger_1.ApiNotFoundResponse)({
|
|
251
258
|
description: `No ${modelClazzName} record matches the provided identifier.`,
|
|
252
259
|
}),
|
|
253
|
-
__param(0, (0,
|
|
260
|
+
__param(0, (0, common_1.Param)()),
|
|
254
261
|
__metadata("design:type", Function),
|
|
255
262
|
__metadata("design:paramtypes", [Object]),
|
|
256
263
|
__metadata("design:returntype", Promise)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromModelController.js","sourceRoot":"","sources":["../../src/decaf-model/FromModelController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAyD;AACzD,6CAYyB;AACzB,yCAAkD;AAClD,yEAAyE;AACzE,+CAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"FromModelController.js","sourceRoot":"","sources":["../../src/decaf-model/FromModelController.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ import { ApiBadRequestResponse, ApiBody, ApiCreatedResponse, ApiExtraModels, Api
|
|
|
15
15
|
import { Repository } from "@decaf-ts/core";
|
|
16
16
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
17
17
|
import { LoggedClass, Logging, toKebabCase } from "@decaf-ts/logging";
|
|
18
|
-
import { DBKeys } from "@decaf-ts/db-decorators";
|
|
18
|
+
import { DBKeys, ValidationError } from "@decaf-ts/db-decorators";
|
|
19
19
|
import { Metadata } from "@decaf-ts/decoration";
|
|
20
20
|
import { ApiOperationFromModel, ApiParamsFromModel, DecafParams, } from "./decorators/index.js";
|
|
21
21
|
import { DecafRequestContext } from "./../request/index.js";
|
|
@@ -109,7 +109,9 @@ export class FromModelController {
|
|
|
109
109
|
return created;
|
|
110
110
|
}
|
|
111
111
|
async read(pathParams) {
|
|
112
|
-
const
|
|
112
|
+
const id = pathParams[this.pk];
|
|
113
|
+
if (typeof id === "undefined")
|
|
114
|
+
throw new ValidationError(`No ${this.pk} provided`);
|
|
113
115
|
const log = this.log.for(this.read);
|
|
114
116
|
let read;
|
|
115
117
|
try {
|
|
@@ -150,12 +152,17 @@ export class FromModelController {
|
|
|
150
152
|
}
|
|
151
153
|
return updated;
|
|
152
154
|
}
|
|
153
|
-
async delete(
|
|
155
|
+
async delete(pathParams) {
|
|
156
|
+
const id = pathParams[this.pk];
|
|
157
|
+
if (typeof id === "undefined")
|
|
158
|
+
throw new ValidationError(`No ${this.pk} provided`);
|
|
154
159
|
const log = this.log.for(this.delete);
|
|
160
|
+
if (typeof id === "undefined")
|
|
161
|
+
throw new ValidationError(`No ${this.pk} provided`);
|
|
155
162
|
let read;
|
|
156
163
|
try {
|
|
157
|
-
log.debug(`deleting ${modelClazzName} with ${this.pk} ${
|
|
158
|
-
read = await this.repository.
|
|
164
|
+
log.debug(`deleting ${modelClazzName} with ${this.pk} ${pathParams}`);
|
|
165
|
+
read = await this.repository.delete("id");
|
|
159
166
|
}
|
|
160
167
|
catch (e) {
|
|
161
168
|
log.error(`Failed to delete ${modelClazzName} with id ${"id"}`, e);
|
|
@@ -247,7 +254,7 @@ export class FromModelController {
|
|
|
247
254
|
ApiNotFoundResponse({
|
|
248
255
|
description: `No ${modelClazzName} record matches the provided identifier.`,
|
|
249
256
|
}),
|
|
250
|
-
__param(0,
|
|
257
|
+
__param(0, Param()),
|
|
251
258
|
__metadata("design:type", Function),
|
|
252
259
|
__metadata("design:paramtypes", [Object]),
|
|
253
260
|
__metadata("design:returntype", Promise)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromModelController.js","sourceRoot":"","sources":["../../../src/decaf-model/FromModelController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,8BAA8B,EAC9B,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAQ,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAoB,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"FromModelController.js","sourceRoot":"","sources":["../../../src/decaf-model/FromModelController.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -36,7 +36,7 @@ export * from "./request/index.js";
|
|
|
36
36
|
* @constant
|
|
37
37
|
* @type {string}
|
|
38
38
|
*/
|
|
39
|
-
export const VERSION = "0.1.
|
|
39
|
+
export const VERSION = "0.1.4";
|
|
40
40
|
export const PACKAGE_NAME = "@decaf-ts/for-nest";
|
|
41
41
|
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
|
|
42
42
|
//# sourceMappingURL=index.js.map
|
package/lib/index.cjs
CHANGED
|
@@ -53,7 +53,7 @@ __exportStar(require("./request/index.cjs"), exports);
|
|
|
53
53
|
* @constant
|
|
54
54
|
* @type {string}
|
|
55
55
|
*/
|
|
56
|
-
exports.VERSION = "0.1.
|
|
56
|
+
exports.VERSION = "0.1.4";
|
|
57
57
|
exports.PACKAGE_NAME = "@decaf-ts/for-nest";
|
|
58
58
|
decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
|
|
59
59
|
//# sourceMappingURL=index.js.map
|
package/lib/index.d.ts
CHANGED