@nsshunt/stsfhirpg 1.2.30 → 1.2.32
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/index.cjs
CHANGED
|
@@ -6223,9 +6223,20 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6223
6223
|
return true;
|
|
6224
6224
|
}
|
|
6225
6225
|
async EndDatabase() {
|
|
6226
|
-
if (this.#poolManager)
|
|
6227
|
-
|
|
6228
|
-
|
|
6226
|
+
if (!this.#poolManager) {
|
|
6227
|
+
const errorMessage = `EndDatabase(): poolManager not set`;
|
|
6228
|
+
this.#options.logger.error(errorMessage);
|
|
6229
|
+
throw new Error(errorMessage);
|
|
6230
|
+
}
|
|
6231
|
+
try {
|
|
6232
|
+
await this.#poolManager.End();
|
|
6233
|
+
this.#poolManager = null;
|
|
6234
|
+
return true;
|
|
6235
|
+
} catch (error) {
|
|
6236
|
+
const message = `PGFhirAccessLayer:EndDatabase(): Error: [${error}]`;
|
|
6237
|
+
this.#options.logger.error(message);
|
|
6238
|
+
throw new Error(message);
|
|
6239
|
+
}
|
|
6229
6240
|
}
|
|
6230
6241
|
GetFhirResourceController = () => {
|
|
6231
6242
|
return this.#dbSTSResource;
|
|
@@ -6233,179 +6244,177 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6233
6244
|
GetFhirResourceVersionController = () => {
|
|
6234
6245
|
return this.#dbSTSResourceVersion;
|
|
6235
6246
|
};
|
|
6247
|
+
async DeleteAllIndexes(client, data) {
|
|
6248
|
+
try {
|
|
6249
|
+
await client.query(`
|
|
6250
|
+
DELETE FROM stsresfhirlink WHERE RES_ID = $1 AND RES_TYPE = $2;
|
|
6251
|
+
DELETE FROM stsresfhirstring WHERE RES_ID = $1 AND RES_TYPE = $2;
|
|
6252
|
+
DELETE FROM stsresfhirtoken WHERE RES_ID = $1 AND RES_TYPE = $2;
|
|
6253
|
+
DELETE FROM stsresfhirquantity WHERE RES_ID = $1 AND RES_TYPE = $2;
|
|
6254
|
+
DELETE FROM stsresfhirnumber WHERE RES_ID = $1 AND RES_TYPE = $2;
|
|
6255
|
+
DELETE FROM stsresfhirdate WHERE RES_ID = $1 AND RES_TYPE = $2;
|
|
6256
|
+
DELETE FROM stsresfhiruri WHERE RES_ID = $1 AND RES_TYPE = $2;
|
|
6257
|
+
DELETE FROM stsresfhircombo WHERE RES_ID = $1 AND RES_TYPE = $2;
|
|
6258
|
+
`, [data.RES_ID, data.RES_TYPE]);
|
|
6259
|
+
} catch (error) {
|
|
6260
|
+
const message = `PGFhirAccessLayer:DeleteAllIndexes(): Error: [${error}]`;
|
|
6261
|
+
this.#options.logger.error(message);
|
|
6262
|
+
throw new Error(message);
|
|
6263
|
+
}
|
|
6264
|
+
}
|
|
6236
6265
|
UpdateIndexes = async (client, resource) => {
|
|
6237
6266
|
let start = performance.now();
|
|
6238
6267
|
const oa = start;
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
|
|
6245
|
-
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
|
|
6250
|
-
|
|
6251
|
-
|
|
6252
|
-
|
|
6253
|
-
}
|
|
6254
|
-
|
|
6255
|
-
|
|
6256
|
-
|
|
6257
|
-
|
|
6258
|
-
|
|
6259
|
-
};
|
|
6260
|
-
const InsertResourceUriRecord = async (client, uriRecord) => {
|
|
6261
|
-
await this.#dbSTSUri.InsertRecord(client, uriRecord);
|
|
6262
|
-
};
|
|
6263
|
-
const InsertResourceComboRecord = async (client, comboRecord) => {
|
|
6264
|
-
await this.#dbSTSCombo.InsertRecord(client, comboRecord);
|
|
6265
|
-
};
|
|
6266
|
-
await this.#dbSTSResourceLink.DeleteResourceLinkRecord(client, {
|
|
6267
|
-
RES_ID: resource.id,
|
|
6268
|
-
RES_TYPE: resource.resourceType
|
|
6269
|
-
});
|
|
6270
|
-
await this.#dbSTSString.DeleteRecord(client, {
|
|
6271
|
-
RES_ID: resource.id,
|
|
6272
|
-
RES_TYPE: resource.resourceType
|
|
6273
|
-
});
|
|
6274
|
-
await this.#dbSTSToken.DeleteRecord(client, {
|
|
6275
|
-
RES_ID: resource.id,
|
|
6276
|
-
RES_TYPE: resource.resourceType
|
|
6277
|
-
});
|
|
6278
|
-
await this.#dbSTSQuantity.DeleteRecord(client, {
|
|
6279
|
-
RES_ID: resource.id,
|
|
6280
|
-
RES_TYPE: resource.resourceType
|
|
6281
|
-
});
|
|
6282
|
-
await this.#dbSTSNumber.DeleteRecord(client, {
|
|
6283
|
-
RES_ID: resource.id,
|
|
6284
|
-
RES_TYPE: resource.resourceType
|
|
6285
|
-
});
|
|
6286
|
-
await this.#dbSTSDate.DeleteRecord(client, {
|
|
6287
|
-
RES_ID: resource.id,
|
|
6288
|
-
RES_TYPE: resource.resourceType
|
|
6289
|
-
});
|
|
6290
|
-
await this.#dbSTSUri.DeleteRecord(client, {
|
|
6291
|
-
RES_ID: resource.id,
|
|
6292
|
-
RES_TYPE: resource.resourceType
|
|
6293
|
-
});
|
|
6294
|
-
await this.#dbSTSCombo.DeleteRecord(client, {
|
|
6295
|
-
RES_ID: resource.id,
|
|
6296
|
-
RES_TYPE: resource.resourceType
|
|
6297
|
-
});
|
|
6298
|
-
const lap2 = performance.now() - start;
|
|
6299
|
-
start = performance.now();
|
|
6268
|
+
let lap1;
|
|
6269
|
+
let lap2;
|
|
6270
|
+
let lap3;
|
|
6271
|
+
let searchIndexData;
|
|
6272
|
+
try {
|
|
6273
|
+
searchIndexData = await this.#dbSearchIndex.GetSearchIndexData(resource);
|
|
6274
|
+
lap1 = performance.now() - start;
|
|
6275
|
+
start = performance.now();
|
|
6276
|
+
await this.DeleteAllIndexes(client, {
|
|
6277
|
+
RES_ID: resource.id,
|
|
6278
|
+
RES_TYPE: resource.resourceType
|
|
6279
|
+
});
|
|
6280
|
+
lap2 = performance.now() - start;
|
|
6281
|
+
start = performance.now();
|
|
6282
|
+
} catch (error) {
|
|
6283
|
+
const message = `PGFhirAccessLayer:UpdateIndexes():lap1: Error: [${error}]`;
|
|
6284
|
+
this.#options.logger.error(message);
|
|
6285
|
+
throw new Error(message);
|
|
6286
|
+
}
|
|
6287
|
+
let si = void 0;
|
|
6300
6288
|
try {
|
|
6301
6289
|
for (let i = 0; i < searchIndexData.length; i++) {
|
|
6302
|
-
|
|
6290
|
+
si = searchIndexData[i];
|
|
6303
6291
|
performance.now();
|
|
6304
|
-
if (si && si.SP_MISSING) {}
|
|
6305
6292
|
switch (si.SP_PARAM_TYPE) {
|
|
6306
6293
|
case "reference":
|
|
6307
|
-
await
|
|
6294
|
+
await this.#dbSTSResourceLink.InsertResourceLink(client, si);
|
|
6308
6295
|
break;
|
|
6309
6296
|
case "string":
|
|
6310
|
-
await
|
|
6297
|
+
await this.#dbSTSString.InsertRecord(client, si);
|
|
6311
6298
|
break;
|
|
6312
6299
|
case "token":
|
|
6313
|
-
await
|
|
6300
|
+
await this.#dbSTSToken.InsertRecord(client, si);
|
|
6314
6301
|
break;
|
|
6315
6302
|
case "quantity":
|
|
6316
|
-
await
|
|
6303
|
+
await this.#dbSTSQuantity.InsertRecord(client, si);
|
|
6317
6304
|
break;
|
|
6318
6305
|
case "number":
|
|
6319
|
-
await
|
|
6306
|
+
await this.#dbSTSNumber.InsertRecord(client, si);
|
|
6320
6307
|
break;
|
|
6321
6308
|
case "date":
|
|
6322
|
-
await
|
|
6309
|
+
await this.#dbSTSDate.InsertRecord(client, si);
|
|
6323
6310
|
break;
|
|
6324
6311
|
case "uri":
|
|
6325
|
-
await
|
|
6312
|
+
await this.#dbSTSUri.InsertRecord(client, si);
|
|
6326
6313
|
break;
|
|
6327
6314
|
case "composite":
|
|
6328
|
-
await
|
|
6315
|
+
await this.#dbSTSCombo.InsertRecord(client, si);
|
|
6329
6316
|
break;
|
|
6330
6317
|
default:
|
|
6331
6318
|
}
|
|
6332
6319
|
}
|
|
6333
6320
|
} catch (error) {
|
|
6334
|
-
|
|
6321
|
+
let message;
|
|
6322
|
+
if (si) message = `PGFhirAccessLayer:UpdateIndexes():lap2: Param Type: [${si.SP_PARAM_TYPE}], Error: [${error}]`;
|
|
6323
|
+
else message = `PGFhirAccessLayer:UpdateIndexes():lap2: Param Type: [undefined], Error: [${error}]`;
|
|
6324
|
+
this.#options.logger.error(message);
|
|
6325
|
+
throw new Error(message);
|
|
6335
6326
|
}
|
|
6336
|
-
|
|
6327
|
+
lap3 = performance.now() - start;
|
|
6337
6328
|
const total = performance.now() - oa;
|
|
6338
|
-
|
|
6339
|
-
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
|
|
6329
|
+
try {
|
|
6330
|
+
if (total > 1e3) console.log(chalk.default.hex("#ff0400")(`--> Very Slow: O/A:[${total.toFixed(2)}] Index Calc:[${lap1.toFixed(2)}] Delete:[${lap2.toFixed(2)}] Insert:[${lap3.toFixed(2)}] ResourceType: [${resource.resourceType}]`));
|
|
6331
|
+
else if (total > 100) console.log(chalk.default.hex("#E33A36")(`--> Slow: O/A:[${total.toFixed(2)}] Index Calc:[${lap1.toFixed(2)}] Delete:[${lap2.toFixed(2)}] Insert:[${lap3.toFixed(2)}] ResourceType: [${resource.resourceType}]`));
|
|
6332
|
+
else if (total > 75) console.log(chalk.default.hex("#e27270")(`--> Slow: O/A:[${total.toFixed(2)}] Index Calc:[${lap1.toFixed(2)}] Delete:[${lap2.toFixed(2)}] Insert:[${lap3.toFixed(2)}] ResourceType: [${resource.resourceType}]`));
|
|
6333
|
+
else if (total > 50) console.log(chalk.default.hex("#e2c3c2")(`--> Slow: O/A:[${total.toFixed(2)}] Index Calc:[${lap1.toFixed(2)}] Delete:[${lap2.toFixed(2)}] Insert:[${lap3.toFixed(2)}] ResourceType: [${resource.resourceType}]`));
|
|
6334
|
+
} catch (error) {
|
|
6335
|
+
const message = `PGFhirAccessLayer:UpdateIndexes():lap3: Error: [${error}]`;
|
|
6336
|
+
this.#options.logger.error(message);
|
|
6337
|
+
throw new Error(message);
|
|
6338
|
+
}
|
|
6346
6339
|
};
|
|
6347
6340
|
BeginTransaction = async () => {
|
|
6348
|
-
if (this.#poolManager)
|
|
6349
|
-
const
|
|
6350
|
-
|
|
6351
|
-
|
|
6352
|
-
|
|
6353
|
-
|
|
6354
|
-
|
|
6355
|
-
|
|
6356
|
-
|
|
6357
|
-
client.release();
|
|
6358
|
-
delete this.#transactions[transactionHandle];
|
|
6359
|
-
}, this.#maxTransactionTime)
|
|
6360
|
-
};
|
|
6361
|
-
return transactionHandle;
|
|
6362
|
-
} catch (error) {
|
|
6363
|
-
console.error(error);
|
|
6364
|
-
client.release();
|
|
6365
|
-
}
|
|
6341
|
+
if (!this.#poolManager) {
|
|
6342
|
+
const errorMessage = `PGFhirAccessLayer:BeginTransaction(): poolManager not set`;
|
|
6343
|
+
this.#options.logger.error(errorMessage);
|
|
6344
|
+
throw new Error(errorMessage);
|
|
6345
|
+
}
|
|
6346
|
+
let transactionHandle = (0, node_crypto.randomUUID)();
|
|
6347
|
+
let client;
|
|
6348
|
+
try {
|
|
6349
|
+
client = await this.#poolManager.connectReadWrite();
|
|
6366
6350
|
} catch (error) {
|
|
6367
|
-
|
|
6351
|
+
const errorMessage = `PGFhirAccessLayer:BeginTransaction(): connectReadWrite: Error: [${error}]`;
|
|
6352
|
+
this.#options.logger.error(errorMessage);
|
|
6353
|
+
throw new Error(errorMessage);
|
|
6354
|
+
}
|
|
6355
|
+
try {
|
|
6356
|
+
await client.query("BEGIN");
|
|
6357
|
+
this.#transactions[transactionHandle] = {
|
|
6358
|
+
client,
|
|
6359
|
+
timeout: setTimeout(async () => {
|
|
6360
|
+
await this.#transactions[transactionHandle].client.query("ROLLBACK");
|
|
6361
|
+
client.release();
|
|
6362
|
+
delete this.#transactions[transactionHandle];
|
|
6363
|
+
const errorMessage = `PGFhirAccessLayer:BeginTransaction(): Error: [Transaction [${transactionHandle}] timeout. Timeout value: [${this.#maxTransactionTime}]]`;
|
|
6364
|
+
this.#options.logger.error(errorMessage);
|
|
6365
|
+
}, this.#maxTransactionTime)
|
|
6366
|
+
};
|
|
6367
|
+
return transactionHandle;
|
|
6368
|
+
} catch (error) {
|
|
6369
|
+
client.release();
|
|
6370
|
+
const errorMessage = `PGFhirAccessLayer:BeginTransaction(): Error: [${error}]`;
|
|
6371
|
+
this.#options.logger.error(errorMessage);
|
|
6372
|
+
throw new Error(errorMessage);
|
|
6368
6373
|
}
|
|
6369
6374
|
};
|
|
6370
6375
|
CommitTransaction = async (transactionHandle) => {
|
|
6371
6376
|
if (this.#transactions[transactionHandle]) {
|
|
6372
|
-
|
|
6373
|
-
const client = this.#transactions[transactionHandle].client;
|
|
6377
|
+
let client = void 0;
|
|
6374
6378
|
try {
|
|
6379
|
+
clearInterval(this.#transactions[transactionHandle].timeout);
|
|
6380
|
+
client = this.#transactions[transactionHandle].client;
|
|
6375
6381
|
await client.query("COMMIT");
|
|
6376
6382
|
client.release();
|
|
6377
6383
|
delete this.#transactions[transactionHandle];
|
|
6378
6384
|
return true;
|
|
6379
6385
|
} catch (error) {
|
|
6380
|
-
|
|
6381
|
-
client.release();
|
|
6386
|
+
if (client) client.release();
|
|
6382
6387
|
delete this.#transactions[transactionHandle];
|
|
6383
|
-
|
|
6388
|
+
const errorMessage = `PGFhirAccessLayer:CommitTransaction(): Error: [${error}]`;
|
|
6389
|
+
this.#options.logger.error(errorMessage);
|
|
6390
|
+
throw new Error(errorMessage);
|
|
6384
6391
|
}
|
|
6385
6392
|
}
|
|
6386
6393
|
return false;
|
|
6387
6394
|
};
|
|
6388
6395
|
RollbackTransaction = async (transactionHandle) => {
|
|
6389
6396
|
if (this.#transactions[transactionHandle]) {
|
|
6390
|
-
|
|
6391
|
-
const client = this.#transactions[transactionHandle].client;
|
|
6397
|
+
let client = void 0;
|
|
6392
6398
|
try {
|
|
6399
|
+
clearInterval(this.#transactions[transactionHandle].timeout);
|
|
6400
|
+
client = this.#transactions[transactionHandle].client;
|
|
6393
6401
|
await client.query("ROLLBACK");
|
|
6394
6402
|
client.release();
|
|
6395
6403
|
delete this.#transactions[transactionHandle];
|
|
6396
6404
|
return true;
|
|
6397
6405
|
} catch (error) {
|
|
6398
|
-
|
|
6399
|
-
client.release();
|
|
6406
|
+
if (client) client.release();
|
|
6400
6407
|
delete this.#transactions[transactionHandle];
|
|
6401
|
-
|
|
6408
|
+
const errorMessage = `PGFhirAccessLayer:RollbackTransaction(): Error: [${error}]`;
|
|
6409
|
+
this.#options.logger.error(errorMessage);
|
|
6410
|
+
throw new Error(errorMessage);
|
|
6402
6411
|
}
|
|
6403
6412
|
}
|
|
6404
6413
|
return false;
|
|
6405
6414
|
};
|
|
6406
6415
|
CreateResource = async (resource, transactionHandle) => {
|
|
6407
6416
|
if (!this.#poolManager) {
|
|
6408
|
-
const errorMessage = `CreateResource(): poolManager not set`;
|
|
6417
|
+
const errorMessage = `PGFhirAccessLayer:CreateResource(): poolManager not set`;
|
|
6409
6418
|
this.#options.logger.error(errorMessage);
|
|
6410
6419
|
throw new Error(errorMessage);
|
|
6411
6420
|
}
|
|
@@ -6420,7 +6429,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6420
6429
|
useTransaction = true;
|
|
6421
6430
|
}
|
|
6422
6431
|
} catch (error) {
|
|
6423
|
-
const errorMessage = `CreateResource(): Could not get connection: Error: [${error}]`;
|
|
6432
|
+
const errorMessage = `PGFhirAccessLayer:CreateResource(): Could not get connection: Error: [${error}]`;
|
|
6424
6433
|
this.#options.logger.error(errorMessage);
|
|
6425
6434
|
throw new Error(errorMessage);
|
|
6426
6435
|
}
|
|
@@ -6441,7 +6450,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6441
6450
|
RES_UPDATED: now
|
|
6442
6451
|
});
|
|
6443
6452
|
if (newVersion === void 0) {
|
|
6444
|
-
const errorMessage = `CreateResource(): Version Conflict. newVersion is undefined.`;
|
|
6453
|
+
const errorMessage = `PGFhirAccessLayer:CreateResource(): Version Conflict. newVersion is undefined.`;
|
|
6445
6454
|
this.#options.logger.error(errorMessage);
|
|
6446
6455
|
throw new Error(errorMessage);
|
|
6447
6456
|
}
|
|
@@ -6459,7 +6468,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6459
6468
|
OPERATION: "POST",
|
|
6460
6469
|
RES
|
|
6461
6470
|
}) === void 0) {
|
|
6462
|
-
const errorMessage = `CreateResource(): Version Conflict. resourceVersionRunResult is undefined.`;
|
|
6471
|
+
const errorMessage = `PGFhirAccessLayer:CreateResource(): Version Conflict. resourceVersionRunResult is undefined.`;
|
|
6463
6472
|
this.#options.logger.error(errorMessage);
|
|
6464
6473
|
throw new Error(errorMessage);
|
|
6465
6474
|
}
|
|
@@ -6469,7 +6478,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6469
6478
|
return resource;
|
|
6470
6479
|
} catch (error) {
|
|
6471
6480
|
if (useTransaction) await client.query("ROLLBACK");
|
|
6472
|
-
const errorMessage = `CreateResource(): Error: [${error}]`;
|
|
6481
|
+
const errorMessage = `PGFhirAccessLayer:CreateResource(): Error: [${error}]`;
|
|
6473
6482
|
this.#options.logger.error(errorMessage);
|
|
6474
6483
|
throw new Error(errorMessage);
|
|
6475
6484
|
} finally {
|
|
@@ -6478,7 +6487,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6478
6487
|
};
|
|
6479
6488
|
UpdateResource = async (resource, RES_VER, operation, transactionHandle) => {
|
|
6480
6489
|
if (!this.#poolManager) {
|
|
6481
|
-
const errorMessage = `UpdateResource(): poolManager not set`;
|
|
6490
|
+
const errorMessage = `PGFhirAccessLayer:UpdateResource(): poolManager not set`;
|
|
6482
6491
|
this.#options.logger.error(errorMessage);
|
|
6483
6492
|
throw new Error(errorMessage);
|
|
6484
6493
|
}
|
|
@@ -6493,7 +6502,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6493
6502
|
useTransaction = true;
|
|
6494
6503
|
}
|
|
6495
6504
|
} catch (error) {
|
|
6496
|
-
const errorMessage = `UpdateResource(): Could not get connection: Error: [${error}]`;
|
|
6505
|
+
const errorMessage = `PGFhirAccessLayer:UpdateResource(): Could not get connection: Error: [${error}]`;
|
|
6497
6506
|
this.#options.logger.error(errorMessage);
|
|
6498
6507
|
throw new Error(errorMessage);
|
|
6499
6508
|
}
|
|
@@ -6509,7 +6518,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6509
6518
|
RES_UPDATED: now
|
|
6510
6519
|
});
|
|
6511
6520
|
if (newVersion === void 0) {
|
|
6512
|
-
const errorMessage = `UpdateResource(): Version Conflict. newVersion is undefined. RES_VER: [${RES_VER}]`;
|
|
6521
|
+
const errorMessage = `PGFhirAccessLayer:UpdateResource(): Version Conflict. newVersion is undefined. RES_VER: [${RES_VER}]`;
|
|
6513
6522
|
this.#options.logger.error(errorMessage);
|
|
6514
6523
|
throw new Error(errorMessage);
|
|
6515
6524
|
}
|
|
@@ -6527,7 +6536,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6527
6536
|
OPERATION: operation,
|
|
6528
6537
|
RES
|
|
6529
6538
|
}) === void 0) {
|
|
6530
|
-
const errorMessage = `UpdateResource(): Version Conflict. resourceVersionRunResult is undefined. RES_VER: [${RES_VER}]`;
|
|
6539
|
+
const errorMessage = `PGFhirAccessLayer:UpdateResource(): Version Conflict. resourceVersionRunResult is undefined. RES_VER: [${RES_VER}]`;
|
|
6531
6540
|
this.#options.logger.error(errorMessage);
|
|
6532
6541
|
throw new Error(errorMessage);
|
|
6533
6542
|
}
|
|
@@ -6536,7 +6545,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6536
6545
|
return resource;
|
|
6537
6546
|
} catch (error) {
|
|
6538
6547
|
if (useTransaction) await client.query("ROLLBACK");
|
|
6539
|
-
const errorMessage = `UpdateResource(): Error: [${error}]`;
|
|
6548
|
+
const errorMessage = `PGFhirAccessLayer:UpdateResource(): Error: [${error}]`;
|
|
6540
6549
|
this.#options.logger.error(errorMessage);
|
|
6541
6550
|
throw new Error(errorMessage);
|
|
6542
6551
|
} finally {
|
|
@@ -6545,7 +6554,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6545
6554
|
};
|
|
6546
6555
|
DeleteResource = async (resource, RES_VER, transactionHandle) => {
|
|
6547
6556
|
if (!this.#poolManager) {
|
|
6548
|
-
const errorMessage = `DeleteResource(): poolManager not set`;
|
|
6557
|
+
const errorMessage = `PGFhirAccessLayer:DeleteResource(): poolManager not set`;
|
|
6549
6558
|
this.#options.logger.error(errorMessage);
|
|
6550
6559
|
throw new Error(errorMessage);
|
|
6551
6560
|
}
|
|
@@ -6560,7 +6569,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6560
6569
|
useTransaction = true;
|
|
6561
6570
|
}
|
|
6562
6571
|
} catch (error) {
|
|
6563
|
-
const errorMessage = `DeleteResource(): Could not get connection: Error: [${error}]`;
|
|
6572
|
+
const errorMessage = `PGFhirAccessLayer:DeleteResource(): Could not get connection: Error: [${error}]`;
|
|
6564
6573
|
this.#options.logger.error(errorMessage);
|
|
6565
6574
|
throw new Error(errorMessage);
|
|
6566
6575
|
}
|
|
@@ -6577,7 +6586,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6577
6586
|
RES_UPDATED: now
|
|
6578
6587
|
});
|
|
6579
6588
|
if (newVersion === void 0) {
|
|
6580
|
-
const errorMessage = `DeleteResource(): Version Conflict. newVersion is undefined. RES_VER: [${RES_VER}]`;
|
|
6589
|
+
const errorMessage = `PGFhirAccessLayer:DeleteResource(): Version Conflict. newVersion is undefined. RES_VER: [${RES_VER}]`;
|
|
6581
6590
|
this.#options.logger.error(errorMessage);
|
|
6582
6591
|
throw new Error(errorMessage);
|
|
6583
6592
|
}
|
|
@@ -6594,7 +6603,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6594
6603
|
OPERATION: "DELETE",
|
|
6595
6604
|
RES: ""
|
|
6596
6605
|
}) === void 0) {
|
|
6597
|
-
const errorMessage = `DeleteResource(): Version Conflict. resourceVersionRunResult is undefined. RES_VER: [${RES_VER}]`;
|
|
6606
|
+
const errorMessage = `PGFhirAccessLayer:DeleteResource(): Version Conflict. resourceVersionRunResult is undefined. RES_VER: [${RES_VER}]`;
|
|
6598
6607
|
this.#options.logger.error(errorMessage);
|
|
6599
6608
|
throw new Error(errorMessage);
|
|
6600
6609
|
}
|
|
@@ -6603,7 +6612,7 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6603
6612
|
return resource;
|
|
6604
6613
|
} catch (error) {
|
|
6605
6614
|
if (useTransaction) await client.query("ROLLBACK");
|
|
6606
|
-
const errorMessage = `DeleteResource(): Error: [${error}]`;
|
|
6615
|
+
const errorMessage = `PGFhirAccessLayer:DeleteResource(): Error: [${error}]`;
|
|
6607
6616
|
this.#options.logger.error(errorMessage);
|
|
6608
6617
|
throw new Error(errorMessage);
|
|
6609
6618
|
} finally {
|
|
@@ -6612,13 +6621,13 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6612
6621
|
};
|
|
6613
6622
|
ReadResourceRecord = async (RES_TYPE, RES_ID, transactionHandle) => {
|
|
6614
6623
|
if (!this.#poolManager) {
|
|
6615
|
-
const errorMessage = `ReadResourceRecord(): poolManager not set`;
|
|
6624
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceRecord(): poolManager not set`;
|
|
6616
6625
|
this.#options.logger.error(errorMessage);
|
|
6617
6626
|
throw new Error(errorMessage);
|
|
6618
6627
|
}
|
|
6628
|
+
let client;
|
|
6629
|
+
let useTransaction;
|
|
6619
6630
|
try {
|
|
6620
|
-
let client;
|
|
6621
|
-
let useTransaction;
|
|
6622
6631
|
if (transactionHandle && this.#transactions[transactionHandle]) {
|
|
6623
6632
|
client = this.#transactions[transactionHandle].client;
|
|
6624
6633
|
useTransaction = false;
|
|
@@ -6626,39 +6635,43 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6626
6635
|
client = await this.#poolManager.connectReadOnly();
|
|
6627
6636
|
useTransaction = true;
|
|
6628
6637
|
}
|
|
6629
|
-
try {
|
|
6630
|
-
return (await client.query(`
|
|
6631
|
-
SELECT
|
|
6632
|
-
r.*, v.* FROM stsresfhir r
|
|
6633
|
-
JOIN
|
|
6634
|
-
stsresfhirver v
|
|
6635
|
-
ON
|
|
6636
|
-
r.RES_ID = v.RES_ID AND
|
|
6637
|
-
r.RES_TYPE = v.RES_TYPE AND
|
|
6638
|
-
r.RES_VER = v.RES_VER
|
|
6639
|
-
WHERE
|
|
6640
|
-
r.RES_ID = $1 AND
|
|
6641
|
-
r.RES_TYPE = $2 AND
|
|
6642
|
-
r.RES_DELETED_AT IS NULL
|
|
6643
|
-
`, [RES_ID, RES_TYPE])).rows[0];
|
|
6644
|
-
} catch (error) {
|
|
6645
|
-
_nsshunt_stsutils.defaultLogger.error(`DBSTSResource:ReadResourceRecord(): Query Error: [${error}]`);
|
|
6646
|
-
} finally {
|
|
6647
|
-
if (useTransaction) client.release();
|
|
6648
|
-
}
|
|
6649
6638
|
} catch (error) {
|
|
6650
|
-
|
|
6639
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceRecord(): Connection Error: [${error}]`;
|
|
6640
|
+
this.#options.logger.error(errorMessage);
|
|
6641
|
+
throw new Error(errorMessage);
|
|
6642
|
+
}
|
|
6643
|
+
try {
|
|
6644
|
+
return (await client.query(`
|
|
6645
|
+
SELECT
|
|
6646
|
+
r.*, v.* FROM stsresfhir r
|
|
6647
|
+
JOIN
|
|
6648
|
+
stsresfhirver v
|
|
6649
|
+
ON
|
|
6650
|
+
r.RES_ID = v.RES_ID AND
|
|
6651
|
+
r.RES_TYPE = v.RES_TYPE AND
|
|
6652
|
+
r.RES_VER = v.RES_VER
|
|
6653
|
+
WHERE
|
|
6654
|
+
r.RES_ID = $1 AND
|
|
6655
|
+
r.RES_TYPE = $2 AND
|
|
6656
|
+
r.RES_DELETED_AT IS NULL
|
|
6657
|
+
`, [RES_ID, RES_TYPE])).rows[0];
|
|
6658
|
+
} catch (error) {
|
|
6659
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceRecord(): Query Error: [${error}]`;
|
|
6660
|
+
this.#options.logger.error(errorMessage);
|
|
6661
|
+
throw new Error(errorMessage);
|
|
6662
|
+
} finally {
|
|
6663
|
+
if (useTransaction) client.release();
|
|
6651
6664
|
}
|
|
6652
6665
|
};
|
|
6653
6666
|
ReadResourceRecordWithVersion = async (RES_TYPE, RES_ID, RES_VER, transactionHandle) => {
|
|
6654
6667
|
if (!this.#poolManager) {
|
|
6655
|
-
const errorMessage = `ReadResourceRecordWithVersion(): poolManager not set`;
|
|
6668
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceRecordWithVersion(): poolManager not set`;
|
|
6656
6669
|
this.#options.logger.error(errorMessage);
|
|
6657
6670
|
throw new Error(errorMessage);
|
|
6658
6671
|
}
|
|
6672
|
+
let client;
|
|
6673
|
+
let useTransaction;
|
|
6659
6674
|
try {
|
|
6660
|
-
let client;
|
|
6661
|
-
let useTransaction;
|
|
6662
6675
|
if (transactionHandle && this.#transactions[transactionHandle]) {
|
|
6663
6676
|
client = this.#transactions[transactionHandle].client;
|
|
6664
6677
|
useTransaction = false;
|
|
@@ -6666,42 +6679,46 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6666
6679
|
client = await this.#poolManager.connectReadOnly();
|
|
6667
6680
|
useTransaction = true;
|
|
6668
6681
|
}
|
|
6669
|
-
try {
|
|
6670
|
-
return (await client.query(`
|
|
6671
|
-
SELECT
|
|
6672
|
-
r.*, v.*, r.res_ver as R_res_ver, v.res_ver as V_res_ver FROM stsresfhir r
|
|
6673
|
-
JOIN
|
|
6674
|
-
stsresfhirver v
|
|
6675
|
-
ON
|
|
6676
|
-
r.RES_ID = v.RES_ID AND
|
|
6677
|
-
r.RES_TYPE = v.RES_TYPE
|
|
6678
|
-
WHERE
|
|
6679
|
-
r.RES_ID = $1 AND
|
|
6680
|
-
r.RES_TYPE = $2 AND
|
|
6681
|
-
v.RES_VER = $3
|
|
6682
|
-
`, [
|
|
6683
|
-
RES_ID,
|
|
6684
|
-
RES_TYPE,
|
|
6685
|
-
RES_VER
|
|
6686
|
-
])).rows[0];
|
|
6687
|
-
} catch (error) {
|
|
6688
|
-
_nsshunt_stsutils.defaultLogger.error(`DBSTSResource:ReadResourceRecord(): Query Error: [${error}]`);
|
|
6689
|
-
} finally {
|
|
6690
|
-
if (useTransaction) client.release();
|
|
6691
|
-
}
|
|
6692
6682
|
} catch (error) {
|
|
6693
|
-
|
|
6683
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceRecordWithVersion(): Connection Error: [${error}]`;
|
|
6684
|
+
this.#options.logger.error(errorMessage);
|
|
6685
|
+
throw new Error(errorMessage);
|
|
6686
|
+
}
|
|
6687
|
+
try {
|
|
6688
|
+
return (await client.query(`
|
|
6689
|
+
SELECT
|
|
6690
|
+
r.*, v.*, r.res_ver as R_res_ver, v.res_ver as V_res_ver FROM stsresfhir r
|
|
6691
|
+
JOIN
|
|
6692
|
+
stsresfhirver v
|
|
6693
|
+
ON
|
|
6694
|
+
r.RES_ID = v.RES_ID AND
|
|
6695
|
+
r.RES_TYPE = v.RES_TYPE
|
|
6696
|
+
WHERE
|
|
6697
|
+
r.RES_ID = $1 AND
|
|
6698
|
+
r.RES_TYPE = $2 AND
|
|
6699
|
+
v.RES_VER = $3
|
|
6700
|
+
`, [
|
|
6701
|
+
RES_ID,
|
|
6702
|
+
RES_TYPE,
|
|
6703
|
+
RES_VER
|
|
6704
|
+
])).rows[0];
|
|
6705
|
+
} catch (error) {
|
|
6706
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceRecordWithVersion(): Query Error: [${error}]`;
|
|
6707
|
+
this.#options.logger.error(errorMessage);
|
|
6708
|
+
throw new Error(errorMessage);
|
|
6709
|
+
} finally {
|
|
6710
|
+
if (useTransaction) client.release();
|
|
6694
6711
|
}
|
|
6695
6712
|
};
|
|
6696
6713
|
ReadResourceInstanceWithAllVersions = async (RES_TYPE, RES_ID, transactionHandle) => {
|
|
6697
6714
|
if (!this.#poolManager) {
|
|
6698
|
-
const errorMessage = `ReadResourceInstanceWithAllVersions(): poolManager not set`;
|
|
6715
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceInstanceWithAllVersions(): poolManager not set`;
|
|
6699
6716
|
this.#options.logger.error(errorMessage);
|
|
6700
6717
|
throw new Error(errorMessage);
|
|
6701
6718
|
}
|
|
6719
|
+
let client;
|
|
6720
|
+
let useTransaction;
|
|
6702
6721
|
try {
|
|
6703
|
-
let client;
|
|
6704
|
-
let useTransaction;
|
|
6705
6722
|
if (transactionHandle && this.#transactions[transactionHandle]) {
|
|
6706
6723
|
client = this.#transactions[transactionHandle].client;
|
|
6707
6724
|
useTransaction = false;
|
|
@@ -6709,39 +6726,43 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6709
6726
|
client = await this.#poolManager.connectReadOnly();
|
|
6710
6727
|
useTransaction = true;
|
|
6711
6728
|
}
|
|
6712
|
-
try {
|
|
6713
|
-
return (await client.query(`
|
|
6714
|
-
SELECT
|
|
6715
|
-
r.*, v.*, r.res_ver as R_res_ver, v.res_ver as V_res_ver FROM stsresfhir r
|
|
6716
|
-
JOIN
|
|
6717
|
-
stsresfhirver v
|
|
6718
|
-
ON
|
|
6719
|
-
r.RES_ID = v.RES_ID AND
|
|
6720
|
-
r.RES_TYPE = v.RES_TYPE
|
|
6721
|
-
WHERE
|
|
6722
|
-
r.RES_ID = $1 AND
|
|
6723
|
-
r.RES_TYPE = $2
|
|
6724
|
-
ORDER BY
|
|
6725
|
-
v.RES_TYPE ASC, v.RES_ID ASC, v.RES_VER DESC
|
|
6726
|
-
`, [RES_ID, RES_TYPE])).rows;
|
|
6727
|
-
} catch (error) {
|
|
6728
|
-
_nsshunt_stsutils.defaultLogger.error(`DBSTSResource:ReadResourceRecord(): Query Error: [${error}]`);
|
|
6729
|
-
} finally {
|
|
6730
|
-
if (useTransaction) client.release();
|
|
6731
|
-
}
|
|
6732
6729
|
} catch (error) {
|
|
6733
|
-
|
|
6730
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceInstanceWithAllVersions(): Connection Error: [${error}]`;
|
|
6731
|
+
this.#options.logger.error(errorMessage);
|
|
6732
|
+
throw new Error(errorMessage);
|
|
6733
|
+
}
|
|
6734
|
+
try {
|
|
6735
|
+
return (await client.query(`
|
|
6736
|
+
SELECT
|
|
6737
|
+
r.*, v.*, r.res_ver as R_res_ver, v.res_ver as V_res_ver FROM stsresfhir r
|
|
6738
|
+
JOIN
|
|
6739
|
+
stsresfhirver v
|
|
6740
|
+
ON
|
|
6741
|
+
r.RES_ID = v.RES_ID AND
|
|
6742
|
+
r.RES_TYPE = v.RES_TYPE
|
|
6743
|
+
WHERE
|
|
6744
|
+
r.RES_ID = $1 AND
|
|
6745
|
+
r.RES_TYPE = $2
|
|
6746
|
+
ORDER BY
|
|
6747
|
+
v.RES_TYPE ASC, v.RES_ID ASC, v.RES_VER DESC
|
|
6748
|
+
`, [RES_ID, RES_TYPE])).rows;
|
|
6749
|
+
} catch (error) {
|
|
6750
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceInstanceWithAllVersions(): Query Error: [${error}]`;
|
|
6751
|
+
this.#options.logger.error(errorMessage);
|
|
6752
|
+
throw new Error(errorMessage);
|
|
6753
|
+
} finally {
|
|
6754
|
+
if (useTransaction) client.release();
|
|
6734
6755
|
}
|
|
6735
6756
|
};
|
|
6736
6757
|
ReadResourcesWithAllVersions = async (RES_TYPE, transactionHandle) => {
|
|
6737
6758
|
if (!this.#poolManager) {
|
|
6738
|
-
const errorMessage = `ReadResourcesWithAllVersions(): poolManager not set`;
|
|
6759
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourcesWithAllVersions(): poolManager not set`;
|
|
6739
6760
|
this.#options.logger.error(errorMessage);
|
|
6740
6761
|
throw new Error(errorMessage);
|
|
6741
6762
|
}
|
|
6763
|
+
let client;
|
|
6764
|
+
let useTransaction;
|
|
6742
6765
|
try {
|
|
6743
|
-
let client;
|
|
6744
|
-
let useTransaction;
|
|
6745
6766
|
if (transactionHandle && this.#transactions[transactionHandle]) {
|
|
6746
6767
|
client = this.#transactions[transactionHandle].client;
|
|
6747
6768
|
useTransaction = false;
|
|
@@ -6749,38 +6770,42 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6749
6770
|
client = await this.#poolManager.connectReadOnly();
|
|
6750
6771
|
useTransaction = true;
|
|
6751
6772
|
}
|
|
6752
|
-
try {
|
|
6753
|
-
return (await client.query(`
|
|
6754
|
-
SELECT
|
|
6755
|
-
r.*, v.*, r.res_ver as R_res_ver, v.res_ver as V_res_ver FROM stsresfhir r
|
|
6756
|
-
JOIN
|
|
6757
|
-
stsresfhirver v
|
|
6758
|
-
ON
|
|
6759
|
-
r.RES_ID = v.RES_ID AND
|
|
6760
|
-
r.RES_TYPE = v.RES_TYPE
|
|
6761
|
-
WHERE
|
|
6762
|
-
r.RES_TYPE = $1
|
|
6763
|
-
ORDER BY
|
|
6764
|
-
v.RES_TYPE ASC, v.RES_ID ASC, v.RES_VER DESC
|
|
6765
|
-
`, [RES_TYPE])).rows;
|
|
6766
|
-
} catch (error) {
|
|
6767
|
-
_nsshunt_stsutils.defaultLogger.error(`DBSTSResource:ReadResourceRecord(): Query Error: [${error}]`);
|
|
6768
|
-
} finally {
|
|
6769
|
-
if (useTransaction) client.release();
|
|
6770
|
-
}
|
|
6771
6773
|
} catch (error) {
|
|
6772
|
-
|
|
6774
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourcesWithAllVersions(): Connection Error: [${error}]`;
|
|
6775
|
+
this.#options.logger.error(errorMessage);
|
|
6776
|
+
throw new Error(errorMessage);
|
|
6777
|
+
}
|
|
6778
|
+
try {
|
|
6779
|
+
return (await client.query(`
|
|
6780
|
+
SELECT
|
|
6781
|
+
r.*, v.*, r.res_ver as R_res_ver, v.res_ver as V_res_ver FROM stsresfhir r
|
|
6782
|
+
JOIN
|
|
6783
|
+
stsresfhirver v
|
|
6784
|
+
ON
|
|
6785
|
+
r.RES_ID = v.RES_ID AND
|
|
6786
|
+
r.RES_TYPE = v.RES_TYPE
|
|
6787
|
+
WHERE
|
|
6788
|
+
r.RES_TYPE = $1
|
|
6789
|
+
ORDER BY
|
|
6790
|
+
v.RES_TYPE ASC, v.RES_ID ASC, v.RES_VER DESC
|
|
6791
|
+
`, [RES_TYPE])).rows;
|
|
6792
|
+
} catch (error) {
|
|
6793
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourcesWithAllVersions(): Query Error: [${error}]`;
|
|
6794
|
+
this.#options.logger.error(errorMessage);
|
|
6795
|
+
throw new Error(errorMessage);
|
|
6796
|
+
} finally {
|
|
6797
|
+
if (useTransaction) client.release();
|
|
6773
6798
|
}
|
|
6774
6799
|
};
|
|
6775
6800
|
ReadAllResourcesWithVersions = async (transactionHandle) => {
|
|
6776
6801
|
if (!this.#poolManager) {
|
|
6777
|
-
const errorMessage = `ReadAllResourcesWithVersions(): poolManager not set`;
|
|
6802
|
+
const errorMessage = `PGFhirAccessLayer:ReadAllResourcesWithVersions(): poolManager not set`;
|
|
6778
6803
|
this.#options.logger.error(errorMessage);
|
|
6779
6804
|
throw new Error(errorMessage);
|
|
6780
6805
|
}
|
|
6806
|
+
let client;
|
|
6807
|
+
let useTransaction;
|
|
6781
6808
|
try {
|
|
6782
|
-
let client;
|
|
6783
|
-
let useTransaction;
|
|
6784
6809
|
if (transactionHandle && this.#transactions[transactionHandle]) {
|
|
6785
6810
|
client = this.#transactions[transactionHandle].client;
|
|
6786
6811
|
useTransaction = false;
|
|
@@ -6788,25 +6813,29 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6788
6813
|
client = await this.#poolManager.connectReadOnly();
|
|
6789
6814
|
useTransaction = true;
|
|
6790
6815
|
}
|
|
6791
|
-
try {
|
|
6792
|
-
return (await client.query(`
|
|
6793
|
-
SELECT
|
|
6794
|
-
r.*, v.* FROM stsresfhir r
|
|
6795
|
-
JOIN
|
|
6796
|
-
stsresfhirver v
|
|
6797
|
-
ON
|
|
6798
|
-
r.RES_ID = v.RES_ID AND
|
|
6799
|
-
r.RES_TYPE = v.RES_TYPE AND
|
|
6800
|
-
ORDER BY
|
|
6801
|
-
v.RES_TYPE ASC, v.RES_ID ASC, v.RES_VER DESC
|
|
6802
|
-
`)).rows;
|
|
6803
|
-
} catch (error) {
|
|
6804
|
-
_nsshunt_stsutils.defaultLogger.error(`DBSTSResource:ReadResourceRecord(): Query Error: [${error}]`);
|
|
6805
|
-
} finally {
|
|
6806
|
-
if (useTransaction) client.release();
|
|
6807
|
-
}
|
|
6808
6816
|
} catch (error) {
|
|
6809
|
-
|
|
6817
|
+
const errorMessage = `PGFhirAccessLayer:ReadAllResourcesWithVersions(): Connection Error: [${error}]`;
|
|
6818
|
+
this.#options.logger.error(errorMessage);
|
|
6819
|
+
throw new Error(errorMessage);
|
|
6820
|
+
}
|
|
6821
|
+
try {
|
|
6822
|
+
return (await client.query(`
|
|
6823
|
+
SELECT
|
|
6824
|
+
r.*, v.* FROM stsresfhir r
|
|
6825
|
+
JOIN
|
|
6826
|
+
stsresfhirver v
|
|
6827
|
+
ON
|
|
6828
|
+
r.RES_ID = v.RES_ID AND
|
|
6829
|
+
r.RES_TYPE = v.RES_TYPE AND
|
|
6830
|
+
ORDER BY
|
|
6831
|
+
v.RES_TYPE ASC, v.RES_ID ASC, v.RES_VER DESC
|
|
6832
|
+
`)).rows;
|
|
6833
|
+
} catch (error) {
|
|
6834
|
+
const errorMessage = `PGFhirAccessLayer:ReadAllResourcesWithVersions(): Query Error: [${error}]`;
|
|
6835
|
+
this.#options.logger.error(errorMessage);
|
|
6836
|
+
throw new Error(errorMessage);
|
|
6837
|
+
} finally {
|
|
6838
|
+
if (useTransaction) client.release();
|
|
6810
6839
|
}
|
|
6811
6840
|
};
|
|
6812
6841
|
ReadAllResourceVersionRecord = () => {
|
|
@@ -6814,23 +6843,23 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6814
6843
|
};
|
|
6815
6844
|
ReadResourceIndexes = async (resource, transactionHandle) => {
|
|
6816
6845
|
if (!this.#poolManager) {
|
|
6817
|
-
const errorMessage = `ReadResourceIndexes(): poolManager not set`;
|
|
6846
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceIndexes(): poolManager not set`;
|
|
6818
6847
|
this.#options.logger.error(errorMessage);
|
|
6819
6848
|
throw new Error(errorMessage);
|
|
6820
6849
|
}
|
|
6850
|
+
let client;
|
|
6851
|
+
let useTransaction;
|
|
6852
|
+
const resultSet = {
|
|
6853
|
+
"stsresfhirlink": [],
|
|
6854
|
+
"stsresfhirstring": [],
|
|
6855
|
+
"stsresfhirtoken": [],
|
|
6856
|
+
"stsresfhirquantity": [],
|
|
6857
|
+
"stsresfhirnumber": [],
|
|
6858
|
+
"stsresfhirdate": [],
|
|
6859
|
+
"stsresfhiruri": [],
|
|
6860
|
+
"stsresfhircombo": []
|
|
6861
|
+
};
|
|
6821
6862
|
try {
|
|
6822
|
-
const resultSet = {
|
|
6823
|
-
"stsresfhirlink": [],
|
|
6824
|
-
"stsresfhirstring": [],
|
|
6825
|
-
"stsresfhirtoken": [],
|
|
6826
|
-
"stsresfhirquantity": [],
|
|
6827
|
-
"stsresfhirnumber": [],
|
|
6828
|
-
"stsresfhirdate": [],
|
|
6829
|
-
"stsresfhiruri": [],
|
|
6830
|
-
"stsresfhircombo": []
|
|
6831
|
-
};
|
|
6832
|
-
let client;
|
|
6833
|
-
let useTransaction;
|
|
6834
6863
|
if (transactionHandle && this.#transactions[transactionHandle]) {
|
|
6835
6864
|
client = this.#transactions[transactionHandle].client;
|
|
6836
6865
|
useTransaction = false;
|
|
@@ -6838,34 +6867,38 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6838
6867
|
client = await this.#poolManager.connectReadOnly();
|
|
6839
6868
|
useTransaction = true;
|
|
6840
6869
|
}
|
|
6841
|
-
try {
|
|
6842
|
-
resultSet["stsresfhirlink"] = await this.#dbSTSResourceLink.ReadResourceLinkByResourceIdRecord(client, resource.id, resource.resourceType);
|
|
6843
|
-
resultSet["stsresfhirstring"] = await this.#dbSTSString.ReadByResID(client, resource.id, resource.resourceType);
|
|
6844
|
-
resultSet["stsresfhirtoken"] = await this.#dbSTSToken.ReadByResID(client, resource.id, resource.resourceType);
|
|
6845
|
-
resultSet["stsresfhirquantity"] = await this.#dbSTSQuantity.ReadByResID(client, resource.id, resource.resourceType);
|
|
6846
|
-
resultSet["stsresfhirnumber"] = await this.#dbSTSNumber.ReadByResID(client, resource.id, resource.resourceType);
|
|
6847
|
-
resultSet["stsresfhirdate"] = await this.#dbSTSDate.ReadByResID(client, resource.id, resource.resourceType);
|
|
6848
|
-
resultSet["stsresfhiruri"] = await this.#dbSTSUri.ReadByResID(client, resource.id, resource.resourceType);
|
|
6849
|
-
resultSet["stsresfhircombo"] = await this.#dbSTSCombo.ReadByResID(client, resource.id, resource.resourceType);
|
|
6850
|
-
} catch (error) {
|
|
6851
|
-
_nsshunt_stsutils.defaultLogger.error(`DBSTSResource:ReadResourceIndexes(): Query Error: [${error}]`);
|
|
6852
|
-
} finally {
|
|
6853
|
-
if (useTransaction) client.release();
|
|
6854
|
-
}
|
|
6855
|
-
return resultSet;
|
|
6856
6870
|
} catch (error) {
|
|
6857
|
-
|
|
6871
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceIndexes(): Connection Error: [${error}]`;
|
|
6872
|
+
this.#options.logger.error(errorMessage);
|
|
6873
|
+
throw new Error(errorMessage);
|
|
6874
|
+
}
|
|
6875
|
+
try {
|
|
6876
|
+
resultSet["stsresfhirlink"] = await this.#dbSTSResourceLink.ReadResourceLinkByResourceIdRecord(client, resource.id, resource.resourceType);
|
|
6877
|
+
resultSet["stsresfhirstring"] = await this.#dbSTSString.ReadByResID(client, resource.id, resource.resourceType);
|
|
6878
|
+
resultSet["stsresfhirtoken"] = await this.#dbSTSToken.ReadByResID(client, resource.id, resource.resourceType);
|
|
6879
|
+
resultSet["stsresfhirquantity"] = await this.#dbSTSQuantity.ReadByResID(client, resource.id, resource.resourceType);
|
|
6880
|
+
resultSet["stsresfhirnumber"] = await this.#dbSTSNumber.ReadByResID(client, resource.id, resource.resourceType);
|
|
6881
|
+
resultSet["stsresfhirdate"] = await this.#dbSTSDate.ReadByResID(client, resource.id, resource.resourceType);
|
|
6882
|
+
resultSet["stsresfhiruri"] = await this.#dbSTSUri.ReadByResID(client, resource.id, resource.resourceType);
|
|
6883
|
+
resultSet["stsresfhircombo"] = await this.#dbSTSCombo.ReadByResID(client, resource.id, resource.resourceType);
|
|
6884
|
+
} catch (error) {
|
|
6885
|
+
const errorMessage = `PGFhirAccessLayer:ReadResourceIndexes(): Query Error: [${error}]`;
|
|
6886
|
+
this.#options.logger.error(errorMessage);
|
|
6887
|
+
throw new Error(errorMessage);
|
|
6888
|
+
} finally {
|
|
6889
|
+
if (useTransaction) client.release();
|
|
6858
6890
|
}
|
|
6891
|
+
return resultSet;
|
|
6859
6892
|
};
|
|
6860
6893
|
ExecuteReadQuery = async (queryData, transactionHandle) => {
|
|
6861
6894
|
if (!this.#poolManager) {
|
|
6862
|
-
const errorMessage = `ExecuteReadQuery(): poolManager not set`;
|
|
6895
|
+
const errorMessage = `PGFhirAccessLayer:ExecuteReadQuery(): poolManager not set`;
|
|
6863
6896
|
this.#options.logger.error(errorMessage);
|
|
6864
6897
|
throw new Error(errorMessage);
|
|
6865
6898
|
}
|
|
6899
|
+
let client;
|
|
6900
|
+
let useTransaction;
|
|
6866
6901
|
try {
|
|
6867
|
-
let client;
|
|
6868
|
-
let useTransaction;
|
|
6869
6902
|
if (transactionHandle && this.#transactions[transactionHandle]) {
|
|
6870
6903
|
client = this.#transactions[transactionHandle].client;
|
|
6871
6904
|
useTransaction = false;
|
|
@@ -6873,36 +6906,44 @@ var PGFhirAccessLayer = class extends tiny_emitter.TinyEmitter {
|
|
|
6873
6906
|
client = await this.#poolManager.connectReadOnly();
|
|
6874
6907
|
useTransaction = true;
|
|
6875
6908
|
}
|
|
6876
|
-
try {
|
|
6877
|
-
const { queryText, vals } = queryData;
|
|
6878
|
-
return (await client.query(queryText, vals)).rows;
|
|
6879
|
-
} catch (error) {
|
|
6880
|
-
_nsshunt_stsutils.defaultLogger.error(`DBSTSResource:ExecuteReadQuery(): Query Error: [${error}]`);
|
|
6881
|
-
} finally {
|
|
6882
|
-
if (useTransaction) client.release();
|
|
6883
|
-
}
|
|
6884
6909
|
} catch (error) {
|
|
6885
|
-
|
|
6910
|
+
const message = `PGFhirAccessLayer:ExecuteReadQuery(): Connection Error: [${error}]`;
|
|
6911
|
+
this.#options.logger.error(message);
|
|
6912
|
+
throw new Error(message);
|
|
6913
|
+
}
|
|
6914
|
+
try {
|
|
6915
|
+
const { queryText, vals } = queryData;
|
|
6916
|
+
return (await client.query(queryText, vals)).rows;
|
|
6917
|
+
} catch (error) {
|
|
6918
|
+
const message = `PGFhirAccessLayer:ExecuteReadQuery(): Query Error: [${error}]`;
|
|
6919
|
+
this.#options.logger.error(message);
|
|
6920
|
+
throw new Error(message);
|
|
6921
|
+
} finally {
|
|
6922
|
+
if (useTransaction) client.release();
|
|
6886
6923
|
}
|
|
6887
6924
|
};
|
|
6888
6925
|
TruncateAll = async () => {
|
|
6889
6926
|
if (!this.#poolManager) {
|
|
6890
|
-
const errorMessage = `TruncateAll(): poolManager not set`;
|
|
6927
|
+
const errorMessage = `PGFhirAccessLayer:TruncateAll(): poolManager not set`;
|
|
6891
6928
|
this.#options.logger.error(errorMessage);
|
|
6892
6929
|
throw new Error(errorMessage);
|
|
6893
6930
|
}
|
|
6931
|
+
let client;
|
|
6894
6932
|
try {
|
|
6895
|
-
let client;
|
|
6896
6933
|
client = await this.#poolManager.connectReadWrite();
|
|
6897
|
-
try {
|
|
6898
|
-
client.query("TRUNCATE TABLE stsresfhir, stsresfhirver, stsresfhirlink, stsresfhirstring, stsresfhirtoken, stsresfhirquantity, stsresfhirnumber, stsresfhiruri, stsresfhirdate, stsresfhircoords, stsresfhircombo");
|
|
6899
|
-
} catch (error) {
|
|
6900
|
-
_nsshunt_stsutils.defaultLogger.error(`DBSTSResource:TruncateAll(): Query Error: [${error}]`);
|
|
6901
|
-
} finally {
|
|
6902
|
-
client.release();
|
|
6903
|
-
}
|
|
6904
6934
|
} catch (error) {
|
|
6905
|
-
|
|
6935
|
+
const message = `PGFhirAccessLayer:TruncateAll(): Connection Error: [${error}]`;
|
|
6936
|
+
this.#options.logger.error(message);
|
|
6937
|
+
throw new Error(message);
|
|
6938
|
+
}
|
|
6939
|
+
try {
|
|
6940
|
+
client.query("TRUNCATE TABLE stsresfhir, stsresfhirver, stsresfhirlink, stsresfhirstring, stsresfhirtoken, stsresfhirquantity, stsresfhirnumber, stsresfhiruri, stsresfhirdate, stsresfhircoords, stsresfhircombo");
|
|
6941
|
+
} catch (error) {
|
|
6942
|
+
const message = `PGFhirAccessLayer:TruncateAll(): Query Error: [${error}]`;
|
|
6943
|
+
this.#options.logger.error(message);
|
|
6944
|
+
throw new Error(message);
|
|
6945
|
+
} finally {
|
|
6946
|
+
client.release();
|
|
6906
6947
|
}
|
|
6907
6948
|
};
|
|
6908
6949
|
};
|