@elsikora/nestjs-typeorm-aws-connector 1.0.1 → 1.1.0

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 (53) hide show
  1. package/README.md +69 -20
  2. package/dist/index.d.ts +6 -4
  3. package/dist/index.js +5 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/modules/typeorm-aws-connector/index.d.ts +3 -0
  6. package/dist/modules/{database → typeorm-aws-connector}/index.js +2 -2
  7. package/dist/modules/typeorm-aws-connector/index.js.map +1 -0
  8. package/dist/modules/{database → typeorm-aws-connector}/rotator/rotator.service.d.ts +2 -2
  9. package/dist/modules/{database → typeorm-aws-connector}/rotator/rotator.service.js +3 -2
  10. package/dist/modules/typeorm-aws-connector/rotator/rotator.service.js.map +1 -0
  11. package/dist/modules/typeorm-aws-connector/typeorm-aws-connector.module.d.ts +7 -0
  12. package/dist/modules/{database/database.module.js → typeorm-aws-connector/typeorm-aws-connector.module.js} +15 -15
  13. package/dist/modules/typeorm-aws-connector/typeorm-aws-connector.module.js.map +1 -0
  14. package/dist/modules/{database/database.service.d.ts → typeorm-aws-connector/typeorm-aws-connector.service.d.ts} +4 -3
  15. package/dist/modules/{database/database.service.js → typeorm-aws-connector/typeorm-aws-connector.service.js} +16 -15
  16. package/dist/modules/typeorm-aws-connector/typeorm-aws-connector.service.js.map +1 -0
  17. package/dist/shared/constant/typeorm-aws-connector/constant.d.ts +11 -0
  18. package/dist/shared/constant/typeorm-aws-connector/constant.js +21 -0
  19. package/dist/shared/constant/typeorm-aws-connector/constant.js.map +1 -0
  20. package/dist/shared/enum/relation-load-strategy.enum.d.ts +4 -0
  21. package/dist/shared/enum/relation-load-strategy.enum.js +9 -0
  22. package/dist/shared/enum/relation-load-strategy.enum.js.map +1 -0
  23. package/dist/shared/interface/{database → typeorm-aws-connector}/config.interface.d.ts +3 -1
  24. package/dist/shared/interface/typeorm-aws-connector/config.interface.js.map +1 -0
  25. package/dist/shared/interface/typeorm-aws-connector/module-async-options.interface.d.ts +7 -0
  26. package/dist/shared/interface/typeorm-aws-connector/module-async-options.interface.js.map +1 -0
  27. package/dist/shared/interface/typeorm-aws-connector/module-options.interface.d.ts +2 -0
  28. package/dist/shared/interface/typeorm-aws-connector/module-options.interface.js.map +1 -0
  29. package/dist/shared/provider/typeorm-aws-connector/database.provider.d.ts +4 -0
  30. package/dist/shared/provider/typeorm-aws-connector/database.provider.js.map +1 -0
  31. package/dist/shared/type/database/config-rotation.type.d.ts +1 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +1 -1
  34. package/dist/modules/database/database.module.d.ts +0 -7
  35. package/dist/modules/database/database.module.js.map +0 -1
  36. package/dist/modules/database/database.service.js.map +0 -1
  37. package/dist/modules/database/index.d.ts +0 -3
  38. package/dist/modules/database/index.js.map +0 -1
  39. package/dist/modules/database/rotator/rotator.service.js.map +0 -1
  40. package/dist/shared/constant/database/constant.d.ts +0 -15
  41. package/dist/shared/constant/database/constant.js +0 -30
  42. package/dist/shared/constant/database/constant.js.map +0 -1
  43. package/dist/shared/interface/database/config.interface.js.map +0 -1
  44. package/dist/shared/interface/database/module-async-options.interface.d.ts +0 -7
  45. package/dist/shared/interface/database/module-async-options.interface.js.map +0 -1
  46. package/dist/shared/interface/database/module-options.interface.d.ts +0 -2
  47. package/dist/shared/interface/database/module-options.interface.js.map +0 -1
  48. package/dist/shared/provider/database/database.provider.d.ts +0 -4
  49. package/dist/shared/provider/database/database.provider.js.map +0 -1
  50. /package/dist/shared/interface/{database → typeorm-aws-connector}/config.interface.js +0 -0
  51. /package/dist/shared/interface/{database → typeorm-aws-connector}/module-async-options.interface.js +0 -0
  52. /package/dist/shared/interface/{database → typeorm-aws-connector}/module-options.interface.js +0 -0
  53. /package/dist/shared/provider/{database → typeorm-aws-connector}/database.provider.js +0 -0
package/README.md CHANGED
@@ -1,3 +1,6 @@
1
+ <p align="center">
2
+ <img src="https://i.ibb.co/rtBYhTH/Untitled-1.png" width="500" alt="project-logo">
3
+ </p>
1
4
  <p align="center">
2
5
  <h1 align="center">NestJS TypeORM AWS Connector</h1>
3
6
  </p>
@@ -24,6 +27,51 @@
24
27
  <img src="https://img.shields.io/badge/TypeORM-FE0902.svg?style=for-the-badge&logo=TypeORM&logoColor=white" alt="TypeORM">
25
28
  </p>
26
29
 
30
+ ## ⚠️ Important Prerequisites
31
+
32
+ This module requires `@elsikora/nestjs-aws-parameter-store-config` to function properly. Before using this module, please:
33
+
34
+ 1. Install and configure `@elsikora/nestjs-aws-parameter-store-config`
35
+ 2. Familiarize yourself with its documentation and setup
36
+ 3. Ensure it's properly configured in your NestJS application
37
+
38
+ Example of both modules working together:
39
+
40
+ ```typescript
41
+ @Module({
42
+ imports: [
43
+ // First, configure Parameter Store
44
+ ParameterStoreConfigModule.registerAsync({
45
+ imports: [ConfigModule],
46
+ inject: [ConfigService],
47
+ useFactory: (config: ConfigService) => ({
48
+ application: config.get<string>("APPLICATION"),
49
+ config: {
50
+ region: config.get<string>("AWS_REGION"),
51
+ },
52
+ decryptParameters: true,
53
+ environment: config.get<string>("ENVIRONMENT"),
54
+ recursiveLoading: true,
55
+ }),
56
+ }),
57
+ // Then, configure Database module
58
+ DatabaseModule.registerAsync({
59
+ imports: [ConfigModule],
60
+ inject: [ConfigService],
61
+ useFactory: async () => ({
62
+ connectionTimeoutMs: 30_000,
63
+ databaseName: "app",
64
+ entities: [Bank],
65
+ // ... other options
66
+ }),
67
+ }),
68
+ ]
69
+ })
70
+ export class AppModule {}
71
+ ```
72
+
73
+ For more information about the Parameter Store configuration, please refer to the [@elsikora/nestjs-aws-parameter-store-config documentation](https://github.com/ElsiKora/NestJS-AWS-Parameter-Store-Config).
74
+
27
75
  ## Overview
28
76
 
29
77
  NestJS-TypeORM-AWS-Connector is a powerful integration module that provides seamless database connectivity for NestJS applications using TypeORM with AWS infrastructure. It supports automatic connection management, connection pooling, and rotation features specifically designed for AWS environments. The module simplifies database configuration and management while providing robust options for customization and optimization.
@@ -53,7 +101,7 @@ npm install @elsikora/nestjs-typeorm-aws-connector
53
101
 
54
102
  ```typescript
55
103
  import { DatabaseModule } from '@elsikora/nestjs-typeorm-aws-connector';
56
- import { EDatabaseType } from '@elsikora/nestjs-typeorm-aws-connector/dist/shared/enum/database/type.enum';
104
+ import { EDatabaseType } from '@elsikora/nestjs-typeorm-aws-connector/dist/shared/enum/typeorm-aws-connector/type.enum';
57
105
 
58
106
  @Module({
59
107
  imports: [
@@ -85,7 +133,7 @@ export class AppModule {}
85
133
 
86
134
  ```typescript
87
135
  import { DatabaseModule } from '@elsikora/nestjs-typeorm-aws-connector';
88
- import { EDatabaseType } from '@elsikora/nestjs-typeorm-aws-connector/dist/shared/enum/database/type.enum';
136
+ import { EDatabaseType } from '@elsikora/nestjs-typeorm-aws-connector/dist/shared/enum/typeorm-aws-connector/type.enum';
89
137
 
90
138
  @Module({
91
139
  imports: [
@@ -113,13 +161,13 @@ export class AppModule {}
113
161
 
114
162
  ```typescript
115
163
  import { TypeOrmModule } from '@nestjs/typeorm';
116
- import { DatabaseService } from '@elsikora/nestjs-typeorm-aws-connector';
164
+ import { TypeormAwsConnectorService } from '@elsikora/nestjs-typeorm-aws-connector';
117
165
 
118
166
  @Module({
119
167
  imports: [
120
168
  TypeOrmModule.forRootAsync({
121
- inject: [DatabaseService],
122
- useFactory: async (databaseService: DatabaseService) => {
169
+ inject: [TypeormAwsConnectorService],
170
+ useFactory: async (databaseService: TypeormAwsConnectorService) => {
123
171
  const options = await databaseService.getTypeOrmOptions();
124
172
  return {
125
173
  ...options,
@@ -133,19 +181,20 @@ export class AppModule {}
133
181
 
134
182
  ## Configuration Options
135
183
 
136
- | Option | Type | Required | Default | Description |
137
- |--------------------|-----------|----------|---------|----------------------------------------------------------------|
138
- | type | EDatabaseType | Yes | - | Database type (POSTGRES, MYSQL, etc.) |
139
- | databaseName | string | Yes | - | Name of the database to connect to |
140
- | port | number | Yes | - | Database port number |
141
- | entities | Entity[] | Yes | - | Array of entity classes to be loaded |
142
- | poolSize | number | No | 10 | Maximum number of connections in the pool |
143
- | connectionTimeoutMs| number | No | 30000 | Connection timeout in milliseconds |
144
- | idleTimeoutMs | number | No | 30000 | Idle connection timeout in milliseconds |
145
- | isVerbose | boolean | No | false | Enable verbose logging |
146
- | shouldSynchronize | boolean | No | false | Automatically synchronize database schema |
147
- | rotation.isEnabled | boolean | No | false | Enable connection rotation |
148
- | rotation.intervalMs| number | No | 5000 | Connection rotation interval in milliseconds |
184
+ | Option | Type | Required | Default | Description |
185
+ |----------------------|-----------------------|----------|-----------------------------|----------------------------------------------|
186
+ | type | EDatabaseType | Yes | - | Database type (POSTGRES, MYSQL, etc.) |
187
+ | databaseName | string | Yes | - | Name of the database to connect to |
188
+ | port | number | Yes | - | Database port number |
189
+ | entities | Entity[] | Yes | - | Array of entity classes to be loaded |
190
+ | poolSize | number | false | 10 | Maximum number of connections in the pool |
191
+ | connectionTimeoutMs | number | false | 30000 | Connection timeout in milliseconds |
192
+ | idleTimeoutMs | number | false | 30000 | Idle connection timeout in milliseconds |
193
+ | isVerbose | boolean | false | false | Enable verbose logging |
194
+ | shouldSynchronize | boolean | false | false | Automatically synchronize database schema |
195
+ | relationLoadStrategy | ERelationLoadStrategy | Yes | ERelationLoadStrategy.QUERY | Relation load strategy (QUERY, JOIN) |
196
+ | rotation.isEnabled | boolean | No | false | Enable connection rotation |
197
+ | rotation.intervalMs | number | No | 3600000 | Connection rotation interval in milliseconds |
149
198
 
150
199
  ## Database Types
151
200
 
@@ -160,9 +209,9 @@ enum EDatabaseType {
160
209
 
161
210
  ## Services
162
211
 
163
- ### DatabaseService
212
+ ### TypeormAwsConnectorService
164
213
 
165
- The `DatabaseService` provides methods for managing database connections and configurations:
214
+ The `TypeormAwsConnectorService` provides methods for managing database connections and configurations:
166
215
 
167
216
  - `getTypeOrmOptions()`: Returns TypeORM configuration options
168
217
  - Other utility methods for connection management
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- export * from "./modules/database";
2
- export * from "./shared/constant/database/constant";
3
- export type * from "./shared/interface/database/config.interface";
4
- export * from "./shared/provider/database/database.provider";
1
+ export * from "./modules/typeorm-aws-connector";
2
+ export * from "./shared/constant/typeorm-aws-connector/constant";
3
+ export type * from "./shared/interface/typeorm-aws-connector/config.interface";
4
+ export * from "./shared/provider/typeorm-aws-connector/database.provider";
5
5
  export type * from "./shared/type/database/config-rotation.type";
6
+ export * from "./shared/enum/database/type.enum";
7
+ export * from "./shared/enum/relation-load-strategy.enum";
package/dist/index.js CHANGED
@@ -14,7 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./modules/database"), exports);
18
- __exportStar(require("./shared/constant/database/constant"), exports);
19
- __exportStar(require("./shared/provider/database/database.provider"), exports);
17
+ __exportStar(require("./modules/typeorm-aws-connector"), exports);
18
+ __exportStar(require("./shared/constant/typeorm-aws-connector/constant"), exports);
19
+ __exportStar(require("./shared/provider/typeorm-aws-connector/database.provider"), exports);
20
+ __exportStar(require("./shared/enum/database/type.enum"), exports);
21
+ __exportStar(require("./shared/enum/relation-load-strategy.enum"), exports);
20
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,sEAAoD;AAEpD,+EAA6D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,mFAAgE;AAEhE,4FAAyE;AAEzE,mEAAiD;AACjD,4EAA0D"}
@@ -0,0 +1,3 @@
1
+ export * from "./typeorm-aws-connector.module";
2
+ export * from "./typeorm-aws-connector.service";
3
+ export * from "./rotator/rotator.service";
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./database.module"), exports);
18
- __exportStar(require("./database.service"), exports);
17
+ __exportStar(require("./typeorm-aws-connector.module"), exports);
18
+ __exportStar(require("./typeorm-aws-connector.service"), exports);
19
19
  __exportStar(require("./rotator/rotator.service"), exports);
20
20
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/typeorm-aws-connector/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,kEAAgD;AAChD,4DAA0C"}
@@ -1,13 +1,13 @@
1
1
  import { OnModuleInit } from "@nestjs/common";
2
2
  import { SchedulerRegistry } from "@nestjs/schedule";
3
3
  import { DataSource } from "typeorm";
4
- import { IDatabaseConfig } from "../../../shared/interface/database/config.interface";
4
+ import { ITypeOrmAwsConnectorConfig } from "../../../shared/interface/typeorm-aws-connector/config.interface";
5
5
  export declare class RotatorService implements OnModuleInit {
6
6
  private readonly dataSource;
7
7
  private readonly databaseConfig;
8
8
  private readonly schedulerRegistry;
9
9
  private readonly logger;
10
- constructor(dataSource: DataSource, databaseConfig: IDatabaseConfig, schedulerRegistry: SchedulerRegistry);
10
+ constructor(dataSource: DataSource, databaseConfig: ITypeOrmAwsConnectorConfig, schedulerRegistry: SchedulerRegistry);
11
11
  onModuleInit(): void;
12
12
  rotateDatabaseConnection(): Promise<void>;
13
13
  }
@@ -17,7 +17,8 @@ exports.RotatorService = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
18
  const schedule_1 = require("@nestjs/schedule");
19
19
  const typeorm_1 = require("typeorm");
20
- const database_provider_1 = require("../../../shared/provider/database/database.provider");
20
+ const database_provider_1 = require("../../../shared/provider/typeorm-aws-connector/database.provider");
21
+ const constant_1 = require("../../../shared/constant/typeorm-aws-connector/constant");
21
22
  let RotatorService = RotatorService_1 = class RotatorService {
22
23
  constructor(dataSource, databaseConfig, schedulerRegistry) {
23
24
  this.dataSource = dataSource;
@@ -27,7 +28,7 @@ let RotatorService = RotatorService_1 = class RotatorService {
27
28
  }
28
29
  onModuleInit() {
29
30
  if (this.databaseConfig.rotation?.isEnabled) {
30
- const intervalMs = this.databaseConfig.rotation.intervalMs;
31
+ const intervalMs = this.databaseConfig.rotation.intervalMs || constant_1.default.DB_CONNECTION_ROTATION_INTERVAL;
31
32
  const interval = setInterval(() => {
32
33
  this.rotateDatabaseConnection();
33
34
  }, intervalMs);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotator.service.js","sourceRoot":"","sources":["../../../../src/modules/typeorm-aws-connector/rotator/rotator.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA0E;AAC1E,+CAAqD;AACrD,qCAAmF;AACnF,wGAAoG;AAEpG,sFAA6F;AAGtF,IAAM,cAAc,sBAApB,MAAM,cAAc;IAG1B,YACkB,UAAsB,EAEvC,cAA2D,EAC1C,iBAAoC;QAHpC,eAAU,GAAV,UAAU,CAAY;QAEtB,mBAAc,GAAd,cAAc,CAA4B;QAC1C,sBAAiB,GAAjB,iBAAiB,CAAmB;QANrC,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IAOvD,CAAC;IAEJ,YAAY;QACX,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,IAAI,kBAA8B,CAAC,+BAA+B,CAAC;YAE7H,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBACjC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACjC,CAAC,EAAE,UAAU,CAAC,CAAC;YAEf,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,UAAU,KAAK,CAAC,CAAC;QAC/E,CAAC;IACF,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAEjE,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAE/C,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,UAAU,GAAsB,EAAE,GAAG,cAAc,EAAE,CAAC;QAC5D,MAAM,aAAa,GAAG,IAAI,oBAAU,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAqC,EAAE,EAAE;YAC7E,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,UAAkB,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACxC,CAAC;CACD,CAAA;AA7CY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAMV,WAAA,IAAA,eAAM,EAAC,4CAAwB,CAAC,CAAA;qCADJ,oBAAU,UAGH,4BAAiB;GAP1C,cAAc,CA6C1B"}
@@ -0,0 +1,7 @@
1
+ import { DynamicModule } from "@nestjs/common";
2
+ import { ITypeOrmAwsConnectorModuleAsyncOptions } from "../../shared/interface/typeorm-aws-connector/module-async-options.interface";
3
+ import { ITypeOrmAwsConnectorModuleOptions } from "../../shared/interface/typeorm-aws-connector/module-options.interface";
4
+ export declare class TypeOrmAwsConnectorModule {
5
+ static register(config: ITypeOrmAwsConnectorModuleOptions): DynamicModule;
6
+ static registerAsync(options: ITypeOrmAwsConnectorModuleAsyncOptions): Promise<DynamicModule>;
7
+ }
@@ -5,22 +5,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var DatabaseModule_1;
8
+ var TypeOrmAwsConnectorModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.DatabaseModule = void 0;
10
+ exports.TypeOrmAwsConnectorModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
12
  const schedule_1 = require("@nestjs/schedule");
13
- const database_service_1 = require("./database.service");
13
+ const typeorm_aws_connector_service_1 = require("./typeorm-aws-connector.service");
14
14
  const rotator_service_1 = require("./rotator/rotator.service");
15
- const database_provider_1 = require("../../shared/provider/database/database.provider");
16
- let DatabaseModule = DatabaseModule_1 = class DatabaseModule {
15
+ const database_provider_1 = require("../../shared/provider/typeorm-aws-connector/database.provider");
16
+ let TypeOrmAwsConnectorModule = TypeOrmAwsConnectorModule_1 = class TypeOrmAwsConnectorModule {
17
17
  static register(config) {
18
18
  const providers = [
19
19
  {
20
20
  provide: database_provider_1.DATABASE_CONFIG_PROVIDER,
21
21
  useValue: config,
22
22
  },
23
- database_service_1.DatabaseService,
23
+ typeorm_aws_connector_service_1.TypeormAwsConnectorService,
24
24
  ];
25
25
  const isRotationEnabled = config.rotation?.isEnabled;
26
26
  const imports = [];
@@ -32,14 +32,14 @@ let DatabaseModule = DatabaseModule_1 = class DatabaseModule {
32
32
  });
33
33
  }
34
34
  return {
35
- module: DatabaseModule_1,
35
+ module: TypeOrmAwsConnectorModule_1,
36
36
  imports,
37
37
  providers,
38
- exports: [database_service_1.DatabaseService, ...(isRotationEnabled ? [rotator_service_1.RotatorService] : [])],
38
+ exports: [typeorm_aws_connector_service_1.TypeormAwsConnectorService, ...(isRotationEnabled ? [rotator_service_1.RotatorService] : [])],
39
39
  };
40
40
  }
41
41
  static async registerAsync(options) {
42
- const providers = [(0, database_provider_1.createDatabaseConfigProvider)(options), database_service_1.DatabaseService];
42
+ const providers = [(0, database_provider_1.createDatabaseConfigProvider)(options), typeorm_aws_connector_service_1.TypeormAwsConnectorService];
43
43
  const imports = [...(options.imports || [])];
44
44
  const config = await options.useFactory(...(options.inject || []));
45
45
  const isRotationEnabled = config.rotation?.isEnabled;
@@ -48,16 +48,16 @@ let DatabaseModule = DatabaseModule_1 = class DatabaseModule {
48
48
  providers.push(rotator_service_1.RotatorService);
49
49
  }
50
50
  return {
51
- module: DatabaseModule_1,
51
+ module: TypeOrmAwsConnectorModule_1,
52
52
  imports,
53
53
  providers,
54
- exports: [database_service_1.DatabaseService, ...(isRotationEnabled ? [rotator_service_1.RotatorService] : [])],
54
+ exports: [typeorm_aws_connector_service_1.TypeormAwsConnectorService, ...(isRotationEnabled ? [rotator_service_1.RotatorService] : [])],
55
55
  };
56
56
  }
57
57
  };
58
- exports.DatabaseModule = DatabaseModule;
59
- exports.DatabaseModule = DatabaseModule = DatabaseModule_1 = __decorate([
58
+ exports.TypeOrmAwsConnectorModule = TypeOrmAwsConnectorModule;
59
+ exports.TypeOrmAwsConnectorModule = TypeOrmAwsConnectorModule = TypeOrmAwsConnectorModule_1 = __decorate([
60
60
  (0, common_1.Global)(),
61
61
  (0, common_1.Module)({})
62
- ], DatabaseModule);
63
- //# sourceMappingURL=database.module.js.map
62
+ ], TypeOrmAwsConnectorModule);
63
+ //# sourceMappingURL=typeorm-aws-connector.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeorm-aws-connector.module.js","sourceRoot":"","sources":["../../../src/modules/typeorm-aws-connector/typeorm-aws-connector.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyE;AACzE,+CAAkD;AAIlD,mFAA0G;AAC1G,+DAAwF;AACxF,qGAAkI;AAO3H,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAyC;QACxD,MAAM,SAAS,GAAoB;YAClC;gBACC,OAAO,EAAE,4CAAwB;gBACjC,QAAQ,EAAE,MAAM;aAChB;YACD,0DAA0B;SAC1B,CAAC;QAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;QACrD,MAAM,OAAO,GAAe,EAAE,CAAC;QAE/B,IAAI,iBAAiB,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,yBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC;gBACd,OAAO,EAAE,gCAAc;gBACvB,QAAQ,EAAE,gCAAc;aACxB,CAAC,CAAC;QACJ,CAAC;QAED,OAAO;YACN,MAAM,EAAE,2BAAyB;YACjC,OAAO;YACP,SAAS;YACT,OAAO,EAAE,CAAC,0DAA0B,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,gCAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACrF,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAA+C;QACzE,MAAM,SAAS,GAAG,CAAC,IAAA,gDAA4B,EAAC,OAAO,CAAC,EAAE,0DAA0B,CAAC,CAAC;QAEtF,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;QAErD,IAAI,iBAAiB,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,yBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,gCAAc,CAAC,CAAC;QAChC,CAAC;QAED,OAAO;YACN,MAAM,EAAE,2BAAyB;YACjC,OAAO;YACP,SAAS;YACT,OAAO,EAAE,CAAC,0DAA0B,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,gCAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACrF,CAAC;IACH,CAAC;CACD,CAAA;AAjDY,8DAAyB;oCAAzB,yBAAyB;IAFrC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,yBAAyB,CAiDrC"}
@@ -1,13 +1,13 @@
1
1
  import { ConfigService } from "@nestjs/config";
2
2
  import { ParameterStoreConfigService } from "@elsikora/nestjs-aws-parameter-store-config";
3
- import { IDatabaseConfig } from "../../shared/interface/database/config.interface";
4
3
  import { IAwsSecretsManagerItem } from "../../shared/interface/aws/secrets-manager/item.interface";
5
- export declare class DatabaseService {
4
+ import { ITypeOrmAwsConnectorConfig } from "../../shared/interface/typeorm-aws-connector/config.interface";
5
+ export declare class TypeormAwsConnectorService {
6
6
  private readonly configService;
7
7
  private readonly parameterStoreConfigService;
8
8
  private readonly databaseConfig;
9
9
  private readonly logger;
10
- constructor(configService: ConfigService, parameterStoreConfigService: ParameterStoreConfigService, databaseConfig: IDatabaseConfig);
10
+ constructor(configService: ConfigService, parameterStoreConfigService: ParameterStoreConfigService, databaseConfig: ITypeOrmAwsConnectorConfig);
11
11
  getCredentials(): Promise<IAwsSecretsManagerItem>;
12
12
  getTypeOrmOptions(): Promise<{
13
13
  type: any;
@@ -16,6 +16,7 @@ export declare class DatabaseService {
16
16
  username: string;
17
17
  password: string;
18
18
  database: string;
19
+ relationLoadStrategy: import("../..").ERelationLoadStrategy;
19
20
  logging: boolean;
20
21
  synchronize: boolean;
21
22
  extra: {
@@ -11,27 +11,27 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
- var DatabaseService_1;
14
+ var TypeormAwsConnectorService_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.DatabaseService = void 0;
16
+ exports.TypeormAwsConnectorService = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
18
  const config_1 = require("@nestjs/config");
19
19
  const nestjs_aws_parameter_store_config_1 = require("@elsikora/nestjs-aws-parameter-store-config");
20
20
  const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
21
- const database_provider_1 = require("../../shared/provider/database/database.provider");
22
- let DatabaseService = DatabaseService_1 = class DatabaseService {
21
+ const database_provider_1 = require("../../shared/provider/typeorm-aws-connector/database.provider");
22
+ const constant_1 = require("../../shared/constant/typeorm-aws-connector/constant");
23
+ let TypeormAwsConnectorService = TypeormAwsConnectorService_1 = class TypeormAwsConnectorService {
23
24
  constructor(configService, parameterStoreConfigService, databaseConfig) {
24
25
  this.configService = configService;
25
26
  this.parameterStoreConfigService = parameterStoreConfigService;
26
27
  this.databaseConfig = databaseConfig;
27
- this.logger = new common_1.Logger(DatabaseService_1.name);
28
+ this.logger = new common_1.Logger(TypeormAwsConnectorService_1.name);
28
29
  }
29
30
  async getCredentials() {
30
31
  this.logger.debug("Asking credentials from AWS Secrets Manager...");
31
32
  const region = this.configService.get("AWS_REGION");
32
33
  const client = new client_secrets_manager_1.SecretsManagerClient({ region });
33
34
  const secretId = this.parameterStoreConfigService.get(`/${this.configService.get("APPLICATION")}/elastic-beanstalk/${this.configService.get("APPLICATION")}-reaper-api/aws-secrets-manager/database-credentials-secret-id`);
34
- console.log("SECRETID", secretId, `/${this.configService.get("APPLICATION")}/elastic-beanstalk/${this.configService.get("APPLICATION")}-reaper-api/aws-secrets-manager/database-credentials-secret-id`);
35
35
  const response = await client.send(new client_secrets_manager_1.GetSecretValueCommand({
36
36
  SecretId: secretId,
37
37
  VersionStage: "AWSCURRENT",
@@ -49,12 +49,13 @@ let DatabaseService = DatabaseService_1 = class DatabaseService {
49
49
  username: credentials.username,
50
50
  password: credentials.password,
51
51
  database: this.databaseConfig.databaseName,
52
- logging: this.databaseConfig.isVerbose || false,
53
- synchronize: this.databaseConfig.shouldSynchronize || false,
52
+ relationLoadStrategy: this.databaseConfig.relationLoadStrategy || constant_1.default.DB_RELATION_LOAD_STRATEGY,
53
+ logging: this.databaseConfig.isVerbose || constant_1.default.DB_LOGGING,
54
+ synchronize: this.databaseConfig.shouldSynchronize || constant_1.default.DB_SYNCHRONIZE,
54
55
  extra: {
55
- connectionTimeoutMillis: this.databaseConfig.connectionTimeoutMs || 30000,
56
- idleTimeoutMillis: this.databaseConfig.idleTimeoutMs || 30000,
57
- max: this.databaseConfig.poolSize || 10,
56
+ connectionTimeoutMillis: this.databaseConfig.connectionTimeoutMs || constant_1.default.DB_CONNECTION_TIMEOUT,
57
+ idleTimeoutMillis: this.databaseConfig.idleTimeoutMs || constant_1.default.DB_IDLE_TIMEOUT,
58
+ max: this.databaseConfig.poolSize || constant_1.default.DB_POOL_SIZE,
58
59
  },
59
60
  entities: this.databaseConfig.entities,
60
61
  };
@@ -62,11 +63,11 @@ let DatabaseService = DatabaseService_1 = class DatabaseService {
62
63
  return options;
63
64
  }
64
65
  };
65
- exports.DatabaseService = DatabaseService;
66
- exports.DatabaseService = DatabaseService = DatabaseService_1 = __decorate([
66
+ exports.TypeormAwsConnectorService = TypeormAwsConnectorService;
67
+ exports.TypeormAwsConnectorService = TypeormAwsConnectorService = TypeormAwsConnectorService_1 = __decorate([
67
68
  (0, common_1.Injectable)(),
68
69
  __param(2, (0, common_1.Inject)(database_provider_1.DATABASE_CONFIG_PROVIDER)),
69
70
  __metadata("design:paramtypes", [config_1.ConfigService,
70
71
  nestjs_aws_parameter_store_config_1.ParameterStoreConfigService, Object])
71
- ], DatabaseService);
72
- //# sourceMappingURL=database.service.js.map
72
+ ], TypeormAwsConnectorService);
73
+ //# sourceMappingURL=typeorm-aws-connector.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeorm-aws-connector.service.js","sourceRoot":"","sources":["../../../src/modules/typeorm-aws-connector/typeorm-aws-connector.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ERelationLoadStrategy } from "../../enum/relation-load-strategy.enum";
2
+ declare const TYPEORM_AWS_CONNECTOR_CONSTANT: {
3
+ readonly DB_CONNECTION_ROTATION_INTERVAL: number;
4
+ readonly DB_CONNECTION_TIMEOUT: number;
5
+ readonly DB_IDLE_TIMEOUT: number;
6
+ readonly DB_LOGGING: boolean;
7
+ readonly DB_POOL_SIZE: number;
8
+ readonly DB_RELATION_LOAD_STRATEGY: ERelationLoadStrategy;
9
+ readonly DB_SYNCHRONIZE: boolean;
10
+ };
11
+ export default TYPEORM_AWS_CONNECTOR_CONSTANT;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const relation_load_strategy_enum_1 = require("../../enum/relation-load-strategy.enum");
4
+ const DB_CONNECTION_TIMEOUT = 30_000;
5
+ const DB_IDLE_TIMEOUT = 30_000;
6
+ const DB_POOL_SIZE = 10;
7
+ const DB_RELATION_LOAD_STRATEGY = relation_load_strategy_enum_1.ERelationLoadStrategy.QUERY;
8
+ const DB_SYNCHRONIZE = false;
9
+ const DB_LOGGING = false;
10
+ const DB_CONNECTION_ROTATION_INTERVAL = 1000 * 60 * 60;
11
+ const TYPEORM_AWS_CONNECTOR_CONSTANT = {
12
+ DB_CONNECTION_ROTATION_INTERVAL,
13
+ DB_CONNECTION_TIMEOUT,
14
+ DB_IDLE_TIMEOUT,
15
+ DB_LOGGING,
16
+ DB_POOL_SIZE,
17
+ DB_RELATION_LOAD_STRATEGY,
18
+ DB_SYNCHRONIZE,
19
+ };
20
+ exports.default = TYPEORM_AWS_CONNECTOR_CONSTANT;
21
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../src/shared/constant/typeorm-aws-connector/constant.ts"],"names":[],"mappings":";;AAAA,wFAA+E;AAE/E,MAAM,qBAAqB,GAAW,MAAM,CAAC;AAC7C,MAAM,eAAe,GAAW,MAAM,CAAC;AACvC,MAAM,YAAY,GAAW,EAAE,CAAC;AAChC,MAAM,yBAAyB,GAA0B,mDAAqB,CAAC,KAAK,CAAC;AACrF,MAAM,cAAc,GAAY,KAAK,CAAC;AACtC,MAAM,UAAU,GAAY,KAAK,CAAC;AAClC,MAAM,+BAA+B,GAAW,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;AAE/D,MAAM,8BAA8B,GAQhC;IACH,+BAA+B;IAC/B,qBAAqB;IACrB,eAAe;IACf,UAAU;IACV,YAAY;IACZ,yBAAyB;IACzB,cAAc;CACL,CAAC;AAEX,kBAAe,8BAA8B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare enum ERelationLoadStrategy {
2
+ JOIN = "join",
3
+ QUERY = "query"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERelationLoadStrategy = void 0;
4
+ var ERelationLoadStrategy;
5
+ (function (ERelationLoadStrategy) {
6
+ ERelationLoadStrategy["JOIN"] = "join";
7
+ ERelationLoadStrategy["QUERY"] = "query";
8
+ })(ERelationLoadStrategy || (exports.ERelationLoadStrategy = ERelationLoadStrategy = {}));
9
+ //# sourceMappingURL=relation-load-strategy.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-load-strategy.enum.js","sourceRoot":"","sources":["../../../src/shared/enum/relation-load-strategy.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC7B,sCAAa,CAAA;IACb,wCAAe,CAAA;AACnB,CAAC,EAHW,qBAAqB,qCAArB,qBAAqB,QAGhC"}
@@ -1,10 +1,12 @@
1
1
  import type { IDatabaseConfigRotation } from "../../type/database/config-rotation.type";
2
2
  import type { EDatabaseType } from "../../enum/database/type.enum";
3
3
  import type { EntitySchema, MixedList } from "typeorm";
4
- export interface IDatabaseConfig {
4
+ import { ERelationLoadStrategy } from "../../enum/relation-load-strategy.enum";
5
+ export interface ITypeOrmAwsConnectorConfig {
5
6
  type: EDatabaseType;
6
7
  port: number;
7
8
  databaseName: string;
9
+ relationLoadStrategy?: ERelationLoadStrategy;
8
10
  isVerbose?: boolean;
9
11
  shouldSynchronize?: boolean;
10
12
  connectionTimeoutMs?: number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.interface.js","sourceRoot":"","sources":["../../../../src/shared/interface/typeorm-aws-connector/config.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { ITypeOrmAwsConnectorModuleOptions } from "../../interface/typeorm-aws-connector/module-options.interface";
2
+ export interface ITypeOrmAwsConnectorModuleAsyncOptions {
3
+ useFactory: (...arguments_: Array<any>) => Promise<ITypeOrmAwsConnectorModuleOptions> | ITypeOrmAwsConnectorModuleOptions;
4
+ inject?: Array<any>;
5
+ imports?: Array<any>;
6
+ enableRotation?: boolean;
7
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-async-options.interface.js","sourceRoot":"","sources":["../../../../src/shared/interface/typeorm-aws-connector/module-async-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { ITypeOrmAwsConnectorConfig } from "../../interface/typeorm-aws-connector/config.interface";
2
+ export type ITypeOrmAwsConnectorModuleOptions = ITypeOrmAwsConnectorConfig;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-options.interface.js","sourceRoot":"","sources":["../../../../src/shared/interface/typeorm-aws-connector/module-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { Provider } from "@nestjs/common";
2
+ import type { ITypeOrmAwsConnectorModuleAsyncOptions } from "../../interface/typeorm-aws-connector/module-async-options.interface";
3
+ export declare const DATABASE_CONFIG_PROVIDER = "DATABASE_CONFIG_PROVIDER";
4
+ export declare function createDatabaseConfigProvider(options: ITypeOrmAwsConnectorModuleAsyncOptions): Provider;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.provider.js","sourceRoot":"","sources":["../../../../src/shared/provider/typeorm-aws-connector/database.provider.ts"],"names":[],"mappings":";;;AAMA,oEAMC;AARY,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAEnE,SAAgB,4BAA4B,CAAC,OAA+C;IAC3F,OAAO;QACN,OAAO,EAAE,gCAAwB;QACjC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;KAC5B,CAAC;AACH,CAAC"}
@@ -2,5 +2,5 @@ export type IDatabaseConfigRotation = {
2
2
  isEnabled?: false;
3
3
  } | {
4
4
  isEnabled: true;
5
- intervalMs: number;
5
+ intervalMs?: number;
6
6
  };