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