microservice-common-nestjs 1.0.1 → 1.0.3

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.
@@ -13,6 +13,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.PrismaModule = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
15
  const client_1 = require("@prisma/client");
16
+ const adapter_pg_1 = require("@prisma/adapter-pg");
17
+ const pg_1 = require("pg");
16
18
  const config_module_1 = require("../config/config.module");
17
19
  const config_service_1 = require("../config/config.service");
18
20
  let PrismaModule = PrismaModule_1 = class PrismaModule {
@@ -28,13 +30,19 @@ let PrismaModule = PrismaModule_1 = class PrismaModule {
28
30
  provide: client_1.PrismaClient,
29
31
  useFactory: (configService) => {
30
32
  const databaseUrl = options?.databaseUrl || PrismaModule_1.getDatabaseUrlFromConfig(configService);
31
- if (databaseUrl) {
32
- process.env.DATABASE_URL = databaseUrl;
33
+ const finalDatabaseUrl = databaseUrl || process.env.DATABASE_URL;
34
+ if (finalDatabaseUrl) {
35
+ process.env.DATABASE_URL = finalDatabaseUrl;
33
36
  }
37
+ const pool = new pg_1.Pool({
38
+ connectionString: finalDatabaseUrl || process.env.DATABASE_URL,
39
+ });
40
+ const adapter = new adapter_pg_1.PrismaPg(pool);
34
41
  const logLevel = options?.logLevel
35
42
  ? [options.logLevel]
36
43
  : ['error', 'warn'];
37
44
  return new client_1.PrismaClient({
45
+ adapter,
38
46
  log: logLevel,
39
47
  });
40
48
  },
@@ -67,13 +75,19 @@ let PrismaModule = PrismaModule_1 = class PrismaModule {
67
75
  const moduleOptions = await options.useFactory(...args);
68
76
  const configService = args.find((arg) => arg && typeof arg === 'object' && 'getConfig' in arg);
69
77
  const databaseUrl = moduleOptions.databaseUrl || PrismaModule_1.getDatabaseUrlFromConfig(configService);
70
- if (databaseUrl) {
71
- process.env.DATABASE_URL = databaseUrl;
78
+ const finalDatabaseUrl = databaseUrl || process.env.DATABASE_URL;
79
+ if (finalDatabaseUrl) {
80
+ process.env.DATABASE_URL = finalDatabaseUrl;
72
81
  }
82
+ const pool = new pg_1.Pool({
83
+ connectionString: finalDatabaseUrl || process.env.DATABASE_URL,
84
+ });
85
+ const adapter = new adapter_pg_1.PrismaPg(pool);
73
86
  const logLevel = moduleOptions.logLevel
74
87
  ? [moduleOptions.logLevel]
75
88
  : ['error', 'warn'];
76
89
  return new client_1.PrismaClient({
90
+ adapter,
77
91
  log: logLevel,
78
92
  });
79
93
  },
@@ -1 +1 @@
1
- {"version":3,"file":"prisma.module.js","sourceRoot":"","sources":["../../src/database/prisma.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma.module.js","sourceRoot":"","sources":["../../src/database/prisma.module.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ let MicroserviceCommonModule = MicroserviceCommonModule_1 = class MicroserviceCo
40
40
  if (enableI18n) {
41
41
  imports.push(i18n_module_1.I18nModule.forRoot(i18nOptions));
42
42
  }
43
- imports.push(middleware_module_1.MiddlewareModule.forRoot(correlationIdOptions, loggingOptions));
43
+ imports.push(middleware_module_1.MiddlewareModule.forRoot(correlationIdOptions, loggingOptions, undefined));
44
44
  const exports = [
45
45
  config_module_1.ConfigModule,
46
46
  health_module_1.HealthModule,
@@ -1 +1 @@
1
- {"version":3,"file":"microservice-common.module.js","sourceRoot":"","sources":["../src/microservice-common.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA6D;AAC7D,0DAAsD;AACtD,0DAAsD;AACtD,sEAAiE;AACjE,oEAA+D;AAC/D,uDAAmD;AAEnD,sEAAkE;AAClE,sEAAiE;AACjE,sEAAkE;AAClE,oDAAgD;AAEhD,4DAAwD;AAejD,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IACnC,MAAM,CAAC,OAAO,CAAC,OAAyC;QACtD,MAAM,EACJ,WAAW,GAAG,IAAI,EAClB,YAAY,EACZ,eAAe,GAAG,IAAI,EACtB,gBAAgB,GAAG,IAAI,EACvB,UAAU,GAAG,KAAK,EAClB,WAAW,EACX,oBAAoB,EACpB,cAAc,GACf,GAAG,OAAO,IAAI,EAAE,CAAC;QAElB,MAAM,OAAO,GAAyC;YACpD,4BAAY;YACZ,4BAAY;YACZ,yCAAkB;YAClB,qCAAgB;SACjB,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,0BAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,mCAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,oCAAgB,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wBAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAChD,CAAC;QAGD,OAAO,CAAC,IAAI,CAAC,oCAAgB,CAAC,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC,CAAC;QAG7E,MAAM,OAAO,GAAyC;YACpD,4BAAY;YACZ,4BAAY;YACZ,yCAAkB;YAClB,qCAAgB;YAChB,oCAAgB;YAChB,8BAAa;SACd,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,0BAAW,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,mCAAe,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,oCAAgB,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wBAAU,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO;YACL,MAAM,EAAE,0BAAwB;YAChC,OAAO;YACP,SAAS,EAAE,CAAC,8BAAa,CAAC;YAC1B,OAAO;SACR,CAAC;IACJ,CAAC;CACF,CAAA;AAxEY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,wBAAwB,CAwEpC"}
1
+ {"version":3,"file":"microservice-common.module.js","sourceRoot":"","sources":["../src/microservice-common.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA6D;AAC7D,0DAAsD;AACtD,0DAAsD;AACtD,sEAAiE;AACjE,oEAA+D;AAC/D,uDAAmD;AAEnD,sEAAkE;AAClE,sEAAiE;AACjE,sEAAkE;AAClE,oDAAgD;AAEhD,4DAAwD;AAejD,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IACnC,MAAM,CAAC,OAAO,CAAC,OAAyC;QACtD,MAAM,EACJ,WAAW,GAAG,IAAI,EAClB,YAAY,EACZ,eAAe,GAAG,IAAI,EACtB,gBAAgB,GAAG,IAAI,EACvB,UAAU,GAAG,KAAK,EAClB,WAAW,EACX,oBAAoB,EACpB,cAAc,GACf,GAAG,OAAO,IAAI,EAAE,CAAC;QAElB,MAAM,OAAO,GAAyC;YACpD,4BAAY;YACZ,4BAAY;YACZ,yCAAkB;YAClB,qCAAgB;SACjB,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,0BAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,mCAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,oCAAgB,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wBAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAChD,CAAC;QAMD,OAAO,CAAC,IAAI,CAAC,oCAAgB,CAAC,OAAO,CAAC,oBAAoB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;QAGxF,MAAM,OAAO,GAAyC;YACpD,4BAAY;YACZ,4BAAY;YACZ,yCAAkB;YAClB,qCAAgB;YAChB,oCAAgB;YAChB,8BAAa;SACd,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,0BAAW,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,mCAAe,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,oCAAgB,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wBAAU,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO;YACL,MAAM,EAAE,0BAAwB;YAChC,OAAO;YACP,SAAS,EAAE,CAAC,8BAAa,CAAC;YAC1B,OAAO;SACR,CAAC;IACJ,CAAC;CACF,CAAA;AA3EY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,wBAAwB,CA2EpC"}
@@ -13,19 +13,35 @@ exports.CorsMiddleware = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  let CorsMiddleware = class CorsMiddleware {
15
15
  constructor(corsConfig) {
16
- this.corsConfig = corsConfig || {
17
- origin: '*',
18
- methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS', 'PATCH', 'HEAD'],
19
- allowedHeaders: [
20
- 'Content-Type',
21
- 'Authorization',
22
- 'X-Request-ID',
23
- 'X-Correlation-UID',
24
- 'X-Consumer-Custom-ID',
25
- ],
26
- exposedHeaders: ['Content-Length', 'Content-Type'],
27
- credentials: false,
28
- };
16
+ if (corsConfig) {
17
+ this.corsConfig = corsConfig;
18
+ }
19
+ else {
20
+ const origin = process.env.CORS_ORIGIN || '*';
21
+ const methods = process.env.CORS_METHODS
22
+ ? process.env.CORS_METHODS.split(',')
23
+ : ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS', 'PATCH', 'HEAD'];
24
+ const allowedHeaders = process.env.CORS_ALLOWED_HEADERS
25
+ ? process.env.CORS_ALLOWED_HEADERS.split(',')
26
+ : [
27
+ 'Content-Type',
28
+ 'Authorization',
29
+ 'X-Request-ID',
30
+ 'X-Correlation-UID',
31
+ 'X-Consumer-Custom-ID',
32
+ ];
33
+ const exposedHeaders = process.env.CORS_EXPOSED_HEADERS
34
+ ? process.env.CORS_EXPOSED_HEADERS.split(',')
35
+ : ['Content-Length', 'Content-Type'];
36
+ const credentials = process.env.CORS_CREDENTIALS === 'true';
37
+ this.corsConfig = {
38
+ origin,
39
+ methods,
40
+ allowedHeaders,
41
+ exposedHeaders,
42
+ credentials,
43
+ };
44
+ }
29
45
  }
30
46
  use(req, res, next) {
31
47
  const origin = req.headers.origin;
@@ -1 +1 @@
1
- {"version":3,"file":"cors.middleware.js","sourceRoot":"","sources":["../../src/middleware/cors.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAKrD,IAAM,cAAc,GAApB,MAAM,cAAc;IAGzB,YAAY,UAA6C;QACvD,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI;YAC9B,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;YACrE,cAAc,EAAE;gBACd,cAAc;gBACd,eAAe;gBACf,cAAc;gBACd,mBAAmB;gBACnB,sBAAsB;aACvB;YACD,cAAc,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC;YAClD,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAElC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;YACjC,GAAG,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC;IAEO,eAAe,CAAC,MAAe;QACrC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC;QAC7E,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAjEY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;;GACA,cAAc,CAiE1B"}
1
+ {"version":3,"file":"cors.middleware.js","sourceRoot":"","sources":["../../src/middleware/cors.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAKrD,IAAM,cAAc,GAApB,MAAM,cAAc;IAGzB,YAAY,UAA6C;QAEvD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;YAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY;gBACtC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;gBACrC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB;gBACrD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC7C,CAAC,CAAC;oBACE,cAAc;oBACd,eAAe;oBACf,cAAc;oBACd,mBAAmB;oBACnB,sBAAsB;iBACvB,CAAC;YACN,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB;gBACrD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC7C,CAAC,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YACvC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM,CAAC;YAE5D,IAAI,CAAC,UAAU,GAAG;gBAChB,MAAM;gBACN,OAAO;gBACP,cAAc;gBACd,cAAc;gBACd,WAAW;aACZ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAElC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;YACjC,GAAG,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC;IAEO,eAAe,CAAC,MAAe;QACrC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC;QAC7E,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAlFY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;;GACA,cAAc,CAkF1B"}
@@ -1,9 +1,11 @@
1
1
  import { MiddlewareConsumer, NestModule, DynamicModule } from '@nestjs/common';
2
+ import { MicroserviceCommonConfig } from '../config/config.interface';
2
3
  import { CorrelationIdOptions, LoggingOptions } from '../middleware/middleware.interface';
3
4
  export declare class MiddlewareModule implements NestModule {
4
5
  private readonly correlationIdOptions?;
5
6
  private readonly loggingOptions?;
6
- constructor(correlationIdOptions?: CorrelationIdOptions, loggingOptions?: LoggingOptions);
7
- static forRoot(correlationIdOptions?: CorrelationIdOptions, loggingOptions?: LoggingOptions): DynamicModule;
7
+ private readonly corsConfig?;
8
+ constructor(correlationIdOptions?: CorrelationIdOptions, loggingOptions?: LoggingOptions, corsConfig?: MicroserviceCommonConfig['cors']);
9
+ static forRoot(correlationIdOptions?: CorrelationIdOptions, loggingOptions?: LoggingOptions, corsConfig?: MicroserviceCommonConfig['cors']): DynamicModule;
8
10
  configure(consumer: MiddlewareConsumer): void;
9
11
  }
@@ -14,12 +14,14 @@ exports.MiddlewareModule = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
15
  const correlation_id_middleware_1 = require("../middleware/correlation-id.middleware");
16
16
  const logging_middleware_1 = require("../middleware/logging.middleware");
17
+ const cors_middleware_1 = require("../middleware/cors.middleware");
17
18
  let MiddlewareModule = MiddlewareModule_1 = class MiddlewareModule {
18
- constructor(correlationIdOptions, loggingOptions) {
19
+ constructor(correlationIdOptions, loggingOptions, corsConfig) {
19
20
  this.correlationIdOptions = correlationIdOptions;
20
21
  this.loggingOptions = loggingOptions;
22
+ this.corsConfig = corsConfig;
21
23
  }
22
- static forRoot(correlationIdOptions, loggingOptions) {
24
+ static forRoot(correlationIdOptions, loggingOptions, corsConfig) {
23
25
  return {
24
26
  module: MiddlewareModule_1,
25
27
  providers: [
@@ -31,31 +33,39 @@ let MiddlewareModule = MiddlewareModule_1 = class MiddlewareModule {
31
33
  provide: logging_middleware_1.LoggingMiddleware,
32
34
  useValue: new logging_middleware_1.LoggingMiddleware(loggingOptions),
33
35
  },
36
+ {
37
+ provide: cors_middleware_1.CorsMiddleware,
38
+ useValue: new cors_middleware_1.CorsMiddleware(corsConfig),
39
+ },
34
40
  {
35
41
  provide: MiddlewareModule_1,
36
42
  useFactory: () => {
37
- return new MiddlewareModule_1(correlationIdOptions, loggingOptions);
43
+ return new MiddlewareModule_1(correlationIdOptions, loggingOptions, corsConfig);
38
44
  },
39
45
  },
40
46
  ],
41
- exports: [correlation_id_middleware_1.CorrelationIdMiddleware, logging_middleware_1.LoggingMiddleware],
47
+ exports: [correlation_id_middleware_1.CorrelationIdMiddleware, logging_middleware_1.LoggingMiddleware, cors_middleware_1.CorsMiddleware],
42
48
  };
43
49
  }
44
50
  configure(consumer) {
45
51
  const correlationIdMiddleware = new correlation_id_middleware_1.CorrelationIdMiddleware(this.correlationIdOptions);
46
52
  const loggingMiddleware = new logging_middleware_1.LoggingMiddleware(this.loggingOptions);
53
+ const corsMiddleware = new cors_middleware_1.CorsMiddleware(this.corsConfig);
47
54
  const correlationIdHandler = (req, res, next) => {
48
55
  correlationIdMiddleware.use(req, res, next);
49
56
  };
50
57
  const loggingHandler = (req, res, next) => {
51
58
  loggingMiddleware.use(req, res, next);
52
59
  };
53
- consumer.apply(correlationIdHandler, loggingHandler).forRoutes('*');
60
+ const corsHandler = (req, res, next) => {
61
+ corsMiddleware.use(req, res, next);
62
+ };
63
+ consumer.apply(corsHandler, correlationIdHandler, loggingHandler).forRoutes('*');
54
64
  }
55
65
  };
56
66
  exports.MiddlewareModule = MiddlewareModule;
57
67
  exports.MiddlewareModule = MiddlewareModule = MiddlewareModule_1 = __decorate([
58
68
  (0, common_1.Module)({}),
59
- __metadata("design:paramtypes", [Object, Object])
69
+ __metadata("design:paramtypes", [Object, Object, Object])
60
70
  ], MiddlewareModule);
61
71
  //# sourceMappingURL=middleware.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.module.js","sourceRoot":"","sources":["../../src/middleware/middleware.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAuF;AAEvF,sFAAiF;AACjF,wEAAoE;AAQ7D,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAI3B,YAAY,oBAA2C,EAAE,cAA+B;QACtF,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,oBAA2C,EAC3C,cAA+B;QAE/B,OAAO;YACL,MAAM,EAAE,kBAAgB;YACxB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,mDAAuB;oBAChC,QAAQ,EAAE,IAAI,mDAAuB,CAAC,oBAAoB,CAAC;iBAC5D;gBACD;oBACE,OAAO,EAAE,sCAAiB;oBAC1B,QAAQ,EAAE,IAAI,sCAAiB,CAAC,cAAc,CAAC;iBAChD;gBACD;oBACE,OAAO,EAAE,kBAAgB;oBACzB,UAAU,EAAE,GAAG,EAAE;wBACf,OAAO,IAAI,kBAAgB,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;oBACpE,CAAC;iBACF;aACF;YACD,OAAO,EAAE,CAAC,mDAAuB,EAAE,sCAAiB,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,QAA4B;QAEpC,MAAM,uBAAuB,GAAG,IAAI,mDAAuB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvF,MAAM,iBAAiB,GAAG,IAAI,sCAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAGrE,MAAM,oBAAoB,GAAuB,CAC/C,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;YACF,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,MAAM,cAAc,GAAuB,CACzC,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;YACF,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC,CAAC;QAGF,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;CACF,CAAA;AA5DY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,eAAM,EAAC,EAAE,CAAC;;GACE,gBAAgB,CA4D5B"}
1
+ {"version":3,"file":"middleware.module.js","sourceRoot":"","sources":["../../src/middleware/middleware.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAuF;AAEvF,sFAAiF;AACjF,wEAAoE;AACpE,kEAA8D;AASvD,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAK3B,YACE,oBAA2C,EAC3C,cAA+B,EAC/B,UAA6C;QAE7C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,oBAA2C,EAC3C,cAA+B,EAC/B,UAA6C;QAE7C,OAAO;YACL,MAAM,EAAE,kBAAgB;YACxB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,mDAAuB;oBAChC,QAAQ,EAAE,IAAI,mDAAuB,CAAC,oBAAoB,CAAC;iBAC5D;gBACD;oBACE,OAAO,EAAE,sCAAiB;oBAC1B,QAAQ,EAAE,IAAI,sCAAiB,CAAC,cAAc,CAAC;iBAChD;gBACD;oBACE,OAAO,EAAE,gCAAc;oBACvB,QAAQ,EAAE,IAAI,gCAAc,CAAC,UAAU,CAAC;iBACzC;gBACD;oBACE,OAAO,EAAE,kBAAgB;oBACzB,UAAU,EAAE,GAAG,EAAE;wBACf,OAAO,IAAI,kBAAgB,CAAC,oBAAoB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;oBAChF,CAAC;iBACF;aACF;YACD,OAAO,EAAE,CAAC,mDAAuB,EAAE,sCAAiB,EAAE,gCAAc,CAAC;SACtE,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,QAA4B;QAEpC,MAAM,uBAAuB,GAAG,IAAI,mDAAuB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvF,MAAM,iBAAiB,GAAG,IAAI,sCAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAG3D,MAAM,oBAAoB,GAAuB,CAC/C,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;YACF,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,MAAM,cAAc,GAAuB,CACzC,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;YACF,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,MAAM,WAAW,GAAuB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAC1F,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC;QAGF,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnF,CAAC;CACF,CAAA;AA5EY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,eAAM,EAAC,EAAE,CAAC;;GACE,gBAAgB,CA4E5B"}