@triproject/nestjs-core 1.0.23 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.d.ts CHANGED
@@ -73,6 +73,7 @@ export declare const CLOUDWATCH_REGION: string | undefined;
73
73
  export declare const CLOUDWATCH_ACCESS_KEY_ID: string | undefined;
74
74
  export declare const CLOUDWATCH_SECRET_ACCESS_KEY: string | undefined;
75
75
  export declare const ENABLE_CLOUDWATCH_LOGS: string | undefined;
76
+ export declare const AWS_SECRETS_MANAGER_ENABLED: boolean;
76
77
  export declare const AWS_SECRETS_MANAGER_REGION: string;
77
78
  export declare const AWS_SECRETS_MANAGER_ACCESS_KEY_ID: string;
78
79
  export declare const AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY: string;
package/dist/config.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get ALLOWED_ORIGINS(){return ALLOWED_ORIGINS},get APP_KEY(){return APP_KEY},get APP_LOGO_URL(){return APP_LOGO_URL},get APP_NAME(){return APP_NAME},get APP_PORT(){return APP_PORT},get AWS_SECRETS_MANAGER_ACCESS_KEY_ID(){return AWS_SECRETS_MANAGER_ACCESS_KEY_ID},get AWS_SECRETS_MANAGER_REGION(){return AWS_SECRETS_MANAGER_REGION},get AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY(){return AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY},get AWS_SECRETS_MANAGER_SECRET_NAME(){return AWS_SECRETS_MANAGER_SECRET_NAME},get AWS_SECRETS_MANAGER_VERSION_STAGE(){return AWS_SECRETS_MANAGER_VERSION_STAGE},get CLOUDWATCH_ACCESS_KEY_ID(){return CLOUDWATCH_ACCESS_KEY_ID},get CLOUDWATCH_LOG_GROUP(){return CLOUDWATCH_LOG_GROUP},get CLOUDWATCH_LOG_STREAM(){return CLOUDWATCH_LOG_STREAM},get CLOUDWATCH_REGION(){return CLOUDWATCH_REGION},get CLOUDWATCH_SECRET_ACCESS_KEY(){return CLOUDWATCH_SECRET_ACCESS_KEY},get DB_DIALECT(){return DB_DIALECT},get DB_ENTITIES_PATH(){return DB_ENTITIES_PATH},get DB_HOST(){return DB_HOST},get DB_MAX_POOL_SIZE(){return DB_MAX_POOL_SIZE},get DB_NAME(){return DB_NAME},get DB_PASSWORD(){return DB_PASSWORD},get DB_POOL_ACQUIRE(){return DB_POOL_ACQUIRE},get DB_POOL_IDLE(){return DB_POOL_IDLE},get DB_POOL_MIN(){return DB_POOL_MIN},get DB_PORT(){return DB_PORT},get DB_REPLICA_HOST(){return DB_REPLICA_HOST},get DB_REPLICA_PORT(){return DB_REPLICA_PORT},get DB_SSL(){return DB_SSL},get DB_USER(){return DB_USER},get DEFAULT_THROTTLE_LIMIT(){return DEFAULT_THROTTLE_LIMIT},get DEFAULT_THROTTLE_TTL(){return DEFAULT_THROTTLE_TTL},get ENABLE_CLOUDWATCH_LOGS(){return ENABLE_CLOUDWATCH_LOGS},get ENCRYPTION_KEY(){return ENCRYPTION_KEY},get JWT_PRIVATE_KEY(){return JWT_PRIVATE_KEY},get JWT_PUBLIC_KEY(){return JWT_PUBLIC_KEY},get KAFKA_BROKERS(){return KAFKA_BROKERS},get KAFKA_CLIENT_ID(){return KAFKA_CLIENT_ID},get LANDING_PAGE_URL(){return LANDING_PAGE_URL},get MAIL_EMAIL_SUPPORT(){return MAIL_EMAIL_SUPPORT},get MAIL_ENCRYPTION(){return MAIL_ENCRYPTION},get MAIL_FROM_EMAIL(){return MAIL_FROM_EMAIL},get MAIL_FROM_NAME(){return MAIL_FROM_NAME},get MAIL_HOST(){return MAIL_HOST},get MAIL_MAILER(){return MAIL_MAILER},get MAIL_PASSWORD(){return MAIL_PASSWORD},get MAIL_PORT(){return MAIL_PORT},get MAIL_TO_CC(){return MAIL_TO_CC},get MAIL_USERNAME(){return MAIL_USERNAME},get MESSAGE_BROKER_DRIVER(){return MESSAGE_BROKER_DRIVER},get MINIO_ACCESS_KEY(){return MINIO_ACCESS_KEY},get MINIO_HOST(){return MINIO_HOST},get MINIO_PORT(){return MINIO_PORT},get MINIO_SECRET_KEY(){return MINIO_SECRET_KEY},get MINIO_USE_SSL(){return MINIO_USE_SSL},get NODE_ENV(){return NODE_ENV},get ONESIGNAL_APP_ID(){return ONESIGNAL_APP_ID},get ONESIGNAL_REST_API_KEY(){return ONESIGNAL_REST_API_KEY},get PASSWORD_HASH_SECRET(){return PASSWORD_HASH_SECRET},get RABBITMQ_HOST(){return RABBITMQ_HOST},get REDIS_DB(){return REDIS_DB},get REDIS_HOST(){return REDIS_HOST},get REDIS_PASSWORD(){return REDIS_PASSWORD},get REDIS_PORT(){return REDIS_PORT},get REDIS_READ_DB(){return REDIS_READ_DB},get REDIS_READ_HOST(){return REDIS_READ_HOST},get REDIS_READ_PASSWORD(){return REDIS_READ_PASSWORD},get REDIS_READ_PORT(){return REDIS_READ_PORT},get REDIS_READ_TLS(){return REDIS_READ_TLS},get REDIS_READ_USER(){return REDIS_READ_USER},get REDIS_TLS(){return REDIS_TLS},get REDIS_USER(){return REDIS_USER},get S3_ACCESS_KEY_ID(){return S3_ACCESS_KEY_ID},get S3_BUCKET(){return S3_BUCKET},get S3_REGION(){return S3_REGION},get S3_SECRET_ACCESS_KEY(){return S3_SECRET_ACCESS_KEY},get SESSION_EXPIRATION(){return SESSION_EXPIRATION},get SESSION_KEY(){return SESSION_KEY},get SLACK_ERROR_WEBHOOK_URL(){return SLACK_ERROR_WEBHOOK_URL},get STORAGE_DRIVER(){return STORAGE_DRIVER}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});(0,require("dotenv").config)({quiet:!0});let NODE_ENV=process.env.NODE_ENV??"development",APP_NAME=process.env.APP_NAME??"MyApp",APP_PORT=Number(process.env.APP_PORT)??3e3,APP_KEY=process.env.APP_KEY??"",SESSION_KEY=process.env.SESSION_KEY??"APP_SESSION",SESSION_EXPIRATION=Number(process.env.SESSION_EXPIRATION)??86400,ALLOWED_ORIGINS=(process.env.ALLOWED_ORIGINS??"http://localhost:3000").split(","),DEFAULT_THROTTLE_TTL=Number(process.env.DEFAULT_THROTTLE_TTL)??60,DEFAULT_THROTTLE_LIMIT=Number(process.env.DEFAULT_THROTTLE_LIMIT)??60,PASSWORD_HASH_SECRET=process.env.PASSWORD_HASH_SECRET??"default_secret",ENCRYPTION_KEY=process.env.ENCRYPTION_KEY,JWT_PUBLIC_KEY=process.env.JWT_PUBLIC_KEY??"",JWT_PRIVATE_KEY=process.env.JWT_PRIVATE_KEY??"",DB_DIALECT="postgres",DB_HOST=process.env.DB_HOST??"localhost",DB_PORT=Number(process.env.DB_PORT)??5432,DB_USER=process.env.DB_USER??"postgres",DB_PASSWORD=process.env.DB_PASSWORD??"password",DB_NAME=process.env.DB_NAME??"postgres",DB_REPLICA_HOST=process.env.DB_REPLICA_HOST??"localhost",DB_REPLICA_PORT=Number(process.env.DB_REPLICA_PORT)??5432,DB_SSL=(process.env.DB_SSL??"false")?.toLowerCase()==="true",DB_MAX_POOL_SIZE=Number(process.env.DB_MAX_POOL_SIZE??10),DB_POOL_MIN=Number(process.env.DB_POOL_MIN??0),DB_POOL_ACQUIRE=Number(process.env.DB_POOL_ACQUIRE??3e4),DB_POOL_IDLE=Number(process.env.DB_POOL_IDLE??1e4),DB_ENTITIES_PATH="./dist/**/**/*.entity.*",REDIS_HOST=process.env.REDIS_HOST??"localhost",REDIS_PORT=Number(process.env.REDIS_PORT)??6379,REDIS_DB=Number(process.env.REDIS_DB)??0,REDIS_USER=process.env.REDIS_USER,REDIS_PASSWORD=process.env.REDIS_PASSWORD,REDIS_TLS=(process.env.REDIS_TLS??"false")?.toLowerCase()==="true",REDIS_READ_HOST=process.env.REDIS_READ_HOST??"localhost",REDIS_READ_PORT=Number(process.env.REDIS_READ_PORT)??6379,REDIS_READ_DB=Number(process.env.REDIS_READ_DB)??0,REDIS_READ_USER=process.env.REDIS_READ_USER,REDIS_READ_PASSWORD=process.env.REDIS_READ_PASSWORD,REDIS_READ_TLS=(process.env.REDIS_READ_TLS??"false")?.toLowerCase()==="true",MAIL_MAILER=process.env.MAIL_MAILER??"smtp",MAIL_HOST=process.env.MAIL_HOST??"127.0.0.1",MAIL_PORT=+(process.env.MAIL_PORT??1025),MAIL_USERNAME=process.env.MAIL_USERNAME??"",MAIL_PASSWORD=process.env.MAIL_PASSWORD??"",MAIL_ENCRYPTION=process.env.MAIL_ENCRYPTION??"false",MAIL_FROM_NAME=process.env.MAIL_FROM_NAME??"Support Team",MAIL_FROM_EMAIL=process.env.MAIL_FROM_EMAIL??"no-reply@app.com",MAIL_TO_CC=process.env.MAIL_TO_CC??"",MAIL_EMAIL_SUPPORT=process.env.MAIL_EMAIL_SUPPORT??"support@app.com",SLACK_ERROR_WEBHOOK_URL=process.env.SLACK_ERROR_WEBHOOK_URL??"",LANDING_PAGE_URL=process.env.LANDING_PAGE_URL??"http://localhost:8000",APP_LOGO_URL=process.env.APP_LOGO_URL??"",ONESIGNAL_APP_ID=process.env.ONESIGNAL_APP_ID??"",ONESIGNAL_REST_API_KEY=process.env.ONESIGNAL_REST_API_KEY??"",STORAGE_DRIVER=process.env.STORAGE_DRIVER??"local",S3_BUCKET=process.env.S3_BUCKET??"",S3_REGION=process.env.S3_REGION??"us-east-1",S3_ACCESS_KEY_ID=process.env.S3_ACCESS_KEY_ID??"",S3_SECRET_ACCESS_KEY=process.env.S3_SECRET_ACCESS_KEY??"",MINIO_HOST=process.env.MINIO_HOST??"localhost",MINIO_PORT=Number(process.env.MINIO_PORT)??9e3,MINIO_USE_SSL=(process.env.MINIO_USE_SSL??"false")?.toLowerCase()==="true",MINIO_ACCESS_KEY=process.env.MINIO_ACCESS_KEY??"",MINIO_SECRET_KEY=process.env.MINIO_SECRET_KEY??"",MESSAGE_BROKER_DRIVER=process.env.MESSAGE_BROKER_DRIVER??"rabbitmq",RABBITMQ_HOST=process.env.RABBITMQ_HOST??"amqp://localhost",KAFKA_BROKERS=(process.env.KAFKA_BROKERS??"localhost:9092").split(","),KAFKA_CLIENT_ID=process.env.KAFKA_CLIENT_ID??"my-app",CLOUDWATCH_LOG_GROUP=process.env.CLOUDWATCH_LOG_GROUP,CLOUDWATCH_LOG_STREAM=process.env.CLOUDWATCH_LOG_STREAM,CLOUDWATCH_REGION=process.env.CLOUDWATCH_REGION,CLOUDWATCH_ACCESS_KEY_ID=process.env.CLOUDWATCH_ACCESS_KEY_ID,CLOUDWATCH_SECRET_ACCESS_KEY=process.env.CLOUDWATCH_SECRET_ACCESS_KEY,ENABLE_CLOUDWATCH_LOGS=CLOUDWATCH_LOG_GROUP&&CLOUDWATCH_LOG_STREAM&&CLOUDWATCH_REGION&&CLOUDWATCH_ACCESS_KEY_ID&&CLOUDWATCH_SECRET_ACCESS_KEY,AWS_SECRETS_MANAGER_REGION=process.env.AWS_SECRETS_MANAGER_REGION??"us-east-1",AWS_SECRETS_MANAGER_ACCESS_KEY_ID=process.env.AWS_SECRETS_MANAGER_ACCESS_KEY_ID??"",AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY=process.env.AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY??"",AWS_SECRETS_MANAGER_SECRET_NAME=process.env.AWS_SECRETS_MANAGER_SECRET_NAME??"",AWS_SECRETS_MANAGER_VERSION_STAGE=process.env.AWS_SECRETS_MANAGER_VERSION_STAGE??"AWSCURRENT";
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get ALLOWED_ORIGINS(){return ALLOWED_ORIGINS},get APP_KEY(){return APP_KEY},get APP_LOGO_URL(){return APP_LOGO_URL},get APP_NAME(){return APP_NAME},get APP_PORT(){return APP_PORT},get AWS_SECRETS_MANAGER_ACCESS_KEY_ID(){return AWS_SECRETS_MANAGER_ACCESS_KEY_ID},get AWS_SECRETS_MANAGER_ENABLED(){return AWS_SECRETS_MANAGER_ENABLED},get AWS_SECRETS_MANAGER_REGION(){return AWS_SECRETS_MANAGER_REGION},get AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY(){return AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY},get AWS_SECRETS_MANAGER_SECRET_NAME(){return AWS_SECRETS_MANAGER_SECRET_NAME},get AWS_SECRETS_MANAGER_VERSION_STAGE(){return AWS_SECRETS_MANAGER_VERSION_STAGE},get CLOUDWATCH_ACCESS_KEY_ID(){return CLOUDWATCH_ACCESS_KEY_ID},get CLOUDWATCH_LOG_GROUP(){return CLOUDWATCH_LOG_GROUP},get CLOUDWATCH_LOG_STREAM(){return CLOUDWATCH_LOG_STREAM},get CLOUDWATCH_REGION(){return CLOUDWATCH_REGION},get CLOUDWATCH_SECRET_ACCESS_KEY(){return CLOUDWATCH_SECRET_ACCESS_KEY},get DB_DIALECT(){return DB_DIALECT},get DB_ENTITIES_PATH(){return DB_ENTITIES_PATH},get DB_HOST(){return DB_HOST},get DB_MAX_POOL_SIZE(){return DB_MAX_POOL_SIZE},get DB_NAME(){return DB_NAME},get DB_PASSWORD(){return DB_PASSWORD},get DB_POOL_ACQUIRE(){return DB_POOL_ACQUIRE},get DB_POOL_IDLE(){return DB_POOL_IDLE},get DB_POOL_MIN(){return DB_POOL_MIN},get DB_PORT(){return DB_PORT},get DB_REPLICA_HOST(){return DB_REPLICA_HOST},get DB_REPLICA_PORT(){return DB_REPLICA_PORT},get DB_SSL(){return DB_SSL},get DB_USER(){return DB_USER},get DEFAULT_THROTTLE_LIMIT(){return DEFAULT_THROTTLE_LIMIT},get DEFAULT_THROTTLE_TTL(){return DEFAULT_THROTTLE_TTL},get ENABLE_CLOUDWATCH_LOGS(){return ENABLE_CLOUDWATCH_LOGS},get ENCRYPTION_KEY(){return ENCRYPTION_KEY},get JWT_PRIVATE_KEY(){return JWT_PRIVATE_KEY},get JWT_PUBLIC_KEY(){return JWT_PUBLIC_KEY},get KAFKA_BROKERS(){return KAFKA_BROKERS},get KAFKA_CLIENT_ID(){return KAFKA_CLIENT_ID},get LANDING_PAGE_URL(){return LANDING_PAGE_URL},get MAIL_EMAIL_SUPPORT(){return MAIL_EMAIL_SUPPORT},get MAIL_ENCRYPTION(){return MAIL_ENCRYPTION},get MAIL_FROM_EMAIL(){return MAIL_FROM_EMAIL},get MAIL_FROM_NAME(){return MAIL_FROM_NAME},get MAIL_HOST(){return MAIL_HOST},get MAIL_MAILER(){return MAIL_MAILER},get MAIL_PASSWORD(){return MAIL_PASSWORD},get MAIL_PORT(){return MAIL_PORT},get MAIL_TO_CC(){return MAIL_TO_CC},get MAIL_USERNAME(){return MAIL_USERNAME},get MESSAGE_BROKER_DRIVER(){return MESSAGE_BROKER_DRIVER},get MINIO_ACCESS_KEY(){return MINIO_ACCESS_KEY},get MINIO_HOST(){return MINIO_HOST},get MINIO_PORT(){return MINIO_PORT},get MINIO_SECRET_KEY(){return MINIO_SECRET_KEY},get MINIO_USE_SSL(){return MINIO_USE_SSL},get NODE_ENV(){return NODE_ENV},get ONESIGNAL_APP_ID(){return ONESIGNAL_APP_ID},get ONESIGNAL_REST_API_KEY(){return ONESIGNAL_REST_API_KEY},get PASSWORD_HASH_SECRET(){return PASSWORD_HASH_SECRET},get RABBITMQ_HOST(){return RABBITMQ_HOST},get REDIS_DB(){return REDIS_DB},get REDIS_HOST(){return REDIS_HOST},get REDIS_PASSWORD(){return REDIS_PASSWORD},get REDIS_PORT(){return REDIS_PORT},get REDIS_READ_DB(){return REDIS_READ_DB},get REDIS_READ_HOST(){return REDIS_READ_HOST},get REDIS_READ_PASSWORD(){return REDIS_READ_PASSWORD},get REDIS_READ_PORT(){return REDIS_READ_PORT},get REDIS_READ_TLS(){return REDIS_READ_TLS},get REDIS_READ_USER(){return REDIS_READ_USER},get REDIS_TLS(){return REDIS_TLS},get REDIS_USER(){return REDIS_USER},get S3_ACCESS_KEY_ID(){return S3_ACCESS_KEY_ID},get S3_BUCKET(){return S3_BUCKET},get S3_REGION(){return S3_REGION},get S3_SECRET_ACCESS_KEY(){return S3_SECRET_ACCESS_KEY},get SESSION_EXPIRATION(){return SESSION_EXPIRATION},get SESSION_KEY(){return SESSION_KEY},get SLACK_ERROR_WEBHOOK_URL(){return SLACK_ERROR_WEBHOOK_URL},get STORAGE_DRIVER(){return STORAGE_DRIVER}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});(0,require("dotenv").config)({quiet:!0});let NODE_ENV=process.env.NODE_ENV??"development",APP_NAME=process.env.APP_NAME??"MyApp",APP_PORT=Number(process.env.APP_PORT)??3e3,APP_KEY=process.env.APP_KEY??"",SESSION_KEY=process.env.SESSION_KEY??"APP_SESSION",SESSION_EXPIRATION=Number(process.env.SESSION_EXPIRATION)??86400,ALLOWED_ORIGINS=(process.env.ALLOWED_ORIGINS??"http://localhost:3000").split(","),DEFAULT_THROTTLE_TTL=Number(process.env.DEFAULT_THROTTLE_TTL)??60,DEFAULT_THROTTLE_LIMIT=Number(process.env.DEFAULT_THROTTLE_LIMIT)??60,PASSWORD_HASH_SECRET=process.env.PASSWORD_HASH_SECRET??"default_secret",ENCRYPTION_KEY=process.env.ENCRYPTION_KEY,JWT_PUBLIC_KEY=process.env.JWT_PUBLIC_KEY??"",JWT_PRIVATE_KEY=process.env.JWT_PRIVATE_KEY??"",DB_DIALECT="postgres",DB_HOST=process.env.DB_HOST??"localhost",DB_PORT=Number(process.env.DB_PORT)??5432,DB_USER=process.env.DB_USER??"postgres",DB_PASSWORD=process.env.DB_PASSWORD??"password",DB_NAME=process.env.DB_NAME??"postgres",DB_REPLICA_HOST=process.env.DB_REPLICA_HOST??"localhost",DB_REPLICA_PORT=Number(process.env.DB_REPLICA_PORT)??5432,DB_SSL=(process.env.DB_SSL??"false")?.toLowerCase()==="true",DB_MAX_POOL_SIZE=Number(process.env.DB_MAX_POOL_SIZE??10),DB_POOL_MIN=Number(process.env.DB_POOL_MIN??0),DB_POOL_ACQUIRE=Number(process.env.DB_POOL_ACQUIRE??3e4),DB_POOL_IDLE=Number(process.env.DB_POOL_IDLE??1e4),DB_ENTITIES_PATH="./dist/**/**/*.entity.*",REDIS_HOST=process.env.REDIS_HOST??"localhost",REDIS_PORT=Number(process.env.REDIS_PORT)??6379,REDIS_DB=Number(process.env.REDIS_DB)??0,REDIS_USER=process.env.REDIS_USER,REDIS_PASSWORD=process.env.REDIS_PASSWORD,REDIS_TLS=(process.env.REDIS_TLS??"false")?.toLowerCase()==="true",REDIS_READ_HOST=process.env.REDIS_READ_HOST??"localhost",REDIS_READ_PORT=Number(process.env.REDIS_READ_PORT)??6379,REDIS_READ_DB=Number(process.env.REDIS_READ_DB)??0,REDIS_READ_USER=process.env.REDIS_READ_USER,REDIS_READ_PASSWORD=process.env.REDIS_READ_PASSWORD,REDIS_READ_TLS=(process.env.REDIS_READ_TLS??"false")?.toLowerCase()==="true",MAIL_MAILER=process.env.MAIL_MAILER??"smtp",MAIL_HOST=process.env.MAIL_HOST??"127.0.0.1",MAIL_PORT=+(process.env.MAIL_PORT??1025),MAIL_USERNAME=process.env.MAIL_USERNAME??"",MAIL_PASSWORD=process.env.MAIL_PASSWORD??"",MAIL_ENCRYPTION=process.env.MAIL_ENCRYPTION??"false",MAIL_FROM_NAME=process.env.MAIL_FROM_NAME??"Support Team",MAIL_FROM_EMAIL=process.env.MAIL_FROM_EMAIL??"no-reply@app.com",MAIL_TO_CC=process.env.MAIL_TO_CC??"",MAIL_EMAIL_SUPPORT=process.env.MAIL_EMAIL_SUPPORT??"support@app.com",SLACK_ERROR_WEBHOOK_URL=process.env.SLACK_ERROR_WEBHOOK_URL??"",LANDING_PAGE_URL=process.env.LANDING_PAGE_URL??"http://localhost:8000",APP_LOGO_URL=process.env.APP_LOGO_URL??"",ONESIGNAL_APP_ID=process.env.ONESIGNAL_APP_ID??"",ONESIGNAL_REST_API_KEY=process.env.ONESIGNAL_REST_API_KEY??"",STORAGE_DRIVER=process.env.STORAGE_DRIVER??"local",S3_BUCKET=process.env.S3_BUCKET??"",S3_REGION=process.env.S3_REGION??"us-east-1",S3_ACCESS_KEY_ID=process.env.S3_ACCESS_KEY_ID??"",S3_SECRET_ACCESS_KEY=process.env.S3_SECRET_ACCESS_KEY??"",MINIO_HOST=process.env.MINIO_HOST??"localhost",MINIO_PORT=Number(process.env.MINIO_PORT)??9e3,MINIO_USE_SSL=(process.env.MINIO_USE_SSL??"false")?.toLowerCase()==="true",MINIO_ACCESS_KEY=process.env.MINIO_ACCESS_KEY??"",MINIO_SECRET_KEY=process.env.MINIO_SECRET_KEY??"",MESSAGE_BROKER_DRIVER=process.env.MESSAGE_BROKER_DRIVER??"rabbitmq",RABBITMQ_HOST=process.env.RABBITMQ_HOST??"amqp://localhost",KAFKA_BROKERS=(process.env.KAFKA_BROKERS??"localhost:9092").split(","),KAFKA_CLIENT_ID=process.env.KAFKA_CLIENT_ID??"my-app",CLOUDWATCH_LOG_GROUP=process.env.CLOUDWATCH_LOG_GROUP,CLOUDWATCH_LOG_STREAM=process.env.CLOUDWATCH_LOG_STREAM,CLOUDWATCH_REGION=process.env.CLOUDWATCH_REGION,CLOUDWATCH_ACCESS_KEY_ID=process.env.CLOUDWATCH_ACCESS_KEY_ID,CLOUDWATCH_SECRET_ACCESS_KEY=process.env.CLOUDWATCH_SECRET_ACCESS_KEY,ENABLE_CLOUDWATCH_LOGS=CLOUDWATCH_LOG_GROUP&&CLOUDWATCH_LOG_STREAM&&CLOUDWATCH_REGION&&CLOUDWATCH_ACCESS_KEY_ID&&CLOUDWATCH_SECRET_ACCESS_KEY,AWS_SECRETS_MANAGER_ENABLED=(process.env.AWS_SECRETS_MANAGER_ENABLED??"false")?.toLowerCase()==="true",AWS_SECRETS_MANAGER_REGION=process.env.AWS_SECRETS_MANAGER_REGION??"us-east-1",AWS_SECRETS_MANAGER_ACCESS_KEY_ID=process.env.AWS_SECRETS_MANAGER_ACCESS_KEY_ID??"",AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY=process.env.AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY??"",AWS_SECRETS_MANAGER_SECRET_NAME=process.env.AWS_SECRETS_MANAGER_SECRET_NAME??"",AWS_SECRETS_MANAGER_VERSION_STAGE=process.env.AWS_SECRETS_MANAGER_VERSION_STAGE??"AWSCURRENT";
@@ -1 +1 @@
1
- "use strict";var obj;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Repository",{enumerable:!0,get:function(){return Repository}});let _common=require("@nestjs/common"),_helpers=require("@triproject/helpers"),_moment=(obj=require("moment"))&&obj.__esModule?obj:{default:obj},_sequelize=require("sequelize"),_sequelizetypescript=require("sequelize-typescript"),_logger=require("../logger");let Repository=class Repository{logger=new _logger.AppLogger(this.constructor.name);Model;db;excludeParamsFromFilter=["attributes","include","where","orWhere","andWhere","q","searchKey","page","perPage","orderBy","sort","groupBy","order"];get attributes(){return Object.keys(this.Model.getAttributes())}get attributesTypes(){let attributes=this.Model.getAttributes();return Object.keys(attributes).map(attr=>({name:attr,type:attributes[attr].type}))}getTrueKey(key){return key.replace("min_","").replace("max_","").replace("start_","").replace("end_","")}parsedBetweenData(where,key,value){let col=this.getTrueKey(key),operation=key.startsWith("start_")||key.startsWith("min_")?"gte":"lte";if(value=key.startsWith("_start")||key.startsWith("end_")?(0,_moment.default)(value).utc().format("YYYY-MM-DD HH:mm:ss"):value,void 0===where[col])return{[_sequelize.Op[operation]]:value};let beforeValue=where[col][_sequelize.Op["gte"==operation?"lte":"gte"]];return beforeValue=key.startsWith("_start")||key.startsWith("end_")?(0,_moment.default)(beforeValue).utc().format("YYYY-MM-DD HH:mm:ss"):beforeValue,{[_sequelize.Op.between]:"gte"===operation?[value,beforeValue]:[beforeValue,value]}}mapFilter(filter,cols){let where={};for(let key of Object.keys(filter)){let isSpecialKey=key.includes("$")||key.includes(".");if(!cols.includes(this.getTrueKey(key))&&!isSpecialKey)continue;let value=filter[key],col=this.getTrueKey(key);if(void 0!==value&&""!==value){if(key.startsWith("min_")||key.startsWith("start_")||key.startsWith("max_")||key.startsWith("end_")){where[col]=this.parsedBetweenData(where,key,value);continue}if("string"==typeof value&&value.includes(",")){where[col]=value.split(",");continue}if("object"==typeof value&&!Array.isArray(value)){where[col]={...value};continue}where[col]=value}}return where}_getOptions(params){let fields=this.attributes,where=this.mapFilter({...params.where,...(0,_helpers.omit)(params,this.excludeParamsFromFilter)},fields);if(params.q&&params.searchKey){let searchConditions=Array.isArray(params.searchKey)?params.searchKey.map(key=>({[key]:{[_sequelize.Op.like]:`%${params.q}%`}})):[{[params.searchKey]:{[_sequelize.Op.like]:`%${params.q}%`}}];where={...where,[_sequelize.Op.and]:[...params.andWhere||[],{[_sequelize.Op.or]:[...searchConditions,...params.orWhere||[]]}]}}(params.orWhere||params.andWhere)&&(where={...where,[_sequelize.Op.and]:[...params.andWhere||[],{[_sequelize.Op.or]:params.orWhere||[]}]});let order=[];params?.orderBy&&fields.includes(params?.orderBy)&&order.push([params?.orderBy,params?.sort??"DESC"]),params?.order&&order.push(...params.order,["id","ASC"]);let attributes=params.attributes?params.attributes.filter(d=>"string"!=typeof d||fields.includes(d)):void 0;return{where,order,group:params?.groupBy,...attributes&&{attributes},include:params.include}}async findForPublic(params,mapInto){let options=this._getOptions(params),limit=+(params?.perPage??20);return(await this.findAll({...options,limit})).map(d=>mapInto(d))}async paginate(params,mapInto){let options=this._getOptions(params),limit=+(params?.perPage??20),page=+(params?.page??1),data=await this.findAndCountAll({limit,offset:page>1?limit*(page-1):0,...options,distinct:!0});data.count=Array.isArray(data.count)?data.count.length:data.count;let totalPage=Math.ceil(data.count/limit);return{data:mapInto?data.rows.map(d=>mapInto(d)):data.rows,timestamp:(0,_moment.default)().utc().toISOString(!0),meta:{perPage:limit,page:page,totalPage:totalPage,total:data.count,prevPage:page>1?page-1:null,nextPage:page<totalPage?page+1:null}}}async export(params,mapInto){let options=this._getOptions(params),data=await this.findAll(options);return mapInto?data.map(d=>mapInto(d)):data}async updateOrCreate(values,whereOptions,options){let data=await this.findOne({where:whereOptions});return data?(await this.update(data,values,options),data):await this.create(values,options)}async findAll(options){return await this.Model.findAll(options)}async findAndCountAll(options){return await this.Model.findAndCountAll(options)}async findOne(options){return await this.Model.findOne(options)}async create(values,options){return await this.Model.create(values,options)}async update(entity,values,options){if("string"==typeof entity&&(entity=await this.findOne({where:{id:entity},attributes:["id"]})),!entity)throw new _common.NotFoundException;return await entity.update(values,{...options})}async upsert(values,options){return await this.Model.upsert(values,{...options})}async bulkUpdate(values,options){return await this.Model.update(values,{...options})}async bulkCreate(values,options){let idAttribute=this.attributesTypes.find(attr=>"id"===attr.name);return idAttribute&&"BIGINT"!==idAttribute.type&&(values=values.map(val=>(val.id||(val.id=generateId()),val))),await this.Model.bulkCreate(values,options)}async destroy(options){return await this.Model.destroy(options)}async sum(field,options){return await this.Model.sum(field,options)}async sumField(params,field){let options=this._getOptions(params);return await this.sum(field,options)}async sumCol(params,fieldToSum,expectedField){let options=this._getOptions(params);return options.attributes=[[(0,_sequelize.fn)("sum",(0,_sequelize.col)(fieldToSum)),expectedField]],(await this.Model.findAll(options)).reduce((total,row)=>total+parseFloat(String(row.get(expectedField))||"0"),0)}async count(options){return await this.Model.count(options)}async filteredFindAll(params){let options=this._getOptions(params);return await this.Model.findAll(options)}};!function(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);c>3&&r&&Object.defineProperty(target,key,r)}([(0,_common.Inject)(_sequelizetypescript.Sequelize),function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)}("design:type",void 0===_sequelizetypescript.Sequelize?Object:_sequelizetypescript.Sequelize)],Repository.prototype,"db",void 0);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Repository",{enumerable:!0,get:function(){return Repository}});let _common=require("@nestjs/common"),_helpers=require("@triproject/helpers"),_sequelize=require("sequelize"),_sequelizetypescript=require("sequelize-typescript"),_logger=require("../logger");let Repository=class Repository{logger=new _logger.AppLogger(this.constructor.name);Model;db;excludeParamsFromFilter=["attributes","include","where","orWhere","andWhere","q","searchKey","page","perPage","orderBy","sort","groupBy","order"];get attributes(){return Object.keys(this.Model.getAttributes())}get attributesTypes(){let attributes=this.Model.getAttributes();return Object.keys(attributes).map(attr=>({name:attr,type:attributes[attr].type}))}getTrueKey(key){return key.replace("min_","").replace("max_","").replace("start_","").replace("end_","")}parsedBetweenData(where,key,value){let col=this.getTrueKey(key),operation=key.startsWith("start_")||key.startsWith("min_")?"gte":"lte";if(value=key.startsWith("_start")||key.startsWith("end_")?(0,_helpers.dateUtil)(value).utc().format("YYYY-MM-DD HH:mm:ss"):value,void 0===where[col])return{[_sequelize.Op[operation]]:value};let beforeValue=where[col][_sequelize.Op["gte"==operation?"lte":"gte"]];return beforeValue=key.startsWith("_start")||key.startsWith("end_")?(0,_helpers.dateUtil)(beforeValue).utc().format("YYYY-MM-DD HH:mm:ss"):beforeValue,{[_sequelize.Op.between]:"gte"===operation?[value,beforeValue]:[beforeValue,value]}}mapFilter(filter,cols){let where={};for(let key of Object.keys(filter)){let isSpecialKey=key.includes("$")||key.includes(".");if(!cols.includes(this.getTrueKey(key))&&!isSpecialKey)continue;let value=filter[key],col=this.getTrueKey(key);if(void 0!==value&&""!==value){if(key.startsWith("min_")||key.startsWith("start_")||key.startsWith("max_")||key.startsWith("end_")){where[col]=this.parsedBetweenData(where,key,value);continue}if("string"==typeof value&&value.includes(",")){where[col]=value.split(",");continue}if("object"==typeof value&&!Array.isArray(value)){where[col]={...value};continue}where[col]=value}}return where}_getOptions(params){let fields=this.attributes,where=this.mapFilter({...params.where,...(0,_helpers.omit)(params,this.excludeParamsFromFilter)},fields);if(params.q&&params.searchKey){let searchConditions=Array.isArray(params.searchKey)?params.searchKey.map(key=>({[key]:{[_sequelize.Op.like]:`%${params.q}%`}})):[{[params.searchKey]:{[_sequelize.Op.like]:`%${params.q}%`}}];where={...where,[_sequelize.Op.and]:[...params.andWhere||[],{[_sequelize.Op.or]:[...searchConditions,...params.orWhere||[]]}]}}(params.orWhere||params.andWhere)&&(where={...where,[_sequelize.Op.and]:[...params.andWhere||[],{[_sequelize.Op.or]:params.orWhere||[]}]});let order=[];params?.orderBy&&fields.includes(params?.orderBy)&&order.push([params?.orderBy,params?.sort??"DESC"]),params?.order&&order.push(...params.order,["id","ASC"]);let attributes=params.attributes?params.attributes.filter(d=>"string"!=typeof d||fields.includes(d)):void 0;return{where,order,group:params?.groupBy,...attributes&&{attributes},include:params.include}}async findForPublic(params,mapInto){let options=this._getOptions(params),limit=+(params?.perPage??20);return(await this.findAll({...options,limit})).map(d=>mapInto(d))}async paginate(params,mapInto){let options=this._getOptions(params),limit=+(params?.perPage??20),page=+(params?.page??1),data=await this.findAndCountAll({limit,offset:page>1?limit*(page-1):0,...options,distinct:!0});data.count=Array.isArray(data.count)?data.count.length:data.count;let totalPage=Math.ceil(data.count/limit);return{data:mapInto?data.rows.map(d=>mapInto(d)):data.rows,timestamp:(0,_helpers.dateUtil)().utc().toISOString(),meta:{perPage:limit,page:page,totalPage:totalPage,total:data.count,prevPage:page>1?page-1:null,nextPage:page<totalPage?page+1:null}}}async export(params,mapInto){let options=this._getOptions(params),data=await this.findAll(options);return mapInto?data.map(d=>mapInto(d)):data}async updateOrCreate(values,whereOptions,options){let data=await this.findOne({where:whereOptions});return data?(await this.update(data,values,options),data):await this.create(values,options)}async findAll(options){return await this.Model.findAll(options)}async findAndCountAll(options){return await this.Model.findAndCountAll(options)}async findOne(options){return await this.Model.findOne(options)}async create(values,options){return await this.Model.create(values,options)}async update(entity,values,options){if("string"==typeof entity&&(entity=await this.findOne({where:{id:entity},attributes:["id"]})),!entity)throw new _common.NotFoundException;return await entity.update(values,{...options})}async upsert(values,options){return await this.Model.upsert(values,{...options})}async bulkUpdate(values,options){return await this.Model.update(values,{...options})}async bulkCreate(values,options){let idAttribute=this.attributesTypes.find(attr=>"id"===attr.name);return idAttribute&&"BIGINT"!==idAttribute.type&&(values=values.map(val=>(val.id||(val.id=generateId()),val))),await this.Model.bulkCreate(values,options)}async destroy(options){return await this.Model.destroy(options)}async sum(field,options){return await this.Model.sum(field,options)}async sumField(params,field){let options=this._getOptions(params);return await this.sum(field,options)}async sumCol(params,fieldToSum,expectedField){let options=this._getOptions(params);return options.attributes=[[(0,_sequelize.fn)("sum",(0,_sequelize.col)(fieldToSum)),expectedField]],(await this.Model.findAll(options)).reduce((total,row)=>total+parseFloat(String(row.get(expectedField))||"0"),0)}async count(options){return await this.Model.count(options)}async filteredFindAll(params){let options=this._getOptions(params);return await this.Model.findAll(options)}};!function(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);c>3&&r&&Object.defineProperty(target,key,r)}([(0,_common.Inject)(_sequelizetypescript.Sequelize),function(k,v){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(k,v)}("design:type",void 0===_sequelizetypescript.Sequelize?Object:_sequelizetypescript.Sequelize)],Repository.prototype,"db",void 0);
@@ -1,8 +1,7 @@
1
- import * as conf from '../../config';
2
- export declare class AWSSecretManager<T extends typeof conf> {
1
+ export declare class AWSSecretManager {
3
2
  private logger;
4
3
  private secretManagerClient;
5
4
  private secretData;
6
5
  constructor();
7
- get(): Promise<T>;
6
+ get(): Promise<Record<string, any>>;
8
7
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"AWSSecretManager",{enumerable:!0,get:function(){return AWSSecretManager}});let _clientsecretsmanager=require("@aws-sdk/client-secrets-manager"),_common=require("@nestjs/common"),_logger=require("@triproject/nestjs-core/logger"),_config=/*#__PURE__*/function(obj,nodeInterop){if(obj&&obj.__esModule)return obj;if(null===obj||"object"!=typeof obj&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(void 0);if(cache&&cache.has(obj))return cache.get(obj);var newObj={__proto__:null},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}return newObj.default=obj,cache&&cache.set(obj,newObj),newObj}(require("../../config"));function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}let AWSSecretManager=class AWSSecretManager{logger=new _logger.AppLogger(AWSSecretManager.name);secretManagerClient;secretData;constructor(){_config.AWS_SECRETS_MANAGER_REGION&&_config.AWS_SECRETS_MANAGER_ACCESS_KEY_ID&&_config.AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY&&_config.AWS_SECRETS_MANAGER_SECRET_NAME&&_config.AWS_SECRETS_MANAGER_VERSION_STAGE&&(this.secretManagerClient=new _clientsecretsmanager.SecretsManagerClient({region:_config.AWS_SECRETS_MANAGER_REGION,credentials:{accessKeyId:_config.AWS_SECRETS_MANAGER_ACCESS_KEY_ID,secretAccessKey:_config.AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY}}))}async get(){if(!this.secretManagerClient)return require("../config");try{if(this.secretData)return this.secretData;let responseData=await this.secretManagerClient.send(new _clientsecretsmanager.GetSecretValueCommand({SecretId:_config.AWS_SECRETS_MANAGER_SECRET_NAME,VersionStage:_config.AWS_SECRETS_MANAGER_VERSION_STAGE}));return this.secretData=JSON.parse(responseData.SecretString),this.secretData}catch(error){throw this.logger.error("Failed get secret data",{AWS_SECRETS_MANAGER_SECRET_NAME:_config.AWS_SECRETS_MANAGER_SECRET_NAME,AWS_SECRETS_MANAGER_VERSION_STAGE:_config.AWS_SECRETS_MANAGER_VERSION_STAGE},error),new _common.InternalServerErrorException("Failed get secret data from AWS Secret Manager")}}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"AWSSecretManager",{enumerable:!0,get:function(){return AWSSecretManager}});let _clientsecretsmanager=require("@aws-sdk/client-secrets-manager"),_common=require("@nestjs/common"),_logger=require("@triproject/nestjs-core/logger"),_config=require("../../config");let AWSSecretManager=class AWSSecretManager{logger=new _logger.AppLogger(AWSSecretManager.name);secretManagerClient;secretData;constructor(){_config.AWS_SECRETS_MANAGER_ENABLED&&_config.AWS_SECRETS_MANAGER_REGION&&_config.AWS_SECRETS_MANAGER_VERSION_STAGE&&(this.secretManagerClient=new _clientsecretsmanager.SecretsManagerClient({region:_config.AWS_SECRETS_MANAGER_REGION,credentials:{accessKeyId:_config.AWS_SECRETS_MANAGER_ACCESS_KEY_ID,secretAccessKey:_config.AWS_SECRETS_MANAGER_SECRET_ACCESS_KEY}}))}async get(){if(!this.secretManagerClient)return{};try{if(this.secretData)return this.secretData;let responseData=await this.secretManagerClient.send(new _clientsecretsmanager.GetSecretValueCommand({SecretId:_config.AWS_SECRETS_MANAGER_SECRET_NAME,VersionStage:_config.AWS_SECRETS_MANAGER_VERSION_STAGE}));return this.secretData=JSON.parse(responseData.SecretString),this.secretData}catch(error){throw this.logger.error("Failed get secret data",{SecretId:_config.AWS_SECRETS_MANAGER_SECRET_NAME,VersionStage:_config.AWS_SECRETS_MANAGER_VERSION_STAGE},error),new _common.InternalServerErrorException("Failed get secret data from AWS Secret Manager")}}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"getSecret",{enumerable:!0,get:function(){return getSecret}});let _config=/*#__PURE__*/function(obj,nodeInterop){if(obj&&obj.__esModule)return obj;if(null===obj||"object"!=typeof obj&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(void 0);if(cache&&cache.has(obj))return cache.get(obj);var newObj={__proto__:null},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}return newObj.default=obj,cache&&cache.set(obj,newObj),newObj}(require("../../config"));function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}let getSecret=async env=>{try{let awsSecretManager=require("./aws-secret-manager");return{..._config,...await new awsSecretManager().get(),...env??{}}}catch(error){return{..._config,...env??{}}}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"getSecret",{enumerable:!0,get:function(){return getSecret}});let _config=/*#__PURE__*/function(obj,nodeInterop){if(obj&&obj.__esModule)return obj;if(null===obj||"object"!=typeof obj&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(void 0);if(cache&&cache.has(obj))return cache.get(obj);var newObj={__proto__:null},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}return newObj.default=obj,cache&&cache.set(obj,newObj),newObj}(require("../../config"));function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}let getSecret=async env=>{env={..._config,...env??{}};try{if(!_config.AWS_SECRETS_MANAGER_ENABLED){let awsSecretManager=require("./aws-secret-manager");env={...env,...await new awsSecretManager.AWSSecretManager().get()}}return env}catch(error){return env}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var obj,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"),_moment=(obj=require("moment"))&&obj.__esModule?obj:{default:obj},_rxjs=require("rxjs"),_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)}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){if(error instanceof _exceptionhelper.AppBadRequestException||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 error;throw new _applogger.AppLogger(target.constructor.name+"."+key).error(err,...args,error),new _common.InternalServerErrorException(err)}}}}let HttpExceptionFilter=class HttpExceptionFilter{catch(exception,host){let ctx=host.switchToHttp(),response=ctx.getResponse(),request=ctx.getRequest(),status=exception.getStatus();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,_moment.default)(request?.requestStartAt).utc().toISOString(!0):void 0,path:request.url,reqId:request?.requestId}:void 0}))}};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){return next.handle().pipe((0,_rxjs.map)(data=>handleDataValue(data)))}};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";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"),_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)}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){if(error instanceof _exceptionhelper.AppBadRequestException||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 error;throw new _applogger.AppLogger(target.constructor.name+"."+key).error(err,...args,error),new _common.InternalServerErrorException(err)}}}}let HttpExceptionFilter=class HttpExceptionFilter{catch(exception,host){let ctx=host.switchToHttp(),response=ctx.getResponse(),request=ctx.getRequest(),status=exception.getStatus();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}))}};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){return next.handle().pipe((0,_rxjs.map)(data=>handleDataValue(data)))}};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));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triproject/nestjs-core",
3
- "version": "1.0.23",
3
+ "version": "1.0.25",
4
4
  "author": "",
5
5
  "license": "ISC",
6
6
  "description": "A collection of NestJS modules and utilities to speed up development.",
@@ -17,8 +17,8 @@
17
17
  "require": "./dist/bootstrap.js"
18
18
  },
19
19
  "./config": {
20
- "types": "./dist/drivers/config.d.ts",
21
- "require": "./dist/drivers/config.js"
20
+ "types": "./dist/config.d.ts",
21
+ "require": "./dist/config.js"
22
22
  },
23
23
  "./cache": {
24
24
  "types": "./dist/drivers/cache/index.d.ts",
@@ -63,6 +63,14 @@
63
63
  "./totp": {
64
64
  "types": "./dist/utils/totp.d.ts",
65
65
  "require": "./dist/utils/totp.js"
66
+ },
67
+ "./redlock": {
68
+ "types": "./dist/utils/redlock.d.ts",
69
+ "require": "./dist/utils/redlock.js"
70
+ },
71
+ "./secret-manager": {
72
+ "types": "./dist/drivers/secret-manager/index.d.ts",
73
+ "require": "./dist/drivers/secret-manager/index.js"
66
74
  }
67
75
  },
68
76
  "scripts": {
@@ -70,26 +78,30 @@
70
78
  "test": "vitest run"
71
79
  },
72
80
  "peerDependencies": {
81
+ "@aws-sdk/client-cloudwatch-logs": "^3.0.0",
82
+ "@aws-sdk/client-s3": "^3.0.0",
83
+ "@aws-sdk/client-secrets-manager": "^3.0.0",
84
+ "@aws-sdk/s3-request-presigner": "^3.0.0",
85
+ "@nest-lab/throttler-storage-redis": "^1.0.0",
86
+ "@nestjs/bull": "^11.0.0",
87
+ "@nestjs/bullmq": "^11.0.0",
73
88
  "@nestjs/common": "^11.0.0",
74
89
  "@nestjs/core": "^11.0.0",
90
+ "@nestjs/sequelize": "^11.0.0",
75
91
  "@nestjs/swagger": "^11.0.0",
92
+ "@nestjs/throttler": "^6.0.0",
76
93
  "@triproject/helpers": "^1.0.14",
94
+ "amqp-connection-manager": "^5.0.0",
95
+ "amqplib": "^0.10.0",
96
+ "axios": "^1.0.0",
97
+ "bull": "^4.0.0",
98
+ "bullmq": "^5.0.0",
77
99
  "class-validator": "^0.14.0",
78
100
  "cookie-parser": "^1.4.0",
79
101
  "dotenv": "^16.0.0 || ^17.0.0",
102
+ "exceljs": "^4.0.0",
80
103
  "express": "^4.0.0 || ^5.0.0",
81
104
  "helmet": "^7.0.0 || ^8.0.0",
82
- "sequelize-typescript": "^2.0.0",
83
- "ua-parser-js": "^2.0.7",
84
- "amqplib": "^0.10.0",
85
- "amqp-connection-manager": "^5.0.0",
86
- "axios": "^1.0.0",
87
- "@aws-sdk/client-cloudwatch-logs": "^3.0.0",
88
- "@nestjs/bull": "^11.0.0",
89
- "@nestjs/bullmq": "^11.0.0",
90
- "@nestjs/sequelize": "^11.0.0",
91
- "bull": "^4.0.0",
92
- "bullmq": "^5.0.0",
93
105
  "ioredis": "^5.0.0",
94
106
  "jsonwebtoken": "^9.0.0",
95
107
  "kafkajs": "^2.2.0",
@@ -97,10 +109,12 @@
97
109
  "nodemailer": "^6.0.0 || ^7.0.0",
98
110
  "qrcode": "^1.5.0",
99
111
  "redis": "^4.0.0 || ^5.0.0",
112
+ "redlock": "^5.0.0",
113
+ "rxjs": "^7.0.0",
100
114
  "sequelize": "^6.0.0",
115
+ "sequelize-typescript": "^2.0.0",
101
116
  "speakeasy": "^2.0.0",
102
- "@aws-sdk/s3-request-presigner": "^3.0.0",
103
- "@aws-sdk/client-s3": "^3.0.0"
117
+ "ua-parser-js": "^2.0.7"
104
118
  },
105
119
  "peerDependenciesMeta": {
106
120
  "amqplib": {
@@ -165,6 +179,24 @@
165
179
  },
166
180
  "@aws-sdk/client-s3": {
167
181
  "optional": true
182
+ },
183
+ "redlock": {
184
+ "optional": true
185
+ },
186
+ "@aws-sdk/client-secrets-manager": {
187
+ "optional": true
188
+ },
189
+ "exceljs": {
190
+ "optional": true
191
+ },
192
+ "rxjs": {
193
+ "optional": true
194
+ },
195
+ "@nest-lab/throttler-storage-redis": {
196
+ "optional": true
197
+ },
198
+ "@nestjs/throttler": {
199
+ "optional": true
168
200
  }
169
201
  },
170
202
  "devDependencies": {
@@ -182,7 +214,7 @@
182
214
  "@nestjs/throttler": "^6.5.0",
183
215
  "@swc/cli": "^0.7.9",
184
216
  "@swc/core": "^1.15.7",
185
- "@triproject/helpers": "^1.0.14",
217
+ "@triproject/helpers": "^1.1.19",
186
218
  "@types/amqp-connection-manager": "^3.4.5",
187
219
  "@types/amqplib": "^0.10.8",
188
220
  "@types/cookie-parser": "^1.4.10",