@triproject/nestjs-core 1.0.29 → 1.0.31

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.
Files changed (68) hide show
  1. package/dist/bootstrap.js +39 -1
  2. package/dist/config.js +257 -1
  3. package/dist/controllers/controller.js +53 -1
  4. package/dist/drivers/cache/cache.js +79 -1
  5. package/dist/drivers/cache/cache.module.js +30 -1
  6. package/dist/drivers/cache/index.js +14 -1
  7. package/dist/drivers/cache/redis.js +76 -1
  8. package/dist/drivers/db/db.helper.d.ts +1 -1
  9. package/dist/drivers/db/db.helper.js +276 -1
  10. package/dist/drivers/db/db.module.js +64 -1
  11. package/dist/drivers/db/db.service.js +52 -1
  12. package/dist/drivers/db/index.js +14 -1
  13. package/dist/drivers/db/migration.js +119 -1
  14. package/dist/drivers/db/repository.js +258 -1
  15. package/dist/drivers/encryptions/encryption.js +55 -1
  16. package/dist/drivers/encryptions/encryption.module.js +34 -1
  17. package/dist/drivers/encryptions/index.js +14 -1
  18. package/dist/drivers/encryptions/jwt.js +62 -1
  19. package/dist/drivers/encryptions/password-hash.js +48 -1
  20. package/dist/drivers/encryptions/snap.signature.js +111 -1
  21. package/dist/drivers/logger/app.logger.js +121 -2
  22. package/dist/drivers/logger/cloudwatch.js +73 -1
  23. package/dist/drivers/logger/index.js +12 -1
  24. package/dist/drivers/logger/logger.contract.js +29 -1
  25. package/dist/drivers/logger/logger.driver.js +49 -1
  26. package/dist/drivers/logger/slack.logger.js +42 -1
  27. package/dist/drivers/mail/index.js +14 -1
  28. package/dist/drivers/mail/mail-template.js +39 -6
  29. package/dist/drivers/mail/mail.config.js +10 -1
  30. package/dist/drivers/mail/mail.js +58 -13
  31. package/dist/drivers/mail/mail.module.js +36 -1
  32. package/dist/drivers/mail/mail.queue.js +45 -1
  33. package/dist/drivers/mail/mailer.js +64 -1
  34. package/dist/drivers/message-broker/index.js +14 -1
  35. package/dist/drivers/message-broker/kafka.js +104 -1
  36. package/dist/drivers/message-broker/message-broker.contract.js +24 -1
  37. package/dist/drivers/message-broker/message-broker.module.js +28 -1
  38. package/dist/drivers/message-broker/message.broker.js +67 -1
  39. package/dist/drivers/message-broker/rabbitmq.js +115 -1
  40. package/dist/drivers/notifications/index.js +14 -1
  41. package/dist/drivers/notifications/notification.config.js +10 -1
  42. package/dist/drivers/notifications/notification.module.js +34 -1
  43. package/dist/drivers/notifications/notification.queue.js +45 -1
  44. package/dist/drivers/notifications/push-notification.js +81 -1
  45. package/dist/drivers/notifications/slack.js +74 -1
  46. package/dist/drivers/queues/app.queue.js +77 -1
  47. package/dist/drivers/queues/index.js +14 -1
  48. package/dist/drivers/queues/queue.module.js +51 -1
  49. package/dist/drivers/secret-manager/aws-secret-manager.js +40 -1
  50. package/dist/drivers/secret-manager/index.js +50 -1
  51. package/dist/drivers/storage/csv.storage.js +71 -1
  52. package/dist/drivers/storage/excel.storage.js +57 -1
  53. package/dist/drivers/storage/index.js +14 -1
  54. package/dist/drivers/storage/local.storage.js +94 -1
  55. package/dist/drivers/storage/minio.storage.js +82 -1
  56. package/dist/drivers/storage/s3-storage.js +122 -1
  57. package/dist/drivers/storage/storage.contract.js +31 -1
  58. package/dist/drivers/storage/storage.module.js +32 -1
  59. package/dist/drivers/storage/storage.service.js +59 -1
  60. package/dist/helpers/exception.helper.js +132 -1
  61. package/dist/helpers/http.helper.js +163 -1
  62. package/dist/helpers/swagger.helper.js +474 -1
  63. package/dist/index.js +14 -1
  64. package/dist/types.d.js +4 -1
  65. package/dist/utils/redlock.js +51 -1
  66. package/dist/utils/throttle.js +68 -1
  67. package/dist/utils/totp.js +56 -1
  68. package/package.json +32 -29
@@ -1 +1,163 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get CatchError(){return CatchError},get HandleResponse(){return HandleResponse},get HttpExceptionFilter(){return HttpExceptionFilter},get ResponseInterceptor(){return ResponseInterceptor},get TransformResponseInterceptor(){return TransformResponseInterceptor}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});let _common=require("@nestjs/common"),_helpers=require("@triproject/helpers"),_rxjs=require("rxjs"),_uaparserjs=require("ua-parser-js"),_config=require("../config"),_applogger=require("../drivers/logger/app.logger"),_exceptionhelper=require("./exception.helper");function _ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}function _ts_metadata(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)}let errorLogger=new _applogger.AppLogger("CatchError Handler");function CatchError(err){return(target,key,descriptor)=>{let originalMethod=descriptor.value;descriptor.value=async function(...args){try{return await originalMethod.apply(this,args)}catch(error){let context=target.constructor.name+"."+key;if(error instanceof _exceptionhelper.AppBadRequestException||error instanceof _exceptionhelper.AppBadRequestException||error instanceof _exceptionhelper.AppUnprocessableEntityException||error instanceof _exceptionhelper.AppNotFoundException||error instanceof _exceptionhelper.AppForbiddenException||error instanceof _exceptionhelper.AppUnauthorizedException||error instanceof _exceptionhelper.AppConflictException||error instanceof _exceptionhelper.AppBadGatewayException||error instanceof _exceptionhelper.AppGatewayTimeoutException||error instanceof _common.GoneException||error instanceof _common.BadRequestException||error instanceof _common.BadRequestException||error instanceof _common.UnprocessableEntityException||error instanceof _common.NotFoundException||error instanceof _common.ForbiddenException||error instanceof _common.UnauthorizedException||error instanceof _common.ConflictException||error instanceof _common.BadGatewayException||error instanceof _common.GatewayTimeoutException)throw["development","local","staging"].includes(_config.NODE_ENV)&&errorLogger.debug(err+": "+context,args,error?.errors??error),error;throw errorLogger.error(err+": "+context,args,error),new _common.InternalServerErrorException(err)}}}}let RequestLog=class RequestLog{logger=new _applogger.AppLogger("Request Log");start(req){req.requestId=(0,_helpers.generateId)(),req.requestStartAt=new Date().getTime();let userAgentString=req.get("user-agent")??"",ua=new _uaparserjs.UAParser(userAgentString).getResult();req.userAgent=[ua.browser.name+" "+ua.browser.version,ua.os.name+" "+ua.os.version].join(", ")}end(req,res){let duration=(0,_helpers.dateUtil)().diff("milliseconds",req.requestStartAt),reqData=(0,_helpers.removeEmptyValues)({body:Object.keys(req?.body).length?req?.body:void 0,query:Object.keys(req?.query).length?req?.query:void 0}),userData=req?.user,user=userData?(0,_helpers.removeEmptyValues)({id:userData?.id,name:userData?.name,sessionId:userData?.sessionId}):void 0,logs=[`Request ${req.requestId} completed in ${duration} ms`,(0,_helpers.removeEmptyValues)({requestId:req.requestId,durationInMs:duration,method:req.method,url:req.protocol+"://"+req.hostname+req.baseUrl+req.path,origin:req.get("origin"),ipAddress:req?.ip,userAgent:req?.userAgent,request:reqData&&Object.keys(reqData).length?reqData:void 0,response:{status:res.status,message:res.message},user})];req?.errorMessage&&logs.push(req.errorMessage),this.logger.log(...logs)}};let requestLog=new RequestLog;let HttpExceptionFilter=class HttpExceptionFilter{catch(exception,host){let ctx=host.switchToHttp(),response=ctx.getResponse(),request=ctx.getRequest(),status=exception.getStatus();requestLog.start(request),status.toString().startsWith("5")&&(request.errorMessage=exception),400===status?response.status(status).json(exception.getResponse()):404===status?response.status(status).json({statusCode:status,message:"Not found"}):response.status(status).json((0,_helpers.removeEmptyValues)({statusCode:status,message:exception.message,meta:[500,502,504].includes(status)?{timestamp:request?.requestStartAt?(0,_helpers.dateUtil)(request?.requestStartAt).utc().toISOString():void 0,path:request.url,reqId:request?.requestId}:void 0})),requestLog.end(request,{status:response.statusCode,message:exception.message})}};HttpExceptionFilter=_ts_decorate([(0,_common.Catch)(_common.HttpException)],HttpExceptionFilter);let handleDataValue=data=>data?.statusCode&&data?.message?data:!Array.isArray(data)&&data?.data&&"object"==typeof data?.data?{statusCode:200,message:"Success",...data}:{statusCode:200,message:"Success",data};let TransformResponseInterceptor=class TransformResponseInterceptor{intercept(context,next){let req=context.switchToHttp().getRequest();return requestLog.start(req),next.handle().pipe((0,_rxjs.map)(data=>handleDataValue(data)),(0,_rxjs.tap)(res=>{requestLog.end(req,{status:res.statusCode,message:res?.message})}))}};TransformResponseInterceptor=_ts_decorate([(0,_common.Injectable)()],TransformResponseInterceptor);let ResponseInterceptor=class ResponseInterceptor{message;status;constructor(message="Success",status=_common.HttpStatus.OK){this.message=message,this.status=status}intercept(context,next){return next.handle().pipe((0,_rxjs.map)(data=>handleDataValue(data)))}};ResponseInterceptor=_ts_decorate([(0,_common.Injectable)(),_ts_metadata("design:type",Function),_ts_metadata("design:paramtypes",[String,void 0===_common.HttpStatus?Object:_common.HttpStatus])],ResponseInterceptor);let HandleResponse=(message,status=_common.HttpStatus.OK)=>(0,_common.UseInterceptors)(new ResponseInterceptor(message,status));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: !0
4
+ });
5
+ var target = exports, all = {
6
+ get CatchError () {
7
+ return CatchError;
8
+ },
9
+ get HandleResponse () {
10
+ return HandleResponse;
11
+ },
12
+ get HttpExceptionFilter () {
13
+ return HttpExceptionFilter;
14
+ },
15
+ get ResponseInterceptor () {
16
+ return ResponseInterceptor;
17
+ },
18
+ get TransformResponseInterceptor () {
19
+ return TransformResponseInterceptor;
20
+ }
21
+ };
22
+ for(var name in all)Object.defineProperty(target, name, {
23
+ enumerable: !0,
24
+ get: Object.getOwnPropertyDescriptor(all, name).get
25
+ });
26
+ let _common = require("@nestjs/common"), _helpers = require("@triproject/helpers"), _rxjs = require("rxjs"), _uaparserjs = require("ua-parser-js"), _config = require("../config"), _applogger = require("../drivers/logger/app.logger"), _exceptionhelper = require("./exception.helper");
27
+ function _ts_decorate(decorators, target, key, desc) {
28
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
29
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
30
+ else for(var i = decorators.length - 1; i >= 0; i--)(d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
31
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
32
+ }
33
+ function _ts_metadata(k, v) {
34
+ if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
35
+ }
36
+ let errorLogger = new _applogger.AppLogger('CatchError Handler');
37
+ function CatchError(err) {
38
+ return (target, key, descriptor)=>{
39
+ let originalMethod = descriptor.value;
40
+ descriptor.value = async function(...args) {
41
+ try {
42
+ return await originalMethod.apply(this, args);
43
+ } catch (error) {
44
+ let context = target.constructor.name + '.' + key;
45
+ if (error instanceof _exceptionhelper.AppBadRequestException || error instanceof _exceptionhelper.AppBadRequestException || error instanceof _exceptionhelper.AppUnprocessableEntityException || error instanceof _exceptionhelper.AppNotFoundException || error instanceof _exceptionhelper.AppForbiddenException || error instanceof _exceptionhelper.AppUnauthorizedException || error instanceof _exceptionhelper.AppConflictException || error instanceof _exceptionhelper.AppBadGatewayException || error instanceof _exceptionhelper.AppGatewayTimeoutException || error instanceof _common.GoneException || error instanceof _common.BadRequestException || error instanceof _common.BadRequestException || error instanceof _common.UnprocessableEntityException || error instanceof _common.NotFoundException || error instanceof _common.ForbiddenException || error instanceof _common.UnauthorizedException || error instanceof _common.ConflictException || error instanceof _common.BadGatewayException || error instanceof _common.GatewayTimeoutException) throw [
46
+ 'development',
47
+ 'local',
48
+ 'staging'
49
+ ].includes(_config.NODE_ENV) && errorLogger.debug(err + ': ' + context, args, error?.errors ?? error), error;
50
+ throw errorLogger.error(err + ': ' + context, args, error), new _common.InternalServerErrorException(err);
51
+ }
52
+ };
53
+ };
54
+ }
55
+ let RequestLog = class RequestLog {
56
+ logger = new _applogger.AppLogger('Request Log');
57
+ start(req) {
58
+ req.requestId = (0, _helpers.generateId)(), req.requestStartAt = new Date().getTime();
59
+ let userAgentString = req.get('user-agent') ?? '', ua = new _uaparserjs.UAParser(userAgentString).getResult();
60
+ req.userAgent = [
61
+ ua.browser.name + ' ' + ua.browser.version,
62
+ ua.os.name + ' ' + ua.os.version
63
+ ].join(', ');
64
+ }
65
+ end(req, res) {
66
+ let duration = (0, _helpers.dateUtil)().diff('milliseconds', req.requestStartAt), reqData = (0, _helpers.removeEmptyValues)({
67
+ body: Object.keys(req?.body).length ? req?.body : void 0,
68
+ query: Object.keys(req?.query).length ? req?.query : void 0
69
+ }), userData = req?.user, user = userData ? (0, _helpers.removeEmptyValues)({
70
+ id: userData?.id,
71
+ name: userData?.name,
72
+ sessionId: userData?.sessionId
73
+ }) : void 0, logs = [
74
+ `Request ${req.requestId} completed in ${duration} ms`,
75
+ (0, _helpers.removeEmptyValues)({
76
+ requestId: req.requestId,
77
+ durationInMs: duration,
78
+ method: req.method,
79
+ url: req.protocol + '://' + req.hostname + req.baseUrl + req.path,
80
+ origin: req.get('origin'),
81
+ ipAddress: req?.ip,
82
+ userAgent: req?.userAgent,
83
+ request: reqData && Object.keys(reqData).length ? reqData : void 0,
84
+ response: {
85
+ status: res.status,
86
+ message: res.message
87
+ },
88
+ user
89
+ })
90
+ ];
91
+ req?.errorMessage && logs.push(req.errorMessage), this.logger.log(...logs);
92
+ }
93
+ };
94
+ let requestLog = new RequestLog();
95
+ let HttpExceptionFilter = class HttpExceptionFilter {
96
+ catch(exception, host) {
97
+ let ctx = host.switchToHttp(), response = ctx.getResponse(), request = ctx.getRequest(), status = exception.getStatus();
98
+ requestLog.start(request), status.toString().startsWith('5') && (request.errorMessage = exception), 400 === status ? response.status(status).json(exception.getResponse()) : 404 === status ? response.status(status).json({
99
+ statusCode: status,
100
+ message: 'Not found'
101
+ }) : response.status(status).json((0, _helpers.removeEmptyValues)({
102
+ statusCode: status,
103
+ message: exception.message,
104
+ meta: [
105
+ 500,
106
+ 502,
107
+ 504
108
+ ].includes(status) ? {
109
+ timestamp: request?.requestStartAt ? (0, _helpers.dateUtil)(request?.requestStartAt).utc().toISOString() : void 0,
110
+ path: request.url,
111
+ reqId: request?.requestId
112
+ } : void 0
113
+ })), requestLog.end(request, {
114
+ status: response.statusCode,
115
+ message: exception.message
116
+ });
117
+ }
118
+ };
119
+ HttpExceptionFilter = _ts_decorate([
120
+ (0, _common.Catch)(_common.HttpException)
121
+ ], HttpExceptionFilter);
122
+ let handleDataValue = (data)=>data?.statusCode && data?.message ? data : !Array.isArray(data) && data?.data && 'object' == typeof data?.data ? {
123
+ statusCode: 200,
124
+ message: 'Success',
125
+ ...data
126
+ } : {
127
+ statusCode: 200,
128
+ message: 'Success',
129
+ data
130
+ };
131
+ let TransformResponseInterceptor = class TransformResponseInterceptor {
132
+ intercept(context, next) {
133
+ let req = context.switchToHttp().getRequest();
134
+ return requestLog.start(req), next.handle().pipe((0, _rxjs.map)((data)=>handleDataValue(data)), (0, _rxjs.tap)((res)=>{
135
+ requestLog.end(req, {
136
+ status: res.statusCode,
137
+ message: res?.message
138
+ });
139
+ }));
140
+ }
141
+ };
142
+ TransformResponseInterceptor = _ts_decorate([
143
+ (0, _common.Injectable)()
144
+ ], TransformResponseInterceptor);
145
+ let ResponseInterceptor = class ResponseInterceptor {
146
+ message;
147
+ status;
148
+ constructor(message = 'Success', status = _common.HttpStatus.OK){
149
+ this.message = message, this.status = status;
150
+ }
151
+ intercept(context, next) {
152
+ return next.handle().pipe((0, _rxjs.map)((data)=>handleDataValue(data)));
153
+ }
154
+ };
155
+ ResponseInterceptor = _ts_decorate([
156
+ (0, _common.Injectable)(),
157
+ _ts_metadata("design:type", Function),
158
+ _ts_metadata("design:paramtypes", [
159
+ String,
160
+ void 0 === _common.HttpStatus ? Object : _common.HttpStatus
161
+ ])
162
+ ], ResponseInterceptor);
163
+ let HandleResponse = (message, status = _common.HttpStatus.OK)=>(0, _common.UseInterceptors)(new ResponseInterceptor(message, status));
@@ -1 +1,474 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get ApiAddressProperty(){return ApiAddressProperty},get ApiBooleanProperty(){return ApiBooleanProperty},get ApiCityProperty(){return ApiCityProperty},get ApiCompanyProperty(){return ApiCompanyProperty},get ApiDateArrayProperty(){return ApiDateArrayProperty},get ApiDateOnlyProperty(){return ApiDateOnlyProperty},get ApiDateProperty(){return ApiDateProperty},get ApiEmailProperty(){return ApiEmailProperty},get ApiEnumProperty(){return ApiEnumProperty},get ApiNameProperty(){return ApiNameProperty},get ApiNumberArrayProperty(){return ApiNumberArrayProperty},get ApiNumberProperty(){return ApiNumberProperty},get ApiPasswordProperty(){return ApiPasswordProperty},get ApiPhoneProperty(){return ApiPhoneProperty},get ApiProvinceProperty(){return ApiProvinceProperty},get ApiStringArrayProperty(){return ApiStringArrayProperty},get ApiStringProperty(){return ApiStringProperty},get ApiTimeProperty(){return ApiTimeProperty},get ApiTokenProperty(){return ApiTokenProperty},get ApiUrlProperty(){return ApiUrlProperty},get ApiUuidArrayProperty(){return ApiUuidArrayProperty},get ApiUuidProperty(){return ApiUuidProperty},get SwaggerApiBadRequestResponse(){return SwaggerApiBadRequestResponse},get SwaggerApiBadSwaGatewayResponse(){return SwaggerApiBadSwaGatewayResponse},get SwaggerApiConflictResponse(){return SwaggerApiConflictResponse},get SwaggerApiCreatedResponse(){return SwaggerApiCreatedResponse},get SwaggerApiForbiddenResponse(){return SwaggerApiForbiddenResponse},get SwaggerApiInternalServerErrorResponse(){return SwaggerApiInternalServerErrorResponse},get SwaggerApiNoContentResponse(){return SwaggerApiNoContentResponse},get SwaggerApiNotFoundResponse(){return SwaggerApiNotFoundResponse},get SwaggerApiPaginateResponse(){return SwaggerApiPaginateResponse},get SwaggerApiSuccessResponse(){return SwaggerApiSuccessResponse},get SwaggerApiUnauthorizedResponse(){return SwaggerApiUnauthorizedResponse}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});let _swagger=require("@nestjs/swagger");function _ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}function _ts_metadata(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)}let paginateResponseCache=new Map;let BadRequestExample=class BadRequestExample{statusCode;message;errors};_ts_decorate([(0,_swagger.ApiProperty)({example:400}),_ts_metadata("design:type",Number)],BadRequestExample.prototype,"statusCode",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"Error Message 1, Error Message 2"}),_ts_metadata("design:type",String)],BadRequestExample.prototype,"message",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:{field1:["Error message 1","Error message 2"],field2:["Error message 3"]},description:"Validation errors"}),_ts_metadata("design:type","u"<typeof Record?Object:Record)],BadRequestExample.prototype,"errors",void 0);let SwaggerApiBadRequestResponse=(0,_swagger.ApiResponse)({status:400,description:"Bad Request",type:BadRequestExample});let UnauthorizedExample=class UnauthorizedExample{statusCode;message};_ts_decorate([(0,_swagger.ApiProperty)({example:401}),_ts_metadata("design:type",Number)],UnauthorizedExample.prototype,"statusCode",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"Unauthorized"}),_ts_metadata("design:type",String)],UnauthorizedExample.prototype,"message",void 0);let SwaggerApiUnauthorizedResponse=(0,_swagger.ApiResponse)({status:401,description:"Unauthorized",type:UnauthorizedExample});let ForbiddenExample=class ForbiddenExample{statusCode;message};_ts_decorate([(0,_swagger.ApiProperty)({example:403}),_ts_metadata("design:type",Number)],ForbiddenExample.prototype,"statusCode",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"Forbidden"}),_ts_metadata("design:type",String)],ForbiddenExample.prototype,"message",void 0);let SwaggerApiForbiddenResponse=(0,_swagger.ApiResponse)({status:403,description:"Forbidden",type:ForbiddenExample});let NotFoundExample=class NotFoundExample{statusCode;message};_ts_decorate([(0,_swagger.ApiProperty)({example:404}),_ts_metadata("design:type",Number)],NotFoundExample.prototype,"statusCode",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"Resource not found"}),_ts_metadata("design:type",String)],NotFoundExample.prototype,"message",void 0);let SwaggerApiNotFoundResponse=(0,_swagger.ApiResponse)({status:404,description:"Not Found",type:NotFoundExample});let BadSwaGatewayExample=class BadSwaGatewayExample{statusCode;message};_ts_decorate([(0,_swagger.ApiProperty)({example:502}),_ts_metadata("design:type",Number)],BadSwaGatewayExample.prototype,"statusCode",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"Bad Gateway"}),_ts_metadata("design:type",String)],BadSwaGatewayExample.prototype,"message",void 0);let SwaggerApiBadSwaGatewayResponse=(0,_swagger.ApiResponse)({status:502,description:"Bad Gateway",type:BadSwaGatewayExample});let InternalServerErrorExample=class InternalServerErrorExample{statusCode;message};_ts_decorate([(0,_swagger.ApiProperty)({example:500}),_ts_metadata("design:type",Number)],InternalServerErrorExample.prototype,"statusCode",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"Internal server error"}),_ts_metadata("design:type",String)],InternalServerErrorExample.prototype,"message",void 0);let SwaggerApiInternalServerErrorResponse=(0,_swagger.ApiResponse)({status:500,description:"Internal Server Error",type:InternalServerErrorExample});let ConflictExample=class ConflictExample{statusCode;message};_ts_decorate([(0,_swagger.ApiProperty)({example:409}),_ts_metadata("design:type",Number)],ConflictExample.prototype,"statusCode",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"Conflict error"}),_ts_metadata("design:type",String)],ConflictExample.prototype,"message",void 0);let SwaggerApiConflictResponse=(0,_swagger.ApiResponse)({status:409,description:"Conflict",type:ConflictExample});let NoContentExample=class NoContentExample{statusCode;message};_ts_decorate([(0,_swagger.ApiProperty)({example:204}),_ts_metadata("design:type",Number)],NoContentExample.prototype,"statusCode",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"No content"}),_ts_metadata("design:type",String)],NoContentExample.prototype,"message",void 0);let SwaggerApiNoContentResponse=(0,_swagger.ApiResponse)({status:204,description:"No Content",type:NoContentExample}),SwaggerApiSuccessResponse=classType=>(0,_swagger.ApiResponse)({status:200,description:"Success",type:(classType=>{let className=classType.name,cacheKey=`Success${className}Response`;if(paginateResponseCache.has(cacheKey))return paginateResponseCache.get(cacheKey);let SuccessResponse=class SuccessResponse{statusCode;message;data};return _ts_decorate([(0,_swagger.ApiProperty)({example:200}),_ts_metadata("design:type",Number)],SuccessResponse.prototype,"statusCode",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"Success"}),_ts_metadata("design:type",String)],SuccessResponse.prototype,"message",void 0),_ts_decorate([(0,_swagger.ApiProperty)({description:"Response data",type:classType}),_ts_metadata("design:type",Object)],SuccessResponse.prototype,"data",void 0),Object.defineProperty(SuccessResponse,"name",{value:cacheKey}),paginateResponseCache.set(cacheKey,SuccessResponse),SuccessResponse})(classType)}),SwaggerApiCreatedResponse=classType=>(0,_swagger.ApiResponse)({status:201,description:"Created",type:(classType=>{let className=classType.name,cacheKey=`Created${className}Response`;if(paginateResponseCache.has(cacheKey))return paginateResponseCache.get(cacheKey);let CreatedResponse=class CreatedResponse{statusCode;message;data};return _ts_decorate([(0,_swagger.ApiProperty)({example:201}),_ts_metadata("design:type",Number)],CreatedResponse.prototype,"statusCode",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"Resource created successfully"}),_ts_metadata("design:type",String)],CreatedResponse.prototype,"message",void 0),_ts_decorate([(0,_swagger.ApiProperty)({description:"Response data",type:classType}),_ts_metadata("design:type",Object)],CreatedResponse.prototype,"data",void 0),Object.defineProperty(CreatedResponse,"name",{value:cacheKey}),paginateResponseCache.set(cacheKey,CreatedResponse),CreatedResponse})(classType)});function SwaggerApiPaginateResponse(classType){return(0,_swagger.ApiResponse)({status:200,description:"Success",type:(classType=>{let className=classType.name,cacheKey=`Paginate${className}Response`;if(paginateResponseCache.has(cacheKey))return paginateResponseCache.get(cacheKey);let ApiPaginateResponse=class ApiPaginateResponse{statusCode;message;meta;timestamp};return _ts_decorate([(0,_swagger.ApiProperty)({example:200}),_ts_metadata("design:type",Number)],ApiPaginateResponse.prototype,"statusCode",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"Success"}),_ts_metadata("design:type",String)],ApiPaginateResponse.prototype,"message",void 0),_ts_decorate([(0,_swagger.ApiProperty)({isArray:!0,type:classType}),_ts_metadata("design:type",Array)],ApiPaginateResponse.prototype,"data",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:{total:100,totalPage:10,perPage:10,prevPage:null,page:1,nextPage:2}}),_ts_metadata("design:type",Object)],ApiPaginateResponse.prototype,"meta",void 0),_ts_decorate([(0,_swagger.ApiProperty)({example:"2024-01-01T00:00:00.000Z"}),_ts_metadata("design:type",String)],ApiPaginateResponse.prototype,"timestamp",void 0),Object.defineProperty(ApiPaginateResponse,"name",{value:cacheKey}),paginateResponseCache.set(cacheKey,ApiPaginateResponse),ApiPaginateResponse})(classType)})}let ApiNameProperty=(0,_swagger.ApiProperty)({example:"John Doe"}),ApiCompanyProperty=(0,_swagger.ApiProperty)({example:"PT Gundala Permai"}),ApiCityProperty=(0,_swagger.ApiProperty)({example:"Jakarta"}),ApiProvinceProperty=(0,_swagger.ApiProperty)({example:"DKI Jakarta"}),ApiAddressProperty=(0,_swagger.ApiProperty)({example:"Jl. Merdeka No. 123"}),ApiEmailProperty=(0,_swagger.ApiProperty)({example:"john@gmail.com"}),ApiPhoneProperty=(0,_swagger.ApiProperty)({example:"+62128888888"}),ApiPasswordProperty=(0,_swagger.ApiProperty)({example:"Password@#123"}),ApiTokenProperty=(0,_swagger.ApiProperty)({example:"abcdef1234567890"}),ApiUuidProperty=(0,_swagger.ApiProperty)({example:"123e4567-e89b-12d3-a456-426614174000"}),ApiBooleanProperty=(0,_swagger.ApiProperty)({example:!0}),ApiNumberProperty=(0,_swagger.ApiProperty)({example:42e3}),ApiStringProperty=(0,_swagger.ApiProperty)({example:"Some string value"}),ApiEnumProperty=enums=>(0,_swagger.ApiProperty)({example:enums[0],enum:enums}),ApiDateProperty=(0,_swagger.ApiProperty)({example:"2024-01-01T00:00:00.000Z"}),ApiDateOnlyProperty=(0,_swagger.ApiProperty)({example:"2024-01-01"}),ApiTimeProperty=(0,_swagger.ApiProperty)({example:"14:30:00"}),ApiUrlProperty=(0,_swagger.ApiProperty)({example:"https://www.example.com/resource"}),ApiUuidArrayProperty=(0,_swagger.ApiProperty)({example:["123e4567-e89b-12d3-a456-426614174000","987e6543-e21b-12d3-a456-426614174999"],isArray:!0}),ApiStringArrayProperty=(0,_swagger.ApiProperty)({example:["string1","string2","string3"],isArray:!0}),ApiNumberArrayProperty=(0,_swagger.ApiProperty)({example:[10,20,30,40],isArray:!0}),ApiDateArrayProperty=(0,_swagger.ApiProperty)({example:["2024-01-01T00:00:00.000Z","2024-02-01T00:00:00.000Z"],isArray:!0});
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: !0
4
+ });
5
+ var target = exports, all = {
6
+ get ApiAddressProperty () {
7
+ return ApiAddressProperty;
8
+ },
9
+ get ApiBooleanProperty () {
10
+ return ApiBooleanProperty;
11
+ },
12
+ get ApiCityProperty () {
13
+ return ApiCityProperty;
14
+ },
15
+ get ApiCompanyProperty () {
16
+ return ApiCompanyProperty;
17
+ },
18
+ get ApiDateArrayProperty () {
19
+ return ApiDateArrayProperty;
20
+ },
21
+ get ApiDateOnlyProperty () {
22
+ return ApiDateOnlyProperty;
23
+ },
24
+ get ApiDateProperty () {
25
+ return ApiDateProperty;
26
+ },
27
+ get ApiEmailProperty () {
28
+ return ApiEmailProperty;
29
+ },
30
+ get ApiEnumProperty () {
31
+ return ApiEnumProperty;
32
+ },
33
+ get ApiNameProperty () {
34
+ return ApiNameProperty;
35
+ },
36
+ get ApiNumberArrayProperty () {
37
+ return ApiNumberArrayProperty;
38
+ },
39
+ get ApiNumberProperty () {
40
+ return ApiNumberProperty;
41
+ },
42
+ get ApiPasswordProperty () {
43
+ return ApiPasswordProperty;
44
+ },
45
+ get ApiPhoneProperty () {
46
+ return ApiPhoneProperty;
47
+ },
48
+ get ApiProvinceProperty () {
49
+ return ApiProvinceProperty;
50
+ },
51
+ get ApiStringArrayProperty () {
52
+ return ApiStringArrayProperty;
53
+ },
54
+ get ApiStringProperty () {
55
+ return ApiStringProperty;
56
+ },
57
+ get ApiTimeProperty () {
58
+ return ApiTimeProperty;
59
+ },
60
+ get ApiTokenProperty () {
61
+ return ApiTokenProperty;
62
+ },
63
+ get ApiUrlProperty () {
64
+ return ApiUrlProperty;
65
+ },
66
+ get ApiUuidArrayProperty () {
67
+ return ApiUuidArrayProperty;
68
+ },
69
+ get ApiUuidProperty () {
70
+ return ApiUuidProperty;
71
+ },
72
+ get SwaggerApiBadRequestResponse () {
73
+ return SwaggerApiBadRequestResponse;
74
+ },
75
+ get SwaggerApiBadSwaGatewayResponse () {
76
+ return SwaggerApiBadSwaGatewayResponse;
77
+ },
78
+ get SwaggerApiConflictResponse () {
79
+ return SwaggerApiConflictResponse;
80
+ },
81
+ get SwaggerApiCreatedResponse () {
82
+ return SwaggerApiCreatedResponse;
83
+ },
84
+ get SwaggerApiForbiddenResponse () {
85
+ return SwaggerApiForbiddenResponse;
86
+ },
87
+ get SwaggerApiInternalServerErrorResponse () {
88
+ return SwaggerApiInternalServerErrorResponse;
89
+ },
90
+ get SwaggerApiNoContentResponse () {
91
+ return SwaggerApiNoContentResponse;
92
+ },
93
+ get SwaggerApiNotFoundResponse () {
94
+ return SwaggerApiNotFoundResponse;
95
+ },
96
+ get SwaggerApiPaginateResponse () {
97
+ return SwaggerApiPaginateResponse;
98
+ },
99
+ get SwaggerApiSuccessResponse () {
100
+ return SwaggerApiSuccessResponse;
101
+ },
102
+ get SwaggerApiUnauthorizedResponse () {
103
+ return SwaggerApiUnauthorizedResponse;
104
+ }
105
+ };
106
+ for(var name in all)Object.defineProperty(target, name, {
107
+ enumerable: !0,
108
+ get: Object.getOwnPropertyDescriptor(all, name).get
109
+ });
110
+ let _swagger = require("@nestjs/swagger");
111
+ function _ts_decorate(decorators, target, key, desc) {
112
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
113
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
114
+ else for(var i = decorators.length - 1; i >= 0; i--)(d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
115
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
116
+ }
117
+ function _ts_metadata(k, v) {
118
+ if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
119
+ }
120
+ let paginateResponseCache = new Map();
121
+ let BadRequestExample = class BadRequestExample {
122
+ statusCode;
123
+ message;
124
+ errors;
125
+ };
126
+ _ts_decorate([
127
+ (0, _swagger.ApiProperty)({
128
+ example: 400
129
+ }),
130
+ _ts_metadata("design:type", Number)
131
+ ], BadRequestExample.prototype, "statusCode", void 0), _ts_decorate([
132
+ (0, _swagger.ApiProperty)({
133
+ example: 'Error Message 1, Error Message 2'
134
+ }),
135
+ _ts_metadata("design:type", String)
136
+ ], BadRequestExample.prototype, "message", void 0), _ts_decorate([
137
+ (0, _swagger.ApiProperty)({
138
+ example: {
139
+ field1: [
140
+ 'Error message 1',
141
+ 'Error message 2'
142
+ ],
143
+ field2: [
144
+ 'Error message 3'
145
+ ]
146
+ },
147
+ description: 'Validation errors'
148
+ }),
149
+ _ts_metadata("design:type", "u" < typeof Record ? Object : Record)
150
+ ], BadRequestExample.prototype, "errors", void 0);
151
+ let SwaggerApiBadRequestResponse = (0, _swagger.ApiResponse)({
152
+ status: 400,
153
+ description: 'Bad Request',
154
+ type: BadRequestExample
155
+ });
156
+ let UnauthorizedExample = class UnauthorizedExample {
157
+ statusCode;
158
+ message;
159
+ };
160
+ _ts_decorate([
161
+ (0, _swagger.ApiProperty)({
162
+ example: 401
163
+ }),
164
+ _ts_metadata("design:type", Number)
165
+ ], UnauthorizedExample.prototype, "statusCode", void 0), _ts_decorate([
166
+ (0, _swagger.ApiProperty)({
167
+ example: 'Unauthorized'
168
+ }),
169
+ _ts_metadata("design:type", String)
170
+ ], UnauthorizedExample.prototype, "message", void 0);
171
+ let SwaggerApiUnauthorizedResponse = (0, _swagger.ApiResponse)({
172
+ status: 401,
173
+ description: 'Unauthorized',
174
+ type: UnauthorizedExample
175
+ });
176
+ let ForbiddenExample = class ForbiddenExample {
177
+ statusCode;
178
+ message;
179
+ };
180
+ _ts_decorate([
181
+ (0, _swagger.ApiProperty)({
182
+ example: 403
183
+ }),
184
+ _ts_metadata("design:type", Number)
185
+ ], ForbiddenExample.prototype, "statusCode", void 0), _ts_decorate([
186
+ (0, _swagger.ApiProperty)({
187
+ example: 'Forbidden'
188
+ }),
189
+ _ts_metadata("design:type", String)
190
+ ], ForbiddenExample.prototype, "message", void 0);
191
+ let SwaggerApiForbiddenResponse = (0, _swagger.ApiResponse)({
192
+ status: 403,
193
+ description: 'Forbidden',
194
+ type: ForbiddenExample
195
+ });
196
+ let NotFoundExample = class NotFoundExample {
197
+ statusCode;
198
+ message;
199
+ };
200
+ _ts_decorate([
201
+ (0, _swagger.ApiProperty)({
202
+ example: 404
203
+ }),
204
+ _ts_metadata("design:type", Number)
205
+ ], NotFoundExample.prototype, "statusCode", void 0), _ts_decorate([
206
+ (0, _swagger.ApiProperty)({
207
+ example: 'Resource not found'
208
+ }),
209
+ _ts_metadata("design:type", String)
210
+ ], NotFoundExample.prototype, "message", void 0);
211
+ let SwaggerApiNotFoundResponse = (0, _swagger.ApiResponse)({
212
+ status: 404,
213
+ description: 'Not Found',
214
+ type: NotFoundExample
215
+ });
216
+ let BadSwaGatewayExample = class BadSwaGatewayExample {
217
+ statusCode;
218
+ message;
219
+ };
220
+ _ts_decorate([
221
+ (0, _swagger.ApiProperty)({
222
+ example: 502
223
+ }),
224
+ _ts_metadata("design:type", Number)
225
+ ], BadSwaGatewayExample.prototype, "statusCode", void 0), _ts_decorate([
226
+ (0, _swagger.ApiProperty)({
227
+ example: 'Bad Gateway'
228
+ }),
229
+ _ts_metadata("design:type", String)
230
+ ], BadSwaGatewayExample.prototype, "message", void 0);
231
+ let SwaggerApiBadSwaGatewayResponse = (0, _swagger.ApiResponse)({
232
+ status: 502,
233
+ description: 'Bad Gateway',
234
+ type: BadSwaGatewayExample
235
+ });
236
+ let InternalServerErrorExample = class InternalServerErrorExample {
237
+ statusCode;
238
+ message;
239
+ };
240
+ _ts_decorate([
241
+ (0, _swagger.ApiProperty)({
242
+ example: 500
243
+ }),
244
+ _ts_metadata("design:type", Number)
245
+ ], InternalServerErrorExample.prototype, "statusCode", void 0), _ts_decorate([
246
+ (0, _swagger.ApiProperty)({
247
+ example: 'Internal server error'
248
+ }),
249
+ _ts_metadata("design:type", String)
250
+ ], InternalServerErrorExample.prototype, "message", void 0);
251
+ let SwaggerApiInternalServerErrorResponse = (0, _swagger.ApiResponse)({
252
+ status: 500,
253
+ description: 'Internal Server Error',
254
+ type: InternalServerErrorExample
255
+ });
256
+ let ConflictExample = class ConflictExample {
257
+ statusCode;
258
+ message;
259
+ };
260
+ _ts_decorate([
261
+ (0, _swagger.ApiProperty)({
262
+ example: 409
263
+ }),
264
+ _ts_metadata("design:type", Number)
265
+ ], ConflictExample.prototype, "statusCode", void 0), _ts_decorate([
266
+ (0, _swagger.ApiProperty)({
267
+ example: 'Conflict error'
268
+ }),
269
+ _ts_metadata("design:type", String)
270
+ ], ConflictExample.prototype, "message", void 0);
271
+ let SwaggerApiConflictResponse = (0, _swagger.ApiResponse)({
272
+ status: 409,
273
+ description: 'Conflict',
274
+ type: ConflictExample
275
+ });
276
+ let NoContentExample = class NoContentExample {
277
+ statusCode;
278
+ message;
279
+ };
280
+ _ts_decorate([
281
+ (0, _swagger.ApiProperty)({
282
+ example: 204
283
+ }),
284
+ _ts_metadata("design:type", Number)
285
+ ], NoContentExample.prototype, "statusCode", void 0), _ts_decorate([
286
+ (0, _swagger.ApiProperty)({
287
+ example: 'No content'
288
+ }),
289
+ _ts_metadata("design:type", String)
290
+ ], NoContentExample.prototype, "message", void 0);
291
+ let SwaggerApiNoContentResponse = (0, _swagger.ApiResponse)({
292
+ status: 204,
293
+ description: 'No Content',
294
+ type: NoContentExample
295
+ }), SwaggerApiSuccessResponse = (classType)=>(0, _swagger.ApiResponse)({
296
+ status: 200,
297
+ description: 'Success',
298
+ type: ((classType)=>{
299
+ let className = classType.name, cacheKey = `Success${className}Response`;
300
+ if (paginateResponseCache.has(cacheKey)) return paginateResponseCache.get(cacheKey);
301
+ let SuccessResponse = class SuccessResponse {
302
+ statusCode;
303
+ message;
304
+ data;
305
+ };
306
+ return _ts_decorate([
307
+ (0, _swagger.ApiProperty)({
308
+ example: 200
309
+ }),
310
+ _ts_metadata("design:type", Number)
311
+ ], SuccessResponse.prototype, "statusCode", void 0), _ts_decorate([
312
+ (0, _swagger.ApiProperty)({
313
+ example: 'Success'
314
+ }),
315
+ _ts_metadata("design:type", String)
316
+ ], SuccessResponse.prototype, "message", void 0), _ts_decorate([
317
+ (0, _swagger.ApiProperty)({
318
+ description: 'Response data',
319
+ type: classType
320
+ }),
321
+ _ts_metadata("design:type", Object)
322
+ ], SuccessResponse.prototype, "data", void 0), Object.defineProperty(SuccessResponse, 'name', {
323
+ value: cacheKey
324
+ }), paginateResponseCache.set(cacheKey, SuccessResponse), SuccessResponse;
325
+ })(classType)
326
+ }), SwaggerApiCreatedResponse = (classType)=>(0, _swagger.ApiResponse)({
327
+ status: 201,
328
+ description: 'Created',
329
+ type: ((classType)=>{
330
+ let className = classType.name, cacheKey = `Created${className}Response`;
331
+ if (paginateResponseCache.has(cacheKey)) return paginateResponseCache.get(cacheKey);
332
+ let CreatedResponse = class CreatedResponse {
333
+ statusCode;
334
+ message;
335
+ data;
336
+ };
337
+ return _ts_decorate([
338
+ (0, _swagger.ApiProperty)({
339
+ example: 201
340
+ }),
341
+ _ts_metadata("design:type", Number)
342
+ ], CreatedResponse.prototype, "statusCode", void 0), _ts_decorate([
343
+ (0, _swagger.ApiProperty)({
344
+ example: 'Resource created successfully'
345
+ }),
346
+ _ts_metadata("design:type", String)
347
+ ], CreatedResponse.prototype, "message", void 0), _ts_decorate([
348
+ (0, _swagger.ApiProperty)({
349
+ description: 'Response data',
350
+ type: classType
351
+ }),
352
+ _ts_metadata("design:type", Object)
353
+ ], CreatedResponse.prototype, "data", void 0), Object.defineProperty(CreatedResponse, 'name', {
354
+ value: cacheKey
355
+ }), paginateResponseCache.set(cacheKey, CreatedResponse), CreatedResponse;
356
+ })(classType)
357
+ });
358
+ function SwaggerApiPaginateResponse(classType) {
359
+ return (0, _swagger.ApiResponse)({
360
+ status: 200,
361
+ description: 'Success',
362
+ type: ((classType)=>{
363
+ let className = classType.name, cacheKey = `Paginate${className}Response`;
364
+ if (paginateResponseCache.has(cacheKey)) return paginateResponseCache.get(cacheKey);
365
+ let ApiPaginateResponse = class ApiPaginateResponse {
366
+ statusCode;
367
+ message;
368
+ meta;
369
+ timestamp;
370
+ };
371
+ return _ts_decorate([
372
+ (0, _swagger.ApiProperty)({
373
+ example: 200
374
+ }),
375
+ _ts_metadata("design:type", Number)
376
+ ], ApiPaginateResponse.prototype, "statusCode", void 0), _ts_decorate([
377
+ (0, _swagger.ApiProperty)({
378
+ example: 'Success'
379
+ }),
380
+ _ts_metadata("design:type", String)
381
+ ], ApiPaginateResponse.prototype, "message", void 0), _ts_decorate([
382
+ (0, _swagger.ApiProperty)({
383
+ isArray: !0,
384
+ type: classType
385
+ }),
386
+ _ts_metadata("design:type", Array)
387
+ ], ApiPaginateResponse.prototype, "data", void 0), _ts_decorate([
388
+ (0, _swagger.ApiProperty)({
389
+ example: {
390
+ total: 100,
391
+ totalPage: 10,
392
+ perPage: 10,
393
+ prevPage: null,
394
+ page: 1,
395
+ nextPage: 2
396
+ }
397
+ }),
398
+ _ts_metadata("design:type", Object)
399
+ ], ApiPaginateResponse.prototype, "meta", void 0), _ts_decorate([
400
+ (0, _swagger.ApiProperty)({
401
+ example: '2024-01-01T00:00:00.000Z'
402
+ }),
403
+ _ts_metadata("design:type", String)
404
+ ], ApiPaginateResponse.prototype, "timestamp", void 0), Object.defineProperty(ApiPaginateResponse, 'name', {
405
+ value: cacheKey
406
+ }), paginateResponseCache.set(cacheKey, ApiPaginateResponse), ApiPaginateResponse;
407
+ })(classType)
408
+ });
409
+ }
410
+ let ApiNameProperty = (0, _swagger.ApiProperty)({
411
+ example: 'John Doe'
412
+ }), ApiCompanyProperty = (0, _swagger.ApiProperty)({
413
+ example: 'PT Gundala Permai'
414
+ }), ApiCityProperty = (0, _swagger.ApiProperty)({
415
+ example: 'Jakarta'
416
+ }), ApiProvinceProperty = (0, _swagger.ApiProperty)({
417
+ example: 'DKI Jakarta'
418
+ }), ApiAddressProperty = (0, _swagger.ApiProperty)({
419
+ example: 'Jl. Merdeka No. 123'
420
+ }), ApiEmailProperty = (0, _swagger.ApiProperty)({
421
+ example: 'john@gmail.com'
422
+ }), ApiPhoneProperty = (0, _swagger.ApiProperty)({
423
+ example: '+62128888888'
424
+ }), ApiPasswordProperty = (0, _swagger.ApiProperty)({
425
+ example: 'Password@#123'
426
+ }), ApiTokenProperty = (0, _swagger.ApiProperty)({
427
+ example: 'abcdef1234567890'
428
+ }), ApiUuidProperty = (0, _swagger.ApiProperty)({
429
+ example: '123e4567-e89b-12d3-a456-426614174000'
430
+ }), ApiBooleanProperty = (0, _swagger.ApiProperty)({
431
+ example: !0
432
+ }), ApiNumberProperty = (0, _swagger.ApiProperty)({
433
+ example: 42000
434
+ }), ApiStringProperty = (0, _swagger.ApiProperty)({
435
+ example: 'Some string value'
436
+ }), ApiEnumProperty = (enums)=>(0, _swagger.ApiProperty)({
437
+ example: enums[0],
438
+ enum: enums
439
+ }), ApiDateProperty = (0, _swagger.ApiProperty)({
440
+ example: '2024-01-01T00:00:00.000Z'
441
+ }), ApiDateOnlyProperty = (0, _swagger.ApiProperty)({
442
+ example: '2024-01-01'
443
+ }), ApiTimeProperty = (0, _swagger.ApiProperty)({
444
+ example: '14:30:00'
445
+ }), ApiUrlProperty = (0, _swagger.ApiProperty)({
446
+ example: 'https://www.example.com/resource'
447
+ }), ApiUuidArrayProperty = (0, _swagger.ApiProperty)({
448
+ example: [
449
+ '123e4567-e89b-12d3-a456-426614174000',
450
+ '987e6543-e21b-12d3-a456-426614174999'
451
+ ],
452
+ isArray: !0
453
+ }), ApiStringArrayProperty = (0, _swagger.ApiProperty)({
454
+ example: [
455
+ 'string1',
456
+ 'string2',
457
+ 'string3'
458
+ ],
459
+ isArray: !0
460
+ }), ApiNumberArrayProperty = (0, _swagger.ApiProperty)({
461
+ example: [
462
+ 10,
463
+ 20,
464
+ 30,
465
+ 40
466
+ ],
467
+ isArray: !0
468
+ }), ApiDateArrayProperty = (0, _swagger.ApiProperty)({
469
+ example: [
470
+ '2024-01-01T00:00:00.000Z',
471
+ '2024-02-01T00:00:00.000Z'
472
+ ],
473
+ isArray: !0
474
+ });