@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/stsfhirpg",
3
- "version": "1.1.7",
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.4",
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, ISearchParams, IBaseIndexRecordEx } from './../fhir-utils/commonTypes';
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,EAAE,aAAa,EAClB,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAE/E,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,qBAAqB,GAAI,MAAM,MAAM,KAAG,MAAM,CAW7C;IAED,kBAAkB,GAAI,UAAU,QAAQ,KAAG,kBAAkB,EAAE,CA4B9D;IAED,iCAAiC,GAAI,cAAc,MAAM,EAAE,KAAK,MAAM,KAAG,kBAAkB,GAAG,SAAS,CAQtG;IAED,8BAA8B,GAAI,cAAc,MAAM,EAAE,MAAM,MAAM,KAAG,kBAAkB,GAAG,SAAS,CAQpG;IAED,wBAAwB,GAAI,cAAc,MAAM,EAAE,MAAM,MAAM,KAAG,MAAM,EAAE,CASxE;IAkCD,kBAAkB,GAAI,cAAc,MAAM,EAAE,eAAe,MAAM,KAAG,GAAG,CA8GtE;IAED,oBAAoB,QAAO,aAAa,CAqEvC;CA4EJ"}
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
- searchParameters: Record<string, SearchParameter>;
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;AAexD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAClD;AAED,qBAAa,cAAc;;IAGvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IAExC,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,cAAc;IAgDpC,OAAO,GAAI,UAAU,MAAM,KAAG,GAAG,EAAE,CASlC;IAED,WAAW,GAAI,cAAc,MAAM,KAAG,GAAG,EAAE,CAQ1C;IAED,gBAAgB,GAAI,cAAc,MAAM,EAAE,WAAW,MAAM,KAAG,GAAG,CAUhE;IAED,cAAc,GAAI,KAAK,MAAM,KAAG,GAAG,CAKlC;IAED,eAAe,QAAO,GAAG,CAKxB;IAED,yBAAyB,GAAI,UAAU,MAAM,KAAG,eAAe,EAAE,CAQhE;CACJ"}
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
@@ -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;AAEpD,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,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"}