@openhi/constructs 0.0.162 → 0.0.164
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/lib/{chunk-WOTU36P3.mjs → chunk-WFTDH2NM.mjs} +3 -2
- package/lib/chunk-WFTDH2NM.mjs.map +1 -0
- package/lib/{chunk-MLFMW5IF.mjs → chunk-XHG4SODS.mjs} +9 -5
- package/lib/chunk-XHG4SODS.mjs.map +1 -0
- package/lib/{chunk-7TRO2STL.mjs → chunk-ZODGX37H.mjs} +543 -46
- package/lib/chunk-ZODGX37H.mjs.map +1 -0
- package/lib/{events-TG654e7L.d.mts → events-dO9nxnPa.d.mts} +89 -4
- package/lib/{events-TG654e7L.d.ts → events-dO9nxnPa.d.ts} +89 -4
- package/lib/index.d.mts +1 -1
- package/lib/index.d.ts +90 -5
- package/lib/index.js +335 -52
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +46 -2
- package/lib/index.mjs.map +1 -1
- package/lib/pre-token-generation.handler.js +1 -0
- package/lib/pre-token-generation.handler.js.map +1 -1
- package/lib/pre-token-generation.handler.mjs +1 -1
- package/lib/provision-default-workspace.handler.js +9 -4
- package/lib/provision-default-workspace.handler.js.map +1 -1
- package/lib/provision-default-workspace.handler.mjs +2 -2
- package/lib/rest-api-lambda.handler.js +292 -287
- package/lib/rest-api-lambda.handler.js.map +1 -1
- package/lib/rest-api-lambda.handler.mjs +2 -2
- package/lib/seed-demo-data.handler.d.mts +4 -2
- package/lib/seed-demo-data.handler.d.ts +4 -2
- package/lib/seed-demo-data.handler.js +553 -74
- package/lib/seed-demo-data.handler.js.map +1 -1
- package/lib/seed-demo-data.handler.mjs +2 -2
- package/package.json +13 -13
- package/lib/chunk-7TRO2STL.mjs.map +0 -1
- package/lib/chunk-MLFMW5IF.mjs.map +0 -1
- package/lib/chunk-WOTU36P3.mjs.map +0 -1
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
createRoleAssignmentOperation,
|
|
21
21
|
createTenantOperation,
|
|
22
22
|
createWorkspaceOperation
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-XHG4SODS.mjs";
|
|
24
24
|
import {
|
|
25
25
|
NotFoundError
|
|
26
26
|
} from "./chunk-FYHBHHWK.mjs";
|
|
@@ -65,59 +65,59 @@ var OPENHI_RESOURCE_URN_SYSTEM = "http://openhi.org/";
|
|
|
65
65
|
var DEMO_PERIOD = { start: "2026-01-01T00:00:00Z" };
|
|
66
66
|
var PLACEHOLDER_TENANT_ID = "placeholder-tenant-id";
|
|
67
67
|
var PLACEHOLDER_WORKSPACE_ID = "placeholder-workspace-id";
|
|
68
|
-
var ON_SITE_DEMO_TENANT_ID = "
|
|
69
|
-
var ON_SITE_DEMO_WORKSPACE_ID = "
|
|
68
|
+
var ON_SITE_DEMO_TENANT_ID = "01KDVDNKKD34R8DX97HRR0N69J";
|
|
69
|
+
var ON_SITE_DEMO_WORKSPACE_ID = "01KDVDPKNJ9MZYC1PH8S4VTC7S";
|
|
70
70
|
var DEV_USERS = [
|
|
71
71
|
{
|
|
72
|
-
id: "
|
|
72
|
+
id: "01KDVDZC15D5R37PTBR2WVHH94",
|
|
73
73
|
email: "russell@codedrifters.com",
|
|
74
74
|
firstName: "Russell",
|
|
75
75
|
lastName: "Ingram"
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
|
-
id: "
|
|
78
|
+
id: "01KDVDZWMSYTKC0MHRPYKCNDF3",
|
|
79
79
|
email: "cameron@codedrifters.com",
|
|
80
80
|
firstName: "Cameron",
|
|
81
81
|
lastName: "Childress"
|
|
82
82
|
},
|
|
83
83
|
{
|
|
84
|
-
id: "
|
|
84
|
+
id: "01KDVE1C1CK58EHD8C5SSGWJQW",
|
|
85
85
|
email: "neelima@codedrifters.com",
|
|
86
86
|
firstName: "Neelima",
|
|
87
87
|
lastName: "Ramaraju"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
|
-
id: "
|
|
90
|
+
id: "01KDVE1W7T37E4SV629R2XC0EY",
|
|
91
91
|
email: "garon@codedrifters.com",
|
|
92
92
|
firstName: "Garon",
|
|
93
93
|
lastName: "Bailey"
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
|
-
id: "
|
|
96
|
+
id: "01KDVE31S7PDWE2PED771VAQP6",
|
|
97
97
|
email: "dave@codedrifters.com",
|
|
98
98
|
firstName: "Dave",
|
|
99
99
|
lastName: "Finlay"
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
|
-
id: "
|
|
102
|
+
id: "01KDVE4PZ61JTFT4S80KZ1BM4K",
|
|
103
103
|
email: "drew@codedrifters.com",
|
|
104
104
|
firstName: "Drew",
|
|
105
105
|
lastName: "Morris"
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
|
-
id: "
|
|
108
|
+
id: "01KDVE69RQ4GK8APBG1FFS0P5S",
|
|
109
109
|
email: "jessica@codedrifters.com",
|
|
110
110
|
firstName: "Jessica",
|
|
111
111
|
lastName: "Branks"
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
|
-
id: "
|
|
114
|
+
id: "01KDVE7Q07TCMSS154HGKZWCYY",
|
|
115
115
|
email: "jared@codedrifters.com",
|
|
116
116
|
firstName: "Jared",
|
|
117
117
|
lastName: "Trotter"
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
|
-
id: "
|
|
120
|
+
id: "01KDVE8HWP9H361ZBQ4M1D5PGK",
|
|
121
121
|
email: "goddess@codedrifters.com",
|
|
122
122
|
firstName: "Goddess",
|
|
123
123
|
lastName: "Culberson"
|
|
@@ -132,25 +132,33 @@ var DEV_USERS = [
|
|
|
132
132
|
// out of band, and the seeded Cognito user picks it up via
|
|
133
133
|
// AdminSetUserPassword on every seed run.
|
|
134
134
|
{
|
|
135
|
-
id: "
|
|
135
|
+
id: "01KDVE99B649JPDTB8BX15XZVH",
|
|
136
136
|
email: "e2e-admin-console@codedrifters.com",
|
|
137
137
|
firstName: "E2E",
|
|
138
138
|
lastName: "AdminConsole"
|
|
139
139
|
}
|
|
140
140
|
];
|
|
141
|
+
var DEMO_WOUND_CARE_TENANT_ID = "01KDVDQTK67CT2EEJ9DNMYSX05";
|
|
142
|
+
var DEMO_WOUND_CARE_WORKSPACE_ID = "01KDVDRVPEDF48EAZCRSR7QSW5";
|
|
143
|
+
var DEMO_PRIMARY_CARE_TENANT_ID = "01KDVDTC89KK3422W49AXCDW3Q";
|
|
144
|
+
var DEMO_PRIMARY_CARE_WORKSPACE_ID = "01KDVDVEMA0TEFDGPX6TDRJ857";
|
|
145
|
+
var DEMO_MIXED_TENANT_ID = "01KDVDWQFMN07BY8QSVZQA5AS9";
|
|
146
|
+
var DEMO_MIXED_WORKSPACE_WOUND_CARE_ID = "01KDVDXJSHA1C3B1NY1QEZRMK2";
|
|
147
|
+
var DEMO_MIXED_WORKSPACE_PRIMARY_CARE_ID = "01KDVDYQBFSRE80N3PZQXWEB3Y";
|
|
148
|
+
var PLACEHOLDER_TENANT_SPEC = {
|
|
149
|
+
scenario: "placeholder",
|
|
150
|
+
tenantId: PLACEHOLDER_TENANT_ID,
|
|
151
|
+
tenantName: "OpenHI Placeholder Tenant",
|
|
152
|
+
workspaces: [
|
|
153
|
+
{
|
|
154
|
+
id: PLACEHOLDER_WORKSPACE_ID,
|
|
155
|
+
name: "OpenHI Placeholder Workspace",
|
|
156
|
+
roleSuffix: "workspace"
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
};
|
|
141
160
|
var DEMO_TENANT_SPECS = [
|
|
142
|
-
|
|
143
|
-
scenario: "placeholder",
|
|
144
|
-
tenantId: PLACEHOLDER_TENANT_ID,
|
|
145
|
-
tenantName: "OpenHI Placeholder Tenant",
|
|
146
|
-
workspaces: [
|
|
147
|
-
{
|
|
148
|
-
id: PLACEHOLDER_WORKSPACE_ID,
|
|
149
|
-
name: "OpenHI Placeholder Workspace",
|
|
150
|
-
roleSuffix: "workspace"
|
|
151
|
-
}
|
|
152
|
-
]
|
|
153
|
-
},
|
|
161
|
+
PLACEHOLDER_TENANT_SPEC,
|
|
154
162
|
{
|
|
155
163
|
scenario: "on-site-demo",
|
|
156
164
|
tenantId: ON_SITE_DEMO_TENANT_ID,
|
|
@@ -165,11 +173,11 @@ var DEMO_TENANT_SPECS = [
|
|
|
165
173
|
},
|
|
166
174
|
{
|
|
167
175
|
scenario: "demo-wound-care",
|
|
168
|
-
tenantId:
|
|
176
|
+
tenantId: DEMO_WOUND_CARE_TENANT_ID,
|
|
169
177
|
tenantName: "Cedarbrook Wound Healing Institute",
|
|
170
178
|
workspaces: [
|
|
171
179
|
{
|
|
172
|
-
id:
|
|
180
|
+
id: DEMO_WOUND_CARE_WORKSPACE_ID,
|
|
173
181
|
name: "Cedarbrook Outpatient Wound Clinic",
|
|
174
182
|
roleSuffix: "workspace"
|
|
175
183
|
}
|
|
@@ -177,11 +185,11 @@ var DEMO_TENANT_SPECS = [
|
|
|
177
185
|
},
|
|
178
186
|
{
|
|
179
187
|
scenario: "demo-primary-care",
|
|
180
|
-
tenantId:
|
|
188
|
+
tenantId: DEMO_PRIMARY_CARE_TENANT_ID,
|
|
181
189
|
tenantName: "Maple Ridge Family Medicine",
|
|
182
190
|
workspaces: [
|
|
183
191
|
{
|
|
184
|
-
id:
|
|
192
|
+
id: DEMO_PRIMARY_CARE_WORKSPACE_ID,
|
|
185
193
|
name: "Maple Ridge Main Street Office",
|
|
186
194
|
roleSuffix: "workspace"
|
|
187
195
|
}
|
|
@@ -189,22 +197,249 @@ var DEMO_TENANT_SPECS = [
|
|
|
189
197
|
},
|
|
190
198
|
{
|
|
191
199
|
scenario: "demo-mixed",
|
|
192
|
-
tenantId:
|
|
200
|
+
tenantId: DEMO_MIXED_TENANT_ID,
|
|
193
201
|
tenantName: "Northbridge Health Network",
|
|
194
202
|
workspaces: [
|
|
195
203
|
{
|
|
196
|
-
id:
|
|
204
|
+
id: DEMO_MIXED_WORKSPACE_WOUND_CARE_ID,
|
|
197
205
|
name: "Northbridge Wound Care Center",
|
|
198
206
|
roleSuffix: "workspace-wound-care"
|
|
199
207
|
},
|
|
200
208
|
{
|
|
201
|
-
id:
|
|
209
|
+
id: DEMO_MIXED_WORKSPACE_PRIMARY_CARE_ID,
|
|
202
210
|
name: "Northbridge Family Practice",
|
|
203
211
|
roleSuffix: "workspace-primary-care"
|
|
204
212
|
}
|
|
205
213
|
]
|
|
206
214
|
}
|
|
207
215
|
];
|
|
216
|
+
var ON_SITE_WOUNDS_TENANT_ID = "01KDY03CJBF6FWQG9B8WXYXXS6";
|
|
217
|
+
var ON_SITE_WOUNDS_OKLAHOMA_WORKSPACE_ID = "01KDY03KW88CNSGKNB89M7FS2X";
|
|
218
|
+
var ON_SITE_WOUNDS_TEXAS_WORKSPACE_ID = "01KDY04FCGYXVQGS24S0NG1ETM";
|
|
219
|
+
var ON_SITE_MEDICAL_TENANT_ID = "01KDY063WE34DWA3J5260BSEME";
|
|
220
|
+
var ON_SITE_MEDICAL_OKLAHOMA_WORKSPACE_ID = "01KDY06QV8DKYJJZ7X1DP0GGDD";
|
|
221
|
+
var ON_SITE_MEDICAL_TEXAS_WORKSPACE_ID = "01KDY074RZXRZS5K9TBRCVVSX1";
|
|
222
|
+
var ON_SITE_CLINIC_TENANT_ID = "01KDY07XGSMPX7AAM6ZJN8HWS2";
|
|
223
|
+
var ON_SITE_CLINIC_OKLAHOMA_WORKSPACE_ID = "01KDY08F0J7DPTM7XZKV72QFNV";
|
|
224
|
+
var ON_SITE_CLINIC_TEXAS_WORKSPACE_ID = "01KDY0A1YYY5TT4A1SP96KTF0G";
|
|
225
|
+
var ON_SITE_UAT_TENANT_SPECS = [
|
|
226
|
+
{
|
|
227
|
+
scenario: "on-site-wounds",
|
|
228
|
+
tenantId: ON_SITE_WOUNDS_TENANT_ID,
|
|
229
|
+
tenantName: "On-Site Wounds",
|
|
230
|
+
workspaces: [
|
|
231
|
+
{
|
|
232
|
+
id: ON_SITE_WOUNDS_OKLAHOMA_WORKSPACE_ID,
|
|
233
|
+
name: "Oklahoma",
|
|
234
|
+
roleSuffix: "workspace-oklahoma"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
id: ON_SITE_WOUNDS_TEXAS_WORKSPACE_ID,
|
|
238
|
+
name: "Texas",
|
|
239
|
+
roleSuffix: "workspace-texas"
|
|
240
|
+
}
|
|
241
|
+
]
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
scenario: "on-site-medical",
|
|
245
|
+
tenantId: ON_SITE_MEDICAL_TENANT_ID,
|
|
246
|
+
tenantName: "On-Site Medical",
|
|
247
|
+
workspaces: [
|
|
248
|
+
{
|
|
249
|
+
id: ON_SITE_MEDICAL_OKLAHOMA_WORKSPACE_ID,
|
|
250
|
+
name: "Oklahoma",
|
|
251
|
+
roleSuffix: "workspace-oklahoma"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
id: ON_SITE_MEDICAL_TEXAS_WORKSPACE_ID,
|
|
255
|
+
name: "Texas",
|
|
256
|
+
roleSuffix: "workspace-texas"
|
|
257
|
+
}
|
|
258
|
+
]
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
scenario: "on-site-clinic",
|
|
262
|
+
tenantId: ON_SITE_CLINIC_TENANT_ID,
|
|
263
|
+
tenantName: "On-Site Clinic",
|
|
264
|
+
workspaces: [
|
|
265
|
+
{
|
|
266
|
+
id: ON_SITE_CLINIC_OKLAHOMA_WORKSPACE_ID,
|
|
267
|
+
name: "Oklahoma",
|
|
268
|
+
roleSuffix: "workspace-oklahoma"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
id: ON_SITE_CLINIC_TEXAS_WORKSPACE_ID,
|
|
272
|
+
name: "Texas",
|
|
273
|
+
roleSuffix: "workspace-texas"
|
|
274
|
+
}
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
];
|
|
278
|
+
var ON_SITE_TESTERS = [
|
|
279
|
+
{
|
|
280
|
+
id: "01KE0JG26M0CGFFP9P71PJHXKZ",
|
|
281
|
+
email: "kim@onsitewounds.com",
|
|
282
|
+
displayName: "Kim Leland, RN",
|
|
283
|
+
given: "Kim",
|
|
284
|
+
family: "Leland",
|
|
285
|
+
role: PLATFORM_ROLE_CODE.TENANT_ADMIN
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
id: "01KE0JH2X6XCJAY8FVJKKKHBGK",
|
|
289
|
+
email: "kera@onsitewounds.com",
|
|
290
|
+
displayName: "Kera Morris",
|
|
291
|
+
given: "Kera",
|
|
292
|
+
family: "Morris",
|
|
293
|
+
role: PLATFORM_ROLE_CODE.TENANT_ADMIN
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
id: "01KE0JHPB9K6AJNDYFDE17SQXT",
|
|
297
|
+
email: "nicole@onsitemed.com",
|
|
298
|
+
displayName: "Nicole Smith",
|
|
299
|
+
given: "Nicole",
|
|
300
|
+
family: "Smith",
|
|
301
|
+
role: PLATFORM_ROLE_CODE.TENANT_ADMIN
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
id: "01KE0JJKAV56ECSSYHNZENCTTW",
|
|
305
|
+
email: "sidney@onsitewounds.com",
|
|
306
|
+
displayName: "Sidney Vaughn",
|
|
307
|
+
given: "Sidney",
|
|
308
|
+
family: "Vaughn",
|
|
309
|
+
role: PLATFORM_ROLE_CODE.TENANT_USER
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
id: "01KE0JKX2ZK5H93JFFP1V8T3MF",
|
|
313
|
+
email: "chelsea@onsitewounds.com",
|
|
314
|
+
displayName: "Chelsea Romine",
|
|
315
|
+
given: "Chelsea",
|
|
316
|
+
family: "Romine",
|
|
317
|
+
role: PLATFORM_ROLE_CODE.TENANT_USER
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
id: "01KE0JMWHW7HYB8DZD4J70PVSD",
|
|
321
|
+
email: "drmetheny@onsitewounds.com",
|
|
322
|
+
displayName: "Dr. Heidi Metheny",
|
|
323
|
+
given: "Heidi",
|
|
324
|
+
family: "Metheny",
|
|
325
|
+
role: PLATFORM_ROLE_CODE.TENANT_USER
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
id: "01KE0JP9GEJR7JT0GNAB502DBV",
|
|
329
|
+
email: "drtucker@onsitewounds.com",
|
|
330
|
+
displayName: "Dr. Tucker",
|
|
331
|
+
family: "Tucker",
|
|
332
|
+
role: PLATFORM_ROLE_CODE.TENANT_USER
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
id: "01KE0JPMV1X8Y5DQS3MYEJQP3T",
|
|
336
|
+
email: "drwright@onsitewounds.com",
|
|
337
|
+
displayName: "Dr. Wright",
|
|
338
|
+
family: "Wright",
|
|
339
|
+
role: PLATFORM_ROLE_CODE.TENANT_USER
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
id: "01KE0JQ18T3BGQZWK1SRY5J73K",
|
|
343
|
+
email: "lauren@onsitewounds.com",
|
|
344
|
+
displayName: "Lauren",
|
|
345
|
+
given: "Lauren",
|
|
346
|
+
role: PLATFORM_ROLE_CODE.TENANT_USER
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
id: "01KE0JQBG3X26EHWKBT71AYT6Y",
|
|
350
|
+
email: "caity.np@onsitewounds.com",
|
|
351
|
+
displayName: "Caity",
|
|
352
|
+
given: "Caity",
|
|
353
|
+
role: PLATFORM_ROLE_CODE.TENANT_USER
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
id: "01KE0JS0VC6SDB9Q0S1XTKC031",
|
|
357
|
+
email: "shelly@onsitewounds.com",
|
|
358
|
+
displayName: "Shelly",
|
|
359
|
+
given: "Shelly",
|
|
360
|
+
role: PLATFORM_ROLE_CODE.TENANT_USER
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
id: "01KE0JS90A94R4E2M1K6HMB0K6",
|
|
364
|
+
email: "kimi@onsitewounds.com",
|
|
365
|
+
displayName: "Kimi",
|
|
366
|
+
given: "Kimi",
|
|
367
|
+
role: PLATFORM_ROLE_CODE.TENANT_USER
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
id: "01KE0JSH6B4A5SPJ65V1PQEHZA",
|
|
371
|
+
email: "erika@onsitemed.com",
|
|
372
|
+
displayName: "Erika Fernandez, MA",
|
|
373
|
+
given: "Erika",
|
|
374
|
+
family: "Fernandez",
|
|
375
|
+
role: PLATFORM_ROLE_CODE.TENANT_USER
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
id: "01KE0JSQ6CWSCJS25PJEKQWGWM",
|
|
379
|
+
email: "dr.nguyen@onsiteprimary.com",
|
|
380
|
+
displayName: "Dr. Nguyen",
|
|
381
|
+
family: "Nguyen",
|
|
382
|
+
role: PLATFORM_ROLE_CODE.TENANT_USER
|
|
383
|
+
},
|
|
384
|
+
// Extended UAT roster — all `tenant-admin` for now (tenant-scoped
|
|
385
|
+
// only; no platform/system-admin). Members of all three on-site
|
|
386
|
+
// tenants + both workspaces in each, and of the placeholder tenant.
|
|
387
|
+
{
|
|
388
|
+
id: "01KSSZ3K6BNZB6D18TTK5TQ9FA",
|
|
389
|
+
email: "ashton@onsitewounds.com",
|
|
390
|
+
displayName: "Ashton",
|
|
391
|
+
given: "Ashton",
|
|
392
|
+
role: PLATFORM_ROLE_CODE.TENANT_ADMIN
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
id: "01KSSZ3K6C8B7SWHHRVA2HPWNA",
|
|
396
|
+
email: "debbie@onsitewounds.com",
|
|
397
|
+
displayName: "Debbie",
|
|
398
|
+
given: "Debbie",
|
|
399
|
+
role: PLATFORM_ROLE_CODE.TENANT_ADMIN
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
id: "01KSSZ3K6CMEHW5EG2P474VDFE",
|
|
403
|
+
email: "kim.berkey@onsiteprimary.com",
|
|
404
|
+
displayName: "Kim Berkey",
|
|
405
|
+
given: "Kim",
|
|
406
|
+
family: "Berkey",
|
|
407
|
+
role: PLATFORM_ROLE_CODE.TENANT_ADMIN
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
id: "01KSSZ3K6CYF9FXAS515YEZEB0",
|
|
411
|
+
email: "fanniesha@onsitewounds.com",
|
|
412
|
+
displayName: "Fanniesha",
|
|
413
|
+
given: "Fanniesha",
|
|
414
|
+
role: PLATFORM_ROLE_CODE.TENANT_ADMIN
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
id: "01KSSZ3K6CDZ90PF1BQBWX55YT",
|
|
418
|
+
email: "brittany.jones@onsitewounds.com",
|
|
419
|
+
displayName: "Brittany Jones",
|
|
420
|
+
given: "Brittany",
|
|
421
|
+
family: "Jones",
|
|
422
|
+
role: PLATFORM_ROLE_CODE.TENANT_ADMIN
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
id: "01KSSZ3K6C145GCG0ZH03DQJ0R",
|
|
426
|
+
email: "sabrina@onsiteprimary.com",
|
|
427
|
+
displayName: "Sabrina",
|
|
428
|
+
given: "Sabrina",
|
|
429
|
+
role: PLATFORM_ROLE_CODE.TENANT_ADMIN
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
id: "01KSSZ3K6CQZBJGVME470DJQFP",
|
|
433
|
+
email: "stacey.cauthen@onsitewounds.com",
|
|
434
|
+
displayName: "Stacey Cauthen",
|
|
435
|
+
given: "Stacey",
|
|
436
|
+
family: "Cauthen",
|
|
437
|
+
role: PLATFORM_ROLE_CODE.TENANT_ADMIN
|
|
438
|
+
}
|
|
439
|
+
];
|
|
440
|
+
var onSiteTenantMembershipId = (userId, tenantId) => `onsite-membership-${userId}-${tenantId}`;
|
|
441
|
+
var onSiteWorkspaceMembershipId = (userId, workspaceId) => `onsite-membership-${userId}-ws-${workspaceId}`;
|
|
442
|
+
var onSiteRoleAssignmentId = (userId, tenantId, roleCode) => `onsite-roleassignment-${userId}-${tenantId}-${roleCode}`;
|
|
208
443
|
var demoMembershipId = (devUserId, tenantId) => `demo-membership-${devUserId}-${tenantId}`;
|
|
209
444
|
var demoRoleAssignmentId = (devUserId, tenantId, roleCode) => `demo-roleassignment-${devUserId}-${tenantId}-${roleCode}`;
|
|
210
445
|
var demoScenarioIdentifier = (scenario, roleSuffix) => ({
|
|
@@ -3759,26 +3994,26 @@ var DEMO_DATA_PLANE_FIXTURES = [
|
|
|
3759
3994
|
ON_SITE_DEMO_FIXTURES,
|
|
3760
3995
|
buildWoundCareFixtures(
|
|
3761
3996
|
"demo-wound-care",
|
|
3762
|
-
|
|
3763
|
-
|
|
3997
|
+
DEMO_WOUND_CARE_TENANT_ID,
|
|
3998
|
+
DEMO_WOUND_CARE_WORKSPACE_ID,
|
|
3764
3999
|
"demo-wound-care"
|
|
3765
4000
|
),
|
|
3766
4001
|
buildPrimaryCareFixtures(
|
|
3767
4002
|
"demo-primary-care",
|
|
3768
|
-
|
|
3769
|
-
|
|
4003
|
+
DEMO_PRIMARY_CARE_TENANT_ID,
|
|
4004
|
+
DEMO_PRIMARY_CARE_WORKSPACE_ID,
|
|
3770
4005
|
"demo-primary-care"
|
|
3771
4006
|
),
|
|
3772
4007
|
buildWoundCareFixtures(
|
|
3773
4008
|
"demo-mixed",
|
|
3774
|
-
|
|
3775
|
-
|
|
4009
|
+
DEMO_MIXED_TENANT_ID,
|
|
4010
|
+
DEMO_MIXED_WORKSPACE_WOUND_CARE_ID,
|
|
3776
4011
|
"demo-mixed-wound-care"
|
|
3777
4012
|
),
|
|
3778
4013
|
buildPrimaryCareFixtures(
|
|
3779
4014
|
"demo-mixed",
|
|
3780
|
-
|
|
3781
|
-
|
|
4015
|
+
DEMO_MIXED_TENANT_ID,
|
|
4016
|
+
DEMO_MIXED_WORKSPACE_PRIMARY_CARE_ID,
|
|
3782
4017
|
"demo-mixed-primary-care"
|
|
3783
4018
|
)
|
|
3784
4019
|
];
|
|
@@ -3950,6 +4185,204 @@ var upsertUser = async (context, user, cognitoSub) => {
|
|
|
3950
4185
|
lastUpdated: context.date ?? (/* @__PURE__ */ new Date()).toISOString()
|
|
3951
4186
|
}).go();
|
|
3952
4187
|
};
|
|
4188
|
+
var buildTesterName = (tester) => ({
|
|
4189
|
+
text: tester.displayName,
|
|
4190
|
+
...tester.given !== void 0 ? { given: [tester.given] } : {},
|
|
4191
|
+
...tester.family !== void 0 ? { family: tester.family } : {}
|
|
4192
|
+
});
|
|
4193
|
+
var testerUserResourceBody = (tester, cognitoSub) => ({
|
|
4194
|
+
resourceType: "User",
|
|
4195
|
+
id: tester.id,
|
|
4196
|
+
name: [buildTesterName(tester)],
|
|
4197
|
+
telecom: [{ system: "email", value: tester.email }],
|
|
4198
|
+
status: "active",
|
|
4199
|
+
cognitoSub,
|
|
4200
|
+
currentTenant: { reference: `Tenant/${ON_SITE_WOUNDS_TENANT_ID}` },
|
|
4201
|
+
currentWorkspace: {
|
|
4202
|
+
reference: `Workspace/${ON_SITE_WOUNDS_OKLAHOMA_WORKSPACE_ID}`
|
|
4203
|
+
}
|
|
4204
|
+
});
|
|
4205
|
+
var upsertTesterUser = async (context, tester, cognitoSub) => {
|
|
4206
|
+
const service = getDynamoControlService();
|
|
4207
|
+
const resource = testerUserResourceBody(tester, cognitoSub);
|
|
4208
|
+
const summary = JSON.stringify(extractSummary(resource));
|
|
4209
|
+
await service.entities.user.put({
|
|
4210
|
+
id: tester.id,
|
|
4211
|
+
cognitoSub,
|
|
4212
|
+
resource: JSON.stringify(resource),
|
|
4213
|
+
summary,
|
|
4214
|
+
vid: "1",
|
|
4215
|
+
lastUpdated: context.date ?? (/* @__PURE__ */ new Date()).toISOString()
|
|
4216
|
+
}).go();
|
|
4217
|
+
};
|
|
4218
|
+
var onSiteTenantMembershipBody = (spec, userId, membershipId) => ({
|
|
4219
|
+
identifier: [
|
|
4220
|
+
demoScenarioIdentifier(spec.scenario, `membership-${userId}`),
|
|
4221
|
+
openhiResourceIdentifier({
|
|
4222
|
+
tenantId: spec.tenantId,
|
|
4223
|
+
workspaceId: "",
|
|
4224
|
+
resourceType: "Membership",
|
|
4225
|
+
id: membershipId
|
|
4226
|
+
})
|
|
4227
|
+
],
|
|
4228
|
+
user: { reference: `User/${userId}`, type: "User" },
|
|
4229
|
+
tenant: { reference: `Tenant/${spec.tenantId}`, type: "Tenant" },
|
|
4230
|
+
period: DEMO_PERIOD
|
|
4231
|
+
});
|
|
4232
|
+
var onSiteWorkspaceMembershipBody = (spec, workspace, userId, membershipId) => ({
|
|
4233
|
+
identifier: [
|
|
4234
|
+
demoScenarioIdentifier(
|
|
4235
|
+
spec.scenario,
|
|
4236
|
+
`membership-${userId}-${workspace.roleSuffix}`
|
|
4237
|
+
),
|
|
4238
|
+
openhiResourceIdentifier({
|
|
4239
|
+
tenantId: spec.tenantId,
|
|
4240
|
+
workspaceId: workspace.id,
|
|
4241
|
+
resourceType: "Membership",
|
|
4242
|
+
id: membershipId
|
|
4243
|
+
})
|
|
4244
|
+
],
|
|
4245
|
+
user: { reference: `User/${userId}`, type: "User" },
|
|
4246
|
+
tenant: { reference: `Tenant/${spec.tenantId}`, type: "Tenant" },
|
|
4247
|
+
workspace: { reference: `Workspace/${workspace.id}`, type: "Workspace" },
|
|
4248
|
+
period: DEMO_PERIOD
|
|
4249
|
+
});
|
|
4250
|
+
var onSiteRoleAssignmentBody = (spec, userId, roleCode, roleAssignmentId) => ({
|
|
4251
|
+
identifier: [
|
|
4252
|
+
demoScenarioIdentifier(
|
|
4253
|
+
spec.scenario,
|
|
4254
|
+
`roleassignment-${userId}-${roleCode}`
|
|
4255
|
+
),
|
|
4256
|
+
openhiResourceIdentifier({
|
|
4257
|
+
tenantId: spec.tenantId,
|
|
4258
|
+
workspaceId: "",
|
|
4259
|
+
resourceType: "RoleAssignment",
|
|
4260
|
+
id: roleAssignmentId
|
|
4261
|
+
})
|
|
4262
|
+
],
|
|
4263
|
+
user: { reference: `User/${userId}`, type: "User" },
|
|
4264
|
+
role: { reference: `Role/${idForRoleCode(roleCode)}`, type: "Role" },
|
|
4265
|
+
tenant: { reference: `Tenant/${spec.tenantId}`, type: "Tenant" },
|
|
4266
|
+
period: DEMO_PERIOD
|
|
4267
|
+
});
|
|
4268
|
+
var seedOnSiteUatForPrincipal = async (failures, baseContext, userId, role) => {
|
|
4269
|
+
for (const spec of ON_SITE_UAT_TENANT_SPECS) {
|
|
4270
|
+
const tenantContext = {
|
|
4271
|
+
...baseContext,
|
|
4272
|
+
tenantId: spec.tenantId
|
|
4273
|
+
};
|
|
4274
|
+
const scope = `${userId}@${spec.tenantId}`;
|
|
4275
|
+
const tenantMembershipId = onSiteTenantMembershipId(userId, spec.tenantId);
|
|
4276
|
+
await tryRun(
|
|
4277
|
+
failures,
|
|
4278
|
+
"phase-2",
|
|
4279
|
+
scope,
|
|
4280
|
+
"Membership",
|
|
4281
|
+
tenantMembershipId,
|
|
4282
|
+
() => createMembershipOperation({
|
|
4283
|
+
context: tenantContext,
|
|
4284
|
+
body: {
|
|
4285
|
+
id: tenantMembershipId,
|
|
4286
|
+
resource: onSiteTenantMembershipBody(
|
|
4287
|
+
spec,
|
|
4288
|
+
userId,
|
|
4289
|
+
tenantMembershipId
|
|
4290
|
+
)
|
|
4291
|
+
}
|
|
4292
|
+
})
|
|
4293
|
+
);
|
|
4294
|
+
for (const workspace of spec.workspaces) {
|
|
4295
|
+
const wsMembershipId = onSiteWorkspaceMembershipId(userId, workspace.id);
|
|
4296
|
+
await tryRun(
|
|
4297
|
+
failures,
|
|
4298
|
+
"phase-2",
|
|
4299
|
+
scope,
|
|
4300
|
+
"Membership",
|
|
4301
|
+
wsMembershipId,
|
|
4302
|
+
() => createMembershipOperation({
|
|
4303
|
+
context: tenantContext,
|
|
4304
|
+
body: {
|
|
4305
|
+
id: wsMembershipId,
|
|
4306
|
+
resource: onSiteWorkspaceMembershipBody(
|
|
4307
|
+
spec,
|
|
4308
|
+
workspace,
|
|
4309
|
+
userId,
|
|
4310
|
+
wsMembershipId
|
|
4311
|
+
)
|
|
4312
|
+
}
|
|
4313
|
+
})
|
|
4314
|
+
);
|
|
4315
|
+
}
|
|
4316
|
+
const raId = onSiteRoleAssignmentId(userId, spec.tenantId, role);
|
|
4317
|
+
await tryRun(
|
|
4318
|
+
failures,
|
|
4319
|
+
"phase-2",
|
|
4320
|
+
scope,
|
|
4321
|
+
"RoleAssignment",
|
|
4322
|
+
raId,
|
|
4323
|
+
() => createRoleAssignmentOperation({
|
|
4324
|
+
context: tenantContext,
|
|
4325
|
+
body: {
|
|
4326
|
+
id: raId,
|
|
4327
|
+
resource: onSiteRoleAssignmentBody(spec, userId, role, raId)
|
|
4328
|
+
}
|
|
4329
|
+
})
|
|
4330
|
+
);
|
|
4331
|
+
}
|
|
4332
|
+
};
|
|
4333
|
+
var seedPlaceholderTenantForPrincipal = async (failures, baseContext, userId, role) => {
|
|
4334
|
+
const tenantContext = {
|
|
4335
|
+
...baseContext,
|
|
4336
|
+
tenantId: PLACEHOLDER_TENANT_SPEC.tenantId
|
|
4337
|
+
};
|
|
4338
|
+
const scope = `${userId}@${PLACEHOLDER_TENANT_SPEC.tenantId}`;
|
|
4339
|
+
const tenantMembershipId = onSiteTenantMembershipId(
|
|
4340
|
+
userId,
|
|
4341
|
+
PLACEHOLDER_TENANT_SPEC.tenantId
|
|
4342
|
+
);
|
|
4343
|
+
await tryRun(
|
|
4344
|
+
failures,
|
|
4345
|
+
"phase-2",
|
|
4346
|
+
scope,
|
|
4347
|
+
"Membership",
|
|
4348
|
+
tenantMembershipId,
|
|
4349
|
+
() => createMembershipOperation({
|
|
4350
|
+
context: tenantContext,
|
|
4351
|
+
body: {
|
|
4352
|
+
id: tenantMembershipId,
|
|
4353
|
+
resource: onSiteTenantMembershipBody(
|
|
4354
|
+
PLACEHOLDER_TENANT_SPEC,
|
|
4355
|
+
userId,
|
|
4356
|
+
tenantMembershipId
|
|
4357
|
+
)
|
|
4358
|
+
}
|
|
4359
|
+
})
|
|
4360
|
+
);
|
|
4361
|
+
const raId = onSiteRoleAssignmentId(
|
|
4362
|
+
userId,
|
|
4363
|
+
PLACEHOLDER_TENANT_SPEC.tenantId,
|
|
4364
|
+
role
|
|
4365
|
+
);
|
|
4366
|
+
await tryRun(
|
|
4367
|
+
failures,
|
|
4368
|
+
"phase-2",
|
|
4369
|
+
scope,
|
|
4370
|
+
"RoleAssignment",
|
|
4371
|
+
raId,
|
|
4372
|
+
() => createRoleAssignmentOperation({
|
|
4373
|
+
context: tenantContext,
|
|
4374
|
+
body: {
|
|
4375
|
+
id: raId,
|
|
4376
|
+
resource: onSiteRoleAssignmentBody(
|
|
4377
|
+
PLACEHOLDER_TENANT_SPEC,
|
|
4378
|
+
userId,
|
|
4379
|
+
role,
|
|
4380
|
+
raId
|
|
4381
|
+
)
|
|
4382
|
+
}
|
|
4383
|
+
})
|
|
4384
|
+
);
|
|
4385
|
+
};
|
|
3953
4386
|
var seedWorkspaceDataPlane = async (baseContext, group, failures) => {
|
|
3954
4387
|
const workspaceContext = {
|
|
3955
4388
|
...baseContext,
|
|
@@ -4137,9 +4570,9 @@ var seedWorkspaceDataPlane = async (baseContext, group, failures) => {
|
|
|
4137
4570
|
}
|
|
4138
4571
|
};
|
|
4139
4572
|
var seedDemoGraph = async (params) => {
|
|
4140
|
-
const { baseContext, devUsers, cognito } = params;
|
|
4573
|
+
const { baseContext, devUsers, cognito, onSiteTesters = [] } = params;
|
|
4141
4574
|
const failures = [];
|
|
4142
|
-
for (const spec of DEMO_TENANT_SPECS) {
|
|
4575
|
+
for (const spec of [...DEMO_TENANT_SPECS, ...ON_SITE_UAT_TENANT_SPECS]) {
|
|
4143
4576
|
const tenantContext = {
|
|
4144
4577
|
...baseContext,
|
|
4145
4578
|
tenantId: spec.tenantId
|
|
@@ -4269,6 +4702,47 @@ var seedDemoGraph = async (params) => {
|
|
|
4269
4702
|
}
|
|
4270
4703
|
})
|
|
4271
4704
|
);
|
|
4705
|
+
await seedOnSiteUatForPrincipal(
|
|
4706
|
+
failures,
|
|
4707
|
+
baseContext,
|
|
4708
|
+
user.id,
|
|
4709
|
+
PLATFORM_ROLE_CODE2.TENANT_ADMIN
|
|
4710
|
+
);
|
|
4711
|
+
}
|
|
4712
|
+
for (const tester of onSiteTesters) {
|
|
4713
|
+
let cognitoSub;
|
|
4714
|
+
try {
|
|
4715
|
+
cognitoSub = await cognito.ensureUser(tester.email);
|
|
4716
|
+
} catch (err) {
|
|
4717
|
+
failures.push({
|
|
4718
|
+
phase: "phase-2",
|
|
4719
|
+
scope: tester.id,
|
|
4720
|
+
resourceType: "CognitoUser",
|
|
4721
|
+
resourceId: tester.email,
|
|
4722
|
+
error: err
|
|
4723
|
+
});
|
|
4724
|
+
continue;
|
|
4725
|
+
}
|
|
4726
|
+
await tryRun(
|
|
4727
|
+
failures,
|
|
4728
|
+
"phase-2",
|
|
4729
|
+
tester.id,
|
|
4730
|
+
"User",
|
|
4731
|
+
tester.id,
|
|
4732
|
+
() => upsertTesterUser(baseContext, tester, cognitoSub)
|
|
4733
|
+
);
|
|
4734
|
+
await seedPlaceholderTenantForPrincipal(
|
|
4735
|
+
failures,
|
|
4736
|
+
baseContext,
|
|
4737
|
+
tester.id,
|
|
4738
|
+
tester.role
|
|
4739
|
+
);
|
|
4740
|
+
await seedOnSiteUatForPrincipal(
|
|
4741
|
+
failures,
|
|
4742
|
+
baseContext,
|
|
4743
|
+
tester.id,
|
|
4744
|
+
tester.role
|
|
4745
|
+
);
|
|
4272
4746
|
}
|
|
4273
4747
|
for (const group of DEMO_DATA_PLANE_FIXTURES) {
|
|
4274
4748
|
try {
|
|
@@ -4287,7 +4761,7 @@ var seedDemoGraph = async (params) => {
|
|
|
4287
4761
|
throw aggregateFailureError(failures);
|
|
4288
4762
|
}
|
|
4289
4763
|
};
|
|
4290
|
-
var runSeedDemoData = async (event, deps, devUsers) => {
|
|
4764
|
+
var runSeedDemoData = async (event, deps, devUsers, onSiteTesters = []) => {
|
|
4291
4765
|
const parsed = (0, import_workflows2.parseWorkflowEvent)(event, import_workflows.PlatformSystemDataSeededV1);
|
|
4292
4766
|
const recordResult = await deps.dedupClient.recordIfAbsent({
|
|
4293
4767
|
consumerName: SEED_DEMO_DATA_CONSUMER_NAME,
|
|
@@ -4311,7 +4785,8 @@ var runSeedDemoData = async (event, deps, devUsers) => {
|
|
|
4311
4785
|
await deps.seedDemoGraph({
|
|
4312
4786
|
baseContext,
|
|
4313
4787
|
devUsers,
|
|
4314
|
-
cognito: deps.cognito
|
|
4788
|
+
cognito: deps.cognito,
|
|
4789
|
+
onSiteTesters
|
|
4315
4790
|
});
|
|
4316
4791
|
} catch (err) {
|
|
4317
4792
|
await deps.dedupClient.markFailed({
|
|
@@ -4465,7 +4940,7 @@ var productionDependencies = () => {
|
|
|
4465
4940
|
cognito
|
|
4466
4941
|
};
|
|
4467
4942
|
};
|
|
4468
|
-
var handler = async (event) => runSeedDemoData(event, productionDependencies(), DEV_USERS);
|
|
4943
|
+
var handler = async (event) => runSeedDemoData(event, productionDependencies(), DEV_USERS, ON_SITE_TESTERS);
|
|
4469
4944
|
|
|
4470
4945
|
export {
|
|
4471
4946
|
import_workflows,
|
|
@@ -4478,7 +4953,29 @@ export {
|
|
|
4478
4953
|
ON_SITE_DEMO_TENANT_ID,
|
|
4479
4954
|
ON_SITE_DEMO_WORKSPACE_ID,
|
|
4480
4955
|
DEV_USERS,
|
|
4956
|
+
DEMO_WOUND_CARE_TENANT_ID,
|
|
4957
|
+
DEMO_WOUND_CARE_WORKSPACE_ID,
|
|
4958
|
+
DEMO_PRIMARY_CARE_TENANT_ID,
|
|
4959
|
+
DEMO_PRIMARY_CARE_WORKSPACE_ID,
|
|
4960
|
+
DEMO_MIXED_TENANT_ID,
|
|
4961
|
+
DEMO_MIXED_WORKSPACE_WOUND_CARE_ID,
|
|
4962
|
+
DEMO_MIXED_WORKSPACE_PRIMARY_CARE_ID,
|
|
4963
|
+
PLACEHOLDER_TENANT_SPEC,
|
|
4481
4964
|
DEMO_TENANT_SPECS,
|
|
4965
|
+
ON_SITE_WOUNDS_TENANT_ID,
|
|
4966
|
+
ON_SITE_WOUNDS_OKLAHOMA_WORKSPACE_ID,
|
|
4967
|
+
ON_SITE_WOUNDS_TEXAS_WORKSPACE_ID,
|
|
4968
|
+
ON_SITE_MEDICAL_TENANT_ID,
|
|
4969
|
+
ON_SITE_MEDICAL_OKLAHOMA_WORKSPACE_ID,
|
|
4970
|
+
ON_SITE_MEDICAL_TEXAS_WORKSPACE_ID,
|
|
4971
|
+
ON_SITE_CLINIC_TENANT_ID,
|
|
4972
|
+
ON_SITE_CLINIC_OKLAHOMA_WORKSPACE_ID,
|
|
4973
|
+
ON_SITE_CLINIC_TEXAS_WORKSPACE_ID,
|
|
4974
|
+
ON_SITE_UAT_TENANT_SPECS,
|
|
4975
|
+
ON_SITE_TESTERS,
|
|
4976
|
+
onSiteTenantMembershipId,
|
|
4977
|
+
onSiteWorkspaceMembershipId,
|
|
4978
|
+
onSiteRoleAssignmentId,
|
|
4482
4979
|
demoMembershipId,
|
|
4483
4980
|
demoRoleAssignmentId,
|
|
4484
4981
|
demoScenarioIdentifier,
|
|
@@ -4613,4 +5110,4 @@ export {
|
|
|
4613
5110
|
productionCognitoProvisioner,
|
|
4614
5111
|
handler
|
|
4615
5112
|
};
|
|
4616
|
-
//# sourceMappingURL=chunk-
|
|
5113
|
+
//# sourceMappingURL=chunk-ZODGX37H.mjs.map
|