@nsshunt/stsfhirpg 1.1.7 → 1.2.2
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/stsfhirpg.cjs +226 -536
- package/dist/stsfhirpg.cjs.map +1 -1
- package/dist/stsfhirpg.mjs +228 -538
- package/dist/stsfhirpg.mjs.map +1 -1
- package/package.json +2 -3
- package/types/fhir-database/dbsearchindex.d.ts +1 -7
- package/types/fhir-database/dbsearchindex.d.ts.map +1 -1
- package/types/fhir-utils/resourceHelper.d.ts +8 -1
- package/types/fhir-utils/resourceHelper.d.ts.map +1 -1
- package/types/index.d.ts +0 -2
- package/types/index.d.ts.map +1 -1
- package/types/redisDistributedLock.d.ts +0 -36
- package/types/redisDistributedLock.d.ts.map +0 -1
- package/types/searchParameterManager.d.ts +0 -13
- package/types/searchParameterManager.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nsshunt/stsfhirpg",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "STS FHIR Postgres (pg) Persistence",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./dist/stsfhirpg.cjs",
|
|
@@ -42,14 +42,13 @@
|
|
|
42
42
|
"homepage": "https://github.com/nsshunt/stsfhirpg#readme",
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@nsshunt/stsconfig": "^1.27.54",
|
|
45
|
-
"@nsshunt/stsfhirclient": "^2.0.
|
|
45
|
+
"@nsshunt/stsfhirclient": "^2.0.18",
|
|
46
46
|
"@nsshunt/stsutils": "^1.19.90",
|
|
47
47
|
"chalk": "^4.1.2",
|
|
48
48
|
"jmespath": "^0.16.0",
|
|
49
49
|
"luxon": "^3.7.2",
|
|
50
50
|
"murmurhash3js": "^3.0.1",
|
|
51
51
|
"pg": "^8.20.0",
|
|
52
|
-
"redis": "^5.11.0",
|
|
53
52
|
"tiny-emitter": "^2.1.0",
|
|
54
53
|
"uuid": "^13.0.0",
|
|
55
54
|
"valid-url": "^1.0.9"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ISearchParamRecord,
|
|
1
|
+
import { ISearchParamRecord, IBaseIndexRecordEx } from './../fhir-utils/commonTypes';
|
|
2
2
|
import { SearchRegistry } from './dbsearchregistry';
|
|
3
3
|
import { Resource } from '@nsshunt/stsfhirclient';
|
|
4
4
|
import { ResourceHelper } from './../fhir-utils/resourceHelper';
|
|
@@ -9,12 +9,6 @@ export declare class DBSearchIndex {
|
|
|
9
9
|
get resourceHelper(): ResourceHelper;
|
|
10
10
|
get searchRegistry(): SearchRegistry;
|
|
11
11
|
UpdateIndex: (resource: Resource, searchFieldRecord: ISearchParamRecord) => IBaseIndexRecordEx[] | undefined;
|
|
12
|
-
ResolveFhirChoiceType: (path: string) => string;
|
|
13
12
|
GetSearchIndexData: (resource: Resource) => IBaseIndexRecordEx[];
|
|
14
|
-
GetSearchParamFromResourceTypeUrl: (resourceType: string, url: string) => ISearchParamRecord | undefined;
|
|
15
|
-
GetSearchParamFromResourceType: (resourceType: string, name: string) => ISearchParamRecord | undefined;
|
|
16
|
-
GetPathsFromResourceType: (resourceType: string, name: string) => string[];
|
|
17
|
-
ProcessExpressions: (resourceName: string, SP_EXPRESSION: string) => any;
|
|
18
|
-
LoadSearchParameters: () => ISearchParams;
|
|
19
13
|
}
|
|
20
14
|
//# sourceMappingURL=dbsearchindex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dbsearchindex.d.ts","sourceRoot":"","sources":["../../src/fhir-database/dbsearchindex.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"dbsearchindex.d.ts","sourceRoot":"","sources":["../../src/fhir-database/dbsearchindex.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAqC,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAEvH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAE/D,qBAAa,aAAa;;IAKtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IAMvC,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC,IAAI,cAAc,mBAEjB;IAED,IAAI,cAAc,mBAEjB;IAgBD,WAAW,GAAI,UAAU,QAAQ,EAAE,mBAAmB,kBAAkB,KAAG,kBAAkB,EAAE,GAAG,SAAS,CAiC1G;IAED,kBAAkB,GAAI,UAAU,QAAQ,KAAG,kBAAkB,EAAE,CAoB9D;CAeJ"}
|
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
import { SearchParameter } from '@nsshunt/stsfhirclient';
|
|
2
|
+
import { ISearchParamRecord, ISearchParam } from './commonTypes';
|
|
2
3
|
export interface IResources {
|
|
3
4
|
resources: Record<string, any>;
|
|
4
5
|
types: Record<string, any>;
|
|
5
|
-
|
|
6
|
+
searchParametersByUrl: Record<string, SearchParameter>;
|
|
7
|
+
searchParametersByResourceType: Record<string, ISearchParam>;
|
|
6
8
|
}
|
|
7
9
|
export declare class ResourceHelper {
|
|
8
10
|
#private;
|
|
9
11
|
private static instance;
|
|
10
12
|
private constructor();
|
|
11
13
|
static getInstance(): ResourceHelper;
|
|
14
|
+
private get definitions();
|
|
12
15
|
GetType: (typeName: string) => any[];
|
|
13
16
|
GetResource: (resourceType: string) => any[];
|
|
14
17
|
GetResourceField: (resourceType: string, fieldPath: string) => any;
|
|
15
18
|
GetSearchParam: (url: string) => any;
|
|
16
19
|
GetSearchParams: () => any;
|
|
17
20
|
GetSearchParamsByResource: (resource: string) => SearchParameter[];
|
|
21
|
+
ProcessExpressions: (resourceName: string, SP_EXPRESSION: string) => any;
|
|
22
|
+
private _LoadSearchParameters;
|
|
23
|
+
GetSearchParamFromResourceTypeUrl: (resourceType: string, url: string) => ISearchParamRecord | undefined;
|
|
24
|
+
GetSearchParamsFromResourceType: (resourceType: string) => ISearchParamRecord[];
|
|
18
25
|
}
|
|
19
26
|
//# sourceMappingURL=resourceHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceHelper.d.ts","sourceRoot":"","sources":["../../src/fhir-utils/resourceHelper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"resourceHelper.d.ts","sourceRoot":"","sources":["../../src/fhir-utils/resourceHelper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EAAE,kBAAkB,EACH,YAAY,EAAE,MAAM,eAAe,CAAA;AAe3D,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACtD,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAC7D;AAED,qBAAa,cAAc;;IAGvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IAExC,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,cAAc;IAmDpC,OAAO,KAAK,WAAW,GAKtB;IAED,OAAO,GAAI,UAAU,MAAM,KAAG,GAAG,EAAE,CAElC;IAED,WAAW,GAAI,cAAc,MAAM,KAAG,GAAG,EAAE,CAG1C;IAED,gBAAgB,GAAI,cAAc,MAAM,EAAE,WAAW,MAAM,KAAG,GAAG,CAUhE;IAED,cAAc,GAAI,KAAK,MAAM,KAAG,GAAG,CAElC;IAED,eAAe,QAAO,GAAG,CAExB;IAED,yBAAyB,GAAI,UAAU,MAAM,KAAG,eAAe,EAAE,CAIhE;IAoCD,kBAAkB,GAAI,cAAc,MAAM,EAAE,eAAe,MAAM,KAAG,GAAG,CA8GtE;IAED,OAAO,CAAC,qBAAqB,CAiE5B;IAED,iCAAiC,GAAI,cAAc,MAAM,EAAE,KAAK,MAAM,KAAG,kBAAkB,GAAG,SAAS,CAKtG;IAmBD,+BAA+B,GAAI,cAAc,MAAM,KAAG,kBAAkB,EAAE,CAE7E;CACJ"}
|
package/types/index.d.ts
CHANGED
|
@@ -4,6 +4,4 @@ export * from './fhir-utils/fhirHashUtils';
|
|
|
4
4
|
export * from './fhir-utils/resourceHelper';
|
|
5
5
|
export * from './fhir-database/dbsearchindex';
|
|
6
6
|
export * from './fhir-database/pg/pgfhiraccesslayer';
|
|
7
|
-
export * from './redisDistributedLock';
|
|
8
|
-
export * from './searchParameterManager';
|
|
9
7
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sCAAsC,CAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sCAAsC,CAAA"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { createClient } from 'redis';
|
|
2
|
-
export type AppRedisClient = ReturnType<typeof createClient>;
|
|
3
|
-
export interface RedisDistributedLockOptions {
|
|
4
|
-
ttlMs?: number;
|
|
5
|
-
heartbeatMs?: number;
|
|
6
|
-
keyPrefix?: string;
|
|
7
|
-
}
|
|
8
|
-
export interface LockHandle {
|
|
9
|
-
key: string;
|
|
10
|
-
token: string;
|
|
11
|
-
ttlMs: number;
|
|
12
|
-
}
|
|
13
|
-
export declare class RedisDistributedLock {
|
|
14
|
-
private readonly client;
|
|
15
|
-
private readonly ttlMs;
|
|
16
|
-
private readonly heartbeatMs;
|
|
17
|
-
private readonly keyPrefix;
|
|
18
|
-
constructor(client: AppRedisClient, options?: RedisDistributedLockOptions);
|
|
19
|
-
private buildKey;
|
|
20
|
-
acquire(name: string, ttlMs?: number): Promise<LockHandle | null>;
|
|
21
|
-
release(lock: LockHandle): Promise<boolean>;
|
|
22
|
-
renew(lock: LockHandle, ttlMs?: number): Promise<boolean>;
|
|
23
|
-
isOwner(lock: LockHandle): Promise<boolean>;
|
|
24
|
-
runExclusive<T>(name: string, task: () => Promise<T>, options?: {
|
|
25
|
-
ttlMs?: number;
|
|
26
|
-
autoRenew?: boolean;
|
|
27
|
-
heartbeatMs?: number;
|
|
28
|
-
onLockNotAcquired?: () => void | Promise<void>;
|
|
29
|
-
}): Promise<{
|
|
30
|
-
acquired: true;
|
|
31
|
-
result: T;
|
|
32
|
-
} | {
|
|
33
|
-
acquired: false;
|
|
34
|
-
}>;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=redisDistributedLock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redisDistributedLock.d.ts","sourceRoot":"","sources":["../src/redisDistributedLock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,OAAO,CAAC;AAGtD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAkB7D,MAAM,WAAW,2BAA2B;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAG/B,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,2BAA2B;IAoBzC,OAAO,CAAC,QAAQ;IAIH,OAAO,CAChB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAqBhB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3C,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWzD,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3C,YAAY,CAAC,CAAC,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAChD,GACE,OAAO,CAAC;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,GAAG;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE,CAAC;CAkElE"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export interface ISearchParameterManagerOptions {
|
|
2
|
-
pollIntervalMs?: number;
|
|
3
|
-
lockTtlMs?: number;
|
|
4
|
-
autoRenew?: boolean;
|
|
5
|
-
heartbeatMs?: number;
|
|
6
|
-
completeTtlSeconds?: number;
|
|
7
|
-
timeoutMs?: number;
|
|
8
|
-
}
|
|
9
|
-
export declare class SearchParameterManager {
|
|
10
|
-
private redis?;
|
|
11
|
-
EnsureSearchParameterDataLoaded: (name: string, loadFn: () => Promise<void>, options?: ISearchParameterManagerOptions) => Promise<void>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=searchParameterManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"searchParameterManager.d.ts","sourceRoot":"","sources":["../src/searchParameterManager.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,8BAA8B;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,KAAK,CAAC,CAAiB;IAE/B,+BAA+B,GAAU,MAAM,MAAM,EACjD,QAAQ,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,8BAA8B,KAAG,OAAO,CAAC,IAAI,CAAC,CAiGxF;CACJ"}
|