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