hotstaq 0.9.32 → 0.9.34

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.
@@ -81,5 +81,15 @@ export declare abstract class HotDB<DBType = any, DBResultType = any, DBSchema =
81
81
  * Disconnect from the server.
82
82
  */
83
83
  abstract disconnect(): Promise<void>;
84
+ /**
85
+ * Run a unit of work inside a single database transaction. The callback is
86
+ * given a transaction executor bound to ONE checked-out connection; use its
87
+ * `query`/`queryOne` for every write so the whole unit commits or rolls back
88
+ * atomically (the executor throws on error to trigger a rollback).
89
+ *
90
+ * The base implementation throws — each database type that supports
91
+ * transactions overrides this (see HotDBPostgres and HotDBMySQL).
92
+ */
93
+ transaction<T>(callback: (tx: any) => Promise<T>): Promise<T>;
84
94
  }
85
95
  //# sourceMappingURL=HotDB.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HotDB.d.ts","sourceRoot":"","sources":["../../src/HotDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;GAEG;AACH,oBAAY,gBAAgB;IAE3B,YAAY,IAAA;IACZ,UAAU,IAAA;IACV,SAAS,IAAA;IACT,KAAK,IAAA;CACL;AAED;;GAEG;AACH,oBAAY,SAAS;IAEpB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACrB;AAED;;GAEG;AACH,8BAAsB,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,YAAY,GAAG,GAAG,EAAE,QAAQ,GAAG,WAAW;IAEnF;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,MAAM,EAAE,QAAQ,CAAC;gBAEJ,EAAE,GAAE,MAAa,EAAE,IAAI,GAAE,SAA0B,EAAE,MAAM,GAAE,QAAe;IAStF;;;OAGG;IACN,QAAQ,CAAC,OAAO,CAAE,cAAc,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACxE;;OAEG;IAEH;;;OAGG;IAEH;;OAEG;IACN,QAAQ,CAAC,UAAU,CAAC,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACvD;;OAEG;IACN,QAAQ,CAAC,KAAK,CAAC,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IACzE;;OAEG;IACN,QAAQ,CAAC,QAAQ,CAAC,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAC5E;;OAEG;IACN,QAAQ,CAAC,UAAU,CAAC,CAAE,YAAY,EAAE,MAAM,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,EAAE,CAAC;KAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5G;;OAEM;IACH,QAAQ,CAAC,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;CACxC"}
1
+ {"version":3,"file":"HotDB.d.ts","sourceRoot":"","sources":["../../src/HotDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;GAEG;AACH,oBAAY,gBAAgB;IAE3B,YAAY,IAAA;IACZ,UAAU,IAAA;IACV,SAAS,IAAA;IACT,KAAK,IAAA;CACL;AAED;;GAEG;AACH,oBAAY,SAAS;IAEpB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACrB;AAED;;GAEG;AACH,8BAAsB,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,YAAY,GAAG,GAAG,EAAE,QAAQ,GAAG,WAAW;IAEnF;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,MAAM,EAAE,QAAQ,CAAC;gBAEJ,EAAE,GAAE,MAAa,EAAE,IAAI,GAAE,SAA0B,EAAE,MAAM,GAAE,QAAe;IAStF;;;OAGG;IACN,QAAQ,CAAC,OAAO,CAAE,cAAc,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACxE;;OAEG;IAEH;;;OAGG;IAEH;;OAEG;IACN,QAAQ,CAAC,UAAU,CAAC,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACvD;;OAEG;IACN,QAAQ,CAAC,KAAK,CAAC,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IACzE;;OAEG;IACN,QAAQ,CAAC,QAAQ,CAAC,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAC5E;;OAEG;IACN,QAAQ,CAAC,UAAU,CAAC,CAAE,YAAY,EAAE,MAAM,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,EAAE,CAAC;KAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5G;;OAEM;IACH,QAAQ,CAAC,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IACxC;;;;;;;;OAQG;IACG,WAAW,CAAC,CAAC,EAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAIpE"}
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.HotDB = exports.HotDBType = exports.ConnectionStatus = void 0;
4
13
  /**
@@ -33,6 +42,20 @@ class HotDB {
33
42
  this.connectionLimit = 10;
34
43
  this.schema = schema;
35
44
  }
45
+ /**
46
+ * Run a unit of work inside a single database transaction. The callback is
47
+ * given a transaction executor bound to ONE checked-out connection; use its
48
+ * `query`/`queryOne` for every write so the whole unit commits or rolls back
49
+ * atomically (the executor throws on error to trigger a rollback).
50
+ *
51
+ * The base implementation throws — each database type that supports
52
+ * transactions overrides this (see HotDBPostgres and HotDBMySQL).
53
+ */
54
+ transaction(callback) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ throw new Error(`Transactions are not supported for this database type: ${this.type}`);
57
+ });
58
+ }
36
59
  }
37
60
  exports.HotDB = HotDB;
38
61
  //# sourceMappingURL=HotDB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HotDB.js","sourceRoot":"","sources":["../../src/HotDB.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAE3B,uEAAY,CAAA;IACZ,mEAAU,CAAA;IACV,iEAAS,CAAA;IACT,yDAAK,CAAA;AACN,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAED;;GAEG;AACH,IAAY,SAOX;AAPD,WAAY,SAAS;IAEpB,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACtB,CAAC,EAPW,SAAS,yBAAT,SAAS,QAOpB;AAED;;GAEG;AACH,MAAsB,KAAK;IAyB1B,YAAa,KAAa,IAAI,EAAE,OAAkB,SAAS,CAAC,IAAI,EAAE,SAAmB,IAAI;QAExF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,YAAY,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;CAoCD;AApED,sBAoEC"}
1
+ {"version":3,"file":"HotDB.js","sourceRoot":"","sources":["../../src/HotDB.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA;;GAEG;AACH,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAE3B,uEAAY,CAAA;IACZ,mEAAU,CAAA;IACV,iEAAS,CAAA;IACT,yDAAK,CAAA;AACN,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAED;;GAEG;AACH,IAAY,SAOX;AAPD,WAAY,SAAS;IAEpB,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACtB,CAAC,EAPW,SAAS,yBAAT,SAAS,QAOpB;AAED;;GAEG;AACH,MAAsB,KAAK;IAyB1B,YAAa,KAAa,IAAI,EAAE,OAAkB,SAAS,CAAC,IAAI,EAAE,SAAmB,IAAI;QAExF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,YAAY,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAoCD;;;;;;;;OAQG;IACG,WAAW,CAAK,QAAiC;;YAEtD,MAAM,IAAI,KAAK,CAAE,0DAA0D,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;KAAA;CACD;AAjFD,sBAiFC"}
@@ -2727,7 +2727,7 @@ exports.HotStaq = HotStaq;
2727
2727
  /**
2728
2728
  * The current version of HotStaq.
2729
2729
  */
2730
- HotStaq.version = "0.9.32";
2730
+ HotStaq.version = "0.9.34";
2731
2731
  /**
2732
2732
  * Indicates if this is a web build.
2733
2733
  */
@@ -35,14 +35,14 @@ import { HotTestSeleniumDriver } from "./HotTestSeleniumDriver";
35
35
  import { HotDB, HotDBType, ConnectionStatus } from "./HotDB";
36
36
  import { HotDBConnectionInterface } from "./HotDBConnectionInterface";
37
37
  import { HotDBGenerationType, HotDBSchema } from "./schemas/HotDBSchema";
38
- import { HotDBMySQL, MySQLResults } from "./schemas/HotDBMySQL";
38
+ import { HotDBMySQL, HotDBMySQLTransaction, MySQLResults } from "./schemas/HotDBMySQL";
39
39
  import { HotDBMigration } from "./schemas/HotDBMigration";
40
40
  import { MySQLSchema } from "./schemas/mysql/MySQLSchema";
41
41
  import { MySQLSchemaFieldResult, MySQLSchemaField } from "./schemas/mysql/MySQLSchemaField";
42
42
  import { MySQLSchemaTable } from "./schemas/mysql/MySQLSchemaTable";
43
43
  import { HotDBInflux } from "./schemas/HotDBInflux";
44
44
  import { InfluxSchema } from "./schemas/influx/InfluxSchema";
45
- import { HotDBPostgres, PostgresResults } from "./schemas/HotDBPostgres";
45
+ import { HotDBPostgres, HotDBTransaction, PostgresResults } from "./schemas/HotDBPostgres";
46
46
  import { PostgresSchema } from "./schemas/postgres/PostgresSchema";
47
- export { HotCLI, HotStaq, HotStartOptions, IHotStaq, ITypeScriptConversionOptions, HotRouteMethodParameterMap, HotValidatorFunction, HotValidReturnType, IHotValidReturn, HotSite, HotSiteRoute, HotSiteMapPath, Hot, DeveloperMode, HotComponent, HotComponentOutput, IHotComponent, HotAPI, EventExecutionType, APItoLoad, HotFile, HotLog, HotLogLevel, HotPage, ValidationError, FalsyOptions, ValidationOptions, HotIO, HotDB, HotDBType, ConnectionStatus, HotRoute, HotRouteMethod, IHotRouteMethod, HotEventMethod, HotRouteMethodParameter, PassType, ServerAuthorizationFunction, ServerExecutionFunction, IServerRequest, HotValidation, HotValidationType, ServerRequest, HotServer, HotServerType, StaticRoute, HTTPHeader, HttpError, ServableFileExtension, HotHTTPServer, HotMCPServer, HotWebSocketServerClient, HotWebSocketClient, HotWebSocketServer, HotClient, HotTesterServer, HotTester, HotTestStop, HotDestination, HotTesterAPI, HotTesterMocha, HotTesterMochaSelenium, HotTestMap, HotTestDestination, HotTestPath, HotTestPage, HotTestSeleniumDriver, HotTestElement, IHotTestElement, HotTestElementOptions, IHotTestElementOptions, HotTestDriver, HotDBGenerationType, HotDBConnectionInterface, HotDBSchema, HotDBMySQL, HotDBMigration, MySQLResults, MySQLSchema, MySQLSchemaFieldResult, MySQLSchemaField, MySQLSchemaTable, HotDBInflux, InfluxSchema, HotDBPostgres, PostgresResults, PostgresSchema };
47
+ export { HotCLI, HotStaq, HotStartOptions, IHotStaq, ITypeScriptConversionOptions, HotRouteMethodParameterMap, HotValidatorFunction, HotValidReturnType, IHotValidReturn, HotSite, HotSiteRoute, HotSiteMapPath, Hot, DeveloperMode, HotComponent, HotComponentOutput, IHotComponent, HotAPI, EventExecutionType, APItoLoad, HotFile, HotLog, HotLogLevel, HotPage, ValidationError, FalsyOptions, ValidationOptions, HotIO, HotDB, HotDBType, ConnectionStatus, HotRoute, HotRouteMethod, IHotRouteMethod, HotEventMethod, HotRouteMethodParameter, PassType, ServerAuthorizationFunction, ServerExecutionFunction, IServerRequest, HotValidation, HotValidationType, ServerRequest, HotServer, HotServerType, StaticRoute, HTTPHeader, HttpError, ServableFileExtension, HotHTTPServer, HotMCPServer, HotWebSocketServerClient, HotWebSocketClient, HotWebSocketServer, HotClient, HotTesterServer, HotTester, HotTestStop, HotDestination, HotTesterAPI, HotTesterMocha, HotTesterMochaSelenium, HotTestMap, HotTestDestination, HotTestPath, HotTestPage, HotTestSeleniumDriver, HotTestElement, IHotTestElement, HotTestElementOptions, IHotTestElementOptions, HotTestDriver, HotDBGenerationType, HotDBConnectionInterface, HotDBSchema, HotDBMySQL, HotDBMySQLTransaction, HotDBMigration, MySQLResults, MySQLSchema, MySQLSchemaFieldResult, MySQLSchemaField, MySQLSchemaTable, HotDBInflux, InfluxSchema, HotDBPostgres, HotDBTransaction, PostgresResults, PostgresSchema };
48
48
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
package/build/src/api.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MySQLSchema = exports.HotDBMigration = exports.HotDBMySQL = exports.HotDBSchema = exports.HotDBGenerationType = exports.HotTestDriver = exports.HotTestElementOptions = exports.HotTestElement = exports.HotTestSeleniumDriver = exports.HotTestDestination = exports.HotTestMap = exports.HotTesterMochaSelenium = exports.HotTesterMocha = exports.HotTesterAPI = exports.HotTester = exports.HotTesterServer = exports.HotClient = exports.HotWebSocketServer = exports.HotWebSocketClient = exports.HotWebSocketServerClient = exports.HotMCPServer = exports.HotHTTPServer = exports.HttpError = exports.HotServerType = exports.HotServer = exports.ServerRequest = exports.HotValidationType = exports.PassType = exports.HotEventMethod = exports.HotRouteMethod = exports.HotRoute = exports.ConnectionStatus = exports.HotDBType = exports.HotDB = exports.HotIO = exports.ValidationOptions = exports.FalsyOptions = exports.ValidationError = exports.HotPage = exports.HotLogLevel = exports.HotLog = exports.HotFile = exports.EventExecutionType = exports.HotAPI = exports.HotComponent = exports.DeveloperMode = exports.Hot = exports.HotValidReturnType = exports.HotStaq = exports.HotCLI = void 0;
4
- exports.PostgresSchema = exports.HotDBPostgres = exports.InfluxSchema = exports.HotDBInflux = exports.MySQLSchemaTable = exports.MySQLSchemaField = void 0;
3
+ exports.HotDBMigration = exports.HotDBMySQLTransaction = exports.HotDBMySQL = exports.HotDBSchema = exports.HotDBGenerationType = exports.HotTestDriver = exports.HotTestElementOptions = exports.HotTestElement = exports.HotTestSeleniumDriver = exports.HotTestDestination = exports.HotTestMap = exports.HotTesterMochaSelenium = exports.HotTesterMocha = exports.HotTesterAPI = exports.HotTester = exports.HotTesterServer = exports.HotClient = exports.HotWebSocketServer = exports.HotWebSocketClient = exports.HotWebSocketServerClient = exports.HotMCPServer = exports.HotHTTPServer = exports.HttpError = exports.HotServerType = exports.HotServer = exports.ServerRequest = exports.HotValidationType = exports.PassType = exports.HotEventMethod = exports.HotRouteMethod = exports.HotRoute = exports.ConnectionStatus = exports.HotDBType = exports.HotDB = exports.HotIO = exports.ValidationOptions = exports.FalsyOptions = exports.ValidationError = exports.HotPage = exports.HotLogLevel = exports.HotLog = exports.HotFile = exports.EventExecutionType = exports.HotAPI = exports.HotComponent = exports.DeveloperMode = exports.Hot = exports.HotValidReturnType = exports.HotStaq = exports.HotCLI = void 0;
4
+ exports.PostgresSchema = exports.HotDBTransaction = exports.HotDBPostgres = exports.InfluxSchema = exports.HotDBInflux = exports.MySQLSchemaTable = exports.MySQLSchemaField = exports.MySQLSchema = void 0;
5
5
  const HotCLI_1 = require("./HotCLI");
6
6
  Object.defineProperty(exports, "HotCLI", { enumerable: true, get: function () { return HotCLI_1.HotCLI; } });
7
7
  const HotStaq_1 = require("./HotStaq");
@@ -88,6 +88,7 @@ Object.defineProperty(exports, "HotDBSchema", { enumerable: true, get: function
88
88
  // MySQL specific database stuff
89
89
  const HotDBMySQL_1 = require("./schemas/HotDBMySQL");
90
90
  Object.defineProperty(exports, "HotDBMySQL", { enumerable: true, get: function () { return HotDBMySQL_1.HotDBMySQL; } });
91
+ Object.defineProperty(exports, "HotDBMySQLTransaction", { enumerable: true, get: function () { return HotDBMySQL_1.HotDBMySQLTransaction; } });
91
92
  const HotDBMigration_1 = require("./schemas/HotDBMigration");
92
93
  Object.defineProperty(exports, "HotDBMigration", { enumerable: true, get: function () { return HotDBMigration_1.HotDBMigration; } });
93
94
  const MySQLSchema_1 = require("./schemas/mysql/MySQLSchema");
@@ -104,6 +105,7 @@ Object.defineProperty(exports, "InfluxSchema", { enumerable: true, get: function
104
105
  // Postgres specific stuff
105
106
  const HotDBPostgres_1 = require("./schemas/HotDBPostgres");
106
107
  Object.defineProperty(exports, "HotDBPostgres", { enumerable: true, get: function () { return HotDBPostgres_1.HotDBPostgres; } });
108
+ Object.defineProperty(exports, "HotDBTransaction", { enumerable: true, get: function () { return HotDBPostgres_1.HotDBTransaction; } });
107
109
  const PostgresSchema_1 = require("./schemas/postgres/PostgresSchema");
108
110
  Object.defineProperty(exports, "PostgresSchema", { enumerable: true, get: function () { return PostgresSchema_1.PostgresSchema; } });
109
111
  HotStaq_1.HotStaq.isWeb = false;
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,29 @@ export interface MySQLResults {
10
10
  results: any;
11
11
  fields: mysql.FieldPacket[];
12
12
  }
13
+ /**
14
+ * A MySQL transaction bound to a single checked-out connection. Unlike
15
+ * HotDBMySQL.query, the query methods here THROW on error so a failed statement
16
+ * aborts the surrounding transaction and triggers a rollback rather than
17
+ * silently committing a partial write. Obtain one via HotDBMySQL.transaction.
18
+ */
19
+ export declare class HotDBMySQLTransaction {
20
+ /**
21
+ * The single connection this transaction runs all of its queries on.
22
+ */
23
+ protected connection: mysql.PoolConnection;
24
+ constructor(connection: mysql.PoolConnection);
25
+ /**
26
+ * Run a query on this transaction's connection. Throws on error so the
27
+ * surrounding transaction rolls back.
28
+ */
29
+ query(queryString: string, values?: any[]): Promise<MySQLResults>;
30
+ /**
31
+ * Run a query and return the first row (or null). Throws on error so the
32
+ * surrounding transaction rolls back.
33
+ */
34
+ queryOne(queryString: string, values?: any[]): Promise<MySQLResults>;
35
+ }
13
36
  /**
14
37
  * The MySQL database connection.
15
38
  */
@@ -62,5 +85,16 @@ export declare class HotDBMySQL extends HotDB<mysql.Pool, MySQLResults, MySQLSch
62
85
  * Disconnect from the server.
63
86
  */
64
87
  disconnect(): Promise<void>;
88
+ /**
89
+ * Run a series of queries inside a single database transaction.
90
+ *
91
+ * A dedicated connection is checked out from the pool and `START TRANSACTION`
92
+ * is issued, then the callback runs with a HotDBMySQLTransaction bound to that
93
+ * connection. If the callback resolves the transaction is committed; if it
94
+ * throws it is rolled back and the error re-thrown. The connection is always
95
+ * released. All queries that must be atomic MUST run through the
96
+ * HotDBMySQLTransaction passed to the callback (not `this.query`).
97
+ */
98
+ transaction<T>(callback: (tx: HotDBMySQLTransaction) => Promise<T>): Promise<T>;
65
99
  }
66
100
  //# sourceMappingURL=HotDBMySQL.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HotDBMySQL.d.ts","sourceRoot":"","sources":["../../../src/schemas/HotDBMySQL.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAoB,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,YAAY;IAE5B,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC;gBAE9D,EAAE,GAAE,KAAK,CAAC,IAAW,EAAE,IAAI,GAAE,SAA2B,EAAE,MAAM,GAAE,WAAkB;IAKjG;;OAEG;IACG,OAAO,CAAE,cAAc,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAoDxE;;OAEG;IACH,SAAS,CAAC,OAAO,IAAK,IAAI;IAM1B;;OAEM;IAiDH;;;OAGG;IAgDN;;;OAGG;IA8BH;;OAEG;IACG,UAAU,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqCtD;;OAEG;IACG,KAAK,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IA6B5E;;OAEG;IACG,QAAQ,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAqC/E;;;;;;;OAOG;IACG,UAAU,CAAE,YAAY,EAAE,MAAM,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,EAAE,CAAC;KAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAwDxG;;OAEG;IACG,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;CAoBlC"}
1
+ {"version":3,"file":"HotDBMySQL.d.ts","sourceRoot":"","sources":["../../../src/schemas/HotDBMySQL.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAoB,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,YAAY;IAE5B,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;CAC5B;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAEjC;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC;gBAE9B,UAAU,EAAE,KAAK,CAAC,cAAc;IAK7C;;;OAGG;IACG,KAAK,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAmB5E;;;OAGG;IACG,QAAQ,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,YAAY,CAAC;CA0B/E;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC;gBAE9D,EAAE,GAAE,KAAK,CAAC,IAAW,EAAE,IAAI,GAAE,SAA2B,EAAE,MAAM,GAAE,WAAkB;IAKjG;;OAEG;IACG,OAAO,CAAE,cAAc,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAoDxE;;OAEG;IACH,SAAS,CAAC,OAAO,IAAK,IAAI;IAM1B;;OAEM;IAiDH;;;OAGG;IAgDN;;;OAGG;IA8BH;;OAEG;IACG,UAAU,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqCtD;;OAEG;IACG,KAAK,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IA6B5E;;OAEG;IACG,QAAQ,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAqC/E;;;;;;;OAOG;IACG,UAAU,CAAE,YAAY,EAAE,MAAM,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,EAAE,CAAC;KAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAwDxG;;OAEG;IACG,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAqBlC;;;;;;;;;OASG;IACG,WAAW,CAAC,CAAC,EAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,qBAAqB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CA6DtF"}
@@ -42,10 +42,61 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
42
42
  });
43
43
  };
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.HotDBMySQL = void 0;
45
+ exports.HotDBMySQL = exports.HotDBMySQLTransaction = void 0;
46
46
  const mysql = __importStar(require("mysql2"));
47
47
  const HotDB_1 = require("../HotDB");
48
48
  const HotIO_1 = require("../HotIO");
49
+ /**
50
+ * A MySQL transaction bound to a single checked-out connection. Unlike
51
+ * HotDBMySQL.query, the query methods here THROW on error so a failed statement
52
+ * aborts the surrounding transaction and triggers a rollback rather than
53
+ * silently committing a partial write. Obtain one via HotDBMySQL.transaction.
54
+ */
55
+ class HotDBMySQLTransaction {
56
+ constructor(connection) {
57
+ this.connection = connection;
58
+ }
59
+ /**
60
+ * Run a query on this transaction's connection. Throws on error so the
61
+ * surrounding transaction rolls back.
62
+ */
63
+ query(queryString_1) {
64
+ return __awaiter(this, arguments, void 0, function* (queryString, values = []) {
65
+ return (yield new Promise((resolve, reject) => {
66
+ this.connection.query(queryString, values, (err, results, fields) => {
67
+ if (err) {
68
+ reject(err);
69
+ return;
70
+ }
71
+ resolve({ error: null, results: results, fields: fields });
72
+ });
73
+ }));
74
+ });
75
+ }
76
+ /**
77
+ * Run a query and return the first row (or null). Throws on error so the
78
+ * surrounding transaction rolls back.
79
+ */
80
+ queryOne(queryString_1) {
81
+ return __awaiter(this, arguments, void 0, function* (queryString, values = []) {
82
+ return (yield new Promise((resolve, reject) => {
83
+ this.connection.query(queryString, values, (err, results, fields) => {
84
+ if (err) {
85
+ reject(err);
86
+ return;
87
+ }
88
+ let tempResults = null;
89
+ if (results != null) {
90
+ if (results.length > 0)
91
+ tempResults = results[0];
92
+ }
93
+ resolve({ error: null, results: tempResults, fields: fields });
94
+ });
95
+ }));
96
+ });
97
+ }
98
+ }
99
+ exports.HotDBMySQLTransaction = HotDBMySQLTransaction;
49
100
  /**
50
101
  * The MySQL database connection.
51
102
  */
@@ -373,6 +424,58 @@ return (migration.version);
373
424
  }));
374
425
  });
375
426
  }
427
+ /**
428
+ * Run a series of queries inside a single database transaction.
429
+ *
430
+ * A dedicated connection is checked out from the pool and `START TRANSACTION`
431
+ * is issued, then the callback runs with a HotDBMySQLTransaction bound to that
432
+ * connection. If the callback resolves the transaction is committed; if it
433
+ * throws it is rolled back and the error re-thrown. The connection is always
434
+ * released. All queries that must be atomic MUST run through the
435
+ * HotDBMySQLTransaction passed to the callback (not `this.query`).
436
+ */
437
+ transaction(callback) {
438
+ return __awaiter(this, void 0, void 0, function* () {
439
+ this.dbCheck();
440
+ const connection = yield new Promise((resolve, reject) => {
441
+ this.db.getConnection((err, connection) => {
442
+ if (err) {
443
+ reject(err);
444
+ return;
445
+ }
446
+ resolve(connection);
447
+ });
448
+ });
449
+ const run = (sql) => new Promise((resolve, reject) => {
450
+ connection.query(sql, (err) => {
451
+ if (err)
452
+ reject(err);
453
+ else
454
+ resolve();
455
+ });
456
+ });
457
+ try {
458
+ yield run("START TRANSACTION");
459
+ const tx = new HotDBMySQLTransaction(connection);
460
+ const result = yield callback(tx);
461
+ yield run("COMMIT");
462
+ return (result);
463
+ }
464
+ catch (err) {
465
+ try {
466
+ yield run("ROLLBACK");
467
+ }
468
+ catch (rollbackErr) {
469
+ // Preserve and surface the original error below; a rollback
470
+ // failure should not mask it.
471
+ }
472
+ throw err;
473
+ }
474
+ finally {
475
+ connection.release();
476
+ }
477
+ });
478
+ }
376
479
  }
377
480
  exports.HotDBMySQL = HotDBMySQL;
378
481
  //# sourceMappingURL=HotDBMySQL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HotDBMySQL.js","sourceRoot":"","sources":["../../../src/schemas/HotDBMySQL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HotDBMySQL.js","sourceRoot":"","sources":["../../../src/schemas/HotDBMySQL.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,34 @@ export interface PostgresResults {
11
11
  rawResults: any;
12
12
  fields: pg.FieldDef[];
13
13
  }
14
+ /**
15
+ * A database transaction bound to a single client checked out from the pool.
16
+ *
17
+ * Unlike {@link HotDBPostgres.query}, which swallows query errors into the
18
+ * returned {@link PostgresResults.error}, the query methods here **throw** when
19
+ * the underlying query fails. This is intentional: inside a transaction a failed
20
+ * statement must abort the surrounding callback so the transaction rolls back
21
+ * rather than silently committing a partial write.
22
+ *
23
+ * You do not construct this directly — obtain one via {@link HotDBPostgres.transaction}.
24
+ */
25
+ export declare class HotDBTransaction {
26
+ /**
27
+ * The single client this transaction runs all of its queries on.
28
+ */
29
+ protected client: pg.PoolClient;
30
+ constructor(client: pg.PoolClient);
31
+ /**
32
+ * Run a query on this transaction's client. Throws on error so the
33
+ * surrounding transaction rolls back.
34
+ */
35
+ query(queryString: string, values?: any[]): Promise<PostgresResults>;
36
+ /**
37
+ * Run a query and return the first row (or null if there are none). Throws
38
+ * on error so the surrounding transaction rolls back.
39
+ */
40
+ queryOne(queryString: string, values?: any[]): Promise<PostgresResults>;
41
+ }
14
42
  /**
15
43
  * The Postgres database connection.
16
44
  */
@@ -43,6 +71,28 @@ export declare class HotDBPostgres extends HotDB<pg.Pool, PostgresResults, Postg
43
71
  * The query to make.
44
72
  */
45
73
  query(queryString: string, values?: any[]): Promise<PostgresResults>;
74
+ /**
75
+ * Run a series of queries inside a single database transaction.
76
+ *
77
+ * A dedicated client is checked out from the pool and `BEGIN` is issued, then
78
+ * the callback runs with a {@link HotDBTransaction} bound to that client. If
79
+ * the callback resolves, the transaction is committed; if it throws, the
80
+ * transaction is rolled back and the error is re-thrown. The client is always
81
+ * released back to the pool.
82
+ *
83
+ * All queries that should participate in the transaction MUST be run through
84
+ * the {@link HotDBTransaction} passed to the callback (not `this.query`), so
85
+ * that they share the one client. Because those queries throw on error, a
86
+ * failed statement automatically aborts the callback and triggers a rollback.
87
+ *
88
+ * @example
89
+ * await db.transaction (async (tx) =>
90
+ * {
91
+ * await tx.query ("INSERT INTO campaigns (id, name) VALUES ($1, $2)", [id, name]);
92
+ * await tx.query ("INSERT INTO campaign_members (campaign_id, user_id) VALUES ($1, $2)", [id, ownerId]);
93
+ * });
94
+ */
95
+ transaction<T>(callback: (tx: HotDBTransaction) => Promise<T>): Promise<T>;
46
96
  /**
47
97
  * Make a single query. If there are no results, null will be in MySQLResults.results
48
98
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HotDBPostgres.d.ts","sourceRoot":"","sources":["../../../src/schemas/HotDBPostgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAoB,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D;;GAEG;AACH,MAAM,WAAW,eAAe;IAE/B,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC;gBAEpE,EAAE,GAAE,EAAE,CAAC,IAAW,EAAE,IAAI,GAAE,SAA8B,EAAE,MAAM,GAAE,cAAqB;IAKpG;;OAEG;IACG,OAAO,CAAE,cAAc,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IA0DxE;;OAEG;IACH,SAAS,CAAC,OAAO,IAAK,IAAI;IAM1B;;OAEM;IAiDH;;;OAGG;IAgDN;;;OAGG;IA8BH;;OAEG;IACG,UAAU,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBtD;;OAEG;IACG,KAAK,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IA0B/E;;OAEG;IACG,QAAQ,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAoClF;;;;;;OAMG;IACG,UAAU,CAAE,YAAY,EAAE,MAAM,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,EAAE,CAAC;KAAE,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAK3G;;OAEG;IACG,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;CAMlC"}
1
+ {"version":3,"file":"HotDBPostgres.d.ts","sourceRoot":"","sources":["../../../src/schemas/HotDBPostgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAoB,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D;;GAEG;AACH,MAAM,WAAW,eAAe;IAE/B,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAE5B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC;gBAEnB,MAAM,EAAE,EAAE,CAAC,UAAU;IAKlC;;;OAGG;IACG,KAAK,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAY/E;;;OAGG;IACG,QAAQ,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,eAAe,CAAC;CAqBlF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC;gBAEpE,EAAE,GAAE,EAAE,CAAC,IAAW,EAAE,IAAI,GAAE,SAA8B,EAAE,MAAM,GAAE,cAAqB;IAKpG;;OAEG;IACG,OAAO,CAAE,cAAc,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IA0DxE;;OAEG;IACH,SAAS,CAAC,OAAO,IAAK,IAAI;IAM1B;;OAEM;IAiDH;;;OAGG;IAgDN;;;OAGG;IA8BH;;OAEG;IACG,UAAU,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBtD;;OAEG;IACG,KAAK,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IA0B/E;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,WAAW,CAAC,CAAC,EAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqCjF;;OAEG;IACG,QAAQ,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAoClF;;;;;;OAMG;IACG,UAAU,CAAE,YAAY,EAAE,MAAM,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,EAAE,CAAC;KAAE,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAK3G;;OAEG;IACG,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;CAMlC"}
@@ -42,10 +42,64 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
42
42
  });
43
43
  };
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.HotDBPostgres = void 0;
45
+ exports.HotDBPostgres = exports.HotDBTransaction = void 0;
46
46
  const pg = __importStar(require("pg"));
47
47
  const HotDB_1 = require("../HotDB");
48
48
  const HotIO_1 = require("../HotIO");
49
+ /**
50
+ * A database transaction bound to a single client checked out from the pool.
51
+ *
52
+ * Unlike {@link HotDBPostgres.query}, which swallows query errors into the
53
+ * returned {@link PostgresResults.error}, the query methods here **throw** when
54
+ * the underlying query fails. This is intentional: inside a transaction a failed
55
+ * statement must abort the surrounding callback so the transaction rolls back
56
+ * rather than silently committing a partial write.
57
+ *
58
+ * You do not construct this directly — obtain one via {@link HotDBPostgres.transaction}.
59
+ */
60
+ class HotDBTransaction {
61
+ constructor(client) {
62
+ this.client = client;
63
+ }
64
+ /**
65
+ * Run a query on this transaction's client. Throws on error so the
66
+ * surrounding transaction rolls back.
67
+ */
68
+ query(queryString_1) {
69
+ return __awaiter(this, arguments, void 0, function* (queryString, values = []) {
70
+ const result = yield this.client.query(queryString, values);
71
+ return ({
72
+ error: null,
73
+ results: result.rows,
74
+ rawResults: result,
75
+ fields: result.fields
76
+ });
77
+ });
78
+ }
79
+ /**
80
+ * Run a query and return the first row (or null if there are none). Throws
81
+ * on error so the surrounding transaction rolls back.
82
+ */
83
+ queryOne(queryString_1) {
84
+ return __awaiter(this, arguments, void 0, function* (queryString, values = []) {
85
+ const result = yield this.client.query(queryString, values);
86
+ let tempResults = null;
87
+ if (result != null) {
88
+ if (result.rows != null) {
89
+ if (result.rows.length > 0)
90
+ tempResults = result.rows[0];
91
+ }
92
+ }
93
+ return ({
94
+ error: null,
95
+ results: tempResults,
96
+ rawResults: result,
97
+ fields: result.fields
98
+ });
99
+ });
100
+ }
101
+ }
102
+ exports.HotDBTransaction = HotDBTransaction;
49
103
  /**
50
104
  * The Postgres database connection.
51
105
  */
@@ -282,6 +336,53 @@ return (migration.version);
282
336
  }
283
337
  });
284
338
  }
339
+ /**
340
+ * Run a series of queries inside a single database transaction.
341
+ *
342
+ * A dedicated client is checked out from the pool and `BEGIN` is issued, then
343
+ * the callback runs with a {@link HotDBTransaction} bound to that client. If
344
+ * the callback resolves, the transaction is committed; if it throws, the
345
+ * transaction is rolled back and the error is re-thrown. The client is always
346
+ * released back to the pool.
347
+ *
348
+ * All queries that should participate in the transaction MUST be run through
349
+ * the {@link HotDBTransaction} passed to the callback (not `this.query`), so
350
+ * that they share the one client. Because those queries throw on error, a
351
+ * failed statement automatically aborts the callback and triggers a rollback.
352
+ *
353
+ * @example
354
+ * await db.transaction (async (tx) =>
355
+ * {
356
+ * await tx.query ("INSERT INTO campaigns (id, name) VALUES ($1, $2)", [id, name]);
357
+ * await tx.query ("INSERT INTO campaign_members (campaign_id, user_id) VALUES ($1, $2)", [id, ownerId]);
358
+ * });
359
+ */
360
+ transaction(callback) {
361
+ return __awaiter(this, void 0, void 0, function* () {
362
+ this.dbCheck();
363
+ const client = yield this.db.connect();
364
+ try {
365
+ yield client.query("BEGIN");
366
+ const tx = new HotDBTransaction(client);
367
+ const result = yield callback(tx);
368
+ yield client.query("COMMIT");
369
+ return (result);
370
+ }
371
+ catch (err) {
372
+ try {
373
+ yield client.query("ROLLBACK");
374
+ }
375
+ catch (rollbackErr) {
376
+ // Preserve and surface the original error below; the rollback
377
+ // failure (e.g. a dead connection) should not mask it.
378
+ }
379
+ throw err;
380
+ }
381
+ finally {
382
+ client.release();
383
+ }
384
+ });
385
+ }
285
386
  /**
286
387
  * Make a single query. If there are no results, null will be in MySQLResults.results
287
388
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HotDBPostgres.js","sourceRoot":"","sources":["../../../src/schemas/HotDBPostgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HotDBPostgres.js","sourceRoot":"","sources":["../../../src/schemas/HotDBPostgres.ts"],"names":[],"mappings":"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"}