@ciscode/database-kit 1.0.0 → 1.0.1

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 (48) hide show
  1. package/CHANGELOG.md +50 -4
  2. package/README.md +487 -148
  3. package/dist/adapters/mongo.adapter.d.ts +53 -3
  4. package/dist/adapters/mongo.adapter.d.ts.map +1 -1
  5. package/dist/adapters/mongo.adapter.js +410 -27
  6. package/dist/adapters/mongo.adapter.js.map +1 -1
  7. package/dist/adapters/postgres.adapter.d.ts +50 -3
  8. package/dist/adapters/postgres.adapter.d.ts.map +1 -1
  9. package/dist/adapters/postgres.adapter.js +439 -45
  10. package/dist/adapters/postgres.adapter.js.map +1 -1
  11. package/dist/config/database.config.d.ts +1 -1
  12. package/dist/config/database.config.d.ts.map +1 -1
  13. package/dist/config/database.config.js +13 -13
  14. package/dist/config/database.config.js.map +1 -1
  15. package/dist/config/database.constants.js +7 -7
  16. package/dist/contracts/database.contracts.d.ts +283 -6
  17. package/dist/contracts/database.contracts.d.ts.map +1 -1
  18. package/dist/contracts/database.contracts.js +6 -1
  19. package/dist/contracts/database.contracts.js.map +1 -1
  20. package/dist/database-kit.module.d.ts +2 -2
  21. package/dist/database-kit.module.d.ts.map +1 -1
  22. package/dist/database-kit.module.js +1 -2
  23. package/dist/database-kit.module.js.map +1 -1
  24. package/dist/filters/database-exception.filter.d.ts +1 -1
  25. package/dist/filters/database-exception.filter.d.ts.map +1 -1
  26. package/dist/filters/database-exception.filter.js +43 -43
  27. package/dist/filters/database-exception.filter.js.map +1 -1
  28. package/dist/index.d.ts +10 -10
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/middleware/database.decorators.d.ts.map +1 -1
  32. package/dist/middleware/database.decorators.js.map +1 -1
  33. package/dist/services/database.service.d.ts +83 -5
  34. package/dist/services/database.service.d.ts.map +1 -1
  35. package/dist/services/database.service.js +136 -16
  36. package/dist/services/database.service.js.map +1 -1
  37. package/dist/services/logger.service.d.ts +1 -1
  38. package/dist/services/logger.service.d.ts.map +1 -1
  39. package/dist/services/logger.service.js +1 -1
  40. package/dist/services/logger.service.js.map +1 -1
  41. package/dist/utils/pagination.utils.d.ts +2 -2
  42. package/dist/utils/pagination.utils.d.ts.map +1 -1
  43. package/dist/utils/pagination.utils.js +9 -6
  44. package/dist/utils/pagination.utils.js.map +1 -1
  45. package/dist/utils/validation.utils.d.ts.map +1 -1
  46. package/dist/utils/validation.utils.js +5 -5
  47. package/dist/utils/validation.utils.js.map +1 -1
  48. package/package.json +28 -8
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- // src/services/database.service.ts
3
2
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
4
3
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5
4
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -46,7 +45,7 @@ let DatabaseService = DatabaseService_1 = class DatabaseService {
46
45
  * Gracefully closes all database connections.
47
46
  */
48
47
  async onModuleDestroy() {
49
- this.logger.log('Cleaning up database connections...');
48
+ this.logger.log("Cleaning up database connections...");
50
49
  await this.disconnect();
51
50
  }
52
51
  /**
@@ -61,9 +60,9 @@ let DatabaseService = DatabaseService_1 = class DatabaseService {
61
60
  isConnected() {
62
61
  var _a, _b, _c, _d;
63
62
  switch (this.config.type) {
64
- case 'mongo':
63
+ case "mongo":
65
64
  return (_b = (_a = this.mongoAdapter) === null || _a === void 0 ? void 0 : _a.isConnected()) !== null && _b !== void 0 ? _b : false;
66
- case 'postgres':
65
+ case "postgres":
67
66
  return (_d = (_c = this.postgresAdapter) === null || _c === void 0 ? void 0 : _c.isConnected()) !== null && _d !== void 0 ? _d : false;
68
67
  default:
69
68
  return false;
@@ -75,20 +74,20 @@ let DatabaseService = DatabaseService_1 = class DatabaseService {
75
74
  */
76
75
  async connect() {
77
76
  switch (this.config.type) {
78
- case 'mongo': {
77
+ case "mongo": {
79
78
  if (!this.mongoAdapter) {
80
79
  this.mongoAdapter = new mongo_adapter_1.MongoAdapter(this.config);
81
80
  }
82
81
  await this.mongoAdapter.connect();
83
- this.logger.log('MongoDB connection established');
82
+ this.logger.log("MongoDB connection established");
84
83
  break;
85
84
  }
86
- case 'postgres': {
85
+ case "postgres": {
87
86
  if (!this.postgresAdapter) {
88
87
  this.postgresAdapter = new postgres_adapter_1.PostgresAdapter(this.config);
89
88
  }
90
89
  this.postgresAdapter.connect();
91
- this.logger.log('PostgreSQL connection pool established');
90
+ this.logger.log("PostgreSQL connection pool established");
92
91
  break;
93
92
  }
94
93
  default: {
@@ -111,10 +110,10 @@ let DatabaseService = DatabaseService_1 = class DatabaseService {
111
110
  await this.postgresAdapter.disconnect();
112
111
  this.postgresAdapter = undefined;
113
112
  }
114
- this.logger.log('All database connections closed');
113
+ this.logger.log("All database connections closed");
115
114
  }
116
115
  catch (error) {
117
- this.logger.error('Error during database disconnect', error);
116
+ this.logger.error("Error during database disconnect", error);
118
117
  throw error;
119
118
  }
120
119
  }
@@ -132,7 +131,7 @@ let DatabaseService = DatabaseService_1 = class DatabaseService {
132
131
  * ```
133
132
  */
134
133
  createMongoRepository(options) {
135
- if (this.config.type !== 'mongo') {
134
+ if (this.config.type !== "mongo") {
136
135
  throw new Error(`Database type is "${this.config.type}". createMongoRepository can only be used when type === "mongo".`);
137
136
  }
138
137
  if (!this.mongoAdapter) {
@@ -157,7 +156,7 @@ let DatabaseService = DatabaseService_1 = class DatabaseService {
157
156
  * ```
158
157
  */
159
158
  createPostgresRepository(cfg) {
160
- if (this.config.type !== 'postgres') {
159
+ if (this.config.type !== "postgres") {
161
160
  throw new Error(`Database type is "${this.config.type}". createPostgresRepository can only be used when type === "postgres".`);
162
161
  }
163
162
  if (!this.postgresAdapter) {
@@ -173,8 +172,8 @@ let DatabaseService = DatabaseService_1 = class DatabaseService {
173
172
  * @throws Error if database type is not 'mongo'
174
173
  */
175
174
  getMongoAdapter() {
176
- if (this.config.type !== 'mongo') {
177
- throw new Error('getMongoAdapter() is only available for MongoDB connections');
175
+ if (this.config.type !== "mongo") {
176
+ throw new Error("getMongoAdapter() is only available for MongoDB connections");
178
177
  }
179
178
  if (!this.mongoAdapter) {
180
179
  this.mongoAdapter = new mongo_adapter_1.MongoAdapter(this.config);
@@ -188,14 +187,135 @@ let DatabaseService = DatabaseService_1 = class DatabaseService {
188
187
  * @throws Error if database type is not 'postgres'
189
188
  */
190
189
  getPostgresAdapter() {
191
- if (this.config.type !== 'postgres') {
192
- throw new Error('getPostgresAdapter() is only available for PostgreSQL connections');
190
+ if (this.config.type !== "postgres") {
191
+ throw new Error("getPostgresAdapter() is only available for PostgreSQL connections");
193
192
  }
194
193
  if (!this.postgresAdapter) {
195
194
  this.postgresAdapter = new postgres_adapter_1.PostgresAdapter(this.config);
196
195
  }
197
196
  return this.postgresAdapter;
198
197
  }
198
+ /**
199
+ * Executes a callback within a MongoDB transaction.
200
+ * All database operations within the callback are atomic.
201
+ *
202
+ * **Note:** MongoDB transactions require a replica set.
203
+ *
204
+ * @param callback - Function to execute within the transaction
205
+ * @param options - Transaction options
206
+ * @returns Result of the callback function
207
+ * @throws Error if database type is not 'mongo' or transaction fails
208
+ *
209
+ * @example
210
+ * ```typescript
211
+ * const result = await db.withMongoTransaction(async (ctx) => {
212
+ * const usersRepo = ctx.createRepository<User>({ model: UserModel });
213
+ * const user = await usersRepo.create({ name: 'John' });
214
+ * return user;
215
+ * });
216
+ * ```
217
+ */
218
+ async withMongoTransaction(callback, options) {
219
+ if (this.config.type !== "mongo") {
220
+ throw new Error(`Database type is "${this.config.type}". withMongoTransaction can only be used when type === "mongo".`);
221
+ }
222
+ const adapter = this.getMongoAdapter();
223
+ return adapter.withTransaction(callback, options);
224
+ }
225
+ /**
226
+ * Executes a callback within a PostgreSQL transaction.
227
+ * All database operations within the callback are atomic.
228
+ *
229
+ * @param callback - Function to execute within the transaction
230
+ * @param options - Transaction options including isolation level
231
+ * @returns Result of the callback function
232
+ * @throws Error if database type is not 'postgres' or transaction fails
233
+ *
234
+ * @example
235
+ * ```typescript
236
+ * const result = await db.withPostgresTransaction(async (ctx) => {
237
+ * const usersRepo = ctx.createRepository<User>({ table: 'users' });
238
+ * const user = await usersRepo.create({ name: 'John' });
239
+ * return user;
240
+ * }, { isolationLevel: 'serializable' });
241
+ * ```
242
+ */
243
+ async withPostgresTransaction(callback, options) {
244
+ if (this.config.type !== "postgres") {
245
+ throw new Error(`Database type is "${this.config.type}". withPostgresTransaction can only be used when type === "postgres".`);
246
+ }
247
+ const adapter = this.getPostgresAdapter();
248
+ return adapter.withTransaction(callback, options);
249
+ }
250
+ /**
251
+ * Generic transaction method that works with the configured database type.
252
+ * Automatically routes to the appropriate transaction handler.
253
+ *
254
+ * @param callback - Function to execute within the transaction
255
+ * @param options - Transaction options
256
+ * @returns Result of the callback function
257
+ *
258
+ * @example
259
+ * ```typescript
260
+ * // Works with whatever database type is configured
261
+ * const result = await db.withTransaction(async (ctx) => {
262
+ * const repo = ctx.createRepository({ ... });
263
+ * return repo.create({ name: 'John' });
264
+ * });
265
+ * ```
266
+ */
267
+ async withTransaction(callback, options) {
268
+ switch (this.config.type) {
269
+ case "mongo":
270
+ return this.withMongoTransaction(callback, options);
271
+ case "postgres":
272
+ return this.withPostgresTransaction(callback, options);
273
+ default: {
274
+ const exhaustiveCheck = this.config;
275
+ throw new Error(`Unsupported database type: ${exhaustiveCheck.type}`);
276
+ }
277
+ }
278
+ }
279
+ /**
280
+ * Performs a health check on the database connection.
281
+ * Useful for load balancer health endpoints and monitoring.
282
+ *
283
+ * @returns Health check result with status, response time, and details
284
+ *
285
+ * @example
286
+ * ```typescript
287
+ * // In a health check endpoint
288
+ * @Get('/health')
289
+ * async healthCheck() {
290
+ * const result = await this.db.healthCheck();
291
+ * if (!result.healthy) {
292
+ * throw new ServiceUnavailableException(result.error);
293
+ * }
294
+ * return result;
295
+ * }
296
+ * ```
297
+ */
298
+ async healthCheck() {
299
+ switch (this.config.type) {
300
+ case "mongo": {
301
+ const adapter = this.getMongoAdapter();
302
+ return adapter.healthCheck();
303
+ }
304
+ case "postgres": {
305
+ const adapter = this.getPostgresAdapter();
306
+ return adapter.healthCheck();
307
+ }
308
+ default: {
309
+ const exhaustiveCheck = this.config;
310
+ return {
311
+ healthy: false,
312
+ responseTimeMs: 0,
313
+ type: exhaustiveCheck.type,
314
+ error: `Unsupported database type: ${exhaustiveCheck.type}`,
315
+ };
316
+ }
317
+ }
318
+ }
199
319
  };
200
320
  exports.DatabaseService = DatabaseService;
201
321
  exports.DatabaseService = DatabaseService = DatabaseService_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"database.service.js","sourceRoot":"","sources":["../../src/services/database.service.ts"],"names":[],"mappings":";AAAA,mCAAmC;;;;;;;;;;;;;AAEnC,2CAAqE;AASrE,6DAAyD;AACzD,mEAA+D;AAE/D;;;;;;;;;;;;;;;;;;;GAmBG;AAEI,IAAM,eAAe,uBAArB,MAAM,eAAe;IAOxB,YAAY,MAAsB;QANjB,WAAM,GAAG,IAAI,eAAM,CAAC,iBAAe,CAAC,IAAI,CAAC,CAAC;QAOvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,WAAW;;QACP,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,OAAO;gBACR,OAAO,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,WAAW,EAAE,mCAAI,KAAK,CAAC;YACrD,KAAK,UAAU;gBACX,OAAO,MAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,WAAW,EAAE,mCAAI,KAAK,CAAC;YACxD;gBACI,OAAO,KAAK,CAAC;QACrB,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACT,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBACrB,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,MAA6B,CAAC,CAAC;gBAC7E,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAClD,MAAM;YACV,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACxB,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAe,CAAC,IAAI,CAAC,MAAgC,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBAC1D,MAAM;YACV,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACN,6DAA6D;gBAC7D,MAAM,eAAe,GAAU,IAAI,CAAC,MAAM,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,8BAA+B,eAAkC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9F,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAClC,CAAC;YAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACrC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAc,OAA+B;QAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACX,qBAAqB,IAAI,CAAC,MAAM,CAAC,IAAI,kEAAkE,CAC1G,CAAC;QACN,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,MAA6B,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAI,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,wBAAwB,CAAc,GAAyB;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACX,qBAAqB,IAAI,CAAC,MAAM,CAAC,IAAI,wEAAwE,CAChH,CAAC;QACN,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAe,CAAC,IAAI,CAAC,MAAgC,CAAC,CAAC;YAClF,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAI,GAAG,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,eAAe;QACX,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,MAA6B,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,kBAAkB;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAe,CAAC,IAAI,CAAC,MAAgC,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;CACJ,CAAA;AA7LY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;;GACA,eAAe,CA6L3B"}
1
+ {"version":3,"file":"database.service.js","sourceRoot":"","sources":["../../src/services/database.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { LogLevel } from '@nestjs/common';
1
+ import { LogLevel } from "@nestjs/common";
2
2
  /**
3
3
  * Centralized logging service for DatabaseKit.
4
4
  * Provides structured logging with context support.
@@ -1 +1 @@
1
- {"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../src/services/logger.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;;;;;;;;;;;;;;GAeG;AACH,qBACa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9D;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7C;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9C;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;CAGzC"}
1
+ {"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../src/services/logger.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;;;;;;;;;;;;;;GAeG;AACH,qBACa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9D;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7C;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9C;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;CAGvC"}
@@ -27,7 +27,7 @@ const common_1 = require("@nestjs/common");
27
27
  */
28
28
  let LoggerService = class LoggerService {
29
29
  constructor() {
30
- this.logger = new common_1.Logger('DatabaseKit');
30
+ this.logger = new common_1.Logger("DatabaseKit");
31
31
  }
32
32
  /**
33
33
  * Logs a message at the 'log' level.
@@ -1 +1 @@
1
- {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../src/services/logger.service.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;;;;;;;AAEjC,2CAA8D;AAE9D;;;;;;;;;;;;;;;GAeG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAa;IAAnB;QACc,WAAM,GAAG,IAAI,eAAM,CAAC,aAAa,CAAC,CAAC;IA6DxD,CAAC;IA3DG;;;;;OAKG;IACH,GAAG,CAAC,OAAe,EAAE,OAAgB;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAe,EAAE,KAAc,EAAE,OAAgB;QACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,OAAe,EAAE,OAAgB;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAe,EAAE,OAAgB;;QACnC,MAAA,MAAA,IAAI,CAAC,MAAM,EAAC,KAAK,mDAAG,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAe,EAAE,OAAgB;;QACrC,MAAA,MAAA,IAAI,CAAC,MAAM,EAAC,OAAO,mDAAG,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,MAAkB;QAC3B,eAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;CACJ,CAAA;AA9DY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CA8DzB"}
1
+ {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../src/services/logger.service.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;;;;;;;AAEjC,2CAA8D;AAE9D;;;;;;;;;;;;;;;GAeG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAa;IAAnB;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,aAAa,CAAC,CAAC;IA6DtD,CAAC;IA3DC;;;;;OAKG;IACH,GAAG,CAAC,OAAe,EAAE,OAAgB;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAe,EAAE,KAAc,EAAE,OAAgB;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,OAAe,EAAE,OAAgB;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAe,EAAE,OAAgB;;QACrC,MAAA,MAAA,IAAI,CAAC,MAAM,EAAC,KAAK,mDAAG,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAe,EAAE,OAAgB;;QACvC,MAAA,MAAA,IAAI,CAAC,MAAM,EAAC,OAAO,mDAAG,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,MAAkB;QAC7B,eAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF,CAAA;AA9DY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CA8DzB"}
@@ -1,4 +1,4 @@
1
- import { PageOptions, PageResult } from '../contracts/database.contracts';
1
+ import type { PageOptions, PageResult } from "../contracts/database.contracts";
2
2
  /**
3
3
  * Utility functions for pagination operations.
4
4
  */
@@ -45,7 +45,7 @@ export declare function createPageResult<T>(data: T[], page: number, limit: numb
45
45
  * // Returns: { createdAt: 'desc', name: 'asc' }
46
46
  * ```
47
47
  */
48
- export declare function parseSortString(sortString: string): Record<string, 'asc' | 'desc'>;
48
+ export declare function parseSortString(sortString: string): Record<string, "asc" | "desc">;
49
49
  /**
50
50
  * Calculates the offset for a given page and limit.
51
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.utils.d.ts","sourceRoot":"","sources":["../../src/utils/pagination.utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,UAAU,EAA0B,MAAM,iCAAiC,CAAC;AAElG;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,OAAO,GAAE,WAAW,CAAC,CAAC,CAAM,GAC3B,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAmB1B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAMvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,UAAU,CAAC,CAAC,CAAC,CAUf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAkBhC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE"}
1
+ {"version":3,"file":"pagination.utils.d.ts","sourceRoot":"","sources":["../../src/utils/pagination.utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG/E;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,OAAO,GAAE,WAAW,CAAC,CAAC,CAAM,GAC3B,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAmB1B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAMvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,UAAU,CAAC,CAAC,CAAC,CAUf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAqBhC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE"}
@@ -86,16 +86,19 @@ function parseSortString(sortString) {
86
86
  const result = {};
87
87
  if (!sortString)
88
88
  return result;
89
- const fields = sortString.split(',').map((f) => f.trim()).filter(Boolean);
89
+ const fields = sortString
90
+ .split(",")
91
+ .map((f) => f.trim())
92
+ .filter(Boolean);
90
93
  for (const field of fields) {
91
- if (field.startsWith('-')) {
92
- result[field.slice(1)] = 'desc';
94
+ if (field.startsWith("-")) {
95
+ result[field.slice(1)] = "desc";
93
96
  }
94
- else if (field.startsWith('+')) {
95
- result[field.slice(1)] = 'asc';
97
+ else if (field.startsWith("+")) {
98
+ result[field.slice(1)] = "asc";
96
99
  }
97
100
  else {
98
- result[field] = 'asc';
101
+ result[field] = "asc";
99
102
  }
100
103
  }
101
104
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.utils.js","sourceRoot":"","sources":["../../src/utils/pagination.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.utils.js","sourceRoot":"","sources":["../../src/utils/pagination.utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.utils.d.ts","sourceRoot":"","sources":["../../src/utils/validation.utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAG/C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CASzD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,MAAM,EAAE,CAAC,GACR,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,cAAc,EAAE,MAAM,EAAE,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAazC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,GAAG,EAAE,CAAC,EACN,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,GAAG,EAAE,CAAC,EACN,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,CAAC,CAAC,CAQZ"}
1
+ {"version":3,"file":"validation.utils.d.ts","sourceRoot":"","sources":["../../src/utils/validation.utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAK/C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CASzD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,MAAM,EAAE,CAAC,GACR,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,cAAc,EAAE,MAAM,EAAE,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAazC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,GAAG,EAAE,CAAC,EACN,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,GAAG,EAAE,CAAC,EACN,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,CAAC,CAAC,CAQZ"}
@@ -18,7 +18,7 @@ exports.omitFields = omitFields;
18
18
  * @returns True if valid ObjectId format
19
19
  */
20
20
  function isValidMongoId(id) {
21
- if (!id || typeof id !== 'string')
21
+ if (!id || typeof id !== "string")
22
22
  return false;
23
23
  return /^[a-f\d]{24}$/i.test(id);
24
24
  }
@@ -29,7 +29,7 @@ function isValidMongoId(id) {
29
29
  * @returns True if valid UUID format
30
30
  */
31
31
  function isValidUuid(id) {
32
- if (!id || typeof id !== 'string')
32
+ if (!id || typeof id !== "string")
33
33
  return false;
34
34
  return /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(id);
35
35
  }
@@ -40,10 +40,10 @@ function isValidUuid(id) {
40
40
  * @returns True if positive integer
41
41
  */
42
42
  function isPositiveInteger(value) {
43
- if (typeof value === 'number') {
43
+ if (typeof value === "number") {
44
44
  return Number.isInteger(value) && value > 0;
45
45
  }
46
- if (typeof value === 'string') {
46
+ if (typeof value === "string") {
47
47
  const parsed = parseInt(value, 10);
48
48
  return !isNaN(parsed) && parsed > 0 && String(parsed) === value;
49
49
  }
@@ -74,7 +74,7 @@ function sanitizeFilter(filter) {
74
74
  function validateRequiredFields(obj, requiredFields) {
75
75
  const missing = [];
76
76
  for (const field of requiredFields) {
77
- if (obj[field] === undefined || obj[field] === null || obj[field] === '') {
77
+ if (obj[field] === undefined || obj[field] === null || obj[field] === "") {
78
78
  missing.push(field);
79
79
  }
80
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.utils.js","sourceRoot":"","sources":["../../src/utils/validation.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.utils.js","sourceRoot":"","sources":["../../src/utils/validation.utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@ciscode/database-kit",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
+ "type": "module",
4
5
  "description": "A NestJS-friendly, OOP-style database library providing a unified repository API for MongoDB and PostgreSQL.",
5
6
  "main": "dist/index.js",
6
7
  "types": "dist/index.d.ts",
7
8
  "license": "MIT",
8
- "author": "C International Service <info@ciscode.com>",
9
+ "author": "C International Service <info@ciscod.com>",
9
10
  "repository": {
10
11
  "type": "git",
11
12
  "url": "https://github.com/CISCODE-MA/DatabaseKit.git"
@@ -17,13 +18,18 @@
17
18
  "scripts": {
18
19
  "build": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json",
19
20
  "build:watch": "tsc -w -p tsconfig.json",
20
- "clean": "rm -rf dist",
21
- "lint": "eslint 'src/**/*.ts'",
22
- "lint:fix": "eslint 'src/**/*.ts' --fix",
21
+ "clean": "rm -rf dist coverage",
22
+ "lint": "eslint src/",
23
+ "lint:fix": "eslint src/ --fix",
24
+ "format": "prettier --check .",
25
+ "format:write": "prettier --write .",
26
+ "typecheck": "tsc -p tsconfig.json --noEmit",
23
27
  "test": "jest",
24
28
  "test:watch": "jest --watch",
25
29
  "test:cov": "jest --coverage",
26
- "prepublishOnly": "npm run clean && npm run build"
30
+ "verify": "npm run lint && npm run typecheck && npm run test:cov",
31
+ "prepublishOnly": "npm run verify && npm run build",
32
+ "prepare": "husky install"
27
33
  },
28
34
  "engines": {
29
35
  "node": ">=18"
@@ -54,23 +60,30 @@
54
60
  "reflect-metadata": "^0.2.0"
55
61
  },
56
62
  "devDependencies": {
63
+ "@changesets/cli": "^2.27.7",
57
64
  "@eslint/js": "^9.28.0",
58
65
  "@nestjs/common": "^11.1.12",
59
66
  "@nestjs/core": "^11.1.12",
60
67
  "@nestjs/testing": "^11.1.12",
61
68
  "@types/jest": "^29.5.14",
62
69
  "@types/node": "^22.15.29",
70
+ "@typescript-eslint/eslint-plugin": "^8.50.1",
71
+ "@typescript-eslint/parser": "^8.50.1",
63
72
  "eslint": "^9.28.0",
73
+ "eslint-plugin-import": "^2.32.0",
64
74
  "globals": "^16.2.0",
75
+ "husky": "^9.1.7",
65
76
  "jest": "^29.7.0",
77
+ "lint-staged": "^16.2.7",
78
+ "prettier": "^3.4.2",
66
79
  "reflect-metadata": "^0.2.2",
80
+ "semantic-release": "^25.0.3",
67
81
  "ts-jest": "^29.4.0",
68
82
  "ts-node": "^10.9.2",
69
83
  "tsc-alias": "^1.8.15",
70
84
  "typescript": "^5.8.3",
71
85
  "typescript-eslint": "^8.33.1"
72
86
  },
73
- "type": "commonjs",
74
87
  "files": [
75
88
  "dist",
76
89
  "README.md",
@@ -79,5 +92,12 @@
79
92
  ],
80
93
  "publishConfig": {
81
94
  "access": "public"
95
+ },
96
+ "lint-staged": {
97
+ "*.{ts,tsx,js,jsx}": [
98
+ "eslint --fix",
99
+ "prettier --write"
100
+ ],
101
+ "*.{json,md,yaml,yml}": "prettier --write"
82
102
  }
83
- }
103
+ }