@nsshunt/stsdatamanagement 1.18.178 → 1.18.180
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/cliworker.js +10 -17
- package/dist/cliworker.js.map +1 -1
- package/dist/commonTypes.js +11 -14
- package/dist/commonTypes.js.map +1 -1
- package/dist/dalUserManager.js +7 -11
- package/dist/dalUserManager.js.map +1 -1
- package/dist/dalUserManager.test.js +45 -51
- package/dist/dalUserManager.test.js.map +1 -1
- package/dist/databaseutils.js +19 -26
- package/dist/databaseutils.js.map +1 -1
- package/dist/datagenerator.js +30 -33
- package/dist/datagenerator.js.map +1 -1
- package/dist/dbAccessLayerManager.js +5 -9
- package/dist/dbAccessLayerManager.js.map +1 -1
- package/dist/dbaccess.js +7 -23
- package/dist/dbaccess.js.map +1 -1
- package/dist/dbbuild.test.js +42 -47
- package/dist/dbbuild.test.js.map +1 -1
- package/dist/dberrors.js +13 -22
- package/dist/dberrors.js.map +1 -1
- package/dist/pcaccesslayer-entity.test.js +166 -171
- package/dist/pcaccesslayer-entity.test.js.map +1 -1
- package/dist/pcaccesslayer.test.js +208 -213
- package/dist/pcaccesslayer.test.js.map +1 -1
- package/dist/pgaccesslayer-old.js +114 -154
- package/dist/pgaccesslayer-old.js.map +1 -1
- package/dist/pgaccesslayer.js +131 -135
- package/dist/pgaccesslayer.js.map +1 -1
- package/dist/pgpoolmanager.js +32 -39
- package/dist/pgpoolmanager.js.map +1 -1
- package/dist/pgutils.js +10 -14
- package/dist/pgutils.js.map +1 -1
- package/dist/setupdb.js +8 -14
- package/dist/setupdb.js.map +1 -1
- package/package.json +5 -5
- package/types/datagenerator.d.ts.map +1 -1
package/dist/cliworker.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// https://stackoverflow.com/questions/56356655/structuring-a-typescript-project-with-workers
|
|
3
2
|
//let faker = require('faker');
|
|
4
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
|
-
};
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.CliWorker = void 0;
|
|
9
3
|
//import { parentPort } from 'node:worker_threads';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
import crypto from 'crypto';
|
|
5
|
+
import { PGPoolManager } from './pgpoolmanager.js';
|
|
6
|
+
import { PGAccessLayer } from './pgaccesslayer-old.js';
|
|
13
7
|
/*
|
|
14
8
|
const { parentPort, workerData } = require('node:worker_threads');
|
|
15
9
|
//require('node:crypto');
|
|
@@ -19,7 +13,7 @@ const { PGAccessLayer } = require('./pgaccesslayer')
|
|
|
19
13
|
const userid = 'dbinitrunner';
|
|
20
14
|
const resfakerprefix = 'RESFK-';
|
|
21
15
|
const rescopyprefix = 'RESCP-';
|
|
22
|
-
class CliWorker {
|
|
16
|
+
export class CliWorker {
|
|
23
17
|
#options;
|
|
24
18
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
19
|
fakerdataarray = [];
|
|
@@ -34,8 +28,8 @@ class CliWorker {
|
|
|
34
28
|
Run = async () => {
|
|
35
29
|
let datamax = this.#options.datamax;
|
|
36
30
|
let count = this.#options.start;
|
|
37
|
-
const accesslayer = new
|
|
38
|
-
poolManager: new
|
|
31
|
+
const accesslayer = new PGAccessLayer({
|
|
32
|
+
poolManager: new PGPoolManager({
|
|
39
33
|
usedefaultdb: false,
|
|
40
34
|
logger: this.#options.logger
|
|
41
35
|
}),
|
|
@@ -46,16 +40,16 @@ class CliWorker {
|
|
|
46
40
|
}
|
|
47
41
|
for (let i = 0; i < this.#options.iterations; i++) {
|
|
48
42
|
//let randcard = faker.helpers.createCard();
|
|
49
|
-
const coreRecordSizeRange =
|
|
43
|
+
const coreRecordSizeRange = crypto.randomInt(128, 192);
|
|
50
44
|
//const coreRecordSizeRange = 128;
|
|
51
45
|
const coreRecordSize = Math.floor(coreRecordSizeRange / 2);
|
|
52
|
-
let randcard =
|
|
46
|
+
let randcard = crypto.randomBytes(coreRecordSize).toString('hex');
|
|
53
47
|
//let randcard = 'helloworld'
|
|
54
48
|
if (datamax > 0) {
|
|
55
|
-
const n =
|
|
49
|
+
const n = crypto.randomInt(this.#options.datamin, datamax);
|
|
56
50
|
//const n = 1024;
|
|
57
51
|
const n2 = Math.floor(n / 2);
|
|
58
|
-
const rndid =
|
|
52
|
+
const rndid = crypto.randomBytes(n2).toString('hex');
|
|
59
53
|
//const rndid = 'helloworld'
|
|
60
54
|
randcard += rndid;
|
|
61
55
|
}
|
|
@@ -99,5 +93,4 @@ class CliWorker {
|
|
|
99
93
|
return true;
|
|
100
94
|
};
|
|
101
95
|
}
|
|
102
|
-
exports.CliWorker = CliWorker;
|
|
103
96
|
//# sourceMappingURL=cliworker.js.map
|
package/dist/cliworker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliworker.js","sourceRoot":"","sources":["../src/cliworker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cliworker.js","sourceRoot":"","sources":["../src/cliworker.ts"],"names":[],"mappings":"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"}
|
package/dist/commonTypes.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
exports.USER_ID_PREFIX = "USR_";
|
|
6
|
-
exports.ROLE_ID_PREFIX = "ROLE_";
|
|
7
|
-
var eOperations;
|
|
1
|
+
export const SYSTEM_USER_ID = "STS_SYSTEM";
|
|
2
|
+
export const USER_ID_PREFIX = "USR_";
|
|
3
|
+
export const ROLE_ID_PREFIX = "ROLE_";
|
|
4
|
+
export var eOperations;
|
|
8
5
|
(function (eOperations) {
|
|
9
6
|
eOperations["StartDatabase"] = "StartDatabase";
|
|
10
7
|
eOperations["EndDatabase"] = "EndDatabase";
|
|
@@ -30,8 +27,8 @@ var eOperations;
|
|
|
30
27
|
eOperations["UpdateEntities"] = "UpdateEntities";
|
|
31
28
|
eOperations["PatchEntities"] = "PatchEntities";
|
|
32
29
|
eOperations["DeleteEntities"] = "DeleteEntities";
|
|
33
|
-
})(eOperations || (
|
|
34
|
-
var accessLayerType;
|
|
30
|
+
})(eOperations || (eOperations = {}));
|
|
31
|
+
export var accessLayerType;
|
|
35
32
|
(function (accessLayerType) {
|
|
36
33
|
accessLayerType["postgresql"] = "postgresql";
|
|
37
34
|
accessLayerType["mysql"] = "mysql";
|
|
@@ -46,15 +43,15 @@ var accessLayerType;
|
|
|
46
43
|
accessLayerType["awsS3"] = "awsS3";
|
|
47
44
|
accessLayerType["awsElasticCacheRedis"] = "awsElasticCacheRedis";
|
|
48
45
|
accessLayerType["awsKenisisDataStreams"] = "awsKenisisDataStreams";
|
|
49
|
-
})(accessLayerType || (
|
|
50
|
-
var IDBAccessLayerEvents;
|
|
46
|
+
})(accessLayerType || (accessLayerType = {}));
|
|
47
|
+
export var IDBAccessLayerEvents;
|
|
51
48
|
(function (IDBAccessLayerEvents) {
|
|
52
49
|
IDBAccessLayerEvents["UpdateInstruments"] = "UpdateInstruments";
|
|
53
|
-
})(IDBAccessLayerEvents || (
|
|
54
|
-
var eResouceStatus;
|
|
50
|
+
})(IDBAccessLayerEvents || (IDBAccessLayerEvents = {}));
|
|
51
|
+
export var eResouceStatus;
|
|
55
52
|
(function (eResouceStatus) {
|
|
56
53
|
eResouceStatus["delete"] = "DELETED";
|
|
57
54
|
eResouceStatus["active"] = "ACTIVE";
|
|
58
55
|
eResouceStatus["superseded"] = "SUPERSEDED";
|
|
59
|
-
})(eResouceStatus || (
|
|
56
|
+
})(eResouceStatus || (eResouceStatus = {}));
|
|
60
57
|
//# sourceMappingURL=commonTypes.js.map
|
package/dist/commonTypes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonTypes.js","sourceRoot":"","sources":["../src/commonTypes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commonTypes.js","sourceRoot":"","sources":["../src/commonTypes.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAqBtC,MAAM,CAAN,IAAY,WA8BX;AA9BD,WAAY,WAAW;IACnB,8CAA+B,CAAA;IAC/B,0CAA2B,CAAA;IAC3B,oDAAqC,CAAA;IACrC,gDAAiC,CAAA;IAEjC,4CAA6B,CAAA;IAC7B,kDAAmC,CAAA;IACnC,0CAA2B,CAAA;IAC3B,gDAAiC,CAAA;IAEjC,gDAAiC,CAAA;IACjC,0CAA2B,CAAA;IAC3B,gDAAiC,CAAA;IACjC,8CAA+B,CAAA;IAC/B,gDAAiC,CAAA;IAEjC,kDAAmC,CAAA;IACnC,gDAAiC,CAAA;IACjC,kDAAmC,CAAA;IAEnC,4CAA6B,CAAA;IAC7B,sCAAuB,CAAA;IACvB,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,4CAA6B,CAAA;IAE7B,gDAAiC,CAAA;IACjC,8CAA+B,CAAA;IAC/B,gDAAiC,CAAA;AACrC,CAAC,EA9BW,WAAW,KAAX,WAAW,QA8BtB;AAoCD,MAAM,CAAN,IAAY,eAcX;AAdD,WAAY,eAAe;IACvB,4CAAyB,CAAA;IACzB,kCAAe,CAAA;IACf,kCAAe,CAAA;IACf,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;IACnB,kCAAe,CAAA;IACf,8CAA2B,CAAA;IAC3B,8DAA2C,CAAA;IAC3C,oDAAiC,CAAA;IACjC,kDAA+B,CAAA;IAC/B,kCAAe,CAAA;IACf,gEAA6C,CAAA;IAC7C,kEAA+C,CAAA;AACnD,CAAC,EAdW,eAAe,KAAf,eAAe,QAc1B;AAWD,MAAM,CAAN,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC5B,+DAAuC,CAAA;AAC3C,CAAC,EAFW,oBAAoB,KAApB,oBAAoB,QAE/B;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,oCAAkB,CAAA;IAClB,mCAAiB,CAAA;IACjB,2CAAyB,CAAA;AAC7B,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
|
package/dist/dalUserManager.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const commonTypes_js_1 = require("./commonTypes.js");
|
|
5
|
-
const dbAccessLayerManager_js_1 = require("./dbAccessLayerManager.js");
|
|
6
|
-
class DALUserManager {
|
|
1
|
+
import { SYSTEM_USER_ID } from './commonTypes.js';
|
|
2
|
+
import { DBAccessLayerManager } from './dbAccessLayerManager.js';
|
|
3
|
+
export class DALUserManager {
|
|
7
4
|
#accessLayer;
|
|
8
5
|
#userResource;
|
|
9
6
|
constructor(options) {
|
|
10
|
-
this.#accessLayer = new
|
|
7
|
+
this.#accessLayer = new DBAccessLayerManager().CreateAccessLayer({
|
|
11
8
|
accessLayerType: options.accessLayerType,
|
|
12
9
|
accessLayerOptions: options.accessLayerOptions
|
|
13
10
|
});
|
|
@@ -57,7 +54,7 @@ class DALUserManager {
|
|
|
57
54
|
const userResource = await this.#GetUserResource();
|
|
58
55
|
const retVal = await this.#accessLayer.CreateEntity({
|
|
59
56
|
filters: {
|
|
60
|
-
dbactionuser:
|
|
57
|
+
dbactionuser: SYSTEM_USER_ID,
|
|
61
58
|
resname: userResource.resname,
|
|
62
59
|
entname: user.name
|
|
63
60
|
}
|
|
@@ -76,7 +73,7 @@ class DALUserManager {
|
|
|
76
73
|
const userResource = await this.#GetUserResource();
|
|
77
74
|
const retVal = await this.#accessLayer.UpdateEntity({
|
|
78
75
|
filters: {
|
|
79
|
-
dbactionuser:
|
|
76
|
+
dbactionuser: SYSTEM_USER_ID,
|
|
80
77
|
resname: userResource.resname,
|
|
81
78
|
entname: user.name
|
|
82
79
|
}
|
|
@@ -95,7 +92,7 @@ class DALUserManager {
|
|
|
95
92
|
const userResource = await this.#GetUserResource();
|
|
96
93
|
const retVal = await this.#accessLayer.DeleteEntity({
|
|
97
94
|
filters: {
|
|
98
|
-
dbactionuser:
|
|
95
|
+
dbactionuser: SYSTEM_USER_ID,
|
|
99
96
|
resname: userResource.resname,
|
|
100
97
|
entname: user.name
|
|
101
98
|
}
|
|
@@ -111,5 +108,4 @@ class DALUserManager {
|
|
|
111
108
|
}
|
|
112
109
|
}
|
|
113
110
|
}
|
|
114
|
-
exports.DALUserManager = DALUserManager;
|
|
115
111
|
//# sourceMappingURL=dalUserManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dalUserManager.js","sourceRoot":"","sources":["../src/dalUserManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dalUserManager.js","sourceRoot":"","sources":["../src/dalUserManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +1,33 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.eResouceStatus = void 0;
|
|
7
1
|
/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var eResouceStatus;
|
|
2
|
+
import { beforeAll, afterAll, test, describe, expect } from 'vitest';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { goptions, $ResetOptions } from '@nsshunt/stsconfig';
|
|
5
|
+
import { JestSleep, defaultLogger, Sleep } from '@nsshunt/stsutils';
|
|
6
|
+
import { DatabaseUtils } from './databaseutils.js';
|
|
7
|
+
import { GenericContainer } from "testcontainers";
|
|
8
|
+
import winston from 'winston';
|
|
9
|
+
import { DBAccessLayerManager } from './dbAccessLayerManager.js';
|
|
10
|
+
import { accessLayerType } from './commonTypes.js';
|
|
11
|
+
import { DALUserManager } from './dalUserManager.js';
|
|
12
|
+
export var eResouceStatus;
|
|
19
13
|
(function (eResouceStatus) {
|
|
20
14
|
eResouceStatus["delete"] = "DELETED";
|
|
21
15
|
eResouceStatus["active"] = "ACTIVE";
|
|
22
16
|
eResouceStatus["superseded"] = "SUPERSEDED";
|
|
23
|
-
})(eResouceStatus || (
|
|
24
|
-
|
|
17
|
+
})(eResouceStatus || (eResouceStatus = {}));
|
|
18
|
+
describe("Test pgaccesslayer", () => {
|
|
25
19
|
let postgresContainer;
|
|
26
20
|
let accessLayer;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const logger =
|
|
21
|
+
beforeAll(async () => {
|
|
22
|
+
winston.format.combine(winston.format.colorize(), winston.format.simple());
|
|
23
|
+
const logger = winston.createLogger({
|
|
30
24
|
level: 'silly',
|
|
31
|
-
format:
|
|
25
|
+
format: winston.format.combine(winston.format.colorize(), winston.format.simple()),
|
|
32
26
|
transports: [
|
|
33
|
-
new
|
|
27
|
+
new winston.transports.Console(),
|
|
34
28
|
]
|
|
35
29
|
});
|
|
36
|
-
postgresContainer = await new
|
|
30
|
+
postgresContainer = await new GenericContainer("postgres")
|
|
37
31
|
.withExposedPorts(5432)
|
|
38
32
|
.withEnvironment({
|
|
39
33
|
POSTGRES_PASSWORD: "postgres",
|
|
@@ -41,16 +35,16 @@ var eResouceStatus;
|
|
|
41
35
|
})
|
|
42
36
|
.withCommand(['-c', 'max_connections=20'])
|
|
43
37
|
.start();
|
|
44
|
-
await
|
|
38
|
+
await Sleep(1000);
|
|
45
39
|
const postgresHttpPort = postgresContainer.getMappedPort(5432);
|
|
46
40
|
const postgresHost = postgresContainer.getHost();
|
|
47
41
|
process.env.DB_HOST = `${postgresHost}:${postgresHttpPort}`;
|
|
48
42
|
process.env.POOL_SIZE = '10';
|
|
49
|
-
|
|
50
|
-
logger.info(
|
|
51
|
-
logger.info(
|
|
52
|
-
logger.info(
|
|
53
|
-
logger.info(
|
|
43
|
+
$ResetOptions();
|
|
44
|
+
logger.info(chalk.green(`httpPort: [${postgresHttpPort}]`));
|
|
45
|
+
logger.info(chalk.green(`host: [${postgresHost}]`));
|
|
46
|
+
logger.info(chalk.yellow(`connectionString: [${goptions.connectionString}]`));
|
|
47
|
+
logger.info(chalk.yellow(`defaultDatabaseConnectionString: [${goptions.defaultDatabaseConnectionString}]`));
|
|
54
48
|
const dbOptions = {
|
|
55
49
|
start: 0,
|
|
56
50
|
iterations: 10000,
|
|
@@ -59,28 +53,28 @@ var eResouceStatus;
|
|
|
59
53
|
workerScriptFolder: './dist', //@@
|
|
60
54
|
useMultiBar: false
|
|
61
55
|
};
|
|
62
|
-
const dbUtils = new
|
|
56
|
+
const dbUtils = new DatabaseUtils({
|
|
63
57
|
logger
|
|
64
58
|
});
|
|
65
59
|
await dbUtils.CreateDatabase(dbOptions);
|
|
66
|
-
await
|
|
67
|
-
logger.info(
|
|
68
|
-
accessLayer = new
|
|
69
|
-
accessLayerType:
|
|
60
|
+
await Sleep(1000);
|
|
61
|
+
logger.info(chalk.green(`Starting accessLayer`));
|
|
62
|
+
accessLayer = new DBAccessLayerManager().CreateAccessLayer({
|
|
63
|
+
accessLayerType: accessLayerType.postgresql,
|
|
70
64
|
accessLayerOptions: {
|
|
71
|
-
logger:
|
|
65
|
+
logger: defaultLogger,
|
|
72
66
|
usedefaultdb: false
|
|
73
67
|
}
|
|
74
68
|
});
|
|
75
|
-
logger.info(
|
|
69
|
+
logger.info(chalk.green(`accessLayer:startdatabase()`));
|
|
76
70
|
await accessLayer.StartDatabase();
|
|
77
71
|
}, 120000);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const userManager = new
|
|
81
|
-
accessLayerType:
|
|
72
|
+
test('Testing STSUser', async () => {
|
|
73
|
+
expect.assertions(6);
|
|
74
|
+
const userManager = new DALUserManager({
|
|
75
|
+
accessLayerType: accessLayerType.postgresql,
|
|
82
76
|
accessLayerOptions: {
|
|
83
|
-
logger:
|
|
77
|
+
logger: defaultLogger,
|
|
84
78
|
usedefaultdb: false
|
|
85
79
|
}
|
|
86
80
|
});
|
|
@@ -94,22 +88,22 @@ var eResouceStatus;
|
|
|
94
88
|
enabled: true
|
|
95
89
|
};
|
|
96
90
|
const newUser01 = await userManager.CreateUser(userRecord);
|
|
97
|
-
|
|
91
|
+
expect(newUser01).toMatchObject(userRecord);
|
|
98
92
|
userRecord.description = 'user01 updated at ' + new Date().toString();
|
|
99
93
|
const updatedUser01 = await userManager.UpdateUser(userRecord);
|
|
100
|
-
|
|
94
|
+
expect(updatedUser01).toMatchObject(userRecord);
|
|
101
95
|
const getUser01 = await userManager.GetUser({ name: 'user01' });
|
|
102
|
-
|
|
96
|
+
expect(getUser01).toMatchObject(userRecord);
|
|
103
97
|
const getUser02 = await userManager.GetUser({ name: 'user02' });
|
|
104
|
-
|
|
98
|
+
expect(getUser02).toBeNull();
|
|
105
99
|
const deleteUser01 = await userManager.DeleteUser({ name: 'user01' });
|
|
106
|
-
|
|
100
|
+
expect(deleteUser01).toMatchObject(userRecord);
|
|
107
101
|
const getUser01AfterDelete = await userManager.GetUser({ name: 'user01' });
|
|
108
|
-
|
|
102
|
+
expect(getUser01AfterDelete).toBeNull();
|
|
109
103
|
}, 120000);
|
|
110
|
-
|
|
104
|
+
afterAll(async () => {
|
|
111
105
|
await accessLayer.EndDatabase();
|
|
112
|
-
await
|
|
106
|
+
await JestSleep();
|
|
113
107
|
await postgresContainer.stop();
|
|
114
108
|
}, 30000);
|
|
115
109
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dalUserManager.test.js","sourceRoot":"","sources":["../src/dalUserManager.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dalUserManager.test.js","sourceRoot":"","sources":["../src/dalUserManager.test.ts"],"names":[],"mappings":"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"}
|
package/dist/databaseutils.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const pgpoolmanager_js_1 = require("./pgpoolmanager.js");
|
|
9
|
-
const pgaccesslayer_old_js_1 = require("./pgaccesslayer-old.js");
|
|
10
|
-
const pgutils_js_1 = require("./pgutils.js");
|
|
11
|
-
const datagenerator_js_1 = require("./datagenerator.js");
|
|
12
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
13
|
-
class DatabaseUtils {
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { PGPoolManager } from './pgpoolmanager.js';
|
|
3
|
+
import { PGAccessLayer } from './pgaccesslayer-old.js';
|
|
4
|
+
import { PGUtils } from './pgutils.js';
|
|
5
|
+
import { DataGenerator } from './datagenerator.js';
|
|
6
|
+
import fs from 'node:fs';
|
|
7
|
+
export class DatabaseUtils {
|
|
14
8
|
#options;
|
|
15
9
|
#accessLayer;
|
|
16
10
|
constructor(options) {
|
|
@@ -37,47 +31,47 @@ class DatabaseUtils {
|
|
|
37
31
|
const fname = 'CreateDatabase';
|
|
38
32
|
const { iterations, workerScriptFolder } = options;
|
|
39
33
|
let builddbscript = `./node_modules/@nsshunt/stsdatamanagement/db-scripts/builddb.sql`;
|
|
40
|
-
if (!
|
|
34
|
+
if (!fs.existsSync(builddbscript)) {
|
|
41
35
|
builddbscript = `./db-scripts/builddb.sql`;
|
|
42
36
|
}
|
|
43
37
|
// ./node_modules/@nsshunt/stsdatamanagement/dist/builddb.sql
|
|
44
38
|
//let builddbscript = `./db-scripts/builddb.sql`;
|
|
45
|
-
this.#LogDebugMessage(
|
|
39
|
+
this.#LogDebugMessage(chalk.yellow(`Database Build Script: [${builddbscript}]`));
|
|
46
40
|
let localAccesslayer = null;
|
|
47
41
|
try {
|
|
48
42
|
try {
|
|
49
|
-
this.#LogDebugMessage(
|
|
50
|
-
await
|
|
43
|
+
this.#LogDebugMessage(chalk.yellow(`Dropping database.`));
|
|
44
|
+
await PGUtils.dropdatabase(this.#options.logger);
|
|
51
45
|
}
|
|
52
46
|
catch (error) {
|
|
53
47
|
this.#LogErrorMessage(`[${fname}]: Could not drop database: ${error}`);
|
|
54
48
|
// Do not re-throw. If there is no initial database, this will throw an error, ignore this.
|
|
55
49
|
}
|
|
56
50
|
// Create a new empty database
|
|
57
|
-
this.#LogDebugMessage(
|
|
58
|
-
await
|
|
59
|
-
localAccesslayer = new
|
|
60
|
-
poolManager: new
|
|
51
|
+
this.#LogDebugMessage(chalk.yellow(`Creating new empty database.`));
|
|
52
|
+
await PGUtils.createdatabase(this.#options.logger);
|
|
53
|
+
localAccesslayer = new PGAccessLayer({
|
|
54
|
+
poolManager: new PGPoolManager({
|
|
61
55
|
usedefaultdb: false,
|
|
62
56
|
logger: this.#options.logger
|
|
63
57
|
}),
|
|
64
58
|
logger: this.#options.logger
|
|
65
59
|
});
|
|
66
60
|
// Build the database assets (tables, functions, etc.)
|
|
67
|
-
this.#LogDebugMessage(
|
|
61
|
+
this.#LogDebugMessage(chalk.yellow(`Building database assets (tables, functions, etc.).`));
|
|
68
62
|
await localAccesslayer.executedbscript(builddbscript);
|
|
69
63
|
//@@ make optional or move
|
|
70
64
|
if (typeof iterations !== 'undefined') {
|
|
71
65
|
// Add new faker entries
|
|
72
|
-
this.#LogDebugMessage(
|
|
73
|
-
const dg = new
|
|
66
|
+
this.#LogDebugMessage(chalk.yellow(`Adding test data.`));
|
|
67
|
+
const dg = new DataGenerator({
|
|
74
68
|
accessLayer: localAccesslayer,
|
|
75
69
|
logger: this.#options.logger,
|
|
76
70
|
workerScriptFolder
|
|
77
71
|
});
|
|
78
72
|
await dg.RunAddFakerBulkInsert(options);
|
|
79
73
|
}
|
|
80
|
-
this.#LogInfoMessage(
|
|
74
|
+
this.#LogInfoMessage(chalk.green(`Database successfully initiailized.`));
|
|
81
75
|
}
|
|
82
76
|
catch (error) {
|
|
83
77
|
this.#LogErrorMessage(`[${fname}]: Could not create fresh database: ${error}`);
|
|
@@ -94,5 +88,4 @@ class DatabaseUtils {
|
|
|
94
88
|
return retVal;
|
|
95
89
|
};
|
|
96
90
|
}
|
|
97
|
-
exports.DatabaseUtils = DatabaseUtils;
|
|
98
91
|
//# sourceMappingURL=databaseutils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"databaseutils.js","sourceRoot":"","sources":["../src/databaseutils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"databaseutils.js","sourceRoot":"","sources":["../src/databaseutils.ts"],"names":[],"mappings":"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"}
|