@postxl/schema 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +50 -0
- package/README.md +320 -0
- package/dist/enum/enum.brands.d.ts +11 -0
- package/dist/enum/enum.brands.js +19 -0
- package/dist/enum/enum.d.ts +49 -0
- package/dist/enum/enum.defaults.d.ts +41 -0
- package/dist/enum/enum.defaults.js +105 -0
- package/dist/enum/enum.js +6 -0
- package/dist/enum/enum.json-decoder.d.ts +61 -0
- package/dist/enum/enum.json-decoder.js +51 -0
- package/dist/enum/enum.transformer.d.ts +12 -0
- package/dist/enum/enum.transformer.js +76 -0
- package/dist/enum/enum.types.d.ts +14 -0
- package/dist/enum/enum.types.js +2 -0
- package/dist/enum/index.d.ts +6 -0
- package/dist/enum/index.js +22 -0
- package/dist/field/defaults.d.ts +12 -0
- package/dist/field/defaults.js +78 -0
- package/dist/field/discriminated-union.d.ts +125 -0
- package/dist/field/discriminated-union.js +207 -0
- package/dist/field/enum.d.ts +65 -0
- package/dist/field/enum.js +111 -0
- package/dist/field/field.d.ts +483 -0
- package/dist/field/field.js +68 -0
- package/dist/field/id.d.ts +152 -0
- package/dist/field/id.js +104 -0
- package/dist/field/index.d.ts +11 -0
- package/dist/field/index.js +27 -0
- package/dist/field/relation.d.ts +88 -0
- package/dist/field/relation.js +138 -0
- package/dist/field/scalar.d.ts +179 -0
- package/dist/field/scalar.js +197 -0
- package/dist/field/shared/brands.d.ts +38 -0
- package/dist/field/shared/brands.js +109 -0
- package/dist/field/shared/decoders.d.ts +17 -0
- package/dist/field/shared/decoders.js +88 -0
- package/dist/field/shared/seed.d.ts +32 -0
- package/dist/field/shared/seed.js +63 -0
- package/dist/field/shared/types.d.ts +73 -0
- package/dist/field/shared/types.js +2 -0
- package/dist/field/shared/utils.d.ts +26 -0
- package/dist/field/shared/utils.js +52 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +25 -0
- package/dist/model/index.d.ts +5 -0
- package/dist/model/index.js +21 -0
- package/dist/model/model.brands.d.ts +7 -0
- package/dist/model/model.brands.js +10 -0
- package/dist/model/model.defaults.d.ts +28 -0
- package/dist/model/model.defaults.js +304 -0
- package/dist/model/model.json-decoder.d.ts +94 -0
- package/dist/model/model.json-decoder.js +107 -0
- package/dist/model/model.transformer.d.ts +93 -0
- package/dist/model/model.transformer.js +183 -0
- package/dist/model/model.types.d.ts +37 -0
- package/dist/model/model.types.js +2 -0
- package/dist/project-schema/project-schema.brands.d.ts +10 -0
- package/dist/project-schema/project-schema.brands.js +17 -0
- package/dist/project-schema/project-schema.defaults.d.ts +16 -0
- package/dist/project-schema/project-schema.defaults.js +53 -0
- package/dist/project-schema/project-schema.json-decoder.d.ts +285 -0
- package/dist/project-schema/project-schema.json-decoder.js +145 -0
- package/dist/project-schema/project-schema.transformer.d.ts +284 -0
- package/dist/project-schema/project-schema.transformer.js +444 -0
- package/dist/project-schema/project-schema.types.d.ts +77 -0
- package/dist/project-schema/project-schema.types.js +2 -0
- package/dist/samples/la.schema.json +2055 -0
- package/dist/samples/mca.schema.json +830 -0
- package/dist/samples/ring.schema.json +879 -0
- package/dist/samples/sample-schemas.d.ts +1896 -0
- package/dist/samples/sample-schemas.js +20 -0
- package/dist/samples/simple.schema.json +250 -0
- package/dist/samples/subex.schema.json +1188 -0
- package/dist/samples/usp-msm.schema.json +2515 -0
- package/package.json +57 -0
|
@@ -0,0 +1,1188 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Subex",
|
|
3
|
+
"slug": "subex",
|
|
4
|
+
"description": "Submission Excellence for new drug approval.",
|
|
5
|
+
"version": "0.0.1",
|
|
6
|
+
"schemas": ["PXL", "Data"],
|
|
7
|
+
"defaultSchema": "Data",
|
|
8
|
+
"systemUser": { "name": "System", "email": "system@postxl.com" },
|
|
9
|
+
"standardModels": ["Action", "ActionOperation", "User", "File"],
|
|
10
|
+
"models": [
|
|
11
|
+
{
|
|
12
|
+
"name": "Tenant",
|
|
13
|
+
"description": "An organization/client that has multiple submissions with shared ActivityTypes, TaskProgressStatus, TaskTrackingStatus, Vendor, BusinessUnit, Person, etc.",
|
|
14
|
+
"fields": [
|
|
15
|
+
{
|
|
16
|
+
"name": "isDefault",
|
|
17
|
+
"type": "Boolean",
|
|
18
|
+
"label": "IsDefault",
|
|
19
|
+
"description": "Whether this tenant is the default tenant."
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "name",
|
|
23
|
+
"type": "String",
|
|
24
|
+
"label": "Name",
|
|
25
|
+
"description": "The name of the tenant."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "description",
|
|
29
|
+
"type": "String?",
|
|
30
|
+
"label": "Description",
|
|
31
|
+
"description": "The description of the tenant."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "colorCode",
|
|
35
|
+
"type": "String",
|
|
36
|
+
"label": "ColorCode",
|
|
37
|
+
"description": "The color code of the tenant."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "logo",
|
|
41
|
+
"type": "String?",
|
|
42
|
+
"label": "Logo",
|
|
43
|
+
"description": "The logo of the tenant."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "primaryContactPersonId",
|
|
47
|
+
"type": "Person?",
|
|
48
|
+
"prismaRelationFieldName": "tenantPrimaryContactPerson",
|
|
49
|
+
"label": "PrimaryContactPersonId",
|
|
50
|
+
"description": "The primary contact person of the tenant."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "secondaryContactPersonId",
|
|
54
|
+
"type": "Person?",
|
|
55
|
+
"prismaRelationFieldName": "tenantSecondaryContactPerson",
|
|
56
|
+
"label": "SecondaryContactPersonId",
|
|
57
|
+
"description": "The secondary contact person of the tenant."
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"defaultField": "isDefault",
|
|
61
|
+
"seed": [
|
|
62
|
+
{
|
|
63
|
+
"id": "Tenant1",
|
|
64
|
+
"name": "Tenant 1",
|
|
65
|
+
"description": "Tenant 1 description",
|
|
66
|
+
"isDefault": true,
|
|
67
|
+
"colorCode": "#AABBCC"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "Tenant2",
|
|
71
|
+
"name": "Tenant 2",
|
|
72
|
+
"description": "Tenant 2 description",
|
|
73
|
+
"isDefault": false,
|
|
74
|
+
"colorCode": "#CCDDEE"
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "Submission",
|
|
80
|
+
"description": "A submission is a project for the submission of a drug to a regulatory authority, e.g. FDA (US), EMA (EU), MHRA (UK), or NMPA (China). A submission belongs to a tenant and has multiple modules.",
|
|
81
|
+
"fields": [
|
|
82
|
+
{
|
|
83
|
+
"name": "tenantId",
|
|
84
|
+
"type": "Tenant",
|
|
85
|
+
"label": "TenantId",
|
|
86
|
+
"description": "The tenant this submission belongs to."
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "order",
|
|
90
|
+
"type": "Int",
|
|
91
|
+
"label": "Order",
|
|
92
|
+
"description": "The order of the submission within the tenant."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "name",
|
|
96
|
+
"type": "String",
|
|
97
|
+
"label": "Name",
|
|
98
|
+
"description": "The name of the submission."
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"name": "shortName",
|
|
102
|
+
"type": "String",
|
|
103
|
+
"label": "ShortName",
|
|
104
|
+
"description": "The short name of the submission."
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "description",
|
|
108
|
+
"type": "String?",
|
|
109
|
+
"label": "Description",
|
|
110
|
+
"description": "The description of the submission."
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "colorCode",
|
|
114
|
+
"type": "String",
|
|
115
|
+
"label": "ColorCode",
|
|
116
|
+
"description": "The color code of the submission."
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "logo",
|
|
120
|
+
"type": "String?",
|
|
121
|
+
"label": "Logo",
|
|
122
|
+
"description": "The logo of the submission."
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "primaryContactPersonId",
|
|
126
|
+
"type": "Person?",
|
|
127
|
+
"prismaRelationFieldName": "SubmissionPrimaryContact",
|
|
128
|
+
"label": "PrimaryContactPersonId",
|
|
129
|
+
"description": "The primary contact person of the submission."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "secondaryContactPersonId",
|
|
133
|
+
"type": "Person?",
|
|
134
|
+
"prismaRelationFieldName": "SubmissionSecondaryContact",
|
|
135
|
+
"label": "SecondaryContactPersonId",
|
|
136
|
+
"description": "The secondary contact person of the submission."
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "epoch",
|
|
140
|
+
"type": "DateTime?",
|
|
141
|
+
"label": "Epoch",
|
|
142
|
+
"description": "The start date of the submission. If it's null, we treat submission as abstract."
|
|
143
|
+
}
|
|
144
|
+
],
|
|
145
|
+
"seed": [
|
|
146
|
+
{
|
|
147
|
+
"id": "Submission1",
|
|
148
|
+
"tenantId": "Tenant1",
|
|
149
|
+
"order": 1,
|
|
150
|
+
"name": "Submission 1",
|
|
151
|
+
"shortName": "Sub 1",
|
|
152
|
+
"description": "Submission 1 description",
|
|
153
|
+
"colorCode": "#FF0000"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"id": "Submission2",
|
|
157
|
+
"tenantId": "Tenant2",
|
|
158
|
+
"order": 1,
|
|
159
|
+
"name": "Submission 2",
|
|
160
|
+
"shortName": "Sub 2",
|
|
161
|
+
"description": "Submission 2 description",
|
|
162
|
+
"colorCode": "#00FF00"
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"name": "TenantUser",
|
|
168
|
+
"description": "m:n relation between tenants and users.",
|
|
169
|
+
"fields": [
|
|
170
|
+
{
|
|
171
|
+
"name": "tenantId",
|
|
172
|
+
"type": "Tenant",
|
|
173
|
+
"label": "TenantId"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"name": "userId",
|
|
177
|
+
"type": "User",
|
|
178
|
+
"label": "UserId"
|
|
179
|
+
}
|
|
180
|
+
],
|
|
181
|
+
"standardFields": ["id", "createdAt"]
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"name": "Person",
|
|
185
|
+
"description": "A person represents persons that are involved in the submission and can be assigned to Tasks. A person can be a member of multiple business units and vendors. A person can be a User of the application - but does not have to be.",
|
|
186
|
+
"fields": [
|
|
187
|
+
{
|
|
188
|
+
"name": "tenantId",
|
|
189
|
+
"type": "Tenant",
|
|
190
|
+
"label": "TenantId",
|
|
191
|
+
"description": "The tenant this person belongs to."
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"name": "userId",
|
|
195
|
+
"type": "User?",
|
|
196
|
+
"label": "UserId",
|
|
197
|
+
"description": "A person can be a user of the application."
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "name",
|
|
201
|
+
"type": "String",
|
|
202
|
+
"label": "Name",
|
|
203
|
+
"description": "The name of the person."
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"name": "email",
|
|
207
|
+
"type": "String?",
|
|
208
|
+
"label": "Email",
|
|
209
|
+
"description": "The email address of the person."
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"name": "companyId",
|
|
213
|
+
"type": "String?",
|
|
214
|
+
"label": "CompanyId",
|
|
215
|
+
"description": "The company Id of the person (e.g. the FMNO)."
|
|
216
|
+
}
|
|
217
|
+
],
|
|
218
|
+
"seed": [
|
|
219
|
+
{
|
|
220
|
+
"id": "Person1",
|
|
221
|
+
"tenantId": "Tenant1",
|
|
222
|
+
"name": "John Doe",
|
|
223
|
+
"email": "john.doe@company",
|
|
224
|
+
"companyId": "52502"
|
|
225
|
+
}
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"name": "BusinessUnitMember",
|
|
230
|
+
"description": "m:n relation between business units and persons.",
|
|
231
|
+
"fields": [
|
|
232
|
+
{
|
|
233
|
+
"name": "tenantId",
|
|
234
|
+
"type": "Tenant",
|
|
235
|
+
"label": "TenantId"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"name": "businessUnitId",
|
|
239
|
+
"type": "BusinessUnit",
|
|
240
|
+
"label": "BusinessUnitId"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"name": "personId",
|
|
244
|
+
"type": "Person",
|
|
245
|
+
"label": "PersonId"
|
|
246
|
+
}
|
|
247
|
+
]
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"name": "BusinessUnit",
|
|
251
|
+
"fields": [
|
|
252
|
+
{
|
|
253
|
+
"name": "tenantId",
|
|
254
|
+
"type": "Tenant",
|
|
255
|
+
"label": "TenantId",
|
|
256
|
+
"description": "The tenant this business unit belongs to."
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"name": "name",
|
|
260
|
+
"type": "String",
|
|
261
|
+
"label": "Name",
|
|
262
|
+
"description": "The name of the business unit."
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"name": "parentBusinessUnitId",
|
|
266
|
+
"type": "BusinessUnit?",
|
|
267
|
+
"prismaRelationFieldName": "BusinessUnitParentBusinessUnit",
|
|
268
|
+
"label": "ParentBusinessUnitId",
|
|
269
|
+
"description": "Business units can be hierarchical. This field represents the parent business unit."
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"name": "headId",
|
|
273
|
+
"type": "Person?",
|
|
274
|
+
"label": "HeadId",
|
|
275
|
+
"description": "The head of the business unit."
|
|
276
|
+
}
|
|
277
|
+
],
|
|
278
|
+
"seed": [
|
|
279
|
+
{ "id": "BU1", "tenantId": "Tenant1", "name": "Clinical Operations" },
|
|
280
|
+
{ "id": "BU2", "tenantId": "Tenant1", "name": "PMO" }
|
|
281
|
+
]
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"name": "VendorMember",
|
|
285
|
+
"description": "m:n relation between vendors and persons.",
|
|
286
|
+
"fields": [
|
|
287
|
+
{
|
|
288
|
+
"name": "tenantId",
|
|
289
|
+
"type": "Tenant",
|
|
290
|
+
"label": "TenantId"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"name": "vendorId",
|
|
294
|
+
"type": "Vendor",
|
|
295
|
+
"label": "VendorId"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"name": "personId",
|
|
299
|
+
"type": "Person",
|
|
300
|
+
"label": "PersonId"
|
|
301
|
+
}
|
|
302
|
+
]
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"name": "Vendor",
|
|
306
|
+
"description": "A CMO/Consultant",
|
|
307
|
+
"fields": [
|
|
308
|
+
{
|
|
309
|
+
"name": "tenantId",
|
|
310
|
+
"type": "Tenant",
|
|
311
|
+
"label": "TenantId",
|
|
312
|
+
"description": "The tenant this vendor belongs to."
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"name": "name",
|
|
316
|
+
"type": "String",
|
|
317
|
+
"label": "Name",
|
|
318
|
+
"description": "The name of the vendor."
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"name": "contactPersonId",
|
|
322
|
+
"type": "Person?",
|
|
323
|
+
"label": "ContactPersonId",
|
|
324
|
+
"description": "The main contact person of the vendor."
|
|
325
|
+
}
|
|
326
|
+
],
|
|
327
|
+
"seed": [
|
|
328
|
+
{ "id": "Vendor1", "tenantId": "Tenant1", "name": "Contractor 1" },
|
|
329
|
+
{ "id": "Vendor2", "tenantId": "Tenant1", "name": "Research Contractor 2" }
|
|
330
|
+
]
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"name": "ActivityType",
|
|
334
|
+
"description": "The type of activity of a task.",
|
|
335
|
+
"fields": [
|
|
336
|
+
{
|
|
337
|
+
"name": "tenantId",
|
|
338
|
+
"type": "Tenant",
|
|
339
|
+
"label": "TenantId",
|
|
340
|
+
"description": "The tenant this activity type belongs to."
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"name": "name",
|
|
344
|
+
"type": "String",
|
|
345
|
+
"label": "Name",
|
|
346
|
+
"description": "The name of the activity type."
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"name": "shortName",
|
|
350
|
+
"type": "String",
|
|
351
|
+
"label": "ShortName",
|
|
352
|
+
"description": "The short name of the activity type."
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"name": "description",
|
|
356
|
+
"type": "String?",
|
|
357
|
+
"label": "Description",
|
|
358
|
+
"description": "The description of the activity type."
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"name": "colorCode",
|
|
362
|
+
"type": "String",
|
|
363
|
+
"label": "ColorCode",
|
|
364
|
+
"description": "The color code of the activity type."
|
|
365
|
+
}
|
|
366
|
+
],
|
|
367
|
+
"seed": [
|
|
368
|
+
{
|
|
369
|
+
"id": "Activity_Write",
|
|
370
|
+
"tenantId": "Tenant 1",
|
|
371
|
+
"name": "Write",
|
|
372
|
+
"shortName": "Write",
|
|
373
|
+
"description": "Content production",
|
|
374
|
+
"colorCode": "#a1a1a1"
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"id": "Activity_Review",
|
|
378
|
+
"tenantId": "Tenant 1",
|
|
379
|
+
"name": "Review",
|
|
380
|
+
"shortName": "Review",
|
|
381
|
+
"description": "Content review",
|
|
382
|
+
"colorCode": "#b2b2b2"
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
"id": "Activity_QC/QA",
|
|
386
|
+
"tenantId": "Tenant 1",
|
|
387
|
+
"name": "QC/QA",
|
|
388
|
+
"shortName": "QC/QA",
|
|
389
|
+
"description": "Quality control/Quality assurance",
|
|
390
|
+
"colorCode": "#c3c3c3"
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"id": "Activity_Resolve comments",
|
|
394
|
+
"tenantId": "Tenant 1",
|
|
395
|
+
"name": "Resolve comments",
|
|
396
|
+
"shortName": "Res.",
|
|
397
|
+
"description": "Resolve comments",
|
|
398
|
+
"colorCode": "#d4d4d4"
|
|
399
|
+
}
|
|
400
|
+
]
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"name": "TaskProgressStatus",
|
|
404
|
+
"description": "The status type of a task's progress - is it started, in progress, finished, cancelled, etc.",
|
|
405
|
+
"fields": [
|
|
406
|
+
{
|
|
407
|
+
"name": "tenantId",
|
|
408
|
+
"type": "Tenant",
|
|
409
|
+
"label": "TenantId",
|
|
410
|
+
"description": "The tenant this task status belongs to."
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"name": "name",
|
|
414
|
+
"type": "String",
|
|
415
|
+
"label": "Name",
|
|
416
|
+
"description": "The name of the task status."
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"name": "shortName",
|
|
420
|
+
"type": "String",
|
|
421
|
+
"label": "ShortName",
|
|
422
|
+
"description": "The short name of the task status."
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"name": "description",
|
|
426
|
+
"type": "String?",
|
|
427
|
+
"label": "Description",
|
|
428
|
+
"description": "The description of the task status."
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"name": "colorCode",
|
|
432
|
+
"type": "String",
|
|
433
|
+
"label": "ColorCode",
|
|
434
|
+
"description": "The color code of the task status."
|
|
435
|
+
}
|
|
436
|
+
],
|
|
437
|
+
"seed": [
|
|
438
|
+
{
|
|
439
|
+
"id": "TaskProgressStatus_Not started",
|
|
440
|
+
"tenantId": "Tenant 1",
|
|
441
|
+
"name": "Not started",
|
|
442
|
+
"shortName": "Not started",
|
|
443
|
+
"description": "The task has not been started yet",
|
|
444
|
+
"colorCode": "#222222"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"id": "TaskProgressStatus_In progress",
|
|
448
|
+
"tenantId": "Tenant 1",
|
|
449
|
+
"name": "In progress",
|
|
450
|
+
"shortName": "In progress",
|
|
451
|
+
"description": "The task is in progress",
|
|
452
|
+
"colorCode": "yellow"
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"id": "TaskProgressStatus_Completed",
|
|
456
|
+
"tenantId": "Tenant 1",
|
|
457
|
+
"name": "Completed",
|
|
458
|
+
"shortName": "Completed",
|
|
459
|
+
"description": "The task has been completed",
|
|
460
|
+
"colorCode": "green"
|
|
461
|
+
}
|
|
462
|
+
]
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"name": "TaskTrackingStatus",
|
|
466
|
+
"description": "Tracking status of a task",
|
|
467
|
+
"fields": [
|
|
468
|
+
{
|
|
469
|
+
"name": "tenantId",
|
|
470
|
+
"type": "Tenant",
|
|
471
|
+
"label": "TenantId",
|
|
472
|
+
"description": "The tenant this task tracking status belongs to."
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
"name": "name",
|
|
476
|
+
"type": "String",
|
|
477
|
+
"label": "Name",
|
|
478
|
+
"description": "The name of the task tracking status."
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
"name": "shortName",
|
|
482
|
+
"type": "String",
|
|
483
|
+
"label": "ShortName",
|
|
484
|
+
"description": "The short name of the task tracking status."
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
"name": "description",
|
|
488
|
+
"type": "String?",
|
|
489
|
+
"label": "Description",
|
|
490
|
+
"description": "The description of the task tracking status."
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"name": "colorCode",
|
|
494
|
+
"type": "String",
|
|
495
|
+
"label": "ColorCode",
|
|
496
|
+
"description": "The color code of the task tracking status."
|
|
497
|
+
}
|
|
498
|
+
],
|
|
499
|
+
"seed": [
|
|
500
|
+
{
|
|
501
|
+
"id": "TaskTrackingStatus_Not started",
|
|
502
|
+
"tenantId": "Tenant 1",
|
|
503
|
+
"name": "Not started",
|
|
504
|
+
"shortName": "❎",
|
|
505
|
+
"description": "The task is not tracked",
|
|
506
|
+
"colorCode": "#222222"
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"id": "TaskTrackingStatus_On track",
|
|
510
|
+
"tenantId": "Tenant 1",
|
|
511
|
+
"name": "On track",
|
|
512
|
+
"shortName": "👍",
|
|
513
|
+
"description": "The task is tracked",
|
|
514
|
+
"colorCode": "mintgreen"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"id": "TaskTrackingStatus_Attention required",
|
|
518
|
+
"tenantId": "Tenant 1",
|
|
519
|
+
"name": "Attention required",
|
|
520
|
+
"shortName": "❗",
|
|
521
|
+
"colorCode": "red"
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"id": "TaskTrackingStatus_Urgent attention required",
|
|
525
|
+
"tenantId": "Tenant 1",
|
|
526
|
+
"name": "Urgent attention required",
|
|
527
|
+
"shortName": "‼",
|
|
528
|
+
"colorCode": "red"
|
|
529
|
+
}
|
|
530
|
+
]
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"name": "Module",
|
|
534
|
+
"description": "Submissions are split into modules.",
|
|
535
|
+
"fields": [
|
|
536
|
+
{
|
|
537
|
+
"name": "submissionId",
|
|
538
|
+
"type": "Submission",
|
|
539
|
+
"label": "SubmissionId",
|
|
540
|
+
"description": "The submission this module belongs to."
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"name": "order",
|
|
544
|
+
"type": "Int",
|
|
545
|
+
"label": "Order",
|
|
546
|
+
"description": "The order of the module within the project."
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"name": "name",
|
|
550
|
+
"type": "String",
|
|
551
|
+
"label": "Name",
|
|
552
|
+
"description": "The name of the module."
|
|
553
|
+
},
|
|
554
|
+
{
|
|
555
|
+
"name": "shortName",
|
|
556
|
+
"type": "String",
|
|
557
|
+
"label": "ShortName",
|
|
558
|
+
"description": "The short name of the module."
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
"name": "description",
|
|
562
|
+
"type": "String?",
|
|
563
|
+
"label": "Description",
|
|
564
|
+
"description": "The description of the module."
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"name": "colorCode",
|
|
568
|
+
"type": "String",
|
|
569
|
+
"label": "ColorCode",
|
|
570
|
+
"description": "The color code of the module."
|
|
571
|
+
}
|
|
572
|
+
],
|
|
573
|
+
"seed": [
|
|
574
|
+
{
|
|
575
|
+
"id": "Module1",
|
|
576
|
+
"submissionId": "Submission1",
|
|
577
|
+
"order": 1,
|
|
578
|
+
"name": "Module 1",
|
|
579
|
+
"shortName": "Mod 1",
|
|
580
|
+
"description": "Module 1 description",
|
|
581
|
+
"colorCode": "#EEEEEE"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"id": "Module2",
|
|
585
|
+
"submissionId": "Submission1",
|
|
586
|
+
"order": 2,
|
|
587
|
+
"name": "Module 2",
|
|
588
|
+
"shortName": "Mod 2",
|
|
589
|
+
"description": "Module 2 description",
|
|
590
|
+
"colorCode": "#EEEEEE"
|
|
591
|
+
}
|
|
592
|
+
]
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"name": "Submodule",
|
|
596
|
+
"description": "Modules are split into submodules.",
|
|
597
|
+
"fields": [
|
|
598
|
+
{
|
|
599
|
+
"name": "submissionId",
|
|
600
|
+
"type": "Submission",
|
|
601
|
+
"label": "SubmissionId",
|
|
602
|
+
"description": "The submission this submodule belongs to.\n\nNote: Only provided for quick access. Make sure to ensure consistency with module.submission!"
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
"name": "moduleId",
|
|
606
|
+
"type": "Module?",
|
|
607
|
+
"label": "ModuleId",
|
|
608
|
+
"description": "The module this submodule belongs to."
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"name": "order",
|
|
612
|
+
"type": "Int",
|
|
613
|
+
"label": "Order",
|
|
614
|
+
"description": "The order of the submodule within the module."
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"name": "name",
|
|
618
|
+
"type": "String",
|
|
619
|
+
"label": "Name",
|
|
620
|
+
"description": "The name of the submodule."
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
"name": "shortName",
|
|
624
|
+
"type": "String",
|
|
625
|
+
"label": "ShortName",
|
|
626
|
+
"description": "The short name of the submodule."
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"name": "description",
|
|
630
|
+
"type": "String?",
|
|
631
|
+
"label": "Description",
|
|
632
|
+
"description": "The description of the submodule."
|
|
633
|
+
}
|
|
634
|
+
],
|
|
635
|
+
"seed": [
|
|
636
|
+
{
|
|
637
|
+
"id": "Submodule1",
|
|
638
|
+
"submissionId": "Submission1",
|
|
639
|
+
"order": 1,
|
|
640
|
+
"name": "Submodule 1",
|
|
641
|
+
"shortName": "Submod 1",
|
|
642
|
+
"description": "Submodule 1 description"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"id": "Submodule2",
|
|
646
|
+
"submissionId": "Submission1",
|
|
647
|
+
"order": 2,
|
|
648
|
+
"name": "Submodule 2",
|
|
649
|
+
"shortName": "Submod 2",
|
|
650
|
+
"description": "Submodule 2 description"
|
|
651
|
+
}
|
|
652
|
+
]
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"name": "Milestone",
|
|
656
|
+
"description": "Milestone is like a task without effort. Once all predecessors are finished, the milestone is finished.",
|
|
657
|
+
"fields": [
|
|
658
|
+
{
|
|
659
|
+
"name": "submissionId",
|
|
660
|
+
"type": "Submission",
|
|
661
|
+
"label": "SubmissionId",
|
|
662
|
+
"description": "The submission this milestone belongs to."
|
|
663
|
+
},
|
|
664
|
+
{
|
|
665
|
+
"name": "name",
|
|
666
|
+
"type": "String",
|
|
667
|
+
"label": "Name"
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
"name": "shortName",
|
|
671
|
+
"type": "String",
|
|
672
|
+
"label": "ShortName",
|
|
673
|
+
"description": "The short name of the milestone."
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
"name": "description",
|
|
677
|
+
"type": "String?",
|
|
678
|
+
"label": "Description",
|
|
679
|
+
"description": "The description of the milestone."
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
"name": "linkUrl",
|
|
683
|
+
"type": "String?",
|
|
684
|
+
"label": "LinkUrl",
|
|
685
|
+
"description": "An optional valid URL to link to the task."
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"name": "linkLabel",
|
|
689
|
+
"type": "String?",
|
|
690
|
+
"label": "LinkLabel",
|
|
691
|
+
"description": "An optional label to link to the task. Empty strings are considered null values."
|
|
692
|
+
},
|
|
693
|
+
{
|
|
694
|
+
"name": "ownerType",
|
|
695
|
+
"type": "TaskOwnerType?",
|
|
696
|
+
"label": "OwnerType",
|
|
697
|
+
"description": "The owner type of the task - is a BU, a vendor or an individual person responsible. Can be null initially until someone is assigned - or if it is a milestone."
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
"name": "ownerPersonId",
|
|
701
|
+
"type": "Person?",
|
|
702
|
+
"label": "OwnerPersonId",
|
|
703
|
+
"description": "In case ownerType is Person, this field links the person"
|
|
704
|
+
},
|
|
705
|
+
{
|
|
706
|
+
"name": "ownerBusinessUnitId",
|
|
707
|
+
"type": "BusinessUnit?",
|
|
708
|
+
"label": "OwnerBusinessUnitId",
|
|
709
|
+
"description": "In case ownerType is BusinessUnit, this field links the business unit"
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
"name": "ownerVendorId",
|
|
713
|
+
"type": "Vendor?",
|
|
714
|
+
"label": "OwnerVendorId",
|
|
715
|
+
"description": "In case ownerType is Vendor, this field links the vendor"
|
|
716
|
+
},
|
|
717
|
+
{
|
|
718
|
+
"name": "type",
|
|
719
|
+
"type": "MilestoneType",
|
|
720
|
+
"label": "Type",
|
|
721
|
+
"description": "The type of a milestone - fixed date or dependencies."
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
"name": "fixedMinutesSinceEpoch",
|
|
725
|
+
"type": "Int?",
|
|
726
|
+
"label": "FixedMinutesSinceEpoch",
|
|
727
|
+
"description": "The date of a milestone (in case of fixed date)."
|
|
728
|
+
}
|
|
729
|
+
],
|
|
730
|
+
"seed": [
|
|
731
|
+
{
|
|
732
|
+
"id": "Milestone1",
|
|
733
|
+
"submissionId": "Submission1",
|
|
734
|
+
"type": "FixedDate",
|
|
735
|
+
"name": "Milestone 1",
|
|
736
|
+
"shortName": "M1",
|
|
737
|
+
"description": "The start of the submission",
|
|
738
|
+
"linkUrl": "[https://postxl.com]",
|
|
739
|
+
"linkLabel": "PostXL"
|
|
740
|
+
},
|
|
741
|
+
{
|
|
742
|
+
"id": "Milestone2",
|
|
743
|
+
"submissionId": "Submission1",
|
|
744
|
+
"type": "FixedDate",
|
|
745
|
+
"name": "Milestone 2",
|
|
746
|
+
"shortName": "M2",
|
|
747
|
+
"description": "The end of the submission",
|
|
748
|
+
"linkLabel": null
|
|
749
|
+
}
|
|
750
|
+
]
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
"name": "Task",
|
|
754
|
+
"description": "As task is a single unit of work that needs to be done.\n\nA task can be owned by a person, a business unit or a vendor.\n\nA task can depend on other tasks/milestones - in this case, it's start date is determined by the latest end date of the predecessors.\n\nThe end date of a task is defined by the duration type: If it is measured in business days, the end date is calculated as start date + duration in business days.\nIf it is measured in person days, the end date is calculated as start date + duration in person days / number of persons.\nIf it is measured in fixed end date, the end date is the fixed end date.",
|
|
755
|
+
"fields": [
|
|
756
|
+
{
|
|
757
|
+
"name": "submissionId",
|
|
758
|
+
"type": "Submission",
|
|
759
|
+
"label": "SubmissionId",
|
|
760
|
+
"description": "The submission this task belongs to. Note: Only provided for quick access. Make sure to ensure consistency with submodule.submission!"
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"name": "submoduleId",
|
|
764
|
+
"type": "Submodule",
|
|
765
|
+
"label": "SubmoduleId",
|
|
766
|
+
"description": "The submodule this task belongs to."
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"name": "name",
|
|
770
|
+
"type": "String",
|
|
771
|
+
"label": "Name",
|
|
772
|
+
"description": "The name of the task."
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
"name": "description",
|
|
776
|
+
"type": "String?",
|
|
777
|
+
"label": "Description",
|
|
778
|
+
"description": "The description of the task."
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
"name": "isHidden",
|
|
782
|
+
"type": "Boolean",
|
|
783
|
+
"label": "IsHidden",
|
|
784
|
+
"description": "Tells whether the task should be hidden in the interface by default."
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"name": "linkUrl",
|
|
788
|
+
"type": "String?",
|
|
789
|
+
"label": "LinkUrl",
|
|
790
|
+
"description": "An optional valid URL to link to the task."
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"name": "linkLabel",
|
|
794
|
+
"type": "String?",
|
|
795
|
+
"label": "LinkLabel",
|
|
796
|
+
"description": "An optional label to link to the task. Empty strings are considered null values."
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
"name": "ownerType",
|
|
800
|
+
"type": "TaskOwnerType?",
|
|
801
|
+
"label": "OwnerType",
|
|
802
|
+
"description": "The owner type of the task - is a BU, a vendor or an individual person responsible. Can be null initially until someone is assigned - or if it is a milestone."
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"name": "ownerPersonId",
|
|
806
|
+
"type": "Person?",
|
|
807
|
+
"label": "OwnerPersonId",
|
|
808
|
+
"description": "In case ownerType is Person, this field links the person"
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
"name": "ownerBusinessUnitId",
|
|
812
|
+
"type": "BusinessUnit?",
|
|
813
|
+
"label": "OwnerBusinessUnitId",
|
|
814
|
+
"description": "In case ownerType is BusinessUnit, this field links the business unit"
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
"name": "ownerVendorId",
|
|
818
|
+
"type": "Vendor?",
|
|
819
|
+
"label": "OwnerVendorId",
|
|
820
|
+
"description": "In case ownerType is Vendor, this field links the vendor"
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
"name": "effortInMinutes",
|
|
824
|
+
"type": "Int",
|
|
825
|
+
"label": "EffortInMinutes",
|
|
826
|
+
"description": "The effort in business days it takes to complete the task if one person was working on it."
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
"name": "capacity",
|
|
830
|
+
"type": "Float",
|
|
831
|
+
"label": "Capacity",
|
|
832
|
+
"description": "The capacity of people working on the task."
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"name": "uiDurationRepresentation",
|
|
836
|
+
"type": "UiDurationRepresentation",
|
|
837
|
+
"label": "UiDurationRepresentation",
|
|
838
|
+
"description": "The UI representation of the duration of the task."
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"name": "earliestStartMinutesSinceEpoch",
|
|
842
|
+
"type": "Int?",
|
|
843
|
+
"label": "EarliestStartMinutesSinceEpoch",
|
|
844
|
+
"description": "The earliest date when the task can start."
|
|
845
|
+
},
|
|
846
|
+
{
|
|
847
|
+
"name": "earliestEndMinutesSinceEpoch",
|
|
848
|
+
"type": "Int?",
|
|
849
|
+
"label": "EarliestEndMinutesSinceEpoch",
|
|
850
|
+
"description": "The earliest date when the task can be completed."
|
|
851
|
+
},
|
|
852
|
+
{
|
|
853
|
+
"name": "activityTypeId",
|
|
854
|
+
"type": "String",
|
|
855
|
+
"label": "ActivityTypeId",
|
|
856
|
+
"description": "The activity type of the task."
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
"name": "taskProgressStatusId",
|
|
860
|
+
"type": "String",
|
|
861
|
+
"label": "TaskProgressStatusId",
|
|
862
|
+
"description": "The progress status of the task."
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"name": "taskTrackingStatusId",
|
|
866
|
+
"type": "String",
|
|
867
|
+
"label": "TaskTrackingStatusId",
|
|
868
|
+
"description": "The tracking status of the task."
|
|
869
|
+
}
|
|
870
|
+
]
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"name": "TaskTaskDependency",
|
|
874
|
+
"description": "Tasks can depend on other tasks meaning that the predecessor task must be finished before the successor can be started.",
|
|
875
|
+
"fields": [
|
|
876
|
+
{
|
|
877
|
+
"name": "submissionId",
|
|
878
|
+
"type": "Submission",
|
|
879
|
+
"label": "SubmissionId",
|
|
880
|
+
"description": "The submission this dependency belongs to. Note: Only provided for quick access. Make sure to ensure consistency with task.submission and predecessorTask.submission!"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"name": "predecessorTaskId",
|
|
884
|
+
"type": "Task",
|
|
885
|
+
"prismaRelationFieldName": "taskPredecessorTask",
|
|
886
|
+
"label": "PredecessorTaskId",
|
|
887
|
+
"description": "The task that must be finished before the successor can be started."
|
|
888
|
+
},
|
|
889
|
+
{
|
|
890
|
+
"name": "taskId",
|
|
891
|
+
"type": "Task",
|
|
892
|
+
"prismaRelationFieldName": "taskDependency",
|
|
893
|
+
"label": "TaskId",
|
|
894
|
+
"description": "The task that can only be started after the predecessor has been finished."
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"name": "isActive",
|
|
898
|
+
"type": "Boolean",
|
|
899
|
+
"label": "IsActive",
|
|
900
|
+
"description": "A dependency can be active or inactive. By default, it is active. However, certain levers can decouple dependencies and hence inactivate them."
|
|
901
|
+
}
|
|
902
|
+
]
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
"name": "TaskMilestoneDependency",
|
|
906
|
+
"description": "Tasks can depend on milestones meaning that the predecessor milestone must be finished before the successor can be started.",
|
|
907
|
+
"fields": [
|
|
908
|
+
{
|
|
909
|
+
"name": "submissionId",
|
|
910
|
+
"type": "Submission",
|
|
911
|
+
"label": "SubmissionId",
|
|
912
|
+
"description": "The submission this dependency belongs to. Note: Only provided for quick access. Make sure to ensure consistency with task.submission and predecessorMilestone.submission!"
|
|
913
|
+
},
|
|
914
|
+
{
|
|
915
|
+
"name": "predecessorMilestoneId",
|
|
916
|
+
"type": "Milestone",
|
|
917
|
+
"label": "PredecessorMilestoneId"
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
"name": "taskId",
|
|
921
|
+
"type": "Task",
|
|
922
|
+
"label": "TaskId",
|
|
923
|
+
"description": "The task that can only be started after the predecessor has been finished."
|
|
924
|
+
},
|
|
925
|
+
{
|
|
926
|
+
"name": "isActive",
|
|
927
|
+
"type": "Boolean",
|
|
928
|
+
"label": "IsActive",
|
|
929
|
+
"description": "A dependency can be active or inactive. By default, it is active. However, certain levers can decouple dependencies and hence inactivate them."
|
|
930
|
+
}
|
|
931
|
+
]
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
"name": "MilestoneDependency",
|
|
935
|
+
"description": "Milestones can depend on other tasks meaning that the predecessor task must be finished before the milestone is reached.",
|
|
936
|
+
"fields": [
|
|
937
|
+
{
|
|
938
|
+
"name": "submissionId",
|
|
939
|
+
"type": "Submission",
|
|
940
|
+
"label": "SubmissionId",
|
|
941
|
+
"description": "The submission this dependency belongs to. Note: Only provided for quick access. Make sure to ensure consistency with milestone.submission and predecessorTask.submission!"
|
|
942
|
+
},
|
|
943
|
+
{
|
|
944
|
+
"name": "predecessorTaskId",
|
|
945
|
+
"type": "Task",
|
|
946
|
+
"label": "PredecessorTaskId",
|
|
947
|
+
"description": "The task that must be finished before the successor can be started."
|
|
948
|
+
},
|
|
949
|
+
{
|
|
950
|
+
"name": "milestoneId",
|
|
951
|
+
"type": "Milestone",
|
|
952
|
+
"label": "MilestoneId"
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
"name": "isActive",
|
|
956
|
+
"type": "Boolean",
|
|
957
|
+
"label": "IsActive",
|
|
958
|
+
"description": "A dependency can be active or inactive. By default, it is active. However, certain levers can decouple dependencies and hence inactivate them."
|
|
959
|
+
}
|
|
960
|
+
]
|
|
961
|
+
},
|
|
962
|
+
{
|
|
963
|
+
"name": "LeverGroup",
|
|
964
|
+
"fields": [
|
|
965
|
+
{
|
|
966
|
+
"name": "tenantId",
|
|
967
|
+
"type": "Tenant",
|
|
968
|
+
"label": "TenantId"
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
"name": "name",
|
|
972
|
+
"type": "String",
|
|
973
|
+
"label": "Name"
|
|
974
|
+
}
|
|
975
|
+
]
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
"name": "Lever",
|
|
979
|
+
"fields": [
|
|
980
|
+
{
|
|
981
|
+
"name": "submissionId",
|
|
982
|
+
"type": "Submission",
|
|
983
|
+
"label": "SubmissionId",
|
|
984
|
+
"description": "The submission this lever belongs to."
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"name": "name",
|
|
988
|
+
"type": "String",
|
|
989
|
+
"label": "Name",
|
|
990
|
+
"description": "The name of the lever."
|
|
991
|
+
},
|
|
992
|
+
{
|
|
993
|
+
"name": "priority",
|
|
994
|
+
"type": "Int",
|
|
995
|
+
"label": "Priority",
|
|
996
|
+
"description": "Tells the priority to apply the lever. The lower the number, the sooner the lever is applied (i.e. lever with highest priority will be applied last)."
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
"name": "description",
|
|
1000
|
+
"type": "String?",
|
|
1001
|
+
"label": "Description",
|
|
1002
|
+
"description": "Optional detailed description of the lever."
|
|
1003
|
+
},
|
|
1004
|
+
{
|
|
1005
|
+
"name": "groupId",
|
|
1006
|
+
"type": "LeverGroup?",
|
|
1007
|
+
"label": "GroupId",
|
|
1008
|
+
"description": "The optional conceptual group of the lever."
|
|
1009
|
+
},
|
|
1010
|
+
{
|
|
1011
|
+
"name": "isApplied",
|
|
1012
|
+
"type": "Boolean",
|
|
1013
|
+
"label": "IsApplied",
|
|
1014
|
+
"description": "Tells whether the lever is applied to the data."
|
|
1015
|
+
}
|
|
1016
|
+
],
|
|
1017
|
+
"seed": [
|
|
1018
|
+
{ "id": "Lever1", "submissionId": "SubmissionId1", "name": "Lever 1", "isApplied": true, "priority": 1 },
|
|
1019
|
+
{ "id": "Lever2", "submissionId": "SubmissionId1", "name": "Lever 2", "isApplied": true, "priority": 2 }
|
|
1020
|
+
]
|
|
1021
|
+
},
|
|
1022
|
+
{
|
|
1023
|
+
"name": "TaskModification",
|
|
1024
|
+
"fields": [
|
|
1025
|
+
{
|
|
1026
|
+
"name": "submissionId",
|
|
1027
|
+
"type": "Submission",
|
|
1028
|
+
"label": "SubmissionId",
|
|
1029
|
+
"description": "The submission this modification belongs to. Note: Only provided for quick access. Make sure to ensure consistency with lever.submission!"
|
|
1030
|
+
},
|
|
1031
|
+
{
|
|
1032
|
+
"name": "leverId",
|
|
1033
|
+
"type": "Lever",
|
|
1034
|
+
"label": "LeverId",
|
|
1035
|
+
"description": "The lever this modification belongs to."
|
|
1036
|
+
},
|
|
1037
|
+
{
|
|
1038
|
+
"name": "vTaskId",
|
|
1039
|
+
"type": "String",
|
|
1040
|
+
"label": "VTaskId",
|
|
1041
|
+
"description": "The task that is modified."
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
"name": "kind",
|
|
1045
|
+
"type": "TaskModificationKind",
|
|
1046
|
+
"label": "Kind"
|
|
1047
|
+
},
|
|
1048
|
+
{
|
|
1049
|
+
"name": "effortInMinutes",
|
|
1050
|
+
"type": "Int?",
|
|
1051
|
+
"label": "EffortInMinutes"
|
|
1052
|
+
},
|
|
1053
|
+
{
|
|
1054
|
+
"name": "capacity",
|
|
1055
|
+
"type": "Float?",
|
|
1056
|
+
"label": "Capacity"
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
"name": "earliestStartMinutesSinceEpoch",
|
|
1060
|
+
"type": "Int?",
|
|
1061
|
+
"label": "EarliestStartMinutesSinceEpoch"
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
"name": "earliestEndMinutesSinceEpoch",
|
|
1065
|
+
"type": "Int?",
|
|
1066
|
+
"label": "EarliestEndMinutesSinceEpoch"
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"name": "addedTaskPredecessorId",
|
|
1070
|
+
"type": "String?",
|
|
1071
|
+
"label": "AddedTaskPredecessorId"
|
|
1072
|
+
},
|
|
1073
|
+
{
|
|
1074
|
+
"name": "removedTaskPredecessorId",
|
|
1075
|
+
"type": "String?",
|
|
1076
|
+
"label": "RemovedTaskPredecessorId"
|
|
1077
|
+
},
|
|
1078
|
+
{
|
|
1079
|
+
"name": "addedMilestonePredecessorId",
|
|
1080
|
+
"type": "String?",
|
|
1081
|
+
"label": "AddedMilestonePredecessorId"
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
"name": "removedMilestonePredecessorId",
|
|
1085
|
+
"type": "String?",
|
|
1086
|
+
"label": "RemovedMilestonePredecessorId"
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
"name": "name",
|
|
1090
|
+
"type": "String?",
|
|
1091
|
+
"label": "Name"
|
|
1092
|
+
}
|
|
1093
|
+
]
|
|
1094
|
+
},
|
|
1095
|
+
{
|
|
1096
|
+
"name": "MilestoneModification",
|
|
1097
|
+
"fields": [
|
|
1098
|
+
{
|
|
1099
|
+
"name": "submissionId",
|
|
1100
|
+
"type": "Submission",
|
|
1101
|
+
"label": "SubmissionId",
|
|
1102
|
+
"description": "The submission this modification belongs to."
|
|
1103
|
+
},
|
|
1104
|
+
{
|
|
1105
|
+
"name": "leverId",
|
|
1106
|
+
"type": "Lever",
|
|
1107
|
+
"label": "LeverId",
|
|
1108
|
+
"description": "The lever this modification belongs to."
|
|
1109
|
+
},
|
|
1110
|
+
{
|
|
1111
|
+
"name": "vMilestoneId",
|
|
1112
|
+
"type": "String",
|
|
1113
|
+
"label": "VMilestoneId",
|
|
1114
|
+
"description": "The milestone that is modified."
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"name": "kind",
|
|
1118
|
+
"type": "MilestoneModificationKind",
|
|
1119
|
+
"label": "Kind"
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"name": "name",
|
|
1123
|
+
"type": "String?",
|
|
1124
|
+
"label": "Name"
|
|
1125
|
+
},
|
|
1126
|
+
{
|
|
1127
|
+
"name": "minutesSinceEpoch",
|
|
1128
|
+
"type": "Int?",
|
|
1129
|
+
"label": "MinutesSinceEpoch"
|
|
1130
|
+
},
|
|
1131
|
+
{
|
|
1132
|
+
"name": "addedTaskDependencyId",
|
|
1133
|
+
"type": "String?",
|
|
1134
|
+
"label": "AddedTaskDependencyId"
|
|
1135
|
+
},
|
|
1136
|
+
{
|
|
1137
|
+
"name": "removedTaskDependencyId",
|
|
1138
|
+
"type": "String?",
|
|
1139
|
+
"label": "RemovedTaskDependencyId"
|
|
1140
|
+
}
|
|
1141
|
+
]
|
|
1142
|
+
}
|
|
1143
|
+
],
|
|
1144
|
+
"enums": [
|
|
1145
|
+
{
|
|
1146
|
+
"name": "TaskOwnerType",
|
|
1147
|
+
"description": "A task can be owned by a person, a business unit or a vendor.",
|
|
1148
|
+
"members": [{ "value": "Person" }, { "value": "BusinessUnit" }, { "value": "Vendor" }]
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
"name": "UiDurationRepresentation",
|
|
1152
|
+
"description": "Defines how the duration of a task is measured.\nIf it is measured in business days, the end date is calculated as start date + duration in business days.\nIf it is measured in person days, the end date is calculated as start date + duration in person days / number of persons.\nIf it is measured in fixed end date, the end date is the fixed end date.",
|
|
1153
|
+
"members": [{ "value": "BusinessDays" }, { "value": "PersonDays" }]
|
|
1154
|
+
},
|
|
1155
|
+
{
|
|
1156
|
+
"name": "MilestoneType",
|
|
1157
|
+
"members": [{ "value": "Floating" }, { "value": "FixedDate" }]
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
"name": "TaskModificationKind",
|
|
1161
|
+
"members": [
|
|
1162
|
+
{ "value": "Task_NoOp" },
|
|
1163
|
+
{ "value": "Task_Rename" },
|
|
1164
|
+
{ "value": "Task_ChangeTaskEffort" },
|
|
1165
|
+
{ "value": "Task_ChangeTaskCapacity" },
|
|
1166
|
+
{ "value": "Task_ChangeEarliestStartMinutesSinceEpoch" },
|
|
1167
|
+
{ "value": "Task_ChangeEarliestEndMinutesSinceEpoch" },
|
|
1168
|
+
{ "value": "Task_AddMilestonePredecessor" },
|
|
1169
|
+
{ "value": "Task_AddTaskPredecessor" },
|
|
1170
|
+
{ "value": "Task_RemoveMilestonePredecessor" },
|
|
1171
|
+
{ "value": "Task_RemoveTaskPredecessor" },
|
|
1172
|
+
{ "value": "Task_Duplicate" },
|
|
1173
|
+
{ "value": "Task_Delete" }
|
|
1174
|
+
]
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
"name": "MilestoneModificationKind",
|
|
1178
|
+
"members": [
|
|
1179
|
+
{ "value": "Milestone_NoOp" },
|
|
1180
|
+
{ "value": "Milestone_Date_ChangeFixedMinutesSinceEpoch" },
|
|
1181
|
+
{ "value": "Milestone_Date_AddTaskDependency" },
|
|
1182
|
+
{ "value": "Milestone_Date_RemoveTaskDependency" },
|
|
1183
|
+
{ "value": "Milestone_Rename" },
|
|
1184
|
+
{ "value": "Milestone_Delete" }
|
|
1185
|
+
]
|
|
1186
|
+
}
|
|
1187
|
+
]
|
|
1188
|
+
}
|