@awell-health/awell-extensions 1.0.102 → 1.0.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/extensions/index.js +2 -0
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/markdown.json +5 -1
- package/dist/extensions/wellinks/actions/createFlourishCustomer/config/fields.d.ts +58 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/config/fields.js +56 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/config/fields.js.map +1 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/config/index.d.ts +2 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/config/index.js +9 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/config/index.js.map +1 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/config/settings.d.ts +35 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/config/settings.js +17 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/config/settings.js.map +1 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/createFlourishCustomer.d.ts +11 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/createFlourishCustomer.js +56 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/createFlourishCustomer.js.map +1 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/createFlourishCustomer.test.d.ts +1 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/createFlourishCustomer.test.js +53 -0
- package/dist/extensions/wellinks/actions/createFlourishCustomer/createFlourishCustomer.test.js.map +1 -0
- package/dist/extensions/wellinks/actions/index.d.ts +108 -0
- package/dist/extensions/wellinks/actions/index.js +3 -1
- package/dist/extensions/wellinks/actions/index.js.map +1 -1
- package/dist/extensions/wellinks/actions/submitPamSurvey/config/fields.js +2 -2
- package/dist/extensions/wellinks/actions/submitPamSurvey/config/fields.js.map +1 -1
- package/dist/extensions/wellinks/actions/submitPamSurvey/submitPamSurvey.test.js +2 -2
- package/dist/extensions/wellinks/actions/submitPamSurvey/submitPamSurvey.test.js.map +1 -1
- package/dist/extensions/wellinks/api/clients/wellinksFlourishClient.d.ts +1 -0
- package/dist/extensions/wellinks/api/clients/wellinksFlourishClient.js +44 -0
- package/dist/extensions/wellinks/api/clients/wellinksFlourishClient.js.map +1 -1
- package/dist/extensions/wellinks/api/test/wellinksFlourishClient.test.js +161 -105
- package/dist/extensions/wellinks/api/test/wellinksFlourishClient.test.js.map +1 -1
- package/dist/extensions/zusHealth/client/client.d.ts +12 -0
- package/dist/extensions/zusHealth/client/client.js +42 -0
- package/dist/extensions/zusHealth/client/client.js.map +1 -0
- package/dist/extensions/zusHealth/client/index.d.ts +1 -0
- package/dist/extensions/zusHealth/client/index.js +6 -0
- package/dist/extensions/zusHealth/client/index.js.map +1 -0
- package/dist/extensions/zusHealth/client/type.d.ts +6 -0
- package/dist/extensions/zusHealth/client/type.js +3 -0
- package/dist/extensions/zusHealth/client/type.js.map +1 -0
- package/dist/extensions/zusHealth/index.d.ts +2 -0
- package/dist/extensions/zusHealth/index.js +20 -0
- package/dist/extensions/zusHealth/index.js.map +1 -0
- package/dist/extensions/zusHealth/settings.d.ts +37 -0
- package/dist/extensions/zusHealth/settings.js +41 -0
- package/dist/extensions/zusHealth/settings.js.map +1 -0
- package/dist/extensions/zusHealth/utils/error.d.ts +6 -0
- package/dist/extensions/zusHealth/utils/error.js +53 -0
- package/dist/extensions/zusHealth/utils/error.js.map +1 -0
- package/dist/extensions/zusHealth/utils/index.d.ts +1 -0
- package/dist/extensions/zusHealth/utils/index.js +18 -0
- package/dist/extensions/zusHealth/utils/index.js.map +1 -0
- package/dist/extensions/zusHealth/validation/encounter.zod.d.ts +2 -0
- package/dist/extensions/zusHealth/validation/encounter.zod.js +9 -0
- package/dist/extensions/zusHealth/validation/encounter.zod.js.map +1 -0
- package/dist/extensions/zusHealth/validation/index.d.ts +2 -0
- package/dist/extensions/zusHealth/validation/index.js +19 -0
- package/dist/extensions/zusHealth/validation/index.js.map +1 -0
- package/dist/extensions/zusHealth/validation/settings.zod.d.ts +20 -0
- package/dist/extensions/zusHealth/validation/settings.zod.js +22 -0
- package/dist/extensions/zusHealth/validation/settings.zod.js.map +1 -0
- package/dist/extensions/zusHealth/webhooks/index.d.ts +3 -0
- package/dist/extensions/zusHealth/webhooks/index.js +7 -0
- package/dist/extensions/zusHealth/webhooks/index.js.map +1 -0
- package/dist/extensions/zusHealth/webhooks/patientAdmitted.d.ts +43 -0
- package/dist/extensions/zusHealth/webhooks/patientAdmitted.js +93 -0
- package/dist/extensions/zusHealth/webhooks/patientAdmitted.js.map +1 -0
- package/dist/extensions/zusHealth/webhooks/patientDischarged.d.ts +47 -0
- package/dist/extensions/zusHealth/webhooks/patientDischarged.js +98 -0
- package/dist/extensions/zusHealth/webhooks/patientDischarged.js.map +1 -0
- package/dist/extensions/zusHealth/webhooks/types.d.ts +28 -0
- package/dist/extensions/zusHealth/webhooks/types.js +22 -0
- package/dist/extensions/zusHealth/webhooks/types.js.map +1 -0
- package/package.json +1 -1
@@ -33,6 +33,33 @@ const lodash_1 = require("lodash");
|
|
33
33
|
class WellinksFlourishClient {
|
34
34
|
constructor(apiUrl, apiKey, clientextid) {
|
35
35
|
this.user = {
|
36
|
+
create: async (firstName, lastName, dateOfBirth, subgroupId, thirdPartyIdentifier) => {
|
37
|
+
try {
|
38
|
+
const response = await (0, node_fetch_1.default)(`${this._apiUrl}/enrolluser`, {
|
39
|
+
method: 'POST',
|
40
|
+
body: buildCreateUserRequest(this._clientextid, this._apiKey, firstName, lastName, dateOfBirth, subgroupId, thirdPartyIdentifier),
|
41
|
+
headers: {
|
42
|
+
contentType: 'text/xml',
|
43
|
+
accept: 'application/xml',
|
44
|
+
},
|
45
|
+
});
|
46
|
+
const xml = await response.text();
|
47
|
+
return await new Promise((resolve, reject) => {
|
48
|
+
xml2js.parseString(xml, (err, result) => {
|
49
|
+
if (!(0, lodash_1.isNil)(err)) {
|
50
|
+
reject(err);
|
51
|
+
}
|
52
|
+
else {
|
53
|
+
resolve(result.RegisterResponseData.StatusCode[0] === 'Success_Register');
|
54
|
+
}
|
55
|
+
});
|
56
|
+
});
|
57
|
+
}
|
58
|
+
catch (err) {
|
59
|
+
const error = err;
|
60
|
+
throw Error(`Node Fetch failed: ${error.message}`);
|
61
|
+
}
|
62
|
+
},
|
36
63
|
exists: async (identifier) => {
|
37
64
|
try {
|
38
65
|
const response = await (0, node_fetch_1.default)(`${this._apiUrl}/checkifuserexists`, {
|
@@ -118,6 +145,23 @@ function buildCheckIfUserExistsRequest(identifier, clientextid, apiKey) {
|
|
118
145
|
</request>
|
119
146
|
`;
|
120
147
|
}
|
148
|
+
function buildCreateUserRequest(clientextid, apiKey, firstName, lastName, dateOfBirth, subgroupId, thirdPartyIdentifier) {
|
149
|
+
const date = new Date(dateOfBirth);
|
150
|
+
return `
|
151
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
152
|
+
<request>
|
153
|
+
<user>
|
154
|
+
<clientextid>${clientextid}</clientextid> <!--- required -->
|
155
|
+
<clientpasskey>${apiKey}</clientpasskey> <!--- required -->
|
156
|
+
<subgroupextid>${subgroupId}</subgroupextid > <!--- required -->
|
157
|
+
<thirdpartyidentifier>${thirdPartyIdentifier}</thirdpartyidentifier> <!--- required -->
|
158
|
+
<firstname>${firstName}</firstname>
|
159
|
+
<lastname>${lastName}</lastname>
|
160
|
+
<dob day=${date.getDate()} month=${date.getMonth()} year=${date.getFullYear()}/>
|
161
|
+
</user>
|
162
|
+
</request>
|
163
|
+
`;
|
164
|
+
}
|
121
165
|
function buildSubmitPamSurveyRequest(clientextid, apiKey, language, adminDate, thirdPartyIdentifier, gender, age, pa1, pa2, pa3, pa4, pa5, pa6, pa7, pa8, pa9, pa10, pa11, pa12, pa13) {
|
122
166
|
const adminDateValue = new Date(adminDate);
|
123
167
|
return `
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wellinksFlourishClient.js","sourceRoot":"","sources":["../../../../../extensions/wellinks/api/clients/wellinksFlourishClient.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"wellinksFlourishClient.js","sourceRoot":"","sources":["../../../../../extensions/wellinks/api/clients/wellinksFlourishClient.ts"],"names":[],"mappings":"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"}
|
@@ -15,121 +15,177 @@ describe('WellinksFlourishClient', () => {
|
|
15
15
|
beforeEach(() => {
|
16
16
|
jest.clearAllMocks();
|
17
17
|
});
|
18
|
-
describe('user
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
18
|
+
describe('user', () => {
|
19
|
+
describe('exists', () => {
|
20
|
+
test('should return true when the StatusMessage is affirmative.', async () => {
|
21
|
+
const properResponse = `
|
22
|
+
<UserExistsResponseData xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
|
23
|
+
<StatusCode>Success_ExternalIdentifier</StatusCode>
|
24
|
+
<StatusMessage>User with external identifier exists.</StatusMessage>
|
25
|
+
<ExternalUserID>230905-OV92CZDC</ExternalUserID>
|
26
|
+
<NationalPatientIdentifier i:nil="true"/>
|
27
|
+
<ThirdPartyIdentifier>18071982001</ThirdPartyIdentifier>
|
28
|
+
<UserName i:nil="true"/>
|
29
|
+
</UserExistsResponseData>`;
|
30
|
+
node_fetch_1.default.mockResolvedValue(new Response(properResponse, {
|
31
|
+
url: 'url',
|
32
|
+
status: 200,
|
33
|
+
statusText: 'OK',
|
34
|
+
headers: {
|
35
|
+
'Content-Type': 'application/xml', // Specify the content type as XML
|
36
|
+
},
|
37
|
+
}));
|
38
|
+
const result = await wellinksFlourishClient.user.exists('identifier');
|
39
|
+
expect(result).toBe(true);
|
40
|
+
});
|
41
|
+
test('should return false when the StatusMessage is negative.', async () => {
|
42
|
+
const properResponse = `
|
43
|
+
<UserExistsResponseData xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
|
44
|
+
<StatusCode>Success_ExternalIdentifier</StatusCode>
|
45
|
+
<StatusMessage>User with external identifier doesn't exist or invalid.</StatusMessage>
|
46
|
+
<ExternalUserID>230905-OV92CZDC</ExternalUserID>
|
47
|
+
<NationalPatientIdentifier i:nil="true"/>
|
48
|
+
<ThirdPartyIdentifier>18071982001</ThirdPartyIdentifier>
|
49
|
+
<UserName i:nil="true"/>
|
50
|
+
</UserExistsResponseData>`;
|
51
|
+
node_fetch_1.default.mockResolvedValue(new Response(properResponse, {
|
52
|
+
url: 'url',
|
53
|
+
status: 200,
|
54
|
+
statusText: 'OK',
|
55
|
+
headers: {
|
56
|
+
'Content-Type': 'application/xml', // Specify the content type as XML
|
57
|
+
},
|
58
|
+
}));
|
59
|
+
const result = await wellinksFlourishClient.user.exists('identifier');
|
60
|
+
expect(result).toBe(false);
|
61
|
+
});
|
62
|
+
test('should throw an error when node-fetch fails', async () => {
|
63
|
+
;
|
64
|
+
node_fetch_1.default.mockImplementation(() => {
|
65
|
+
throw new Error('something went wrong');
|
66
|
+
});
|
67
|
+
await expect(wellinksFlourishClient.user.exists('identifier')).rejects.toThrowError(Error('Node Fetch failed: something went wrong'));
|
68
|
+
});
|
69
|
+
});
|
70
|
+
describe('create', () => {
|
71
|
+
test('should return true when the StatusCode is affirmative', async () => {
|
72
|
+
const positiveResponse = `
|
73
|
+
<RegisterResponseData xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
|
74
|
+
<StatusCode>Success_Register</StatusCode>
|
75
|
+
<StatusMessage>User successfully registered.</StatusMessage>
|
76
|
+
<ExternalUserID>230919-HQXTAR2E</ExternalUserID>
|
25
77
|
<NationalPatientIdentifier i:nil="true"/>
|
26
|
-
<ThirdPartyIdentifier>
|
78
|
+
<ThirdPartyIdentifier>180719827444001</ThirdPartyIdentifier>
|
27
79
|
<UserName i:nil="true"/>
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
<
|
45
|
-
<
|
80
|
+
</RegisterResponseData>
|
81
|
+
`;
|
82
|
+
node_fetch_1.default.mockResolvedValue(new Response(positiveResponse, {
|
83
|
+
url: 'url',
|
84
|
+
status: 200,
|
85
|
+
statusText: 'OK',
|
86
|
+
headers: {
|
87
|
+
'Content-Type': 'application/xml', // Specify the content type as XML
|
88
|
+
},
|
89
|
+
}));
|
90
|
+
const result = await wellinksFlourishClient.user.create('firstName', 'lastName', 'September 8th, 2000', '1234', '1234');
|
91
|
+
expect(result).toEqual(true);
|
92
|
+
});
|
93
|
+
test('should return false when the statusCode is not affirmative', async () => {
|
94
|
+
const negativeResponse = `
|
95
|
+
<RegisterResponseData xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
|
96
|
+
<StatusCode>Error_DuplicatePrimaryEmail</StatusCode>
|
97
|
+
<StatusMessage>Email is either duplicate or invalid.</StatusMessage>
|
98
|
+
<ExternalUserID i:nil="true"/>
|
46
99
|
<NationalPatientIdentifier i:nil="true"/>
|
47
|
-
<ThirdPartyIdentifier
|
100
|
+
<ThirdPartyIdentifier i:nil="true"/>
|
48
101
|
<UserName i:nil="true"/>
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
102
|
+
</RegisterResponseData>`;
|
103
|
+
node_fetch_1.default.mockResolvedValue(new Response(negativeResponse, {
|
104
|
+
url: 'url',
|
105
|
+
status: 200,
|
106
|
+
statusText: 'OK',
|
107
|
+
headers: {
|
108
|
+
'Content-Type': 'application/xml', // Specify the content type as XML
|
109
|
+
},
|
110
|
+
}));
|
111
|
+
const result = await wellinksFlourishClient.user.create('firstName', 'lastName', 'September 8th, 2000', '1234', '1234');
|
112
|
+
expect(result).toEqual(false);
|
113
|
+
});
|
114
|
+
test('should throw an error when node-fetch fails', async () => {
|
115
|
+
;
|
116
|
+
node_fetch_1.default.mockImplementation(() => {
|
117
|
+
throw new Error('something went wrong');
|
118
|
+
});
|
119
|
+
await expect(wellinksFlourishClient.user.create('firstName', 'lastName', 'September 8th, 2000', '1234', '1234')).rejects.toThrowError(Error('Node Fetch failed: something went wrong'));
|
65
120
|
});
|
66
|
-
await expect(wellinksFlourishClient.user.exists('identifier')).rejects.toThrowError(Error('Node Fetch failed: something went wrong'));
|
67
121
|
});
|
68
122
|
});
|
69
123
|
describe('survey submit', () => {
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
<
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
124
|
+
describe('submit', () => {
|
125
|
+
test('should return a FlourishSubmitPamSurveyResponse object on success', async () => {
|
126
|
+
const properResponse = `
|
127
|
+
<UserSurveyResponseData xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
|
128
|
+
<StatusCode>Success_SurveySubmit</StatusCode>
|
129
|
+
<StatusMessage>Submit User Survey success.</StatusMessage>
|
130
|
+
<ExternalUserID>230905-OV92CZDC</ExternalUserID>
|
131
|
+
<NationalPatientIdentifier i:nil="true"/>
|
132
|
+
<SurveyEnteredDateTime>2023-09-05T00:00:00</SurveyEnteredDateTime>
|
133
|
+
<SurveyName>PAM13_S</SurveyName>
|
134
|
+
<SurveyResult>
|
135
|
+
<ResponseData>
|
136
|
+
<Type id="PAMLevel" value="1"/>
|
137
|
+
<Type id="PAMScore" value="38.10"/>
|
138
|
+
</ResponseData>
|
139
|
+
</SurveyResult>
|
140
|
+
<ThirdPartyIdentifier i:nil="true"/>
|
141
|
+
<UserName i:nil="true"/>
|
142
|
+
</UserSurveyResponseData>
|
143
|
+
`;
|
144
|
+
node_fetch_1.default.mockResolvedValue(new Response(properResponse, {
|
145
|
+
url: 'url',
|
146
|
+
status: 200,
|
147
|
+
statusText: 'OK',
|
148
|
+
headers: {
|
149
|
+
'Content-Type': 'application/xml', // Specify the content type as XML
|
150
|
+
},
|
151
|
+
}));
|
152
|
+
const result = await wellinksFlourishClient.survey.submit('en', '2023-09-18', 'thirdpartyIdentifier', 'male', 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
|
153
|
+
expect(result).toEqual({
|
154
|
+
success: true,
|
155
|
+
pamLevel: 1,
|
156
|
+
pamScore: 38.1,
|
157
|
+
});
|
102
158
|
});
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
159
|
+
test('should throw an error if node-fetch fails', async () => {
|
160
|
+
;
|
161
|
+
node_fetch_1.default.mockImplementation(() => {
|
162
|
+
throw new Error('something went wrong');
|
163
|
+
});
|
164
|
+
await expect(wellinksFlourishClient.survey.submit('en', Date().toString(), 'thirdpartyIdentifier', 'male', 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)).rejects.toThrowError(Error('Node Fetch failed: something went wrong'));
|
165
|
+
});
|
166
|
+
test('should throw an error if the StatusCode is not affirmative', async () => {
|
167
|
+
const wrongResponse = `
|
168
|
+
<UserSurveyResponseData xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
|
169
|
+
<StatusCode>Error_InvalidUserCredential</StatusCode>
|
170
|
+
<StatusMessage>Sorry. We could not find user with the specified credentials.</StatusMessage>
|
171
|
+
<ExternalUserID i:nil="true"/>
|
172
|
+
<NationalPatientIdentifier i:nil="true"/>
|
173
|
+
<SurveyEnteredDateTime>2023-09-05T00:00:00</SurveyEnteredDateTime>
|
174
|
+
<SurveyName>PAM13_S</SurveyName>
|
175
|
+
<SurveyResult i:nil="true"/>
|
176
|
+
<ThirdPartyIdentifier i:nil="true"/>
|
177
|
+
<UserName i:nil="true"/>
|
178
|
+
</UserSurveyResponseData>`;
|
179
|
+
node_fetch_1.default.mockResolvedValue(new Response(wrongResponse, {
|
180
|
+
url: 'url',
|
181
|
+
status: 200,
|
182
|
+
statusText: 'OK',
|
183
|
+
headers: {
|
184
|
+
'Content-Type': 'application/xml', // Specify the content type as XML
|
185
|
+
},
|
186
|
+
}));
|
187
|
+
await expect(wellinksFlourishClient.survey.submit('en', Date().toString(), 'thirdpartyIdentifier', 'male', 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)).rejects.toThrowError(Error('Node Fetch failed: Survey was not correctly submitted'));
|
108
188
|
});
|
109
|
-
await expect(wellinksFlourishClient.survey.submit('en', '2023-09-18', 'thirdpartyIdentifier', 'male', 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)).rejects.toThrowError(Error('Node Fetch failed: something went wrong'));
|
110
|
-
});
|
111
|
-
test('should throw an error if the StatusCode is not affirmative', async () => {
|
112
|
-
const wrongResponse = `
|
113
|
-
<UserSurveyResponseData xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
|
114
|
-
<StatusCode>Error_InvalidUserCredential</StatusCode>
|
115
|
-
<StatusMessage>Sorry. We could not find user with the specified credentials.</StatusMessage>
|
116
|
-
<ExternalUserID i:nil="true"/>
|
117
|
-
<NationalPatientIdentifier i:nil="true"/>
|
118
|
-
<SurveyEnteredDateTime>2023-09-05T00:00:00</SurveyEnteredDateTime>
|
119
|
-
<SurveyName>PAM13_S</SurveyName>
|
120
|
-
<SurveyResult i:nil="true"/>
|
121
|
-
<ThirdPartyIdentifier i:nil="true"/>
|
122
|
-
<UserName i:nil="true"/>
|
123
|
-
</UserSurveyResponseData>`;
|
124
|
-
node_fetch_1.default.mockResolvedValue(new Response(wrongResponse, {
|
125
|
-
url: 'url',
|
126
|
-
status: 200,
|
127
|
-
statusText: 'OK',
|
128
|
-
headers: {
|
129
|
-
'Content-Type': 'application/xml', // Specify the content type as XML
|
130
|
-
},
|
131
|
-
}));
|
132
|
-
await expect(wellinksFlourishClient.survey.submit('en', '2023-09-18', 'thirdpartyIdentifier', 'male', 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)).rejects.toThrowError(Error('Node Fetch failed: Survey was not correctly submitted'));
|
133
189
|
});
|
134
190
|
});
|
135
191
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wellinksFlourishClient.test.js","sourceRoot":"","sources":["../../../../../extensions/wellinks/api/test/wellinksFlourishClient.test.ts"],"names":[],"mappings":";;;;;AAAA,8EAA0E;AAC1E,4DAA8B;AAC9B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAEvB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;AAErD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAA;IACvB,MAAM,MAAM,GAAG,QAAQ,CAAA;IACvB,MAAM,WAAW,GAAG,aAAa,CAAA;IACjC,MAAM,sBAAsB,GAAG,IAAI,+CAAsB,CACvD,MAAM,EACN,MAAM,EACN,WAAW,CACZ,CAAA;IACD,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,
|
1
|
+
{"version":3,"file":"wellinksFlourishClient.test.js","sourceRoot":"","sources":["../../../../../extensions/wellinks/api/test/wellinksFlourishClient.test.ts"],"names":[],"mappings":";;;;;AAAA,8EAA0E;AAC1E,4DAA8B;AAC9B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAEvB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;AAErD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAA;IACvB,MAAM,MAAM,GAAG,QAAQ,CAAA;IACvB,MAAM,WAAW,GAAG,aAAa,CAAA;IACjC,MAAM,sBAAsB,GAAG,IAAI,+CAAsB,CACvD,MAAM,EACN,MAAM,EACN,WAAW,CACZ,CAAA;IACD,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;gBAC3E,MAAM,cAAc,GAAG;;;;;;;;kCAQG,CACzB;gBAAC,oBAA2C,CAAC,iBAAiB,CAC7D,IAAI,QAAQ,CAAC,cAAc,EAAE;oBAC3B,GAAG,EAAE,KAAK;oBACV,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE;wBACP,cAAc,EAAE,iBAAiB,EAAE,kCAAkC;qBACtE;iBACF,CAAC,CACH,CAAA;gBACD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACrE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;gBACzE,MAAM,cAAc,GAAG;;;;;;;;kCAQG,CACzB;gBAAC,oBAA2C,CAAC,iBAAiB,CAC7D,IAAI,QAAQ,CAAC,cAAc,EAAE;oBAC3B,GAAG,EAAE,KAAK;oBACV,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE;wBACP,cAAc,EAAE,iBAAiB,EAAE,kCAAkC;qBACtE;iBACF,CAAC,CACH,CAAA;gBACD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACrE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;gBAC7D,CAAC;gBAAC,oBAA2C,CAAC,kBAAkB,CAAC,GAAG,EAAE;oBACpE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACzC,CAAC,CAAC,CAAA;gBACF,MAAM,MAAM,CACV,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CACjD,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAA;YAC1E,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;gBACvE,MAAM,gBAAgB,GAAG;;;;;;;;;SASxB,CACA;gBAAC,oBAA2C,CAAC,iBAAiB,CAC7D,IAAI,QAAQ,CAAC,gBAAgB,EAAE;oBAC7B,GAAG,EAAE,KAAK;oBACV,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE;wBACP,cAAc,EAAE,iBAAiB,EAAE,kCAAkC;qBACtE;iBACF,CAAC,CACH,CAAA;gBACD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,MAAM,CACrD,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,MAAM,EACN,MAAM,CACP,CAAA;gBACD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;gBAC5E,MAAM,gBAAgB,GAAG;;;;;;;;gCAQD,CACvB;gBAAC,oBAA2C,CAAC,iBAAiB,CAC7D,IAAI,QAAQ,CAAC,gBAAgB,EAAE;oBAC7B,GAAG,EAAE,KAAK;oBACV,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE;wBACP,cAAc,EAAE,iBAAiB,EAAE,kCAAkC;qBACtE;iBACF,CAAC,CACH,CAAA;gBACD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,MAAM,CACrD,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,MAAM,EACN,MAAM,CACP,CAAA;gBACD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC/B,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;gBAC7D,CAAC;gBAAC,oBAA2C,CAAC,kBAAkB,CAAC,GAAG,EAAE;oBACpE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACzC,CAAC,CAAC,CAAA;gBACF,MAAM,MAAM,CACV,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAChC,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,MAAM,EACN,MAAM,CACP,CACF,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAA;YAC1E,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;gBACnF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;SAiBtB,CACA;gBAAC,oBAA2C,CAAC,iBAAiB,CAC7D,IAAI,QAAQ,CAAC,cAAc,EAAE;oBAC3B,GAAG,EAAE,KAAK;oBACV,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE;wBACP,cAAc,EAAE,iBAAiB,EAAE,kCAAkC;qBACtE;iBACF,CAAC,CACH,CAAA;gBACD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,MAAM,CACvD,IAAI,EACJ,YAAY,EACZ,sBAAsB,EACtB,MAAM,EACN,EAAE,EACF,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,CACH,CAAA;gBACD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;oBACrB,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;gBAC3D,CAAC;gBAAC,oBAA2C,CAAC,kBAAkB,CAAC,GAAG,EAAE;oBACpE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACzC,CAAC,CAAC,CAAA;gBACF,MAAM,MAAM,CACV,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAClC,IAAI,EACJ,IAAI,EAAE,CAAC,QAAQ,EAAE,EACjB,sBAAsB,EACtB,MAAM,EACN,EAAE,EACF,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,CACH,CACF,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAA;YAC1E,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;gBAC5E,MAAM,aAAa,GAAG;;;;;;;;;;;kCAWI,CAEzB;gBAAC,oBAA2C,CAAC,iBAAiB,CAC7D,IAAI,QAAQ,CAAC,aAAa,EAAE;oBAC1B,GAAG,EAAE,KAAK;oBACV,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE;wBACP,cAAc,EAAE,iBAAiB,EAAE,kCAAkC;qBACtE;iBACF,CAAC,CACH,CAAA;gBACD,MAAM,MAAM,CACV,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAClC,IAAI,EACJ,IAAI,EAAE,CAAC,QAAQ,EAAE,EACjB,sBAAsB,EACtB,MAAM,EACN,EAAE,EACF,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,CACH,CACF,CAAC,OAAO,CAAC,YAAY,CACpB,KAAK,CAAC,uDAAuD,CAAC,CAC/D,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { DataWrapper, APIClient, type DataWrapperCtor } from '@awell-health/extensions-core';
|
2
|
+
import { type ZusAPIClientConstrutorProps } from './type';
|
3
|
+
import { type settings } from '../settings';
|
4
|
+
export declare class ZusHealthDataWrapper extends DataWrapper {
|
5
|
+
getResource(resourceId: string): Promise<any>;
|
6
|
+
}
|
7
|
+
export declare class ZusHealthAPIClient extends APIClient<ZusHealthDataWrapper> {
|
8
|
+
readonly ctor: DataWrapperCtor<ZusHealthDataWrapper>;
|
9
|
+
constructor({ authUrl, requestConfig, ...opts }: ZusAPIClientConstrutorProps);
|
10
|
+
getResource(resourceId: string): Promise<any>;
|
11
|
+
}
|
12
|
+
export declare const makeAPIClient: (payloadSettings: Record<keyof typeof settings, string | undefined>) => ZusHealthAPIClient;
|
@@ -0,0 +1,42 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.makeAPIClient = exports.ZusHealthAPIClient = exports.ZusHealthDataWrapper = void 0;
|
4
|
+
const extensions_core_1 = require("@awell-health/extensions-core");
|
5
|
+
const validation_1 = require("../validation");
|
6
|
+
class ZusHealthDataWrapper extends extensions_core_1.DataWrapper {
|
7
|
+
async getResource(resourceId) {
|
8
|
+
const response = await this.RequestRaw({
|
9
|
+
method: 'GET',
|
10
|
+
url: `/${resourceId}`,
|
11
|
+
});
|
12
|
+
return response;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
exports.ZusHealthDataWrapper = ZusHealthDataWrapper;
|
16
|
+
class ZusHealthAPIClient extends extensions_core_1.APIClient {
|
17
|
+
constructor({ authUrl, requestConfig, ...opts }) {
|
18
|
+
super({
|
19
|
+
...opts,
|
20
|
+
auth: new extensions_core_1.OAuthClientCredentials({
|
21
|
+
auth_url: authUrl,
|
22
|
+
request_config: requestConfig,
|
23
|
+
}),
|
24
|
+
});
|
25
|
+
this.ctor = (token, baseUrl) => new ZusHealthDataWrapper(token, baseUrl);
|
26
|
+
}
|
27
|
+
async getResource(resourceId) {
|
28
|
+
const response = await this.FetchData(async (dw) => await dw.getResource(resourceId));
|
29
|
+
return response.data;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
exports.ZusHealthAPIClient = ZusHealthAPIClient;
|
33
|
+
const makeAPIClient = (payloadSettings) => {
|
34
|
+
const { auth_url, base_url, ...authRquestSettings } = validation_1.settingsSchema.parse(payloadSettings);
|
35
|
+
return new ZusHealthAPIClient({
|
36
|
+
authUrl: auth_url,
|
37
|
+
requestConfig: authRquestSettings,
|
38
|
+
baseUrl: base_url,
|
39
|
+
});
|
40
|
+
};
|
41
|
+
exports.makeAPIClient = makeAPIClient;
|
42
|
+
//# sourceMappingURL=client.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../extensions/zusHealth/client/client.ts"],"names":[],"mappings":";;;AAAA,mEAKsC;AAGtC,8CAA8C;AAE9C,MAAa,oBAAqB,SAAQ,6BAAW;IAC5C,KAAK,CAAC,WAAW,CAAC,UAAkB;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;YACrC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAI,UAAU,EAAE;SACtB,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AATD,oDASC;AAED,MAAa,kBAAmB,SAAQ,2BAA+B;IAMrE,YAAmB,EACjB,OAAO,EACP,aAAa,EACb,GAAG,IAAI,EACqB;QAC5B,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,IAAI,EAAE,IAAI,wCAAsB,CAAC;gBAC/B,QAAQ,EAAE,OAAO;gBACjB,cAAc,EAAE,aAAa;aAC9B,CAAC;SACH,CAAC,CAAA;QAhBK,SAAI,GAA0C,CACrD,KAAa,EACb,OAAe,EACf,EAAE,CAAC,IAAI,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAc7C,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,UAAkB;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CACnC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAC/C,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AA1BD,gDA0BC;AAEM,MAAM,aAAa,GAAG,CAC3B,eAAkE,EAC9C,EAAE;IACtB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,GACjD,2BAAc,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAEvC,OAAO,IAAI,kBAAkB,CAAC;QAC5B,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,kBAAkB;QACjC,OAAO,EAAE,QAAQ;KAClB,CAAC,CAAA;AACJ,CAAC,CAAA;AAXY,QAAA,aAAa,iBAWzB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { makeAPIClient } from './client';
|
@@ -0,0 +1,6 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.makeAPIClient = void 0;
|
4
|
+
var client_1 = require("./client");
|
5
|
+
Object.defineProperty(exports, "makeAPIClient", { enumerable: true, get: function () { return client_1.makeAPIClient; } });
|
6
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/zusHealth/client/index.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAA/B,uGAAA,aAAa,OAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../extensions/zusHealth/client/type.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ZusHealth = void 0;
|
4
|
+
const extensions_core_1 = require("@awell-health/extensions-core");
|
5
|
+
const settings_1 = require("./settings");
|
6
|
+
const webhooks_1 = require("./webhooks");
|
7
|
+
exports.ZusHealth = {
|
8
|
+
key: 'zusHealth',
|
9
|
+
title: 'Zus Health',
|
10
|
+
icon_url: 'https://zushealth.com/wp-content/themes/zus/assets/static/img/zus-logo.svg',
|
11
|
+
description: 'Simplify healthcare data interoperability with Zus, the shared health data platform, providing seamless access to patient data through APIs, embedded components, and EHR integrations',
|
12
|
+
category: extensions_core_1.Category.EHR_INTEGRATIONS,
|
13
|
+
author: {
|
14
|
+
authorType: extensions_core_1.AuthorType.HTD,
|
15
|
+
},
|
16
|
+
actions: {},
|
17
|
+
settings: settings_1.settings,
|
18
|
+
webhooks: webhooks_1.webhooks,
|
19
|
+
};
|
20
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../extensions/zusHealth/index.ts"],"names":[],"mappings":";;;AACA,mEAAoE;AACpE,yCAAqC;AACrC,yCAAqC;AAExB,QAAA,SAAS,GAAc;IAClC,GAAG,EAAE,WAAW;IAChB,KAAK,EAAE,YAAY;IACnB,QAAQ,EACN,4EAA4E;IAC9E,WAAW,EACT,wLAAwL;IAC1L,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,MAAM,EAAE;QACN,UAAU,EAAE,4BAAU,CAAC,GAAG;KAC3B;IACD,OAAO,EAAE,EAAE;IACX,QAAQ,EAAR,mBAAQ;IACR,QAAQ,EAAR,mBAAQ;CACT,CAAA"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
export declare const settings: {
|
2
|
+
base_url: {
|
3
|
+
key: string;
|
4
|
+
label: string;
|
5
|
+
obfuscated: false;
|
6
|
+
description: string;
|
7
|
+
required: true;
|
8
|
+
};
|
9
|
+
auth_url: {
|
10
|
+
key: string;
|
11
|
+
label: string;
|
12
|
+
obfuscated: false;
|
13
|
+
description: string;
|
14
|
+
required: true;
|
15
|
+
};
|
16
|
+
client_id: {
|
17
|
+
key: string;
|
18
|
+
label: string;
|
19
|
+
obfuscated: false;
|
20
|
+
description: string;
|
21
|
+
required: true;
|
22
|
+
};
|
23
|
+
client_secret: {
|
24
|
+
key: string;
|
25
|
+
label: string;
|
26
|
+
obfuscated: false;
|
27
|
+
description: string;
|
28
|
+
required: true;
|
29
|
+
};
|
30
|
+
audience: {
|
31
|
+
key: string;
|
32
|
+
label: string;
|
33
|
+
obfuscated: false;
|
34
|
+
description: string;
|
35
|
+
required: true;
|
36
|
+
};
|
37
|
+
};
|
@@ -0,0 +1,41 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.settings = void 0;
|
4
|
+
exports.settings = {
|
5
|
+
base_url: {
|
6
|
+
key: 'base_url',
|
7
|
+
label: 'Base URL',
|
8
|
+
obfuscated: false,
|
9
|
+
description: 'The base URL of Zus Health API.',
|
10
|
+
required: true,
|
11
|
+
},
|
12
|
+
auth_url: {
|
13
|
+
key: 'auth_url',
|
14
|
+
label: 'Auth URL',
|
15
|
+
obfuscated: false,
|
16
|
+
description: 'The base URL of authorization API',
|
17
|
+
required: true,
|
18
|
+
},
|
19
|
+
client_id: {
|
20
|
+
key: 'client_id',
|
21
|
+
label: 'Client ID',
|
22
|
+
obfuscated: false,
|
23
|
+
description: '',
|
24
|
+
required: true,
|
25
|
+
},
|
26
|
+
client_secret: {
|
27
|
+
key: 'client_secret',
|
28
|
+
label: 'Client Secret',
|
29
|
+
obfuscated: false,
|
30
|
+
description: '',
|
31
|
+
required: true,
|
32
|
+
},
|
33
|
+
audience: {
|
34
|
+
key: 'audience',
|
35
|
+
label: 'Audience',
|
36
|
+
obfuscated: false,
|
37
|
+
description: '',
|
38
|
+
required: true,
|
39
|
+
},
|
40
|
+
};
|
41
|
+
//# sourceMappingURL=settings.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/zusHealth/settings.ts"],"names":[],"mappings":";;;AAEa,QAAA,QAAQ,GAAG;IACtB,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,iCAAiC;QAC9C,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,IAAI;KACf;IACD,aAAa,EAAE;QACb,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,IAAI;KACf;CACgC,CAAA"}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { AxiosError } from 'axios';
|
2
|
+
export declare const isZodError: (error: any) => boolean;
|
3
|
+
export declare const isAxiosError: (error: any) => boolean;
|
4
|
+
export declare const parseZodError: (error: any) => any;
|
5
|
+
export declare const parseAxiosError: (error: AxiosError) => any;
|
6
|
+
export declare const parseUnknowError: (error: Error) => any;
|