@balena/pinejs 14.37.2 → 14.38.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.
@@ -1,3 +1,25 @@
1
+ - commits:
2
+ - subject: Improve typings of databaseOptions parameter
3
+ hash: 1e366e65a317f6bffde36297e14fc7e9fdeb82d1
4
+ body: ''
5
+ footer:
6
+ Change-type: patch
7
+ change-type: patch
8
+ author: Pagan Gazzard
9
+ nested: []
10
+ version: 14.38.1
11
+ date: 2022-01-17T17:48:20.265Z
12
+ - commits:
13
+ - subject: Add the ability to set the maxUses for the postgres pool
14
+ hash: b5abd1e6f8f458564f0bd7c5b6621ab673f1027f
15
+ body: ''
16
+ footer:
17
+ Change-type: minor
18
+ change-type: minor
19
+ author: Pagan Gazzard
20
+ nested: []
21
+ version: 14.38.0
22
+ date: 2022-01-14T14:30:17.819Z
1
23
  - commits:
2
24
  - subject: Update @balena/odata-to-abstract-sql to 5.4.8
3
25
  hash: 44d91739fadd17983b5d9c469682b12dc4154d80
@@ -9,7 +31,7 @@
9
31
  author: Pagan Gazzard
10
32
  nested: []
11
33
  version: 14.37.2
12
- date: 2022-01-13T13:40:46.105Z
34
+ date: 2022-01-13T13:34:16.330Z
13
35
  - commits:
14
36
  - subject: Update dependencies
15
37
  hash: c130dd27d772acac8d18f75668c18abcea89d6de
package/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file
4
4
  automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
+ ## 14.38.1 - 2022-01-17
8
+
9
+ * Improve typings of databaseOptions parameter [Pagan Gazzard]
10
+
11
+ ## 14.38.0 - 2022-01-14
12
+
13
+ * Add the ability to set the maxUses for the postgres pool [Pagan Gazzard]
14
+
7
15
  ## 14.37.2 - 2022-01-13
8
16
 
9
17
  * Update @balena/odata-to-abstract-sql to 5.4.8 [Pagan Gazzard]
@@ -36,6 +36,7 @@ export declare const db: {
36
36
  keepAlive: boolean | undefined;
37
37
  rollbackTimeout: number;
38
38
  timeoutMS: number;
39
+ maxUses: number;
39
40
  };
40
41
  export declare const migrator: {
41
42
  lockTimeout: number;
@@ -67,6 +67,7 @@ exports.db = {
67
67
  keepAlive: true,
68
68
  rollbackTimeout: 30000,
69
69
  timeoutMS,
70
+ maxUses: Infinity,
70
71
  };
71
72
  exports.migrator = {
72
73
  lockTimeout: 5 * 60 * 1000,
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config-loader/env.ts"],"names":[],"mappings":";;;AACA,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AACzD,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;IAEtD,OAAO,CAAC,IAAI,CAAC,mCAAmC,YAAY,GAAG,CAAC,CAAC;CACjE;AAEY,QAAA,KAAK,GACjB,YAAY,KAAK,GAAG,IAAI,CAAC,YAAY,KAAK,GAAG,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;AA0BpD,QAAA,KAAK,GAAG;IACpB,iBAAiB,EAAE;QAClB,GAAG,EAAE,IAAI;KACI;IACd,gBAAgB,EAAE;QACjB,GAAG,EAAE,MAAM;KACE;IACd,UAAU,EAAE;QACX,GAAG,EAAE,MAAM;KACE;IACd,kBAAkB,EAAE;QACnB,GAAG,EAAE,KAAK;KACG;IACd,mBAAmB,EAAE;QACpB,GAAG,EAAE,KAAK;KACG;IACd,eAAe,EAAE,KAAkB;IACnC,iBAAiB,EAAE,KAAkB;IACrC,aAAa,EAAE,KAAkB;CACjC,CAAC;AAEF,oCAAoC;AACpC,6CAA8C;AACvC,MAAM,WAAW,GAAG,CAC1B,SAA6B,EAC7B,EAAK,EACL,IAAqB,EACpB,EAAE;IACH,MAAM,SAAS,GAAG,aAAK,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,SAAS,KAAK,KAAK,EAAE;QACxB,OAAO,EAAE,CAAC;KACV;IACD,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;QACpC,OAAO,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;KAC3B;IACD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,IAAI,EAAE;QACxB,OAAO,WAAW,CAAC,EAAE,EAAE;YACtB,GAAG,SAAS;YACZ,GAAG,IAAI;SACP,CAAC,CAAC;KACH;IACD,OAAO,OAAO,CAAC,EAAE,EAAE;QAClB,GAAG,SAAS;QACZ,GAAG,IAAI;KACP,CAAC,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,WAAW,eAsBtB;AAEF,IAAI,SAAiB,CAAC;AACtB,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE;IACvC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CACd,6CAA6C,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CACjF,CAAC;KACF;CACD;KAAM;IACN,SAAS,GAAG,KAAK,CAAC;CAClB;AAEY,QAAA,EAAE,GAAG;IACjB,QAAQ,EAAE,EAAE;IACZ,iBAAiB,EAAE,KAA2B;IAC9C,gBAAgB,EAAE,SAA+B;IACjD,YAAY,EAAE,SAA+B;IAC7C,uBAAuB,EAAE,KAA2B;IACpD,SAAS,EAAE,IAA2B;IACtC,eAAe,EAAE,KAAK;IACtB,SAAS;CACT,CAAC;AAEW,QAAA,QAAQ,GAAG;IACvB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAE1B,aAAa,EAAE,EAAE,GAAG,IAAI;CACxB,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config-loader/env.ts"],"names":[],"mappings":";;;AACA,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AACzD,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;IAEtD,OAAO,CAAC,IAAI,CAAC,mCAAmC,YAAY,GAAG,CAAC,CAAC;CACjE;AAEY,QAAA,KAAK,GACjB,YAAY,KAAK,GAAG,IAAI,CAAC,YAAY,KAAK,GAAG,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;AA0BpD,QAAA,KAAK,GAAG;IACpB,iBAAiB,EAAE;QAClB,GAAG,EAAE,IAAI;KACI;IACd,gBAAgB,EAAE;QACjB,GAAG,EAAE,MAAM;KACE;IACd,UAAU,EAAE;QACX,GAAG,EAAE,MAAM;KACE;IACd,kBAAkB,EAAE;QACnB,GAAG,EAAE,KAAK;KACG;IACd,mBAAmB,EAAE;QACpB,GAAG,EAAE,KAAK;KACG;IACd,eAAe,EAAE,KAAkB;IACnC,iBAAiB,EAAE,KAAkB;IACrC,aAAa,EAAE,KAAkB;CACjC,CAAC;AAEF,oCAAoC;AACpC,6CAA8C;AACvC,MAAM,WAAW,GAAG,CAC1B,SAA6B,EAC7B,EAAK,EACL,IAAqB,EACpB,EAAE;IACH,MAAM,SAAS,GAAG,aAAK,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,SAAS,KAAK,KAAK,EAAE;QACxB,OAAO,EAAE,CAAC;KACV;IACD,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;QACpC,OAAO,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;KAC3B;IACD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,IAAI,EAAE;QACxB,OAAO,WAAW,CAAC,EAAE,EAAE;YACtB,GAAG,SAAS;YACZ,GAAG,IAAI;SACP,CAAC,CAAC;KACH;IACD,OAAO,OAAO,CAAC,EAAE,EAAE;QAClB,GAAG,SAAS;QACZ,GAAG,IAAI;KACP,CAAC,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,WAAW,eAsBtB;AAEF,IAAI,SAAiB,CAAC;AACtB,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE;IACvC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CACd,6CAA6C,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CACjF,CAAC;KACF;CACD;KAAM;IACN,SAAS,GAAG,KAAK,CAAC;CAClB;AAEY,QAAA,EAAE,GAAG;IACjB,QAAQ,EAAE,EAAE;IACZ,iBAAiB,EAAE,KAA2B;IAC9C,gBAAgB,EAAE,SAA+B;IACjD,YAAY,EAAE,SAA+B;IAC7C,uBAAuB,EAAE,KAA2B;IACpD,SAAS,EAAE,IAA2B;IACtC,eAAe,EAAE,KAAK;IACtB,SAAS;IACT,OAAO,EAAE,QAAQ;CACjB,CAAC;AAEW,QAAA,QAAQ,GAAG;IACvB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAE1B,aAAa,EAAE,EAAE,GAAG,IAAI;CACxB,CAAC"}
@@ -1,4 +1,6 @@
1
1
  /// <reference types="websql" />
2
+ import type * as Mysql from 'mysql';
3
+ import type * as Pg from 'pg';
2
4
  import type { Resolvable } from '../sbvr-api/common-types';
3
5
  import { Engines } from '@balena/abstract-sql-compiler';
4
6
  import * as EventEmitter from 'eventemitter3';
@@ -56,9 +58,10 @@ export interface Database extends BaseDatabase {
56
58
  transaction: TransactionFn;
57
59
  readTransaction: TransactionFn;
58
60
  }
59
- export declare const engines: {
60
- [engine: string]: (connectString: string | object) => Database;
61
- };
61
+ interface EngineParams {
62
+ [engine: string]: (options: unknown) => Database;
63
+ }
64
+ export declare const engines: EngineParams;
62
65
  export declare function registerTransactionLockNamespace(namespaceKey: string, namespaceId: number): void;
63
66
  declare class AutomaticClose {
64
67
  private stackTraceErr?;
@@ -94,8 +97,21 @@ export declare abstract class Tx {
94
97
  abstract tableList(extraWhereClause?: string): Promise<Result>;
95
98
  dropTable(tableName: string, ifExists?: boolean): Promise<Result>;
96
99
  }
97
- export declare const connect: (databaseOptions: {
98
- engine: string;
99
- params: {};
100
- }) => Database;
100
+ interface EngineParams {
101
+ postgres: (options: string | Pg.PoolConfig | {
102
+ primary: Pg.PoolConfig;
103
+ replica?: Pg.PoolConfig;
104
+ }) => Database;
105
+ }
106
+ interface EngineParams {
107
+ mysql: (options: Mysql.PoolConfig) => Database;
108
+ }
109
+ interface EngineParams {
110
+ websql: (databaseName: string) => Database;
111
+ }
112
+ export declare type DatabaseOptions<T extends keyof EngineParams> = {
113
+ engine: T;
114
+ params: Parameters<EngineParams[T]>[0];
115
+ };
116
+ export declare const connect: <T extends keyof EngineParams>(databaseOptions: DatabaseOptions<T>) => Database;
101
117
  export {};
@@ -315,13 +315,14 @@ if (maybePg != null) {
315
315
  const PG_EXCLUSION_CONSTRAINT_VIOLATION = '23P01';
316
316
  const { PG_SCHEMA } = process.env;
317
317
  const initPool = (config) => {
318
- var _a, _b, _c, _d, _e, _f;
318
+ var _a, _b, _c, _d, _e, _f, _g;
319
319
  (_a = config.max) !== null && _a !== void 0 ? _a : (config.max = env.db.poolSize);
320
320
  (_b = config.idleTimeoutMillis) !== null && _b !== void 0 ? _b : (config.idleTimeoutMillis = env.db.idleTimeoutMillis);
321
321
  (_c = config.statement_timeout) !== null && _c !== void 0 ? _c : (config.statement_timeout = env.db.statementTimeout);
322
322
  (_d = config.query_timeout) !== null && _d !== void 0 ? _d : (config.query_timeout = env.db.queryTimeout);
323
323
  (_e = config.connectionTimeoutMillis) !== null && _e !== void 0 ? _e : (config.connectionTimeoutMillis = env.db.connectionTimeoutMillis);
324
324
  (_f = config.keepAlive) !== null && _f !== void 0 ? _f : (config.keepAlive = env.db.keepAlive);
325
+ (_g = config.maxUses) !== null && _g !== void 0 ? _g : (config.maxUses = env.db.maxUses);
325
326
  const p = new pg.Pool(config);
326
327
  if (PG_SCHEMA != null) {
327
328
  p.on('connect', (client) => {
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/database-layer/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/database-layer/db.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type * as Express from 'express';
2
2
  import './sbvr-loader';
3
+ import * as dbModule from '../database-layer/db';
3
4
  import * as configLoader from '../config-loader/config-loader';
4
5
  import * as migrator from '../migrator/migrator';
5
6
  export * as dbModule from '../database-layer/db';
@@ -12,7 +13,5 @@ export * as types from '../sbvr-api/common-types';
12
13
  export * as hooks from '../sbvr-api/hooks';
13
14
  export type { configLoader as ConfigLoader };
14
15
  export type { migrator as Migrator };
15
- export declare const init: (app: Express.Application, config?: string | configLoader.Config | undefined, databaseOptions?: {
16
- engine: string;
17
- params: string;
18
- }) => Promise<ReturnType<typeof configLoader.setup>>;
16
+ declare let envDatabaseOptions: dbModule.DatabaseOptions<string>;
17
+ export declare const init: <T extends string>(app: Express.Application, config?: string | configLoader.Config | undefined, databaseOptions?: dbModule.DatabaseOptions<string> | dbModule.DatabaseOptions<T>) => Promise<ReturnType<typeof configLoader.setup>>;
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/server-glue/module.ts"],"names":[],"mappings":";;;AAEA,yBAAuB;AAEvB,iDAAiD;AACjD,+DAA+D;AAC/D,iDAAiD;AAEjD,oDAAoD;AAEpD,mDAAiD;AACjD,qFAAkF;AAAzE,0HAAA,kBAAkB,OAAA;AAC3B,sDAAoD;AACpD,yDAAuD;AACvD,+CAA6C;AAC7C,8CAA4C;AAC5C,oDAAkD;AAClD,6CAA2C;AAI3C,IAAI,kBAGH,CAAC;AACF,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;IACpC,kBAAkB,GAAG;QACpB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,YAAY;KACpB,CAAC;CACF;KAAM;IACN,IAAI,WAAmB,CAAC;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;QAC7B,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;KACvC;SAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE;QAC7C,WAAW,GAAG,+CAA+C,CAAC;KAC9D;SAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;QAC1C,WAAW,GAAG,gCAAgC,CAAC;KAC/C;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC3D;IACD,kBAAkB,GAAG;QACpB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,EAAE,WAAW;KACnB,CAAC;CACF;AAEM,MAAM,IAAI,GAAG,KAAK,EACxB,GAAwB,EACxB,MAAqC,EACrC,eAAe,GAAG,kBAAkB,EACa,EAAE;IACnD,IAAI;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACpC,MAAM,UAAU,GAAG,2CAAa,4BAA4B,EAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CACZ,SAAS;iBACP,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC;iBAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAChD,CAAC;SACF;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE;YACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;SACvD;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,SAAS,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChB;AACF,CAAC,CAAC;AAhCW,QAAA,IAAI,QAgCf"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/server-glue/module.ts"],"names":[],"mappings":";;;AAEA,yBAAuB;AAEvB,iDAAiD;AACjD,+DAA+D;AAC/D,iDAAiD;AAEjD,oDAAoD;AAEpD,mDAAiD;AACjD,qFAAkF;AAAzE,0HAAA,kBAAkB,OAAA;AAC3B,sDAAoD;AACpD,yDAAuD;AACvD,+CAA6C;AAC7C,8CAA4C;AAC5C,oDAAkD;AAClD,6CAA2C;AAI3C,IAAI,kBAAoD,CAAC;AACzD,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;IACpC,kBAAkB,GAAG;QACpB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,YAAY;KACpB,CAAC;CACF;KAAM;IACN,IAAI,WAAmB,CAAC;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;QAC7B,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;KACvC;SAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE;QAC7C,WAAW,GAAG,+CAA+C,CAAC;KAC9D;SAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;QAC1C,WAAW,GAAG,gCAAgC,CAAC;KAC/C;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC3D;IACD,kBAAkB,GAAG;QACpB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,EAAE,WAAW;KACnB,CAAC;CACF;AAEM,MAAM,IAAI,GAAG,KAAK,EACxB,GAAwB,EACxB,MAAqC,EACrC,kBAE+B,kBAAkB,EACA,EAAE;IACnD,IAAI;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACpC,MAAM,UAAU,GAAG,2CAAa,4BAA4B,EAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CACZ,SAAS;iBACP,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC;iBAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAChD,CAAC;SACF;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE;YACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;SACvD;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,SAAS,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChB;AACF,CAAC,CAAC;AAlCW,QAAA,IAAI,QAkCf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/pinejs",
3
- "version": "14.37.2",
3
+ "version": "14.38.1",
4
4
  "main": "out/server-glue/module",
5
5
  "repository": "git@github.com:balena-io/pinejs.git",
6
6
  "license": "Apache-2.0",
@@ -121,6 +121,6 @@
121
121
  ]
122
122
  },
123
123
  "versionist": {
124
- "publishedAt": "2022-01-13T13:40:46.370Z"
124
+ "publishedAt": "2022-01-17T17:48:20.527Z"
125
125
  }
126
126
  }
@@ -100,6 +100,7 @@ export const db = {
100
100
  keepAlive: true as boolean | undefined,
101
101
  rollbackTimeout: 30000,
102
102
  timeoutMS,
103
+ maxUses: Infinity,
103
104
  };
104
105
 
105
106
  export const migrator = {
@@ -100,9 +100,10 @@ export interface Database extends BaseDatabase {
100
100
  readTransaction: TransactionFn;
101
101
  }
102
102
 
103
- export const engines: {
104
- [engine: string]: (connectString: string | object) => Database;
105
- } = {};
103
+ interface EngineParams {
104
+ [engine: string]: (options: unknown) => Database;
105
+ }
106
+ export const engines = {} as EngineParams;
106
107
 
107
108
  const types = {
108
109
  integer: {
@@ -448,14 +449,17 @@ try {
448
449
  } catch (e) {
449
450
  // Ignore errors
450
451
  }
451
- if (maybePg != null) {
452
- const pg = maybePg;
453
- engines.postgres = (
454
- connectString:
452
+ interface EngineParams {
453
+ postgres: (
454
+ options:
455
455
  | string
456
456
  | Pg.PoolConfig
457
457
  | { primary: Pg.PoolConfig; replica?: Pg.PoolConfig },
458
- ): Database => {
458
+ ) => Database;
459
+ }
460
+ if (maybePg != null) {
461
+ const pg = maybePg;
462
+ engines.postgres = (connectString) => {
459
463
  const PG_UNIQUE_VIOLATION = '23505';
460
464
  const PG_FOREIGN_KEY_VIOLATION = '23503';
461
465
  const PG_CHECK_CONSTRAINT_VIOLATION = '23514';
@@ -469,6 +473,8 @@ if (maybePg != null) {
469
473
  config.query_timeout ??= env.db.queryTimeout;
470
474
  config.connectionTimeoutMillis ??= env.db.connectionTimeoutMillis;
471
475
  config.keepAlive ??= env.db.keepAlive;
476
+ // @ts-expect-error maxUses is valid for PgPool but isn't currently in the typings
477
+ config.maxUses ??= env.db.maxUses;
472
478
  const p = new pg.Pool(config);
473
479
  if (PG_SCHEMA != null) {
474
480
  p.on('connect', (client) => {
@@ -662,9 +668,12 @@ try {
662
668
  } catch (e) {
663
669
  // Ignore errors
664
670
  }
671
+ interface EngineParams {
672
+ mysql: (options: Mysql.PoolConfig) => Database;
673
+ }
665
674
  if (maybeMysql != null) {
666
675
  const mysql = maybeMysql;
667
- engines.mysql = (options: Mysql.PoolConfig): Database => {
676
+ engines.mysql = (options) => {
668
677
  const MYSQL_UNIQUE_VIOLATION = 'ER_DUP_ENTRY';
669
678
  const MYSQL_FOREIGN_KEY_VIOLATION = 'ER_ROW_IS_REFERENCED';
670
679
  const MYSQL_CHECK_CONSTRAINT_VIOLATION = 'ER_CHECK_CONSTRAINT_VIOLATED';
@@ -775,6 +784,9 @@ if (maybeMysql != null) {
775
784
  };
776
785
  }
777
786
 
787
+ interface EngineParams {
788
+ websql: (databaseName: string) => Database;
789
+ }
778
790
  if (typeof window !== 'undefined' && window.openDatabase != null) {
779
791
  interface WebSqlResult {
780
792
  insertId?: number;
@@ -790,7 +802,7 @@ if (typeof window !== 'undefined' && window.openDatabase != null) {
790
802
  SQLStatementCallback,
791
803
  SQLStatementErrorCallback,
792
804
  ];
793
- engines.websql = (databaseName: string): Database => {
805
+ engines.websql = (databaseName) => {
794
806
  const WEBSQL_CONSTRAINT_ERR = 6;
795
807
 
796
808
  const db = window.openDatabase(
@@ -961,7 +973,13 @@ if (typeof window !== 'undefined' && window.openDatabase != null) {
961
973
  };
962
974
  }
963
975
 
964
- export const connect = (databaseOptions: { engine: string; params: {} }) => {
976
+ export type DatabaseOptions<T extends keyof EngineParams> = {
977
+ engine: T;
978
+ params: Parameters<EngineParams[T]>[0];
979
+ };
980
+ export const connect = <T extends keyof EngineParams>(
981
+ databaseOptions: DatabaseOptions<T>,
982
+ ) => {
965
983
  if (engines[databaseOptions.engine] == null) {
966
984
  throw new Error('Unsupported database engine: ' + databaseOptions.engine);
967
985
  }
@@ -19,10 +19,7 @@ export * as hooks from '../sbvr-api/hooks';
19
19
  export type { configLoader as ConfigLoader };
20
20
  export type { migrator as Migrator };
21
21
 
22
- let envDatabaseOptions: {
23
- engine: string;
24
- params: string;
25
- };
22
+ let envDatabaseOptions: dbModule.DatabaseOptions<string>;
26
23
  if (dbModule.engines.websql != null) {
27
24
  envDatabaseOptions = {
28
25
  engine: 'websql',
@@ -45,10 +42,12 @@ if (dbModule.engines.websql != null) {
45
42
  };
46
43
  }
47
44
 
48
- export const init = async (
45
+ export const init = async <T extends string>(
49
46
  app: Express.Application,
50
47
  config?: string | configLoader.Config,
51
- databaseOptions = envDatabaseOptions,
48
+ databaseOptions:
49
+ | dbModule.DatabaseOptions<T>
50
+ | typeof envDatabaseOptions = envDatabaseOptions,
52
51
  ): Promise<ReturnType<typeof configLoader.setup>> => {
53
52
  try {
54
53
  const db = dbModule.connect(databaseOptions);