@icure/api 8.0.50 → 8.0.53

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.
Files changed (71) hide show
  1. package/icc-api/model/Ampp.d.ts +3 -1
  2. package/icc-api/model/Ampp.js.map +1 -1
  3. package/icc-api/model/AmppComponent.d.ts +2 -1
  4. package/icc-api/model/AmppComponent.js.map +1 -1
  5. package/icc-api/model/BoundedParameter.d.ts +18 -0
  6. package/icc-api/model/BoundedParameter.js +10 -0
  7. package/icc-api/model/BoundedParameter.js.map +1 -0
  8. package/icc-api/model/ComplexStrength.d.ts +18 -0
  9. package/icc-api/model/ComplexStrength.js +10 -0
  10. package/icc-api/model/ComplexStrength.js.map +1 -0
  11. package/icc-api/model/DosageParameter.d.ts +20 -0
  12. package/icc-api/model/DosageParameter.js +10 -0
  13. package/icc-api/model/DosageParameter.js.map +1 -0
  14. package/icc-api/model/ExternalFilterKey.d.ts +10 -0
  15. package/icc-api/model/ExternalFilterKey.js +3 -0
  16. package/icc-api/model/ExternalFilterKey.js.map +1 -0
  17. package/icc-api/model/Group.d.ts +1 -1
  18. package/icc-api/model/Group.js.map +1 -1
  19. package/icc-api/model/Indication.d.ts +18 -0
  20. package/icc-api/model/Indication.js +10 -0
  21. package/icc-api/model/Indication.js.map +1 -0
  22. package/icc-api/model/Ingredient.d.ts +4 -14
  23. package/icc-api/model/Ingredient.js.map +1 -1
  24. package/icc-api/model/StandardDosage.d.ts +49 -0
  25. package/icc-api/model/StandardDosage.js +10 -0
  26. package/icc-api/model/StandardDosage.js.map +1 -0
  27. package/icc-api/model/VmpGroup.d.ts +2 -0
  28. package/icc-api/model/VmpGroup.js.map +1 -1
  29. package/icc-x-api/filters/ExternalViewFilterCode.d.ts +12 -0
  30. package/icc-x-api/filters/ExternalViewFilterCode.js +14 -0
  31. package/icc-x-api/filters/ExternalViewFilterCode.js.map +1 -0
  32. package/icc-x-api/filters/ExternalViewFilterContact.d.ts +12 -0
  33. package/icc-x-api/filters/ExternalViewFilterContact.js +14 -0
  34. package/icc-x-api/filters/ExternalViewFilterContact.js.map +1 -0
  35. package/icc-x-api/filters/ExternalViewFilterDevice.d.ts +12 -0
  36. package/icc-x-api/filters/ExternalViewFilterDevice.js +14 -0
  37. package/icc-x-api/filters/ExternalViewFilterDevice.js.map +1 -0
  38. package/icc-x-api/filters/ExternalViewFilterHealthElement.d.ts +12 -0
  39. package/icc-x-api/filters/ExternalViewFilterHealthElement.js +14 -0
  40. package/icc-x-api/filters/ExternalViewFilterHealthElement.js.map +1 -0
  41. package/icc-x-api/filters/ExternalViewFilterHealthcareParty.d.ts +12 -0
  42. package/icc-x-api/filters/ExternalViewFilterHealthcareParty.js +14 -0
  43. package/icc-x-api/filters/ExternalViewFilterHealthcareParty.js.map +1 -0
  44. package/icc-x-api/filters/ExternalViewFilterInvoice.d.ts +12 -0
  45. package/icc-x-api/filters/ExternalViewFilterInvoice.js +14 -0
  46. package/icc-x-api/filters/ExternalViewFilterInvoice.js.map +1 -0
  47. package/icc-x-api/filters/ExternalViewFilterMaintenanceTask.d.ts +12 -0
  48. package/icc-x-api/filters/ExternalViewFilterMaintenanceTask.js +14 -0
  49. package/icc-x-api/filters/ExternalViewFilterMaintenanceTask.js.map +1 -0
  50. package/icc-x-api/filters/ExternalViewFilterMessage.d.ts +12 -0
  51. package/icc-x-api/filters/ExternalViewFilterMessage.js +14 -0
  52. package/icc-x-api/filters/ExternalViewFilterMessage.js.map +1 -0
  53. package/icc-x-api/filters/ExternalViewFilterPatient.d.ts +12 -0
  54. package/icc-x-api/filters/ExternalViewFilterPatient.js +14 -0
  55. package/icc-x-api/filters/ExternalViewFilterPatient.js.map +1 -0
  56. package/icc-x-api/filters/ExternalViewFilterService.d.ts +12 -0
  57. package/icc-x-api/filters/ExternalViewFilterService.js +14 -0
  58. package/icc-x-api/filters/ExternalViewFilterService.js.map +1 -0
  59. package/icc-x-api/filters/ExternalViewFilterTopic.d.ts +12 -0
  60. package/icc-x-api/filters/ExternalViewFilterTopic.js +14 -0
  61. package/icc-x-api/filters/ExternalViewFilterTopic.js.map +1 -0
  62. package/icc-x-api/filters/ExternalViewFilterUser.d.ts +12 -0
  63. package/icc-x-api/filters/ExternalViewFilterUser.js +14 -0
  64. package/icc-x-api/filters/ExternalViewFilterUser.js.map +1 -0
  65. package/package.json +1 -1
  66. package/test/utils/test_utils.d.ts +1 -1
  67. package/test/utils/test_utils.js +2 -2
  68. package/test/utils/test_utils.js.map +1 -1
  69. package/test/icc-x-api/help-meddi.d.ts +0 -1
  70. package/test/icc-x-api/help-meddi.js +0 -53
  71. package/test/icc-x-api/help-meddi.js.map +0 -1
@@ -32,7 +32,7 @@ export declare class Ampp {
32
32
  parallelDistributor?: string;
33
33
  packMultiplier?: number;
34
34
  packAmount?: Quantity;
35
- packDisplayValue?: string;
35
+ packDisplayValue?: SamText;
36
36
  status?: Ampp.StatusEnum;
37
37
  atcs?: Array<Atc>;
38
38
  crmLink?: SamText;
@@ -60,6 +60,8 @@ export declare class Ampp {
60
60
  supplyProblems?: Array<SupplyProblem>;
61
61
  dmpps?: Array<Dmpp>;
62
62
  vaccineIndicationCodes?: Array<string>;
63
+ rmaKeyMessages?: SamText;
64
+ genericPrescriptionRequired?: boolean;
63
65
  }
64
66
  export declare namespace Ampp {
65
67
  type StatusEnum = 'AUTHORIZED' | 'SUSPENDED' | 'REVOKED';
@@ -1 +1 @@
1
- {"version":3,"file":"Ampp.js","sourceRoot":"","sources":["../../../icc-api/model/Ampp.ts"],"names":[],"mappings":";;;AAoBA,MAAa,IAAI;IACf,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAY,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;CA2CF;AA9CD,oBA8CC;AACD,WAAiB,IAAI;IAEN,eAAU,GAAG;QACxB,UAAU,EAAE,YAA0B;QACtC,SAAS,EAAE,WAAyB;QACpC,OAAO,EAAE,SAAuB;KACjC,CAAA;AACH,CAAC,EAPgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAOpB","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AmppComponent } from './AmppComponent'\nimport { Atc } from './Atc'\nimport { Commercialization } from './Commercialization'\nimport { Company } from './Company'\nimport { Dmpp } from './Dmpp'\nimport { Quantity } from './Quantity'\nimport { SamText } from './SamText'\nimport { SupplyProblem } from './SupplyProblem'\n\nexport class Ampp {\n constructor(json: JSON | any) {\n Object.assign(this as Ampp, json)\n }\n\n from?: number\n to?: number\n index?: number\n ctiExtended?: string\n orphan?: boolean\n leafletLink?: SamText\n spcLink?: SamText\n rmaPatientLink?: SamText\n rmaProfessionalLink?: SamText\n parallelCircuit?: number\n parallelDistributor?: string\n packMultiplier?: number\n packAmount?: Quantity\n packDisplayValue?: string\n status?: Ampp.StatusEnum\n atcs?: Array<Atc>\n crmLink?: SamText\n deliveryModusCode?: string\n deliveryModus?: SamText\n deliveryModusSpecificationCode?: string\n deliveryModusSpecification?: SamText\n dhpcLink?: SamText\n distributorCompany?: Company\n singleUse?: boolean\n speciallyRegulated?: number\n abbreviatedName?: SamText\n prescriptionName?: SamText\n note?: SamText\n posologyNote?: SamText\n noGenericPrescriptionReasons?: Array<SamText>\n exFactoryPrice?: number\n reimbursementCode?: number\n definedDailyDose?: Quantity\n officialExFactoryPrice?: number\n realExFactoryPrice?: number\n pricingInformationDecisionDate?: number\n components?: Array<AmppComponent>\n commercializations?: Array<Commercialization>\n supplyProblems?: Array<SupplyProblem>\n dmpps?: Array<Dmpp>\n vaccineIndicationCodes?: Array<string>\n}\nexport namespace Ampp {\n export type StatusEnum = 'AUTHORIZED' | 'SUSPENDED' | 'REVOKED'\n export const StatusEnum = {\n AUTHORIZED: 'AUTHORIZED' as StatusEnum,\n SUSPENDED: 'SUSPENDED' as StatusEnum,\n REVOKED: 'REVOKED' as StatusEnum,\n }\n}\n"]}
1
+ {"version":3,"file":"Ampp.js","sourceRoot":"","sources":["../../../icc-api/model/Ampp.ts"],"names":[],"mappings":";;;AAoBA,MAAa,IAAI;IACf,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAY,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;CA6CF;AAhDD,oBAgDC;AAED,WAAiB,IAAI;IAEN,eAAU,GAAG;QACxB,UAAU,EAAE,YAA0B;QACtC,SAAS,EAAE,WAAyB;QACpC,OAAO,EAAE,SAAuB;KACjC,CAAA;AACH,CAAC,EAPgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAOpB","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AmppComponent } from './AmppComponent'\nimport { Atc } from './Atc'\nimport { Commercialization } from './Commercialization'\nimport { Company } from './Company'\nimport { Dmpp } from './Dmpp'\nimport { Quantity } from './Quantity'\nimport { SamText } from './SamText'\nimport { SupplyProblem } from './SupplyProblem'\n\nexport class Ampp {\n constructor(json: JSON | any) {\n Object.assign(this as Ampp, json)\n }\n\n from?: number\n to?: number\n index?: number\n ctiExtended?: string\n orphan?: boolean\n leafletLink?: SamText\n spcLink?: SamText\n rmaPatientLink?: SamText\n rmaProfessionalLink?: SamText\n parallelCircuit?: number\n parallelDistributor?: string\n packMultiplier?: number\n packAmount?: Quantity\n packDisplayValue?: SamText\n status?: Ampp.StatusEnum\n atcs?: Array<Atc>\n crmLink?: SamText\n deliveryModusCode?: string\n deliveryModus?: SamText\n deliveryModusSpecificationCode?: string\n deliveryModusSpecification?: SamText\n dhpcLink?: SamText\n distributorCompany?: Company\n singleUse?: boolean\n speciallyRegulated?: number\n abbreviatedName?: SamText\n prescriptionName?: SamText\n note?: SamText\n posologyNote?: SamText\n noGenericPrescriptionReasons?: Array<SamText>\n exFactoryPrice?: number\n reimbursementCode?: number\n definedDailyDose?: Quantity\n officialExFactoryPrice?: number\n realExFactoryPrice?: number\n pricingInformationDecisionDate?: number\n components?: Array<AmppComponent>\n commercializations?: Array<Commercialization>\n supplyProblems?: Array<SupplyProblem>\n dmpps?: Array<Dmpp>\n vaccineIndicationCodes?: Array<string>\n rmaKeyMessages?: SamText\n genericPrescriptionRequired?: boolean\n}\n\nexport namespace Ampp {\n export type StatusEnum = 'AUTHORIZED' | 'SUSPENDED' | 'REVOKED'\n export const StatusEnum = {\n AUTHORIZED: 'AUTHORIZED' as StatusEnum,\n SUSPENDED: 'SUSPENDED' as StatusEnum,\n REVOKED: 'REVOKED' as StatusEnum,\n }\n}\n"]}
@@ -11,13 +11,14 @@
11
11
  */
12
12
  import { DeviceType } from './DeviceType';
13
13
  import { PackagingType } from './PackagingType';
14
+ import { SamText } from './SamText';
14
15
  export declare class AmppComponent {
15
16
  constructor(json: JSON | any);
16
17
  from?: number;
17
18
  to?: number;
18
19
  contentType?: AmppComponent.ContentTypeEnum;
19
20
  contentMultiplier?: number;
20
- packSpecification?: string;
21
+ packSpecification?: SamText;
21
22
  deviceType?: DeviceType;
22
23
  packagingType?: PackagingType;
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AmppComponent.js","sourceRoot":"","sources":["../../../icc-api/model/AmppComponent.ts"],"names":[],"mappings":";;;AAcA,MAAa,aAAa;IACxB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAqB,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;CASF;AAZD,sCAYC;AACD,WAAiB,aAAa;IAEf,6BAAe,GAAG;QAC7B,eAAe,EAAE,kBAAqC;QACtD,OAAO,EAAE,SAA4B;QACrC,MAAM,EAAE,QAA2B;QACnC,SAAS,EAAE,WAA8B;KAC1C,CAAA;AACH,CAAC,EARgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAQ7B","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { DeviceType } from './DeviceType'\nimport { PackagingType } from './PackagingType'\n\nexport class AmppComponent {\n constructor(json: JSON | any) {\n Object.assign(this as AmppComponent, json)\n }\n\n from?: number\n to?: number\n contentType?: AmppComponent.ContentTypeEnum\n contentMultiplier?: number\n packSpecification?: string\n deviceType?: DeviceType\n packagingType?: PackagingType\n}\nexport namespace AmppComponent {\n export type ContentTypeEnum = 'ACTIVE_COMPONENT' | 'SOLVENT' | 'DEVICE' | 'EXCIPIENT'\n export const ContentTypeEnum = {\n ACTIVECOMPONENT: 'ACTIVE_COMPONENT' as ContentTypeEnum,\n SOLVENT: 'SOLVENT' as ContentTypeEnum,\n DEVICE: 'DEVICE' as ContentTypeEnum,\n EXCIPIENT: 'EXCIPIENT' as ContentTypeEnum,\n }\n}\n"]}
1
+ {"version":3,"file":"AmppComponent.js","sourceRoot":"","sources":["../../../icc-api/model/AmppComponent.ts"],"names":[],"mappings":";;;AAeA,MAAa,aAAa;IACxB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAqB,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;CASF;AAZD,sCAYC;AACD,WAAiB,aAAa;IAEf,6BAAe,GAAG;QAC7B,eAAe,EAAE,kBAAqC;QACtD,OAAO,EAAE,SAA4B;QACrC,MAAM,EAAE,QAA2B;QACnC,SAAS,EAAE,WAA8B;KAC1C,CAAA;AACH,CAAC,EARgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAQ7B","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { DeviceType } from './DeviceType'\nimport { PackagingType } from './PackagingType'\nimport { SamText } from './SamText'\n\nexport class AmppComponent {\n constructor(json: JSON | any) {\n Object.assign(this as AmppComponent, json)\n }\n\n from?: number\n to?: number\n contentType?: AmppComponent.ContentTypeEnum\n contentMultiplier?: number\n packSpecification?: SamText\n deviceType?: DeviceType\n packagingType?: PackagingType\n}\nexport namespace AmppComponent {\n export type ContentTypeEnum = 'ACTIVE_COMPONENT' | 'SOLVENT' | 'DEVICE' | 'EXCIPIENT'\n export const ContentTypeEnum = {\n ACTIVECOMPONENT: 'ACTIVE_COMPONENT' as ContentTypeEnum,\n SOLVENT: 'SOLVENT' as ContentTypeEnum,\n DEVICE: 'DEVICE' as ContentTypeEnum,\n EXCIPIENT: 'EXCIPIENT' as ContentTypeEnum,\n }\n}\n"]}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * iCure Data Stack API Documentation
3
+ * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.
4
+ *
5
+ * OpenAPI spec version: v1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */
12
+ import { DosageParameter } from './DosageParameter';
13
+ export declare class BoundedParameter {
14
+ constructor(json: JSON | any);
15
+ dosageParameter?: DosageParameter;
16
+ lowerBound?: number;
17
+ upperBound?: number;
18
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BoundedParameter = void 0;
4
+ class BoundedParameter {
5
+ constructor(json) {
6
+ Object.assign(this, json);
7
+ }
8
+ }
9
+ exports.BoundedParameter = BoundedParameter;
10
+ //# sourceMappingURL=BoundedParameter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoundedParameter.js","sourceRoot":"","sources":["../../../icc-api/model/BoundedParameter.ts"],"names":[],"mappings":";;;AAaA,MAAa,gBAAgB;IAC3B,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAwB,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;CAKF;AARD,4CAQC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { DosageParameter } from './DosageParameter'\n\nexport class BoundedParameter {\n constructor(json: JSON | any) {\n Object.assign(this as BoundedParameter, json)\n }\n\n dosageParameter?: DosageParameter\n lowerBound?: number\n upperBound?: number\n}\n"]}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * iCure Data Stack API Documentation
3
+ * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.
4
+ *
5
+ * OpenAPI spec version: v1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */
12
+ import { Quantity } from './Quantity';
13
+ export declare class ComplexStrength {
14
+ constructor(json: JSON | any);
15
+ operator?: string;
16
+ quantity?: Quantity;
17
+ secondQuantity?: Quantity;
18
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComplexStrength = void 0;
4
+ class ComplexStrength {
5
+ constructor(json) {
6
+ Object.assign(this, json);
7
+ }
8
+ }
9
+ exports.ComplexStrength = ComplexStrength;
10
+ //# sourceMappingURL=ComplexStrength.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComplexStrength.js","sourceRoot":"","sources":["../../../icc-api/model/ComplexStrength.ts"],"names":[],"mappings":";;;AAaA,MAAa,eAAe;IAC1B,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAuB,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;CAKF;AARD,0CAQC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { Quantity } from './Quantity'\n\nexport class ComplexStrength {\n constructor(json: JSON | any) {\n Object.assign(this as ComplexStrength, json)\n }\n\n operator?: string\n quantity?: Quantity\n secondQuantity?: Quantity\n}\n"]}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * iCure Data Stack API Documentation
3
+ * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.
4
+ *
5
+ * OpenAPI spec version: v1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */
12
+ import { SamText } from './SamText';
13
+ export declare class DosageParameter {
14
+ constructor(json: JSON | any);
15
+ code?: string;
16
+ name?: SamText;
17
+ definition?: SamText;
18
+ standardUnit?: string;
19
+ snomedCT?: string;
20
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DosageParameter = void 0;
4
+ class DosageParameter {
5
+ constructor(json) {
6
+ Object.assign(this, json);
7
+ }
8
+ }
9
+ exports.DosageParameter = DosageParameter;
10
+ //# sourceMappingURL=DosageParameter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DosageParameter.js","sourceRoot":"","sources":["../../../icc-api/model/DosageParameter.ts"],"names":[],"mappings":";;;AAaA,MAAa,eAAe;IAC1B,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAuB,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;CAOF;AAVD,0CAUC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { SamText } from './SamText'\n\nexport class DosageParameter {\n constructor(json: JSON | any) {\n Object.assign(this as DosageParameter, json)\n }\n\n code?: string\n name?: SamText\n definition?: SamText\n standardUnit?: string\n snomedCT?: string\n}\n"]}
@@ -0,0 +1,10 @@
1
+ export type ExternalFilterKey = {
2
+ type: 'string';
3
+ key: string;
4
+ } | {
5
+ type: 'long';
6
+ key: number;
7
+ } | {
8
+ type: 'complexKey';
9
+ key: (string | number)[];
10
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ExternalFilterKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalFilterKey.js","sourceRoot":"","sources":["../../../icc-api/model/ExternalFilterKey.ts"],"names":[],"mappings":"","sourcesContent":["export type ExternalFilterKey = { type: 'string'; key: string } | { type: 'long'; key: number } | { type: 'complexKey'; key: (string | number)[] }\n"]}
@@ -68,6 +68,6 @@ export declare class Group {
68
68
  };
69
69
  superGroup?: string;
70
70
  defaultUserRoles?: {
71
- [key in UserTypeEnum]: Array<String>;
71
+ [key in UserTypeEnum]: Array<string>;
72
72
  };
73
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../icc-api/model/Group.ts"],"names":[],"mappings":";;;AAgBA;;GAEG;AACH,MAAa,KAAK;IAChB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAa,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;CAgDF;AAnDD,sBAmDC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { CodeStub } from './CodeStub'\nimport { OperationToken } from './OperationToken'\nimport { PropertyStub } from './PropertyStub'\nimport { UserTypeEnum } from './UserTypeEnum'\n\n/**\n * This entity represents a group\n */\nexport class Group {\n constructor(json: JSON | any) {\n Object.assign(this as Group, json)\n }\n\n /**\n * The id of the group. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * The revision of the group in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n /**\n * A tag is an item from a codification system that qualifies an entity as being member of a certain class, whatever the value it might have taken. If the tag qualifies the content of a field, it means that whatever the content of the field, the tag will always apply. For example, the label of a field is qualified using a tag. LOINC is a codification system typically used for tags.\n */\n tags?: Array<CodeStub>\n /**\n * Username for the group\n */\n name?: string\n /**\n * Password for the group access\n */\n password?: string\n /**\n * List of servers accessible to the group\n */\n servers?: Array<string>\n /**\n * Whether the group has a super admin permission, originally set to no access.\n */\n superAdmin?: boolean\n /**\n * Extra properties for the user. Those properties are typed (see class Property)\n */\n properties?: Array<PropertyStub>\n /**\n * Single-used token to perform specific operations\n */\n operationTokens?: { [key: string]: OperationToken }\n /**\n * List of entities that have to be collected from a shared database. Only Code and tarification can be set at this point.\n */\n sharedEntities?: { [key: string]: string }\n superGroup?: string\n defaultUserRoles?: { [key in UserTypeEnum]: Array<String> }\n}\n"]}
1
+ {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../icc-api/model/Group.ts"],"names":[],"mappings":";;;AAgBA;;GAEG;AACH,MAAa,KAAK;IAChB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAa,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;CAgDF;AAnDD,sBAmDC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { CodeStub } from './CodeStub'\nimport { OperationToken } from './OperationToken'\nimport { PropertyStub } from './PropertyStub'\nimport { UserTypeEnum } from './UserTypeEnum'\n\n/**\n * This entity represents a group\n */\nexport class Group {\n constructor(json: JSON | any) {\n Object.assign(this as Group, json)\n }\n\n /**\n * The id of the group. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * The revision of the group in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n /**\n * A tag is an item from a codification system that qualifies an entity as being member of a certain class, whatever the value it might have taken. If the tag qualifies the content of a field, it means that whatever the content of the field, the tag will always apply. For example, the label of a field is qualified using a tag. LOINC is a codification system typically used for tags.\n */\n tags?: Array<CodeStub>\n /**\n * Username for the group\n */\n name?: string\n /**\n * Password for the group access\n */\n password?: string\n /**\n * List of servers accessible to the group\n */\n servers?: Array<string>\n /**\n * Whether the group has a super admin permission, originally set to no access.\n */\n superAdmin?: boolean\n /**\n * Extra properties for the user. Those properties are typed (see class Property)\n */\n properties?: Array<PropertyStub>\n /**\n * Single-used token to perform specific operations\n */\n operationTokens?: { [key: string]: OperationToken }\n /**\n * List of entities that have to be collected from a shared database. Only Code and tarification can be set at this point.\n */\n sharedEntities?: { [key: string]: string }\n superGroup?: string\n defaultUserRoles?: { [key in UserTypeEnum]: Array<string> }\n}\n"]}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * iCure Data Stack API Documentation
3
+ * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.
4
+ *
5
+ * OpenAPI spec version: v1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */
12
+ import { SamText } from './SamText';
13
+ export declare class Indication {
14
+ constructor(json: JSON | any);
15
+ code?: string;
16
+ name?: SamText;
17
+ snomedCT?: string;
18
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Indication = void 0;
4
+ class Indication {
5
+ constructor(json) {
6
+ Object.assign(this, json);
7
+ }
8
+ }
9
+ exports.Indication = Indication;
10
+ //# sourceMappingURL=Indication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Indication.js","sourceRoot":"","sources":["../../../icc-api/model/Indication.ts"],"names":[],"mappings":";;;AAaA,MAAa,UAAU;IACrB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAkB,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;CAKF;AARD,gCAQC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { SamText } from './SamText'\n\nexport class Indication {\n constructor(json: JSON | any) {\n Object.assign(this as Indication, json)\n }\n\n code?: string\n name?: SamText\n snomedCT?: string\n}\n"]}
@@ -1,16 +1,6 @@
1
- /**
2
- * iCure Data Stack API Documentation
3
- * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.
4
- *
5
- * OpenAPI spec version: v1
6
- *
7
- *
8
- * NOTE: This class is auto generated by the swagger code generator program.
9
- * https://github.com/swagger-api/swagger-codegen.git
10
- * Do not edit the class manually.
11
- */
12
- import { Quantity } from './Quantity';
13
1
  import { SubstanceStub } from './SubstanceStub';
2
+ import { SamText } from './SamText';
3
+ import { ComplexStrength } from './ComplexStrength';
14
4
  export declare class Ingredient {
15
5
  constructor(json: JSON | any);
16
6
  from?: number;
@@ -19,8 +9,8 @@ export declare class Ingredient {
19
9
  type?: Ingredient.TypeEnum;
20
10
  knownEffect?: boolean;
21
11
  strengthDescription?: string;
22
- strength?: Quantity;
23
- additionalInformation?: string;
12
+ strength?: ComplexStrength;
13
+ additionalInformation?: SamText;
24
14
  substance?: SubstanceStub;
25
15
  }
26
16
  export declare namespace Ingredient {
@@ -1 +1 @@
1
- {"version":3,"file":"Ingredient.js","sourceRoot":"","sources":["../../../icc-api/model/Ingredient.ts"],"names":[],"mappings":";;;AAcA,MAAa,UAAU;IACrB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAkB,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;CAWF;AAdD,gCAcC;AACD,WAAiB,UAAU;IAEZ,mBAAQ,GAAG;QACtB,eAAe,EAAE,kBAA8B;QAC/C,SAAS,EAAE,WAAuB;KACnC,CAAA;AACH,CAAC,EANgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAM1B","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { Quantity } from './Quantity'\nimport { SubstanceStub } from './SubstanceStub'\n\nexport class Ingredient {\n constructor(json: JSON | any) {\n Object.assign(this as Ingredient, json)\n }\n\n from?: number\n to?: number\n rank?: number\n type?: Ingredient.TypeEnum\n knownEffect?: boolean\n strengthDescription?: string\n strength?: Quantity\n additionalInformation?: string\n substance?: SubstanceStub\n}\nexport namespace Ingredient {\n export type TypeEnum = 'ACTIVE_SUBSTANCE' | 'EXCIPIENT'\n export const TypeEnum = {\n ACTIVESUBSTANCE: 'ACTIVE_SUBSTANCE' as TypeEnum,\n EXCIPIENT: 'EXCIPIENT' as TypeEnum,\n }\n}\n"]}
1
+ {"version":3,"file":"Ingredient.js","sourceRoot":"","sources":["../../../icc-api/model/Ingredient.ts"],"names":[],"mappings":";;;AAgBA,MAAa,UAAU;IACrB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAkB,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;CAWF;AAdD,gCAcC;AACD,WAAiB,UAAU;IAEZ,mBAAQ,GAAG;QACtB,eAAe,EAAE,kBAA8B;QAC/C,SAAS,EAAE,WAAuB;KACnC,CAAA;AACH,CAAC,EANgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAM1B","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { Quantity } from './Quantity'\nimport { SubstanceStub } from './SubstanceStub'\nimport { SamText } from './SamText'\nimport { ComplexStrength } from './ComplexStrength'\n\nexport class Ingredient {\n constructor(json: JSON | any) {\n Object.assign(this as Ingredient, json)\n }\n\n from?: number\n to?: number\n rank?: number\n type?: Ingredient.TypeEnum\n knownEffect?: boolean\n strengthDescription?: string\n strength?: ComplexStrength\n additionalInformation?: SamText\n substance?: SubstanceStub\n}\nexport namespace Ingredient {\n export type TypeEnum = 'ACTIVE_SUBSTANCE' | 'EXCIPIENT'\n export const TypeEnum = {\n ACTIVESUBSTANCE: 'ACTIVE_SUBSTANCE' as TypeEnum,\n EXCIPIENT: 'EXCIPIENT' as TypeEnum,\n }\n}\n"]}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * iCure Data Stack API Documentation
3
+ * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.
4
+ *
5
+ * OpenAPI spec version: v1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */
12
+ import { SamText } from './SamText';
13
+ import { Quantity } from './Quantity';
14
+ import { RouteOfAdministration } from './RouteOfAdministration';
15
+ import { Indication } from './Indication';
16
+ import { BoundedParameter } from './BoundedParameter';
17
+ export declare class StandardDosage {
18
+ constructor(json: JSON | any);
19
+ code?: number;
20
+ targetGroup?: string;
21
+ kidneyFailureClass?: number;
22
+ liverFailureClass?: number;
23
+ treatmentDurationType?: string;
24
+ temporalityDuration?: Quantity;
25
+ temporalityUserProvided?: Boolean;
26
+ temporalityNote?: SamText;
27
+ quantity?: number;
28
+ quantityDenominator?: number;
29
+ quantityMultiplicator?: string;
30
+ quantityRangeLower?: number;
31
+ quantityRangeLowerDenominator?: number;
32
+ quantityRangeUpper?: number;
33
+ quantityRangeUpperDenominator?: number;
34
+ administrationFrequencyQuantity?: number;
35
+ administrationFrequencyIsMax?: Boolean;
36
+ administrationFrequencyTimeframe?: Quantity;
37
+ maximumAdministrationQuantity?: number;
38
+ maximumAdministrationQuantityDenominator?: number;
39
+ maximumAdministrationQuantityMultiplicator?: string;
40
+ maximumDailyQuantity?: number;
41
+ maximumDailyQuantityDenominator?: number;
42
+ maximumDailyQuantityMultiplicator?: string;
43
+ textualDosage?: SamText;
44
+ supplementaryInfo?: SamText;
45
+ routeSpecification?: SamText;
46
+ indication?: Array<Indication>;
47
+ parameterBounds?: Array<BoundedParameter>;
48
+ routeOfAdministration?: RouteOfAdministration;
49
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StandardDosage = void 0;
4
+ class StandardDosage {
5
+ constructor(json) {
6
+ Object.assign(this, json);
7
+ }
8
+ }
9
+ exports.StandardDosage = StandardDosage;
10
+ //# sourceMappingURL=StandardDosage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StandardDosage.js","sourceRoot":"","sources":["../../../icc-api/model/StandardDosage.ts"],"names":[],"mappings":";;;AAiBA,MAAa,cAAc;IACzB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAsB,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;CAgCF;AAnCD,wCAmCC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { SamText } from './SamText'\nimport { Quantity } from './Quantity'\nimport { RouteOfAdministration } from './RouteOfAdministration'\nimport { Indication } from './Indication'\nimport { BoundedParameter } from './BoundedParameter'\n\nexport class StandardDosage {\n constructor(json: JSON | any) {\n Object.assign(this as StandardDosage, json)\n }\n\n code?: number\n targetGroup?: string\n kidneyFailureClass?: number\n liverFailureClass?: number\n treatmentDurationType?: string\n temporalityDuration?: Quantity\n temporalityUserProvided?: Boolean\n temporalityNote?: SamText\n quantity?: number\n quantityDenominator?: number\n quantityMultiplicator?: string\n quantityRangeLower?: number\n quantityRangeLowerDenominator?: number\n quantityRangeUpper?: number\n quantityRangeUpperDenominator?: number\n administrationFrequencyQuantity?: number\n administrationFrequencyIsMax?: Boolean\n administrationFrequencyTimeframe?: Quantity\n maximumAdministrationQuantity?: number\n maximumAdministrationQuantityDenominator?: number\n maximumAdministrationQuantityMultiplicator?: string\n maximumDailyQuantity?: number\n maximumDailyQuantityDenominator?: number\n maximumDailyQuantityMultiplicator?: string\n textualDosage?: SamText\n supplementaryInfo?: SamText\n routeSpecification?: SamText\n indication?: Array<Indication>\n parameterBounds?: Array<BoundedParameter>\n routeOfAdministration?: RouteOfAdministration\n}\n"]}
@@ -12,6 +12,7 @@
12
12
  import { NoGenericPrescriptionReason } from './NoGenericPrescriptionReason';
13
13
  import { NoSwitchReason } from './NoSwitchReason';
14
14
  import { SamText } from './SamText';
15
+ import { StandardDosage } from './StandardDosage';
15
16
  export declare class VmpGroup {
16
17
  constructor(json: JSON | any);
17
18
  id?: string;
@@ -27,4 +28,5 @@ export declare class VmpGroup {
27
28
  name?: SamText;
28
29
  noGenericPrescriptionReason?: NoGenericPrescriptionReason;
29
30
  noSwitchReason?: NoSwitchReason;
31
+ standardDosage?: Array<StandardDosage>;
30
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VmpGroup.js","sourceRoot":"","sources":["../../../icc-api/model/VmpGroup.ts"],"names":[],"mappings":";;;AAeA,MAAa,QAAQ;IACnB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAgB,EAAE,IAAI,CAAC,CAAA;IACvC,CAAC;CAeF;AAlBD,4BAkBC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { NoGenericPrescriptionReason } from './NoGenericPrescriptionReason'\nimport { NoSwitchReason } from './NoSwitchReason'\nimport { SamText } from './SamText'\n\nexport class VmpGroup {\n constructor(json: JSON | any) {\n Object.assign(this as VmpGroup, json)\n }\n\n id?: string\n rev?: string\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n from?: number\n to?: number\n productId?: string\n code?: string\n name?: SamText\n noGenericPrescriptionReason?: NoGenericPrescriptionReason\n noSwitchReason?: NoSwitchReason\n}\n"]}
1
+ {"version":3,"file":"VmpGroup.js","sourceRoot":"","sources":["../../../icc-api/model/VmpGroup.ts"],"names":[],"mappings":";;;AAgBA,MAAa,QAAQ;IACnB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAgB,EAAE,IAAI,CAAC,CAAA;IACvC,CAAC;CAgBF;AAnBD,4BAmBC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { NoGenericPrescriptionReason } from './NoGenericPrescriptionReason'\nimport { NoSwitchReason } from './NoSwitchReason'\nimport { SamText } from './SamText'\nimport { StandardDosage } from './StandardDosage'\n\nexport class VmpGroup {\n constructor(json: JSON | any) {\n Object.assign(this as VmpGroup, json)\n }\n\n id?: string\n rev?: string\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n from?: number\n to?: number\n productId?: string\n code?: string\n name?: SamText\n noGenericPrescriptionReason?: NoGenericPrescriptionReason\n noSwitchReason?: NoSwitchReason\n standardDosage?: Array<StandardDosage>\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { AbstractFilterCode } from '../../icc-api/model/AbstractFilterCode';
2
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
3
+ export declare class ExternalViewFilterCode extends AbstractFilterCode {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterCode = void 0;
4
+ const AbstractFilterCode_1 = require("../../icc-api/model/AbstractFilterCode");
5
+ class ExternalViewFilterCode extends AbstractFilterCode_1.AbstractFilterCode {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.base.Code';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterCode = ExternalViewFilterCode;
14
+ //# sourceMappingURL=ExternalViewFilterCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterCode.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterCode.ts"],"names":[],"mappings":";;;AAAA,+EAA2E;AAG3E,MAAa,sBAAuB,SAAQ,uCAAkB;IAG5D,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,qCAAqC,CAAA;QAIjE,MAAM,CAAC,MAAM,CAAC,IAA8B,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;CAOF;AAdD,wDAcC","sourcesContent":["import { AbstractFilterCode } from '../../icc-api/model/AbstractFilterCode'\nimport { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\n\nexport class ExternalViewFilterCode extends AbstractFilterCode {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.base.Code'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterCode, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
2
+ import { AbstractFilterContact } from '../../icc-api/model/AbstractFilterContact';
3
+ export declare class ExternalViewFilterContact extends AbstractFilterContact {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterContact = void 0;
4
+ const AbstractFilterContact_1 = require("../../icc-api/model/AbstractFilterContact");
5
+ class ExternalViewFilterContact extends AbstractFilterContact_1.AbstractFilterContact {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.Contact';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterContact = ExternalViewFilterContact;
14
+ //# sourceMappingURL=ExternalViewFilterContact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterContact.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterContact.ts"],"names":[],"mappings":";;;AACA,qFAAiF;AAEjF,MAAa,yBAA0B,SAAQ,6CAAqB;IAGlE,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,mCAAmC,CAAA;QAI/D,MAAM,CAAC,MAAM,CAAC,IAAiC,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;CAOF;AAdD,8DAcC","sourcesContent":["import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\nimport { AbstractFilterContact } from '../../icc-api/model/AbstractFilterContact'\n\nexport class ExternalViewFilterContact extends AbstractFilterContact {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.Contact'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterContact, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
2
+ import { AbstractFilterDevice } from '../../icc-api/model/AbstractFilterDevice';
3
+ export declare class ExternalViewFilterDevice extends AbstractFilterDevice {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterDevice = void 0;
4
+ const AbstractFilterDevice_1 = require("../../icc-api/model/AbstractFilterDevice");
5
+ class ExternalViewFilterDevice extends AbstractFilterDevice_1.AbstractFilterDevice {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.Device';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterDevice = ExternalViewFilterDevice;
14
+ //# sourceMappingURL=ExternalViewFilterDevice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterDevice.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterDevice.ts"],"names":[],"mappings":";;;AACA,mFAA+E;AAE/E,MAAa,wBAAyB,SAAQ,2CAAoB;IAGhE,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,kCAAkC,CAAA;QAI9D,MAAM,CAAC,MAAM,CAAC,IAAgC,EAAE,IAAI,CAAC,CAAA;IACvD,CAAC;CAOF;AAdD,4DAcC","sourcesContent":["import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\nimport { AbstractFilterDevice } from '../../icc-api/model/AbstractFilterDevice'\n\nexport class ExternalViewFilterDevice extends AbstractFilterDevice {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.Device'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterDevice, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
2
+ import { AbstractFilterHealthElement } from '../../icc-api/model/AbstractFilterHealthElement';
3
+ export declare class ExternalViewFilterHealthElement extends AbstractFilterHealthElement {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterHealthElement = void 0;
4
+ const AbstractFilterHealthElement_1 = require("../../icc-api/model/AbstractFilterHealthElement");
5
+ class ExternalViewFilterHealthElement extends AbstractFilterHealthElement_1.AbstractFilterHealthElement {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.HealthElement';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterHealthElement = ExternalViewFilterHealthElement;
14
+ //# sourceMappingURL=ExternalViewFilterHealthElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterHealthElement.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterHealthElement.ts"],"names":[],"mappings":";;;AACA,iGAA6F;AAE7F,MAAa,+BAAgC,SAAQ,yDAA2B;IAG9E,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,yCAAyC,CAAA;QAIrE,MAAM,CAAC,MAAM,CAAC,IAAuC,EAAE,IAAI,CAAC,CAAA;IAC9D,CAAC;CAOF;AAdD,0EAcC","sourcesContent":["import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\nimport { AbstractFilterHealthElement } from '../../icc-api/model/AbstractFilterHealthElement'\n\nexport class ExternalViewFilterHealthElement extends AbstractFilterHealthElement {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.HealthElement'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterHealthElement, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
2
+ import { AbstractFilterHealthcareParty } from '../../icc-api/model/AbstractFilterHealthcareParty';
3
+ export declare class ExternalViewFilterHealthcareParty extends AbstractFilterHealthcareParty {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterHealthcareParty = void 0;
4
+ const AbstractFilterHealthcareParty_1 = require("../../icc-api/model/AbstractFilterHealthcareParty");
5
+ class ExternalViewFilterHealthcareParty extends AbstractFilterHealthcareParty_1.AbstractFilterHealthcareParty {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.HealthcareParty';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterHealthcareParty = ExternalViewFilterHealthcareParty;
14
+ //# sourceMappingURL=ExternalViewFilterHealthcareParty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterHealthcareParty.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterHealthcareParty.ts"],"names":[],"mappings":";;;AACA,qGAAiG;AAEjG,MAAa,iCAAkC,SAAQ,6DAA6B;IAGlF,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,2CAA2C,CAAA;QAIvE,MAAM,CAAC,MAAM,CAAC,IAAyC,EAAE,IAAI,CAAC,CAAA;IAChE,CAAC;CAOF;AAdD,8EAcC","sourcesContent":["import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\nimport { AbstractFilterHealthcareParty } from '../../icc-api/model/AbstractFilterHealthcareParty'\n\nexport class ExternalViewFilterHealthcareParty extends AbstractFilterHealthcareParty {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.HealthcareParty'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterHealthcareParty, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
2
+ import { AbstractFilterInvoice } from '../../icc-api/model/AbstractFilterInvoice';
3
+ export declare class ExternalViewFilterInvoice extends AbstractFilterInvoice {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterInvoice = void 0;
4
+ const AbstractFilterInvoice_1 = require("../../icc-api/model/AbstractFilterInvoice");
5
+ class ExternalViewFilterInvoice extends AbstractFilterInvoice_1.AbstractFilterInvoice {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.Invoice';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterInvoice = ExternalViewFilterInvoice;
14
+ //# sourceMappingURL=ExternalViewFilterInvoice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterInvoice.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterInvoice.ts"],"names":[],"mappings":";;;AACA,qFAAiF;AAEjF,MAAa,yBAA0B,SAAQ,6CAAqB;IAGlE,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,mCAAmC,CAAA;QAI/D,MAAM,CAAC,MAAM,CAAC,IAAiC,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;CAOF;AAdD,8DAcC","sourcesContent":["import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\nimport { AbstractFilterInvoice } from '../../icc-api/model/AbstractFilterInvoice'\n\nexport class ExternalViewFilterInvoice extends AbstractFilterInvoice {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.Invoice'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterInvoice, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { AbstractFilterMaintenanceTask } from '../../icc-api/model/AbstractFilterMaintenanceTask';
2
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
3
+ export declare class ExternalViewFilterMaintenanceTask extends AbstractFilterMaintenanceTask {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterMaintenanceTask = void 0;
4
+ const AbstractFilterMaintenanceTask_1 = require("../../icc-api/model/AbstractFilterMaintenanceTask");
5
+ class ExternalViewFilterMaintenanceTask extends AbstractFilterMaintenanceTask_1.AbstractFilterMaintenanceTask {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.MaintenanceTask';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterMaintenanceTask = ExternalViewFilterMaintenanceTask;
14
+ //# sourceMappingURL=ExternalViewFilterMaintenanceTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterMaintenanceTask.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterMaintenanceTask.ts"],"names":[],"mappings":";;;AAAA,qGAAiG;AAGjG,MAAa,iCAAkC,SAAQ,6DAA6B;IAGlF,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,2CAA2C,CAAA;QAIvE,MAAM,CAAC,MAAM,CAAC,IAAyC,EAAE,IAAI,CAAC,CAAA;IAChE,CAAC;CAOF;AAdD,8EAcC","sourcesContent":["import { AbstractFilterMaintenanceTask } from '../../icc-api/model/AbstractFilterMaintenanceTask'\nimport { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\n\nexport class ExternalViewFilterMaintenanceTask extends AbstractFilterMaintenanceTask {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.MaintenanceTask'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterMaintenanceTask, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { AbstractFilterMessage } from '../../icc-api/model/AbstractFilterMessage';
2
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
3
+ export declare class ExternalViewFilterMessage extends AbstractFilterMessage {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterMessage = void 0;
4
+ const AbstractFilterMessage_1 = require("../../icc-api/model/AbstractFilterMessage");
5
+ class ExternalViewFilterMessage extends AbstractFilterMessage_1.AbstractFilterMessage {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.Message';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterMessage = ExternalViewFilterMessage;
14
+ //# sourceMappingURL=ExternalViewFilterMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterMessage.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterMessage.ts"],"names":[],"mappings":";;;AAAA,qFAAiF;AAGjF,MAAa,yBAA0B,SAAQ,6CAAqB;IAGlE,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,mCAAmC,CAAA;QAI/D,MAAM,CAAC,MAAM,CAAC,IAAiC,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;CAOF;AAdD,8DAcC","sourcesContent":["import { AbstractFilterMessage } from '../../icc-api/model/AbstractFilterMessage'\nimport { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\n\nexport class ExternalViewFilterMessage extends AbstractFilterMessage {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.Message'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterMessage, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { AbstractFilterPatient } from '../../icc-api/model/AbstractFilterPatient';
2
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
3
+ export declare class ExternalViewFilterPatient extends AbstractFilterPatient {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterPatient = void 0;
4
+ const AbstractFilterPatient_1 = require("../../icc-api/model/AbstractFilterPatient");
5
+ class ExternalViewFilterPatient extends AbstractFilterPatient_1.AbstractFilterPatient {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.Patient';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterPatient = ExternalViewFilterPatient;
14
+ //# sourceMappingURL=ExternalViewFilterPatient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterPatient.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterPatient.ts"],"names":[],"mappings":";;;AAAA,qFAAiF;AAGjF,MAAa,yBAA0B,SAAQ,6CAAqB;IAGlE,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,mCAAmC,CAAA;QAI/D,MAAM,CAAC,MAAM,CAAC,IAAiC,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;CAOF;AAdD,8DAcC","sourcesContent":["import { AbstractFilterPatient } from '../../icc-api/model/AbstractFilterPatient'\nimport { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\n\nexport class ExternalViewFilterPatient extends AbstractFilterPatient {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.Patient'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterPatient, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { AbstractFilterService } from '../../icc-api/model/AbstractFilterService';
2
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
3
+ export declare class ExternalViewFilterService extends AbstractFilterService {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterService = void 0;
4
+ const AbstractFilterService_1 = require("../../icc-api/model/AbstractFilterService");
5
+ class ExternalViewFilterService extends AbstractFilterService_1.AbstractFilterService {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.embed.Service';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterService = ExternalViewFilterService;
14
+ //# sourceMappingURL=ExternalViewFilterService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterService.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterService.ts"],"names":[],"mappings":";;;AAAA,qFAAiF;AAGjF,MAAa,yBAA0B,SAAQ,6CAAqB;IAGlE,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,yCAAyC,CAAA;QAIrE,MAAM,CAAC,MAAM,CAAC,IAAiC,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;CAOF;AAdD,8DAcC","sourcesContent":["import { AbstractFilterService } from '../../icc-api/model/AbstractFilterService'\nimport { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\n\nexport class ExternalViewFilterService extends AbstractFilterService {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.embed.Service'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterService, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { AbstractFilterTopic } from '../../icc-api/model/AbstractFilterTopic';
2
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
3
+ export declare class ExternalViewFilterTopic extends AbstractFilterTopic {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterTopic = void 0;
4
+ const AbstractFilterTopic_1 = require("../../icc-api/model/AbstractFilterTopic");
5
+ class ExternalViewFilterTopic extends AbstractFilterTopic_1.AbstractFilterTopic {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.Topic';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterTopic = ExternalViewFilterTopic;
14
+ //# sourceMappingURL=ExternalViewFilterTopic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterTopic.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterTopic.ts"],"names":[],"mappings":";;;AAAA,iFAA6E;AAG7E,MAAa,uBAAwB,SAAQ,yCAAmB;IAG9D,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,iCAAiC,CAAA;QAI7D,MAAM,CAAC,MAAM,CAAC,IAA+B,EAAE,IAAI,CAAC,CAAA;IACtD,CAAC;CAOF;AAdD,0DAcC","sourcesContent":["import { AbstractFilterTopic } from '../../icc-api/model/AbstractFilterTopic'\nimport { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\n\nexport class ExternalViewFilterTopic extends AbstractFilterTopic {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.Topic'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterTopic, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { AbstractFilterUser } from '../../icc-api/model/AbstractFilterUser';
2
+ import { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey';
3
+ export declare class ExternalViewFilterUser extends AbstractFilterUser {
4
+ $type: string;
5
+ entityQualifiedName: string;
6
+ constructor(json: JSON | any);
7
+ view?: string;
8
+ partition?: string;
9
+ startKey?: ExternalFilterKey;
10
+ endKey?: ExternalFilterKey;
11
+ desc?: string;
12
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalViewFilterUser = void 0;
4
+ const AbstractFilterUser_1 = require("../../icc-api/model/AbstractFilterUser");
5
+ class ExternalViewFilterUser extends AbstractFilterUser_1.AbstractFilterUser {
6
+ constructor(json) {
7
+ super(json);
8
+ this.$type = 'ExternalViewFilter';
9
+ this.entityQualifiedName = 'org.taktik.icure.entities.User';
10
+ Object.assign(this, json);
11
+ }
12
+ }
13
+ exports.ExternalViewFilterUser = ExternalViewFilterUser;
14
+ //# sourceMappingURL=ExternalViewFilterUser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalViewFilterUser.js","sourceRoot":"","sources":["../../../icc-x-api/filters/ExternalViewFilterUser.ts"],"names":[],"mappings":";;;AAAA,+EAA2E;AAG3E,MAAa,sBAAuB,SAAQ,uCAAkB;IAG5D,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAHb,UAAK,GAAW,oBAAoB,CAAA;QACpC,wBAAmB,GAAW,gCAAgC,CAAA;QAI5D,MAAM,CAAC,MAAM,CAAC,IAA8B,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;CAOF;AAdD,wDAcC","sourcesContent":["import { AbstractFilterUser } from '../../icc-api/model/AbstractFilterUser'\nimport { ExternalFilterKey } from '../../icc-api/model/ExternalFilterKey'\n\nexport class ExternalViewFilterUser extends AbstractFilterUser {\n $type: string = 'ExternalViewFilter'\n entityQualifiedName: string = 'org.taktik.icure.entities.User'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as ExternalViewFilterUser, json)\n }\n\n view?: string\n partition?: string\n startKey?: ExternalFilterKey\n endKey?: ExternalFilterKey\n desc?: string\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@icure/api",
3
- "version": "8.0.50",
3
+ "version": "8.0.53",
4
4
  "description": "Typescript version of iCure standalone API client",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,5 +1,5 @@
1
1
  import { IcureApi, IcureApiOptions } from '../../icc-x-api';
2
- import { IcureApi as TestSetupApi } from '@icure/api';
2
+ import { IcureApi as TestSetupApi } from '@icure/apiV7';
3
3
  import { User } from '../../icc-api/model/User';
4
4
  import { TestVars, UserDetails } from '@icure/test-setup/types';
5
5
  import { EnvInitializer } from '@icure/test-setup/decorators';
@@ -17,7 +17,7 @@ const util_1 = require("util");
17
17
  const uuid_1 = require("uuid");
18
18
  const crypto_1 = require("crypto");
19
19
  const TestApi_1 = require("./TestApi");
20
- const api_1 = require("@icure/api");
20
+ const apiV7_1 = require("@icure/apiV7");
21
21
  const TestStorage_1 = require("./TestStorage");
22
22
  const TestCryptoStrategies_1 = require("./TestCryptoStrategies");
23
23
  const User_1 = require("../../icc-api/model/User");
@@ -325,7 +325,7 @@ function createNewHcpWithoutKeyAndParentWithKey(env, props = {}) {
325
325
  }
326
326
  exports.createNewHcpWithoutKeyAndParentWithKey = createNewHcpWithoutKeyAndParentWithKey;
327
327
  function testSetupMasterApi(env) {
328
- return api_1.IcureApi.initialise(env.iCureUrl, { username: env.masterHcp.user, password: env.masterHcp.password }, {
328
+ return apiV7_1.IcureApi.initialise(env.iCureUrl, { username: env.masterHcp.user, password: env.masterHcp.password }, {
329
329
  generateNewKeyForDataOwner() {
330
330
  return Promise.resolve(true);
331
331
  },
@@ -1 +1 @@
1
- {"version":3,"file":"test_utils.js","sourceRoot":"","sources":["../../../test/utils/test_utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BasicApis,\n BasicAuthenticationProvider,\n CryptoPrimitives,\n WebCryptoPrimitives,\n hex2ua,\n IcureApi,\n IcureApiOptions,\n retry,\n RSAUtils,\n RSAUtilsImpl,\n ShaVersion,\n ua2hex,\n IcureBasicApi,\n} from '../../icc-x-api'\nimport { tmpdir } from 'os'\nimport { TextDecoder, TextEncoder } from 'util'\nimport { v4 as uuid } from 'uuid'\nimport { webcrypto } from 'crypto'\nimport { TestApi } from './TestApi'\nimport { IcureApi as TestSetupApi } from '@icure/api'\nimport { testStorageWithKeys } from './TestStorage'\nimport { TestCryptoStrategies } from './TestCryptoStrategies'\nimport { User } from '../../icc-api/model/User'\nimport { TestEnvironmentBuilder } from '@icure/test-setup/builder'\nimport { getEnvVariables, TestVars, UserDetails } from '@icure/test-setup/types'\nimport { EnvInitializer } from '@icure/test-setup/decorators'\nimport 'isomorphic-fetch'\nimport { createPatientUser } from '@icure/test-setup/creation'\nimport { IccUserApi } from '../../icc-api'\nimport { Context, describe, Suite, Test } from 'mocha'\nimport { Group } from '../../icc-api/model/Group'\n\nexport function getTempEmail(): string {\n return `${uuid().substring(0, 8)}@icure.com`\n}\n\nexport function setLocalStorage(fetch: (input: RequestInfo, init?: RequestInit) => Promise<Response>) {\n ;(global as any).localStorage = new (require('node-localstorage').LocalStorage)(tmpdir(), 5 * 1024 ** 3)\n ;(global as any).fetch = fetch\n ;(global as any).Storage = ''\n ;(global as any).TextDecoder = TextDecoder\n ;(global as any).TextEncoder = TextEncoder\n ;(global as any).headers = Headers\n}\n\nexport const hcp1Username = process.env.ICURE_TS_TEST_HCP_USER ?? getTempEmail()\nexport const hcp2Username = process.env.ICURE_TS_TEST_HCP_2_USER ?? getTempEmail()\nexport const hcp3Username = process.env.ICURE_TS_TEST_HCP_3_USER ?? getTempEmail()\nexport const patUsername = process.env.ICURE_TS_TEST_PAT_USER ?? getTempEmail()\n\nexport const deviceUsername = getTempEmail()\n\nlet cachedInitializer: EnvInitializer | undefined\n\nexport async function getEnvironmentInitializer(): Promise<EnvInitializer> {\n if (!cachedInitializer) {\n const env = getEnvVariables()\n const scratchDir = 'test/scratch'\n const baseEnvironment =\n env.testEnvironment === 'docker' || env.testEnvironment === 'oss'\n ? new TestEnvironmentBuilder().setUpDockerEnvironment(scratchDir, ['mock'])\n : new TestEnvironmentBuilder()\n cachedInitializer = await baseEnvironment\n .withGroup(fetch, {\n patient: ['BASIC_USER', 'BASIC_DATA_OWNER'],\n hcp: [\n 'BASIC_USER',\n 'BASIC_DATA_OWNER',\n 'PATIENT_USER_MANAGER',\n 'HIERARCHICAL_DATA_OWNER',\n 'TOPIC_MANAGER',\n 'TOPIC_PARTICIPANT',\n 'LEGACY_MESSAGE_MANAGER',\n ],\n device: ['BASIC_USER', 'BASIC_DATA_OWNER'],\n user: ['BASIC_USER'],\n })\n .withMasterUser(fetch)\n .addHcp({ login: hcp1Username })\n .addHcp({ login: hcp2Username })\n .addHcp({ login: hcp3Username })\n .addPatient({ login: patUsername })\n .addDevice({ login: deviceUsername })\n .withSafeguard()\n .withEnvironmentSummary()\n .build()\n }\n return cachedInitializer\n}\n\nexport namespace TestUtils {\n export async function initApi(envVars: TestVars, userName: string = hcp1Username, options?: IcureApiOptions): Promise<IcureApi> {\n return await getApiAndAddPrivateKeysForUser(envVars.iCureUrl, envVars.dataOwnerDetails[userName], options)\n }\n\n export async function initMasterApi(envVars: TestVars, options?: IcureApiOptions): Promise<IcureApi> {\n return await getApiAndAddPrivateKeysForUser(envVars.iCureUrl, envVars.masterHcp!, options)\n }\n}\n\nexport async function getApiAndAddPrivateKeysForUser(iCureUrl: string, details: UserDetails, options?: IcureApiOptions) {\n const RSA = new RSAUtilsImpl(webcrypto as any)\n const keys = {\n publicKey: await RSA.importKey('spki', hex2ua(details.publicKey), ['encrypt'], ShaVersion.Sha1),\n privateKey: await RSA.importKey('pkcs8', hex2ua(details.privateKey), ['decrypt'], ShaVersion.Sha1),\n }\n return await TestApi(iCureUrl, details.user, details.password, webcrypto as any, keys, options)\n}\n\nasync function createHealthcarePartyUser(\n api: TestSetupApi,\n userLogin: string,\n userToken: string,\n publicKey?: string,\n privateKey?: string\n): Promise<UserDetails> {\n const { publicKey: newPublicKey, privateKey: newPrivateKey } = await api.cryptoApi.RSA.generateKeyPair()\n\n const publicKeyHex = !!publicKey && !!privateKey ? publicKey : ua2hex(await api.cryptoApi.RSA.exportKey(newPublicKey, 'spki'))\n const privateKeyHex = !!publicKey && !!privateKey ? privateKey : ua2hex(await api.cryptoApi.RSA.exportKey(newPrivateKey, 'pkcs8'))\n\n const hcp = await api.healthcarePartyApi.createHealthcareParty({\n id: uuid(),\n firstName: uuid().substring(0, 6),\n lastName: uuid().substring(0, 6),\n publicKey: publicKeyHex,\n })\n const hcpUser = await api.userApi.createUser(\n new User({\n id: uuid(),\n name: userLogin,\n login: userLogin,\n email: userLogin,\n healthcarePartyId: hcp.id,\n })\n )\n const token = await api.userApi.getToken(hcpUser.id!, uuid(), 24 * 60 * 60, userToken)\n return {\n user: hcpUser.login!,\n dataOwnerId: hcp.id!,\n password: token,\n publicKey: publicKeyHex,\n privateKey: privateKeyHex,\n }\n}\n\nexport async function createNewHcpApi(env: TestVars): Promise<{\n api: IcureApi\n credentials: UserDetails\n user: User\n}> {\n const initialisationApi = await testSetupMasterApi(env)\n const primitives = new WebCryptoPrimitives(webcrypto as any)\n const credentials = await createHealthcarePartyUser(initialisationApi, `user-${primitives.randomUuid()}`, primitives.randomUuid())\n const storage = await testStorageWithKeys([\n {\n dataOwnerId: credentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: credentials.privateKey, publicKey: credentials.publicKey }, shaVersion: ShaVersion.Sha1 }],\n },\n ])\n const api = await IcureApi.initialise(\n env.iCureUrl,\n { username: credentials.user, password: credentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: storage.storage,\n keyStorage: storage.keyStorage,\n entryKeysFactory: storage.keyFactory,\n }\n )\n return { api, credentials, user: await api.userApi.getCurrentUser() }\n}\n\nexport async function createNewPatientApi(env: TestVars): Promise<{\n api: IcureApi\n credentials: UserDetails\n user: User\n}> {\n const initialisationApi = await testSetupMasterApi(env)\n const primitives = new WebCryptoPrimitives(webcrypto as any)\n const credentials = await createPatientUser(initialisationApi, `user-${primitives.randomUuid()}`, primitives.randomUuid())\n const storage = await testStorageWithKeys([\n {\n dataOwnerId: credentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: credentials.privateKey, publicKey: credentials.publicKey }, shaVersion: ShaVersion.Sha1 }],\n },\n ])\n const api = await IcureApi.initialise(\n env.iCureUrl,\n { username: credentials.user, password: credentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: storage.storage,\n keyStorage: storage.keyStorage,\n entryKeysFactory: storage.keyFactory,\n }\n )\n return { api, credentials, user: await api.userApi.getCurrentUser() }\n}\n\n/**\n * Creates a hierarchy of HCPs with the following structure:\n * grand HCP -+-> parent HCP ---> child HCP\n * |\n * +-> child2 HCP\n */\nexport async function createHcpHierarchyApis(\n env: TestVars,\n setupAutodelegations: boolean = true,\n disableParentKeysInitialisation: boolean = false\n): Promise<{\n grandApi: IcureApi\n grandUser: User\n grandCredentials: UserDetails\n parentApi: IcureApi\n parentUser: User\n parentCredentials: UserDetails\n childApi: IcureApi\n childUser: User\n childCredentials: UserDetails\n child2Api: IcureApi\n child2User: User\n child2Credentials: UserDetails\n}> {\n const shaVersion = ShaVersion.Sha1\n const initialisationApi = await testSetupMasterApi(env)\n const primitives = new WebCryptoPrimitives(webcrypto as any)\n const grandCredentials = await createHealthcarePartyUser(initialisationApi, `grand-${primitives.randomUuid()}`, primitives.randomUuid())\n const parentCredentials = await createHealthcarePartyUser(initialisationApi, `parent-${primitives.randomUuid()}`, primitives.randomUuid())\n const childCredentials = await createHealthcarePartyUser(initialisationApi, `child-${primitives.randomUuid()}`, primitives.randomUuid())\n const child2Credentials = await createHealthcarePartyUser(initialisationApi, `child2-${primitives.randomUuid()}`, primitives.randomUuid())\n await initialisationApi.healthcarePartyApi.modifyHealthcareParty({\n ...(await initialisationApi.healthcarePartyApi.getHealthcareParty(parentCredentials.dataOwnerId)),\n parentId: grandCredentials.dataOwnerId,\n })\n await initialisationApi.healthcarePartyApi.modifyHealthcareParty({\n ...(await initialisationApi.healthcarePartyApi.getHealthcareParty(childCredentials.dataOwnerId)),\n parentId: parentCredentials.dataOwnerId,\n })\n await initialisationApi.healthcarePartyApi.modifyHealthcareParty({\n ...(await initialisationApi.healthcarePartyApi.getHealthcareParty(child2Credentials.dataOwnerId)),\n parentId: grandCredentials.dataOwnerId,\n })\n const grandStorage = await testStorageWithKeys([\n {\n dataOwnerId: grandCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],\n },\n ])\n const grandApi = await IcureApi.initialise(\n env.iCureUrl,\n { username: grandCredentials.user, password: grandCredentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: grandStorage.storage,\n keyStorage: grandStorage.keyStorage,\n entryKeysFactory: grandStorage.keyFactory,\n disableParentKeysInitialisation,\n }\n )\n const parentStorage = await testStorageWithKeys([\n {\n dataOwnerId: grandCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],\n },\n {\n dataOwnerId: parentCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: parentCredentials.privateKey, publicKey: parentCredentials.publicKey }, shaVersion: shaVersion }],\n },\n ])\n const parentApi = await IcureApi.initialise(\n env.iCureUrl,\n { username: parentCredentials.user, password: parentCredentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: parentStorage.storage,\n keyStorage: parentStorage.keyStorage,\n entryKeysFactory: parentStorage.keyFactory,\n disableParentKeysInitialisation,\n }\n )\n const parentUser = setupAutodelegations\n ? await parentApi.userApi.modifyUser({\n ...(await parentApi.userApi.getCurrentUser()),\n autoDelegations: { all: [grandCredentials.dataOwnerId] },\n })\n : await parentApi.userApi.getCurrentUser()\n const childStorage = await testStorageWithKeys([\n {\n dataOwnerId: grandCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],\n },\n {\n dataOwnerId: parentCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: parentCredentials.privateKey, publicKey: parentCredentials.publicKey }, shaVersion: shaVersion }],\n },\n {\n dataOwnerId: childCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: childCredentials.privateKey, publicKey: childCredentials.publicKey }, shaVersion: shaVersion }],\n },\n ])\n const childApi = await IcureApi.initialise(\n env.iCureUrl,\n { username: childCredentials.user, password: childCredentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: childStorage.storage,\n keyStorage: childStorage.keyStorage,\n entryKeysFactory: childStorage.keyFactory,\n disableParentKeysInitialisation,\n }\n )\n const childUser = setupAutodelegations\n ? await childApi.userApi.modifyUser({\n ...(await childApi.userApi.getCurrentUser()),\n autoDelegations: { all: [grandCredentials.dataOwnerId, parentCredentials.dataOwnerId] },\n })\n : await childApi.userApi.getCurrentUser()\n const child2Storage = await testStorageWithKeys([\n {\n dataOwnerId: grandCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],\n },\n {\n dataOwnerId: child2Credentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: child2Credentials.privateKey, publicKey: child2Credentials.publicKey }, shaVersion: shaVersion }],\n },\n ])\n const child2Api = await IcureApi.initialise(\n env.iCureUrl,\n { username: child2Credentials.user, password: child2Credentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: child2Storage.storage,\n keyStorage: child2Storage.keyStorage,\n entryKeysFactory: child2Storage.keyFactory,\n disableParentKeysInitialisation,\n }\n )\n const child2User = setupAutodelegations\n ? await child2Api.userApi.modifyUser({\n ...(await child2Api.userApi.getCurrentUser()),\n autoDelegations: { all: [grandCredentials.dataOwnerId] },\n })\n : await child2Api.userApi.getCurrentUser()\n return {\n grandApi,\n grandUser: await grandApi.userApi.getCurrentUser(),\n grandCredentials,\n parentApi,\n parentUser,\n parentCredentials,\n childApi,\n childUser,\n childCredentials,\n child2Api,\n child2User,\n child2Credentials,\n }\n}\n\n/**\n * Create a parent HCP with a key and a child HCP without any initialised key\n */\nexport async function createNewHcpWithoutKeyAndParentWithKey(\n env: TestVars,\n props: {\n initialiseEmptyKeyForChild?: boolean\n } = {}\n): Promise<{\n parentCredentials: UserDetails\n childUser: string\n childDataOwnerId: string\n childPassword: string\n}> {\n const initialisationApi = await testSetupMasterApi(env)\n const primitives = new WebCryptoPrimitives(webcrypto as any)\n const parentCredentials = await createHealthcarePartyUser(initialisationApi, `parent-${primitives.randomUuid()}`, primitives.randomUuid())\n const childUser = uuid() + '@email.com'\n const childPassword = uuid()\n const childHcp = {\n id: uuid(),\n firstName: uuid().substring(0, 6),\n lastName: uuid().substring(0, 6),\n parentId: parentCredentials.dataOwnerId,\n publicKey: undefined as string | undefined,\n }\n if (props.initialiseEmptyKeyForChild) {\n childHcp.publicKey = ''\n }\n await initialisationApi.healthcarePartyApi.createHealthcareParty(childHcp)\n await initialisationApi.userApi.createUser(\n new User({\n id: uuid(),\n name: childUser,\n login: childUser,\n email: childUser,\n passwordHash: childPassword,\n healthcarePartyId: childHcp.id,\n })\n )\n return {\n parentCredentials,\n childUser,\n childPassword,\n childDataOwnerId: childHcp.id!,\n }\n}\n\nexport function testSetupMasterApi(env: TestVars): Promise<TestSetupApi> {\n return TestSetupApi.initialise(\n env.iCureUrl,\n { username: env.masterHcp!.user, password: env.masterHcp!.password },\n {\n generateNewKeyForDataOwner(): Promise<boolean> {\n return Promise.resolve(true)\n },\n recoverAndVerifySelfHierarchyKeys(): never {\n throw new Error('Unsupported')\n },\n verifyDelegatePublicKeys(delegate: any, publicKeys: string[]): Promise<string[]> {\n return Promise.resolve(publicKeys)\n },\n },\n webcrypto as any,\n fetch\n )\n}\n\nexport type UserInManyGroupsDetails = {\n user1: User\n user2: User\n group3: Group\n userPw3: string\n user3: User\n group2: Group\n group1: Group\n userPw12: string\n userLogin: string\n}\nexport async function createUserInMultipleGroups(env: TestVars): Promise<UserInManyGroupsDetails> {\n const primitives = new WebCryptoPrimitives(webcrypto as any)\n const userGroup1Id: string = primitives.randomUuid() // Same username-pw as group 2\n const userGroup2Id: string = primitives.randomUuid() // Same username-pw as group 1\n const userGroup3Id: string = primitives.randomUuid() // Same username as group 1/2, different pw\n const userLogin: string = `maria-${primitives.randomUuid()}@pompei.it`\n const userPw12: string = `geppetto-${primitives.randomUuid()}`\n const userPw3: string = `pinocchio-${primitives.randomUuid()}`\n const user1Id: string = primitives.randomUuid()\n const user2Id: string = primitives.randomUuid()\n const user3Id: string = primitives.randomUuid()\n const api = await IcureBasicApi.initialise(env.iCureUrl, { username: 'john', password: 'LetMeIn' }, fetch) // pragma: allowlist secret\n const group1 = await api.groupApi.createGroup(\n userGroup1Id,\n `test-group-1-${primitives.randomUuid()}`,\n primitives.randomUuid(),\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n {}\n )\n const group2 = await api.groupApi.createGroup(\n userGroup2Id,\n `test-group-2-${primitives.randomUuid()}`,\n primitives.randomUuid(),\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n {}\n )\n const group3 = await api.groupApi.createGroup(\n userGroup3Id,\n `test-group-3-${primitives.randomUuid()}`,\n primitives.randomUuid(),\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n {}\n )\n const user1 = await api.userApi.createUserInGroup(userGroup1Id, {\n id: user1Id,\n name: userLogin,\n login: userLogin,\n email: userLogin,\n passwordHash: userPw12,\n })\n const user2 = await api.userApi.createUserInGroup(userGroup2Id, {\n id: user2Id,\n name: userLogin,\n login: userLogin,\n email: userLogin,\n passwordHash: userPw12,\n })\n const user3 = await api.userApi.createUserInGroup(userGroup3Id, {\n id: user3Id,\n name: userLogin,\n login: userLogin,\n email: userLogin,\n passwordHash: userPw3,\n })\n console.log(`Waiting for user to be created - ${userLogin}`)\n await retry(\n async () => {\n await new IccUserApi(env.iCureUrl, {}, new BasicAuthenticationProvider(`${userGroup1Id}/${user1Id}`, userPw12), fetch).getCurrentUser()\n await new IccUserApi(env.iCureUrl, {}, new BasicAuthenticationProvider(`${userGroup2Id}/${user2Id}`, userPw12), fetch).getCurrentUser()\n await new IccUserApi(env.iCureUrl, {}, new BasicAuthenticationProvider(`${userGroup3Id}/${user3Id}`, userPw3), fetch).getCurrentUser()\n },\n 10,\n 5_000,\n 1\n )\n return {\n user1,\n user2,\n user3,\n group1,\n group2,\n group3,\n userPw12,\n userPw3,\n userLogin,\n }\n}\n\nexport function isLiteTest() {\n return getEnvVariables().testEnvironment == 'oss'\n}\n\nexport function describeNoLite(title: string, fn: (this: Suite) => void): Suite | void {\n if (isLiteTest()) {\n return describe.skip(title, fn)\n } else {\n return describe(title, fn)\n }\n}\n\nexport function itNoLite(title: string, fn: (this: Context) => PromiseLike<any>): Test {\n if (isLiteTest()) {\n return it.skip(title, fn)\n } else {\n return it(title, fn)\n }\n}\n"]}
1
+ {"version":3,"file":"test_utils.js","sourceRoot":"","sources":["../../../test/utils/test_utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BasicApis,\n BasicAuthenticationProvider,\n CryptoPrimitives,\n WebCryptoPrimitives,\n hex2ua,\n IcureApi,\n IcureApiOptions,\n retry,\n RSAUtils,\n RSAUtilsImpl,\n ShaVersion,\n ua2hex,\n IcureBasicApi,\n} from '../../icc-x-api'\nimport { tmpdir } from 'os'\nimport { TextDecoder, TextEncoder } from 'util'\nimport { v4 as uuid } from 'uuid'\nimport { webcrypto } from 'crypto'\nimport { TestApi } from './TestApi'\nimport { IcureApi as TestSetupApi } from '@icure/apiV7'\nimport { testStorageWithKeys } from './TestStorage'\nimport { TestCryptoStrategies } from './TestCryptoStrategies'\nimport { User } from '../../icc-api/model/User'\nimport { TestEnvironmentBuilder } from '@icure/test-setup/builder'\nimport { getEnvVariables, TestVars, UserDetails } from '@icure/test-setup/types'\nimport { EnvInitializer } from '@icure/test-setup/decorators'\nimport 'isomorphic-fetch'\nimport { createPatientUser } from '@icure/test-setup/creation'\nimport { IccUserApi } from '../../icc-api'\nimport { Context, describe, Suite, Test } from 'mocha'\nimport { Group } from '../../icc-api/model/Group'\n\nexport function getTempEmail(): string {\n return `${uuid().substring(0, 8)}@icure.com`\n}\n\nexport function setLocalStorage(fetch: (input: RequestInfo, init?: RequestInit) => Promise<Response>) {\n ;(global as any).localStorage = new (require('node-localstorage').LocalStorage)(tmpdir(), 5 * 1024 ** 3)\n ;(global as any).fetch = fetch\n ;(global as any).Storage = ''\n ;(global as any).TextDecoder = TextDecoder\n ;(global as any).TextEncoder = TextEncoder\n ;(global as any).headers = Headers\n}\n\nexport const hcp1Username = process.env.ICURE_TS_TEST_HCP_USER ?? getTempEmail()\nexport const hcp2Username = process.env.ICURE_TS_TEST_HCP_2_USER ?? getTempEmail()\nexport const hcp3Username = process.env.ICURE_TS_TEST_HCP_3_USER ?? getTempEmail()\nexport const patUsername = process.env.ICURE_TS_TEST_PAT_USER ?? getTempEmail()\n\nexport const deviceUsername = getTempEmail()\n\nlet cachedInitializer: EnvInitializer | undefined\n\nexport async function getEnvironmentInitializer(): Promise<EnvInitializer> {\n if (!cachedInitializer) {\n const env = getEnvVariables()\n const scratchDir = 'test/scratch'\n const baseEnvironment =\n env.testEnvironment === 'docker' || env.testEnvironment === 'oss'\n ? new TestEnvironmentBuilder().setUpDockerEnvironment(scratchDir, ['mock'])\n : new TestEnvironmentBuilder()\n cachedInitializer = await baseEnvironment\n .withGroup(fetch, {\n patient: ['BASIC_USER', 'BASIC_DATA_OWNER'],\n hcp: [\n 'BASIC_USER',\n 'BASIC_DATA_OWNER',\n 'PATIENT_USER_MANAGER',\n 'HIERARCHICAL_DATA_OWNER',\n 'TOPIC_MANAGER',\n 'TOPIC_PARTICIPANT',\n 'LEGACY_MESSAGE_MANAGER',\n ],\n device: ['BASIC_USER', 'BASIC_DATA_OWNER'],\n user: ['BASIC_USER'],\n })\n .withMasterUser(fetch)\n .addHcp({ login: hcp1Username })\n .addHcp({ login: hcp2Username })\n .addHcp({ login: hcp3Username })\n .addPatient({ login: patUsername })\n .addDevice({ login: deviceUsername })\n .withSafeguard()\n .withEnvironmentSummary()\n .build()\n }\n return cachedInitializer\n}\n\nexport namespace TestUtils {\n export async function initApi(envVars: TestVars, userName: string = hcp1Username, options?: IcureApiOptions): Promise<IcureApi> {\n return await getApiAndAddPrivateKeysForUser(envVars.iCureUrl, envVars.dataOwnerDetails[userName], options)\n }\n\n export async function initMasterApi(envVars: TestVars, options?: IcureApiOptions): Promise<IcureApi> {\n return await getApiAndAddPrivateKeysForUser(envVars.iCureUrl, envVars.masterHcp!, options)\n }\n}\n\nexport async function getApiAndAddPrivateKeysForUser(iCureUrl: string, details: UserDetails, options?: IcureApiOptions) {\n const RSA = new RSAUtilsImpl(webcrypto as any)\n const keys = {\n publicKey: await RSA.importKey('spki', hex2ua(details.publicKey), ['encrypt'], ShaVersion.Sha1),\n privateKey: await RSA.importKey('pkcs8', hex2ua(details.privateKey), ['decrypt'], ShaVersion.Sha1),\n }\n return await TestApi(iCureUrl, details.user, details.password, webcrypto as any, keys, options)\n}\n\nasync function createHealthcarePartyUser(\n api: TestSetupApi,\n userLogin: string,\n userToken: string,\n publicKey?: string,\n privateKey?: string\n): Promise<UserDetails> {\n const { publicKey: newPublicKey, privateKey: newPrivateKey } = await api.cryptoApi.RSA.generateKeyPair()\n\n const publicKeyHex = !!publicKey && !!privateKey ? publicKey : ua2hex(await api.cryptoApi.RSA.exportKey(newPublicKey, 'spki'))\n const privateKeyHex = !!publicKey && !!privateKey ? privateKey : ua2hex(await api.cryptoApi.RSA.exportKey(newPrivateKey, 'pkcs8'))\n\n const hcp = await api.healthcarePartyApi.createHealthcareParty({\n id: uuid(),\n firstName: uuid().substring(0, 6),\n lastName: uuid().substring(0, 6),\n publicKey: publicKeyHex,\n })\n const hcpUser = await api.userApi.createUser(\n new User({\n id: uuid(),\n name: userLogin,\n login: userLogin,\n email: userLogin,\n healthcarePartyId: hcp.id,\n })\n )\n const token = await api.userApi.getToken(hcpUser.id!, uuid(), 24 * 60 * 60, userToken)\n return {\n user: hcpUser.login!,\n dataOwnerId: hcp.id!,\n password: token,\n publicKey: publicKeyHex,\n privateKey: privateKeyHex,\n }\n}\n\nexport async function createNewHcpApi(env: TestVars): Promise<{\n api: IcureApi\n credentials: UserDetails\n user: User\n}> {\n const initialisationApi = await testSetupMasterApi(env)\n const primitives = new WebCryptoPrimitives(webcrypto as any)\n const credentials = await createHealthcarePartyUser(initialisationApi, `user-${primitives.randomUuid()}`, primitives.randomUuid())\n const storage = await testStorageWithKeys([\n {\n dataOwnerId: credentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: credentials.privateKey, publicKey: credentials.publicKey }, shaVersion: ShaVersion.Sha1 }],\n },\n ])\n const api = await IcureApi.initialise(\n env.iCureUrl,\n { username: credentials.user, password: credentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: storage.storage,\n keyStorage: storage.keyStorage,\n entryKeysFactory: storage.keyFactory,\n }\n )\n return { api, credentials, user: await api.userApi.getCurrentUser() }\n}\n\nexport async function createNewPatientApi(env: TestVars): Promise<{\n api: IcureApi\n credentials: UserDetails\n user: User\n}> {\n const initialisationApi = await testSetupMasterApi(env)\n const primitives = new WebCryptoPrimitives(webcrypto as any)\n const credentials = await createPatientUser(initialisationApi, `user-${primitives.randomUuid()}`, primitives.randomUuid())\n const storage = await testStorageWithKeys([\n {\n dataOwnerId: credentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: credentials.privateKey, publicKey: credentials.publicKey }, shaVersion: ShaVersion.Sha1 }],\n },\n ])\n const api = await IcureApi.initialise(\n env.iCureUrl,\n { username: credentials.user, password: credentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: storage.storage,\n keyStorage: storage.keyStorage,\n entryKeysFactory: storage.keyFactory,\n }\n )\n return { api, credentials, user: await api.userApi.getCurrentUser() }\n}\n\n/**\n * Creates a hierarchy of HCPs with the following structure:\n * grand HCP -+-> parent HCP ---> child HCP\n * |\n * +-> child2 HCP\n */\nexport async function createHcpHierarchyApis(\n env: TestVars,\n setupAutodelegations: boolean = true,\n disableParentKeysInitialisation: boolean = false\n): Promise<{\n grandApi: IcureApi\n grandUser: User\n grandCredentials: UserDetails\n parentApi: IcureApi\n parentUser: User\n parentCredentials: UserDetails\n childApi: IcureApi\n childUser: User\n childCredentials: UserDetails\n child2Api: IcureApi\n child2User: User\n child2Credentials: UserDetails\n}> {\n const shaVersion = ShaVersion.Sha1\n const initialisationApi = await testSetupMasterApi(env)\n const primitives = new WebCryptoPrimitives(webcrypto as any)\n const grandCredentials = await createHealthcarePartyUser(initialisationApi, `grand-${primitives.randomUuid()}`, primitives.randomUuid())\n const parentCredentials = await createHealthcarePartyUser(initialisationApi, `parent-${primitives.randomUuid()}`, primitives.randomUuid())\n const childCredentials = await createHealthcarePartyUser(initialisationApi, `child-${primitives.randomUuid()}`, primitives.randomUuid())\n const child2Credentials = await createHealthcarePartyUser(initialisationApi, `child2-${primitives.randomUuid()}`, primitives.randomUuid())\n await initialisationApi.healthcarePartyApi.modifyHealthcareParty({\n ...(await initialisationApi.healthcarePartyApi.getHealthcareParty(parentCredentials.dataOwnerId)),\n parentId: grandCredentials.dataOwnerId,\n })\n await initialisationApi.healthcarePartyApi.modifyHealthcareParty({\n ...(await initialisationApi.healthcarePartyApi.getHealthcareParty(childCredentials.dataOwnerId)),\n parentId: parentCredentials.dataOwnerId,\n })\n await initialisationApi.healthcarePartyApi.modifyHealthcareParty({\n ...(await initialisationApi.healthcarePartyApi.getHealthcareParty(child2Credentials.dataOwnerId)),\n parentId: grandCredentials.dataOwnerId,\n })\n const grandStorage = await testStorageWithKeys([\n {\n dataOwnerId: grandCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],\n },\n ])\n const grandApi = await IcureApi.initialise(\n env.iCureUrl,\n { username: grandCredentials.user, password: grandCredentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: grandStorage.storage,\n keyStorage: grandStorage.keyStorage,\n entryKeysFactory: grandStorage.keyFactory,\n disableParentKeysInitialisation,\n }\n )\n const parentStorage = await testStorageWithKeys([\n {\n dataOwnerId: grandCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],\n },\n {\n dataOwnerId: parentCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: parentCredentials.privateKey, publicKey: parentCredentials.publicKey }, shaVersion: shaVersion }],\n },\n ])\n const parentApi = await IcureApi.initialise(\n env.iCureUrl,\n { username: parentCredentials.user, password: parentCredentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: parentStorage.storage,\n keyStorage: parentStorage.keyStorage,\n entryKeysFactory: parentStorage.keyFactory,\n disableParentKeysInitialisation,\n }\n )\n const parentUser = setupAutodelegations\n ? await parentApi.userApi.modifyUser({\n ...(await parentApi.userApi.getCurrentUser()),\n autoDelegations: { all: [grandCredentials.dataOwnerId] },\n })\n : await parentApi.userApi.getCurrentUser()\n const childStorage = await testStorageWithKeys([\n {\n dataOwnerId: grandCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],\n },\n {\n dataOwnerId: parentCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: parentCredentials.privateKey, publicKey: parentCredentials.publicKey }, shaVersion: shaVersion }],\n },\n {\n dataOwnerId: childCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: childCredentials.privateKey, publicKey: childCredentials.publicKey }, shaVersion: shaVersion }],\n },\n ])\n const childApi = await IcureApi.initialise(\n env.iCureUrl,\n { username: childCredentials.user, password: childCredentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: childStorage.storage,\n keyStorage: childStorage.keyStorage,\n entryKeysFactory: childStorage.keyFactory,\n disableParentKeysInitialisation,\n }\n )\n const childUser = setupAutodelegations\n ? await childApi.userApi.modifyUser({\n ...(await childApi.userApi.getCurrentUser()),\n autoDelegations: { all: [grandCredentials.dataOwnerId, parentCredentials.dataOwnerId] },\n })\n : await childApi.userApi.getCurrentUser()\n const child2Storage = await testStorageWithKeys([\n {\n dataOwnerId: grandCredentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],\n },\n {\n dataOwnerId: child2Credentials.dataOwnerId,\n pairs: [{ keyPair: { privateKey: child2Credentials.privateKey, publicKey: child2Credentials.publicKey }, shaVersion: shaVersion }],\n },\n ])\n const child2Api = await IcureApi.initialise(\n env.iCureUrl,\n { username: child2Credentials.user, password: child2Credentials.password },\n new TestCryptoStrategies(),\n webcrypto as any,\n fetch,\n {\n storage: child2Storage.storage,\n keyStorage: child2Storage.keyStorage,\n entryKeysFactory: child2Storage.keyFactory,\n disableParentKeysInitialisation,\n }\n )\n const child2User = setupAutodelegations\n ? await child2Api.userApi.modifyUser({\n ...(await child2Api.userApi.getCurrentUser()),\n autoDelegations: { all: [grandCredentials.dataOwnerId] },\n })\n : await child2Api.userApi.getCurrentUser()\n return {\n grandApi,\n grandUser: await grandApi.userApi.getCurrentUser(),\n grandCredentials,\n parentApi,\n parentUser,\n parentCredentials,\n childApi,\n childUser,\n childCredentials,\n child2Api,\n child2User,\n child2Credentials,\n }\n}\n\n/**\n * Create a parent HCP with a key and a child HCP without any initialised key\n */\nexport async function createNewHcpWithoutKeyAndParentWithKey(\n env: TestVars,\n props: {\n initialiseEmptyKeyForChild?: boolean\n } = {}\n): Promise<{\n parentCredentials: UserDetails\n childUser: string\n childDataOwnerId: string\n childPassword: string\n}> {\n const initialisationApi = await testSetupMasterApi(env)\n const primitives = new WebCryptoPrimitives(webcrypto as any)\n const parentCredentials = await createHealthcarePartyUser(initialisationApi, `parent-${primitives.randomUuid()}`, primitives.randomUuid())\n const childUser = uuid() + '@email.com'\n const childPassword = uuid()\n const childHcp = {\n id: uuid(),\n firstName: uuid().substring(0, 6),\n lastName: uuid().substring(0, 6),\n parentId: parentCredentials.dataOwnerId,\n publicKey: undefined as string | undefined,\n }\n if (props.initialiseEmptyKeyForChild) {\n childHcp.publicKey = ''\n }\n await initialisationApi.healthcarePartyApi.createHealthcareParty(childHcp)\n await initialisationApi.userApi.createUser(\n new User({\n id: uuid(),\n name: childUser,\n login: childUser,\n email: childUser,\n passwordHash: childPassword,\n healthcarePartyId: childHcp.id,\n })\n )\n return {\n parentCredentials,\n childUser,\n childPassword,\n childDataOwnerId: childHcp.id!,\n }\n}\n\nexport function testSetupMasterApi(env: TestVars): Promise<TestSetupApi> {\n return TestSetupApi.initialise(\n env.iCureUrl,\n { username: env.masterHcp!.user, password: env.masterHcp!.password },\n {\n generateNewKeyForDataOwner(): Promise<boolean> {\n return Promise.resolve(true)\n },\n recoverAndVerifySelfHierarchyKeys(): never {\n throw new Error('Unsupported')\n },\n verifyDelegatePublicKeys(delegate: any, publicKeys: string[]): Promise<string[]> {\n return Promise.resolve(publicKeys)\n },\n },\n webcrypto as any,\n fetch\n )\n}\n\nexport type UserInManyGroupsDetails = {\n user1: User\n user2: User\n group3: Group\n userPw3: string\n user3: User\n group2: Group\n group1: Group\n userPw12: string\n userLogin: string\n}\nexport async function createUserInMultipleGroups(env: TestVars): Promise<UserInManyGroupsDetails> {\n const primitives = new WebCryptoPrimitives(webcrypto as any)\n const userGroup1Id: string = primitives.randomUuid() // Same username-pw as group 2\n const userGroup2Id: string = primitives.randomUuid() // Same username-pw as group 1\n const userGroup3Id: string = primitives.randomUuid() // Same username as group 1/2, different pw\n const userLogin: string = `maria-${primitives.randomUuid()}@pompei.it`\n const userPw12: string = `geppetto-${primitives.randomUuid()}`\n const userPw3: string = `pinocchio-${primitives.randomUuid()}`\n const user1Id: string = primitives.randomUuid()\n const user2Id: string = primitives.randomUuid()\n const user3Id: string = primitives.randomUuid()\n const api = await IcureBasicApi.initialise(env.iCureUrl, { username: 'john', password: 'LetMeIn' }, fetch) // pragma: allowlist secret\n const group1 = await api.groupApi.createGroup(\n userGroup1Id,\n `test-group-1-${primitives.randomUuid()}`,\n primitives.randomUuid(),\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n {}\n )\n const group2 = await api.groupApi.createGroup(\n userGroup2Id,\n `test-group-2-${primitives.randomUuid()}`,\n primitives.randomUuid(),\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n {}\n )\n const group3 = await api.groupApi.createGroup(\n userGroup3Id,\n `test-group-3-${primitives.randomUuid()}`,\n primitives.randomUuid(),\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n {}\n )\n const user1 = await api.userApi.createUserInGroup(userGroup1Id, {\n id: user1Id,\n name: userLogin,\n login: userLogin,\n email: userLogin,\n passwordHash: userPw12,\n })\n const user2 = await api.userApi.createUserInGroup(userGroup2Id, {\n id: user2Id,\n name: userLogin,\n login: userLogin,\n email: userLogin,\n passwordHash: userPw12,\n })\n const user3 = await api.userApi.createUserInGroup(userGroup3Id, {\n id: user3Id,\n name: userLogin,\n login: userLogin,\n email: userLogin,\n passwordHash: userPw3,\n })\n console.log(`Waiting for user to be created - ${userLogin}`)\n await retry(\n async () => {\n await new IccUserApi(env.iCureUrl, {}, new BasicAuthenticationProvider(`${userGroup1Id}/${user1Id}`, userPw12), fetch).getCurrentUser()\n await new IccUserApi(env.iCureUrl, {}, new BasicAuthenticationProvider(`${userGroup2Id}/${user2Id}`, userPw12), fetch).getCurrentUser()\n await new IccUserApi(env.iCureUrl, {}, new BasicAuthenticationProvider(`${userGroup3Id}/${user3Id}`, userPw3), fetch).getCurrentUser()\n },\n 10,\n 5_000,\n 1\n )\n return {\n user1,\n user2,\n user3,\n group1,\n group2,\n group3,\n userPw12,\n userPw3,\n userLogin,\n }\n}\n\nexport function isLiteTest() {\n return getEnvVariables().testEnvironment == 'oss'\n}\n\nexport function describeNoLite(title: string, fn: (this: Suite) => void): Suite | void {\n if (isLiteTest()) {\n return describe.skip(title, fn)\n } else {\n return describe(title, fn)\n }\n}\n\nexport function itNoLite(title: string, fn: (this: Context) => PromiseLike<any>): Test {\n if (isLiteTest()) {\n return it.skip(title, fn)\n } else {\n return it(title, fn)\n }\n}\n"]}
@@ -1 +0,0 @@
1
- import 'isomorphic-fetch';
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- require("isomorphic-fetch");
13
- const icc_x_api_1 = require("../../icc-x-api");
14
- const TestStorage_1 = require("../utils/TestStorage");
15
- const DataOwnerTypeEnum_1 = require("../../icc-api/model/DataOwnerTypeEnum");
16
- const crypto_1 = require("crypto");
17
- const FilterChainContact_1 = require("../../icc-api/model/FilterChainContact");
18
- const ContactByHcPartyFilter_1 = require("../../icc-x-api/filters/ContactByHcPartyFilter");
19
- class MyStrats {
20
- dataOwnerRequiresAnonymousDelegation(dataOwner) {
21
- return dataOwner.type == DataOwnerTypeEnum_1.DataOwnerTypeEnum.Patient;
22
- }
23
- generateNewKeyForDataOwner(self, cryptoPrimitives) {
24
- return Promise.resolve(false);
25
- }
26
- recoverAndVerifySelfHierarchyKeys(keysData, cryptoPrimitives, keyPairRecoverer) {
27
- throw new Error("This should not happen for this test");
28
- }
29
- verifyDelegatePublicKeys(delegate, publicKeys, cryptoPrimitives) {
30
- return Promise.resolve(publicKeys);
31
- }
32
- }
33
- function issue() {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- const storage = new TestStorage_1.TestStorage();
36
- yield storage.setItem("org.taktik.icure.rsa.0f540fbf-43dc-4a6c-88dc-31f5ab5e515c.verification.self", JSON.stringify({ "239e8767affc1c555cbe8f0203010001": true }));
37
- const privateKey = "308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c71e5ff9ef91047235adb102f8dc03a793d5f6b13019427c62a8c84aa5ae06fda631ae11a07c7f4b069e06275b2f030f9f0972a10f6f7be6d3a2f4c6faef8486a2361452ee9ab31bcd4bf6792a7eec121266bfc1f70c853e265f3596ab6da9faedda64d51ced0ad78a044bba53d9a2df959d25951b278cb4de3a3f08457f9d4ed4641c46b6c4a423d205d1c6a60394d17f73a9e09b8bdf4ac7df81d22eaf3a1ebe0cbfd2bf41da18596d4bce3ce7884b8321f98c23d71c435e3015b74862501cf355aa710c91aa95506d078f3d3bff3723b86bf4fc7ded4402c7f81d1a7e3a786479b44d960a86acf07c83034db971a1fdfa59441b239e8767affc1c555cbe8f0203010001028201005dbe7cb418683f5e1fcc7eee65c87b85fd517a3bb067ec07d09122ff15e2895308d811da25a3077104940854a616cb8ba2b5d97c5f5e7ec84d3246a899828373b951d99eb3cc2c6ff5e7020ac88989cdf650de8dcca85de0c54304e1432335a8382c1e55c1310e6e2c81da3f4673cbbd14dcafd173bfda7c5ab5b47049fc0b4c391c56f12add5a8982599cd8239c4dd937ca0f4482f5601a21a4303415804a2b3dd0fc7d5ad0e2daebf434fb0ec5cdd41b8486e6f273404a824cf858d1d177d2efc15df3ee6401bf2ae0ac3c88b6adf395b25013cbf881a4c1c6a3bd900ff53c60cd8dca5395e5d9bd5d9bec6989761380c50198a1b55f5630e42f5dfd9daee502818100f1631d82d37e32da38dd4f1de975c5bdc7c81d10d372903535e5d81266fb5c2b201a6ff3f76867c0665e51d95a136f3dd81e21ed940b78f071b807d2cb0d922e3043089b0bc11b105d977ba7d98778b61b13e7173c4a9b3eeb3b00b86a160849b0114cf064ebbcd9a150a73797bd4ac0d192f3ac92124c402ebe2226202b995302818100d32c349ef9dc0483ce8e886d779d553b2c38532bf7c1ffbf8b79dd962a2d3ae4fa1ec80a8fb9f8753d4d9e8ce7e62d1ba546c98e612e652f7b76c23acf6d71f0f076938129d6fa2ae88e35381b794bbd00d82515ac1604c077d699189d8f68cb7172889c730473374a618cddbb78682b456a46eab08c8705920b0d2a4f191255028180501ff059cece231f20a505700e609384cd5df597f23822fa26abe6af2513e6a24203c4899ce4411c325eb8988737d0431d0bd383431313cfec4f83f94a8174b6743aac0e9b363c3f90718a104b3a96ad0c0bed375f41fc8a4416cfc467226d19d8a1c5823e5da9d02ba5d3fbb6189549afc731af64c5421e43e5c4fc16cda215028180329d39cf90dba749604cd16e4b692e708c5cc3b29a23a984e38d460b23f8cb50ee924a281de2d9266097261567cfc7a804a93ece1d84dd43d037dabdf5d1a9a9b238f989cfd97304add0c7f8b6bd0fe631399d49e081368a5b2ed86b09f8c189619bae1ab186b386e111188e5cccb34b0bcc394b2f1dbf8f1a3e03ddcc2f9a310281801e7440d3349a9492a72732f304102cb206e83e746cb1940a594cf114e698d4edac67991c3b7e073eed9d6dae52abf044f0bede3d52c02723013ec32e46a11c0e9723c0139a913a9827f7d1331c510f7b19e4ea27eb6f7c2816a0f7f89b143ade1bcc4fa3fef1fcf2617f40b9e7d3983ec5d0174c371b8d0fc2f20876b0d37bcf";
38
- yield storage.setItem("org.taktik.icure.rsa.device.0f540fbf-43dc-4a6c-88dc-31f5ab5e515c.239e8767affc1c555cbe8f0203010001", JSON.stringify({
39
- "publicKey": (0, icc_x_api_1.spkiToJwk)((0, icc_x_api_1.hex2ua)((0, icc_x_api_1.jwk2spki)((0, icc_x_api_1.pkcs8ToJwk)((0, icc_x_api_1.hex2ua)(privateKey)))), icc_x_api_1.ShaVersion.Sha256),
40
- "privateKey": (0, icc_x_api_1.pkcs8ToJwk)((0, icc_x_api_1.hex2ua)(privateKey))
41
- }));
42
- const sdk = yield icc_x_api_1.IcureApi.initialise("https://api.icure.cloud", { username: "jerome.cordiez+ad2@gmail.com", password: "tiredaile" }, new MyStrats(), crypto_1.webcrypto, fetch, { storage: storage, headers: { "X-Bypass-Session": "true" } });
43
- console.log(yield sdk.contactApi.filterByWithUser(yield sdk.userApi.getCurrentUser(), undefined, 1000, new FilterChainContact_1.FilterChainContact({ filter: new ContactByHcPartyFilter_1.ContactByHcPartyFilter({ hcpId: "0f540fbf-43dc-4a6c-88dc-31f5ab5e515c" }) })));
44
- });
45
- }
46
- describe('Recovery api use scenarios', () => {
47
- it('Aaaaaaaaaaaaaaaaaaaa', function () {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- yield issue();
50
- });
51
- });
52
- });
53
- //# sourceMappingURL=help-meddi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"help-meddi.js","sourceRoot":"","sources":["../../../test/icc-x-api/help-meddi.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4BAAyB;AACzB,+CAUwB;AACxB,sDAAgD;AAGhD,6EAAwE;AAExE,mCAAiC;AACjC,+EAA0E;AAC1E,2FAAsF;AAEtF,MAAM,QAAQ;IACZ,oCAAoC,CAAC,SAAkC;QACrE,OAAO,SAAS,CAAC,IAAI,IAAI,qCAAiB,CAAC,OAAO,CAAC;IACrD,CAAC;IAED,0BAA0B,CAAC,IAAuB,EAAE,gBAAkC;QACpF,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,iCAAiC,CAAC,QAI/B,EAAE,gBAAkC,EAAE,gBAAkC;QAGzE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,CAAC;IAED,wBAAwB,CAAC,QAAiC,EAAE,UAAoB,EAAE,gBAAkC;QAClH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;CACF;AAED,SAAe,KAAK;;QAClB,MAAM,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAA;QACjC,MAAM,OAAO,CAAC,OAAO,CAAC,6EAA6E,EAAE,IAAI,CAAC,SAAS,CAAC,EAAC,kCAAkC,EAAC,IAAI,EAAC,CAAC,CAAC,CAAA;QAC/J,MAAM,UAAU,GAAG,k4EAAk4E,CAAA;QACr5E,MAAM,OAAO,CAAC,OAAO,CACnB,mGAAmG,EACnG,IAAI,CAAC,SAAS,CAAC;YACb,WAAW,EAAE,IAAA,qBAAS,EAAC,IAAA,kBAAM,EAAC,IAAA,oBAAQ,EAAC,IAAA,sBAAU,EAAC,IAAA,kBAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,sBAAU,CAAC,MAAM,CAAC;YAC3F,YAAY,EAAE,IAAA,sBAAU,EAAC,IAAA,kBAAM,EAAC,UAAU,CAAC,CAAC;SAC7C,CAAC,CACH,CAAA;QACD,MAAM,GAAG,GAAG,MAAM,oBAAQ,CAAC,UAAU,CACnC,yBAAyB,EACzB,EAAE,QAAQ,EAAE,8BAA8B,EAAE,QAAQ,EAAE,WAAW,EAAE,EACnE,IAAI,QAAQ,EAAE,EACd,kBAAgB,EAChB,KAAK,EACL,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,CAC9D,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAC/C,MAAM,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAClC,SAAS,EACT,IAAI,EACJ,IAAI,uCAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,+CAAsB,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,EAAE,CAAC,CAClH,CAAC,CAAA;IACJ,CAAC;CAAA;AAED,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,sBAAsB,EAAE;;YACzB,MAAM,KAAK,EAAE,CAAA;QACf,CAAC;KAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import 'isomorphic-fetch'\nimport {\n CryptoPrimitives,\n CryptoStrategies,\n hex2ua,\n IcureApi,\n jwk2spki,\n KeyPair,\n pkcs8ToJwk,\n ShaVersion,\n spkiToJwk\n} from '../../icc-x-api'\nimport {TestStorage} from '../utils/TestStorage'\nimport {KeyPairRecoverer} from \"../../icc-x-api/crypto/KeyPairRecoverer\";\nimport {CryptoActorStubWithType} from \"../../icc-api/model/CryptoActorStub\";\nimport {DataOwnerTypeEnum} from \"../../icc-api/model/DataOwnerTypeEnum\";\nimport {DataOwnerWithType} from \"../../icc-api/model/DataOwnerWithType\";\nimport {webcrypto} from \"crypto\";\nimport {FilterChainContact} from \"../../icc-api/model/FilterChainContact\";\nimport {ContactByHcPartyFilter} from \"../../icc-x-api/filters/ContactByHcPartyFilter\";\n\nclass MyStrats implements CryptoStrategies {\n dataOwnerRequiresAnonymousDelegation(dataOwner: CryptoActorStubWithType): boolean {\n return dataOwner.type == DataOwnerTypeEnum.Patient;\n }\n\n generateNewKeyForDataOwner(self: DataOwnerWithType, cryptoPrimitives: CryptoPrimitives): Promise<KeyPair<CryptoKey> | boolean> {\n return Promise.resolve(false);\n }\n\n recoverAndVerifySelfHierarchyKeys(keysData: {\n dataOwner: DataOwnerWithType;\n unknownKeys: string[];\n unavailableKeys: string[]\n }[], cryptoPrimitives: CryptoPrimitives, keyPairRecoverer: KeyPairRecoverer): Promise<{\n [p: string]: { recoveredKeys: { [p: string]: KeyPair<CryptoKey> }; keyAuthenticity: { [p: string]: boolean } }\n }> {\n throw new Error(\"This should not happen for this test\")\n }\n\n verifyDelegatePublicKeys(delegate: CryptoActorStubWithType, publicKeys: string[], cryptoPrimitives: CryptoPrimitives): Promise<string[]> {\n return Promise.resolve(publicKeys);\n }\n}\n\nasync function issue() {\n const storage = new TestStorage()\n await storage.setItem(\"org.taktik.icure.rsa.0f540fbf-43dc-4a6c-88dc-31f5ab5e515c.verification.self\", JSON.stringify({\"239e8767affc1c555cbe8f0203010001\":true}))\n const privateKey = \"308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100c71e5ff9ef91047235adb102f8dc03a793d5f6b13019427c62a8c84aa5ae06fda631ae11a07c7f4b069e06275b2f030f9f0972a10f6f7be6d3a2f4c6faef8486a2361452ee9ab31bcd4bf6792a7eec121266bfc1f70c853e265f3596ab6da9faedda64d51ced0ad78a044bba53d9a2df959d25951b278cb4de3a3f08457f9d4ed4641c46b6c4a423d205d1c6a60394d17f73a9e09b8bdf4ac7df81d22eaf3a1ebe0cbfd2bf41da18596d4bce3ce7884b8321f98c23d71c435e3015b74862501cf355aa710c91aa95506d078f3d3bff3723b86bf4fc7ded4402c7f81d1a7e3a786479b44d960a86acf07c83034db971a1fdfa59441b239e8767affc1c555cbe8f0203010001028201005dbe7cb418683f5e1fcc7eee65c87b85fd517a3bb067ec07d09122ff15e2895308d811da25a3077104940854a616cb8ba2b5d97c5f5e7ec84d3246a899828373b951d99eb3cc2c6ff5e7020ac88989cdf650de8dcca85de0c54304e1432335a8382c1e55c1310e6e2c81da3f4673cbbd14dcafd173bfda7c5ab5b47049fc0b4c391c56f12add5a8982599cd8239c4dd937ca0f4482f5601a21a4303415804a2b3dd0fc7d5ad0e2daebf434fb0ec5cdd41b8486e6f273404a824cf858d1d177d2efc15df3ee6401bf2ae0ac3c88b6adf395b25013cbf881a4c1c6a3bd900ff53c60cd8dca5395e5d9bd5d9bec6989761380c50198a1b55f5630e42f5dfd9daee502818100f1631d82d37e32da38dd4f1de975c5bdc7c81d10d372903535e5d81266fb5c2b201a6ff3f76867c0665e51d95a136f3dd81e21ed940b78f071b807d2cb0d922e3043089b0bc11b105d977ba7d98778b61b13e7173c4a9b3eeb3b00b86a160849b0114cf064ebbcd9a150a73797bd4ac0d192f3ac92124c402ebe2226202b995302818100d32c349ef9dc0483ce8e886d779d553b2c38532bf7c1ffbf8b79dd962a2d3ae4fa1ec80a8fb9f8753d4d9e8ce7e62d1ba546c98e612e652f7b76c23acf6d71f0f076938129d6fa2ae88e35381b794bbd00d82515ac1604c077d699189d8f68cb7172889c730473374a618cddbb78682b456a46eab08c8705920b0d2a4f191255028180501ff059cece231f20a505700e609384cd5df597f23822fa26abe6af2513e6a24203c4899ce4411c325eb8988737d0431d0bd383431313cfec4f83f94a8174b6743aac0e9b363c3f90718a104b3a96ad0c0bed375f41fc8a4416cfc467226d19d8a1c5823e5da9d02ba5d3fbb6189549afc731af64c5421e43e5c4fc16cda215028180329d39cf90dba749604cd16e4b692e708c5cc3b29a23a984e38d460b23f8cb50ee924a281de2d9266097261567cfc7a804a93ece1d84dd43d037dabdf5d1a9a9b238f989cfd97304add0c7f8b6bd0fe631399d49e081368a5b2ed86b09f8c189619bae1ab186b386e111188e5cccb34b0bcc394b2f1dbf8f1a3e03ddcc2f9a310281801e7440d3349a9492a72732f304102cb206e83e746cb1940a594cf114e698d4edac67991c3b7e073eed9d6dae52abf044f0bede3d52c02723013ec32e46a11c0e9723c0139a913a9827f7d1331c510f7b19e4ea27eb6f7c2816a0f7f89b143ade1bcc4fa3fef1fcf2617f40b9e7d3983ec5d0174c371b8d0fc2f20876b0d37bcf\"\n await storage.setItem(\n \"org.taktik.icure.rsa.device.0f540fbf-43dc-4a6c-88dc-31f5ab5e515c.239e8767affc1c555cbe8f0203010001\",\n JSON.stringify({\n \"publicKey\": spkiToJwk(hex2ua(jwk2spki(pkcs8ToJwk(hex2ua(privateKey)))), ShaVersion.Sha256),\n \"privateKey\": pkcs8ToJwk(hex2ua(privateKey))\n })\n )\n const sdk = await IcureApi.initialise(\n \"https://api.icure.cloud\",\n { username: \"jerome.cordiez+ad2@gmail.com\", password: \"tiredaile\" },\n new MyStrats(),\n webcrypto as any,\n fetch,\n { storage: storage, headers: { \"X-Bypass-Session\": \"true\" } }\n )\n console.log(await sdk.contactApi.filterByWithUser(\n await sdk.userApi.getCurrentUser(),\n undefined,\n 1000,\n new FilterChainContact({ filter: new ContactByHcPartyFilter({ hcpId: \"0f540fbf-43dc-4a6c-88dc-31f5ab5e515c\" }) })\n ))\n}\n\ndescribe('Recovery api use scenarios', () => {\n it('Aaaaaaaaaaaaaaaaaaaa', async function () {\n await issue()\n })\n})\n"]}