@creator.co/wapi 1.4.0-alpha2 → 1.4.0-alpha4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@creator.co/wapi",
3
- "version": "1.4.0-alpha2",
3
+ "version": "1.4.0-alpha4",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,7 +1,7 @@
1
1
  import type { APIGatewayEvent, Context, SQSEvent } from 'aws-lambda';
2
2
  import Request from '../API/Request';
3
3
  import Response, { ResponseErrorType } from '../API/Response';
4
- import type { DatabaseTransactionType, DatabaseType, DbConfig } from '../Database/types';
4
+ import type { DatabaseImplType, DatabaseTransactionType, DatabaseType, DbConfig } from '../Database/types';
5
5
  import Logger, { LoggerConfig } from '../Logger/Logger';
6
6
  import Publisher, { PublisherConfig } from '../Publisher/Publisher';
7
7
  /**
@@ -113,12 +113,17 @@ export default class Transaction<InputType = object, ResponseInnerType = null, M
113
113
  */
114
114
  private iexecute;
115
115
  /**
116
- * Retrieves a database transaction for the specified database configuration.
117
- * @async
116
+ * Retrieves a database transaction based on the provided database configuration.
118
117
  * @param {DbConfig<S>} config - The configuration object for the database.
119
- * @returns {Promise<DatabaseTransactionType<S>>} A promise that resolves to the database transaction.
118
+ * @returns {Promise<DatabaseTransactionType<S, DBSchema>>} A promise that resolves to the database transaction.
120
119
  */
121
120
  getDbTransaction<S extends DatabaseType, DBSchema>(config: DbConfig<S>): Promise<DatabaseTransactionType<S, DBSchema>>;
121
+ /**
122
+ * Retrieves a database instance based on the provided configuration.
123
+ * @param {DbConfig<S>} config - The configuration object specifying the type of database.
124
+ * @returns {DatabaseImplType<S, DBSchema>} A database instance based on the provided configuration.
125
+ */
126
+ getDatabase<S extends DatabaseType, DBSchema>(config: DbConfig<S>): DatabaseImplType<S, DBSchema>;
122
127
  private executeDBTransactions;
123
128
  /**
124
129
  * Executes a logger flush operation with error handling and logging.
@@ -229,10 +229,9 @@ var Transaction = /** @class */ (function () {
229
229
  });
230
230
  };
231
231
  /**
232
- * Retrieves a database transaction for the specified database configuration.
233
- * @async
232
+ * Retrieves a database transaction based on the provided database configuration.
234
233
  * @param {DbConfig<S>} config - The configuration object for the database.
235
- * @returns {Promise<DatabaseTransactionType<S>>} A promise that resolves to the database transaction.
234
+ * @returns {Promise<DatabaseTransactionType<S, DBSchema>>} A promise that resolves to the database transaction.
236
235
  */
237
236
  Transaction.prototype.getDbTransaction = function (config) {
238
237
  return __awaiter(this, void 0, void 0, function () {
@@ -240,7 +239,7 @@ var Transaction = /** @class */ (function () {
240
239
  return __generator(this, function (_a) {
241
240
  switch (_a.label) {
242
241
  case 0:
243
- db = this.databaseManager.create(config);
242
+ db = this.getDatabase(config);
244
243
  return [4 /*yield*/, db.transaction()];
245
244
  case 1:
246
245
  dbTrans = _a.sent();
@@ -250,6 +249,14 @@ var Transaction = /** @class */ (function () {
250
249
  });
251
250
  });
252
251
  };
252
+ /**
253
+ * Retrieves a database instance based on the provided configuration.
254
+ * @param {DbConfig<S>} config - The configuration object specifying the type of database.
255
+ * @returns {DatabaseImplType<S, DBSchema>} A database instance based on the provided configuration.
256
+ */
257
+ Transaction.prototype.getDatabase = function (config) {
258
+ return this.databaseManager.create(config);
259
+ };
253
260
  /*
254
261
  * Executes a series of database transactions in a safe manner.
255
262
  * @param {Function} safeExecution - The function that contains the database transactions to be executed.
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../src/BaseEvent/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../src/BaseEvent/Transaction.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { Database } from './Database';
2
2
  import { DatabaseManager } from './DatabaseManager';
3
3
  import { DatabaseTransaction } from './DatabaseTransaction';
4
+ import { KnexDatabase } from './integrations/knex/KnexDatabase';
4
5
  import { KnexTransaction } from './integrations/knex/KnexTransaction';
6
+ import { KyselyDatabase } from './integrations/kysely/KyselyDatabase';
5
7
  import { KyselyTransaction } from './integrations/kysely/KyselyTransaction';
8
+ import { PostgresDatabase } from './integrations/pgsql/PostgresDatabase';
6
9
  import { PostgresTransaction } from './integrations/pgsql/PostgresTransaction';
7
10
  import { DbConfig } from './types';
8
- export { DatabaseTransaction, DbConfig, KnexTransaction, PostgresTransaction, KyselyTransaction, DatabaseManager, Database, };
11
+ export { DatabaseTransaction, Database, DatabaseManager, DbConfig, KnexTransaction, KnexDatabase, PostgresTransaction, PostgresDatabase, KyselyTransaction, KyselyDatabase, };
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Database = exports.DatabaseManager = exports.DatabaseTransaction = void 0;
3
+ exports.KyselyDatabase = exports.PostgresDatabase = exports.KnexDatabase = exports.DatabaseManager = exports.Database = exports.DatabaseTransaction = void 0;
4
4
  var Database_1 = require("./Database");
5
5
  Object.defineProperty(exports, "Database", { enumerable: true, get: function () { return Database_1.Database; } });
6
6
  var DatabaseManager_1 = require("./DatabaseManager");
7
7
  Object.defineProperty(exports, "DatabaseManager", { enumerable: true, get: function () { return DatabaseManager_1.DatabaseManager; } });
8
8
  var DatabaseTransaction_1 = require("./DatabaseTransaction");
9
9
  Object.defineProperty(exports, "DatabaseTransaction", { enumerable: true, get: function () { return DatabaseTransaction_1.DatabaseTransaction; } });
10
+ var KnexDatabase_1 = require("./integrations/knex/KnexDatabase");
11
+ Object.defineProperty(exports, "KnexDatabase", { enumerable: true, get: function () { return KnexDatabase_1.KnexDatabase; } });
12
+ var KyselyDatabase_1 = require("./integrations/kysely/KyselyDatabase");
13
+ Object.defineProperty(exports, "KyselyDatabase", { enumerable: true, get: function () { return KyselyDatabase_1.KyselyDatabase; } });
14
+ var PostgresDatabase_1 = require("./integrations/pgsql/PostgresDatabase");
15
+ Object.defineProperty(exports, "PostgresDatabase", { enumerable: true, get: function () { return PostgresDatabase_1.PostgresDatabase; } });
10
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Database/index.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAenC,yFAfO,mBAAQ,OAeP;AAdV,qDAAmD;AAajD,gGAbO,iCAAe,OAaP;AAZjB,6DAA2D;AAOzD,oGAPO,yCAAmB,OAOP"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Database/index.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAcnC,yFAdO,mBAAQ,OAcP;AAbV,qDAAmD;AAejD,gGAfO,iCAAe,OAeP;AAdjB,6DAA2D;AAWzD,oGAXO,yCAAmB,OAWP;AAVrB,iEAA+D;AAiB7D,6FAjBO,2BAAY,OAiBP;AAfd,uEAAqE;AAqBnE,+FArBO,+BAAc,OAqBP;AAnBhB,0EAAwE;AAgBtE,iGAhBO,mCAAgB,OAgBP"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@creator.co/wapi",
3
- "version": "1.4.0-alpha2",
3
+ "version": "1.4.0-alpha4",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -4,7 +4,12 @@ import Request from '../API/Request'
4
4
  import Response, { ResponseErrorType } from '../API/Response'
5
5
  import { DatabaseManager } from '../Database/DatabaseManager'
6
6
  import { DatabaseTransaction } from '../Database/DatabaseTransaction'
7
- import type { DatabaseTransactionType, DatabaseType, DbConfig } from '../Database/types'
7
+ import type {
8
+ DatabaseImplType,
9
+ DatabaseTransactionType,
10
+ DatabaseType,
11
+ DbConfig,
12
+ } from '../Database/types'
8
13
  import Globals from '../Globals'
9
14
  import Logger, { LoggerConfig } from '../Logger/Logger'
10
15
  import Publisher, { PublisherConfig } from '../Publisher/Publisher'
@@ -214,19 +219,30 @@ export default class Transaction<
214
219
  }
215
220
 
216
221
  /**
217
- * Retrieves a database transaction for the specified database configuration.
218
- * @async
222
+ * Retrieves a database transaction based on the provided database configuration.
219
223
  * @param {DbConfig<S>} config - The configuration object for the database.
220
- * @returns {Promise<DatabaseTransactionType<S>>} A promise that resolves to the database transaction.
224
+ * @returns {Promise<DatabaseTransactionType<S, DBSchema>>} A promise that resolves to the database transaction.
221
225
  */
222
226
  public async getDbTransaction<S extends DatabaseType, DBSchema>(
223
227
  config: DbConfig<S>
224
228
  ): Promise<DatabaseTransactionType<S, DBSchema>> {
225
- const db = this.databaseManager.create(config)
229
+ const db = this.getDatabase<S, DBSchema>(config)
226
230
  const dbTrans = await db.transaction()
227
231
  this.transactions.push(dbTrans)
228
232
  return dbTrans as any
229
233
  }
234
+
235
+ /**
236
+ * Retrieves a database instance based on the provided configuration.
237
+ * @param {DbConfig<S>} config - The configuration object specifying the type of database.
238
+ * @returns {DatabaseImplType<S, DBSchema>} A database instance based on the provided configuration.
239
+ */
240
+ public getDatabase<S extends DatabaseType, DBSchema>(
241
+ config: DbConfig<S>
242
+ ): DatabaseImplType<S, DBSchema> {
243
+ return this.databaseManager.create<S, DBSchema>(config)
244
+ }
245
+
230
246
  /*
231
247
  * Executes a series of database transactions in a safe manner.
232
248
  * @param {Function} safeExecution - The function that contains the database transactions to be executed.
@@ -1,17 +1,28 @@
1
1
  import { Database } from './Database'
2
2
  import { DatabaseManager } from './DatabaseManager'
3
3
  import { DatabaseTransaction } from './DatabaseTransaction'
4
+ import { KnexDatabase } from './integrations/knex/KnexDatabase'
4
5
  import { KnexTransaction } from './integrations/knex/KnexTransaction'
6
+ import { KyselyDatabase } from './integrations/kysely/KyselyDatabase'
5
7
  import { KyselyTransaction } from './integrations/kysely/KyselyTransaction'
8
+ import { PostgresDatabase } from './integrations/pgsql/PostgresDatabase'
6
9
  import { PostgresTransaction } from './integrations/pgsql/PostgresTransaction'
7
10
  import { DbConfig } from './types'
8
11
 
9
12
  export {
13
+ // Abstracts
10
14
  DatabaseTransaction,
15
+ Database,
16
+ // 'Entrypoints'
17
+ DatabaseManager,
11
18
  DbConfig,
19
+ // Knex
12
20
  KnexTransaction,
21
+ KnexDatabase,
22
+ // Postgres
13
23
  PostgresTransaction,
24
+ PostgresDatabase,
25
+ // Kysely
14
26
  KyselyTransaction,
15
- DatabaseManager,
16
- Database,
27
+ KyselyDatabase,
17
28
  }