@researchdatabox/redbox-core 0.0.1-beta.10213 → 0.0.1-beta.10300

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/CoreController.d.ts +8 -0
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +87 -52
  4. package/dist/api-routes/groups/export.js +2 -2
  5. package/dist/config/brandingConfigurationDefaults.config.d.ts +1 -1
  6. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  7. package/dist/config/brandingConfigurationDefaults.config.js +9 -230
  8. package/dist/config/dashboardtype.config.d.ts +7 -0
  9. package/dist/config/dashboardtype.config.d.ts.map +1 -1
  10. package/dist/config/dashboardtype.config.js +9 -89
  11. package/dist/config/dashboardview.config.d.ts +7 -0
  12. package/dist/config/dashboardview.config.d.ts.map +1 -1
  13. package/dist/config/dashboardview.config.js +9 -134
  14. package/dist/config/http.config.d.ts +2 -0
  15. package/dist/config/http.config.d.ts.map +1 -1
  16. package/dist/config/http.config.js +47 -1
  17. package/dist/config/jsonld.config.d.ts.map +1 -1
  18. package/dist/config/jsonld.config.js +2 -21
  19. package/dist/config/record.config.d.ts.map +1 -1
  20. package/dist/config/record.config.js +2 -9
  21. package/dist/config/recordtype.config.d.ts +8 -0
  22. package/dist/config/recordtype.config.d.ts.map +1 -1
  23. package/dist/config/recordtype.config.js +10 -660
  24. package/dist/config/routes.config.d.ts.map +1 -1
  25. package/dist/config/routes.config.js +2 -3
  26. package/dist/config/storage.config.d.ts.map +1 -1
  27. package/dist/config/storage.config.js +7 -1
  28. package/dist/config/views.config.d.ts.map +1 -1
  29. package/dist/config/views.config.js +2 -6
  30. package/dist/config/workflow.config.d.ts +7 -0
  31. package/dist/config/workflow.config.d.ts.map +1 -1
  32. package/dist/config/workflow.config.js +9 -194
  33. package/dist/config/workspacetype.config.d.ts +7 -0
  34. package/dist/config/workspacetype.config.d.ts.map +1 -1
  35. package/dist/config/workspacetype.config.js +9 -10
  36. package/dist/configmodels/DoiPublishing.d.ts +1 -1
  37. package/dist/configmodels/DoiPublishing.d.ts.map +1 -1
  38. package/dist/configmodels/FigsharePublishing.d.ts +24 -1
  39. package/dist/configmodels/FigsharePublishing.d.ts.map +1 -1
  40. package/dist/configmodels/FigsharePublishing.js +152 -131
  41. package/dist/constants/export.d.ts +2 -0
  42. package/dist/constants/export.d.ts.map +1 -0
  43. package/dist/constants/export.js +8 -0
  44. package/dist/controllers/ExportController.d.ts.map +1 -1
  45. package/dist/controllers/ExportController.js +4 -3
  46. package/dist/controllers/RecordController.d.ts.map +1 -1
  47. package/dist/controllers/RecordController.js +2 -1
  48. package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
  49. package/dist/controllers/webservice/ExportController.js +4 -3
  50. package/dist/form-config/index.d.ts +7 -0
  51. package/dist/form-config/index.d.ts.map +1 -1
  52. package/dist/form-config/index.js +8 -5
  53. package/dist/hooks/hookDiscovery.d.ts +20 -0
  54. package/dist/hooks/hookDiscovery.d.ts.map +1 -0
  55. package/dist/hooks/hookDiscovery.js +186 -0
  56. package/dist/hooks/hookResources.d.ts +23 -0
  57. package/dist/hooks/hookResources.d.ts.map +1 -0
  58. package/dist/hooks/hookResources.js +136 -0
  59. package/dist/hooks/index.d.ts +4 -0
  60. package/dist/hooks/index.d.ts.map +1 -1
  61. package/dist/hooks/index.js +14 -2
  62. package/dist/index.d.ts +4 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +14 -2
  65. package/dist/loader/index.d.ts.map +1 -1
  66. package/dist/loader/index.js +21 -62
  67. package/dist/services/EmailService.d.ts +2 -8
  68. package/dist/services/EmailService.d.ts.map +1 -1
  69. package/dist/services/EmailService.js +8 -26
  70. package/dist/services/FigshareService.d.ts.map +1 -1
  71. package/dist/services/FigshareService.js +5 -4
  72. package/dist/services/NamedQueryService.d.ts.map +1 -1
  73. package/dist/services/NamedQueryService.js +3 -16
  74. package/dist/services/RecordsService.d.ts +1 -0
  75. package/dist/services/RecordsService.d.ts.map +1 -1
  76. package/dist/services/RecordsService.js +30 -10
  77. package/dist/services/ReportsService.d.ts +0 -5
  78. package/dist/services/ReportsService.d.ts.map +1 -1
  79. package/dist/services/ReportsService.js +2 -19
  80. package/dist/services/StandardDatastreamService.d.ts +7 -0
  81. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  82. package/dist/services/StandardDatastreamService.js +127 -27
  83. package/dist/services/TemplateService.d.ts +0 -14
  84. package/dist/services/TemplateService.d.ts.map +1 -1
  85. package/dist/services/TemplateService.js +4 -45
  86. package/dist/services/ViewUtilsService.d.ts +5 -1
  87. package/dist/services/ViewUtilsService.d.ts.map +1 -1
  88. package/dist/services/ViewUtilsService.js +38 -46
  89. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  90. package/dist/services/doi-v2/bindings.js +2 -11
  91. package/dist/services/figshare-v2/assets.d.ts +2 -1
  92. package/dist/services/figshare-v2/assets.d.ts.map +1 -1
  93. package/dist/services/figshare-v2/assets.js +144 -89
  94. package/dist/services/figshare-v2/bindings.d.ts +0 -1
  95. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  96. package/dist/services/figshare-v2/bindings.js +2 -12
  97. package/dist/services/figshare-v2/context.d.ts.map +1 -1
  98. package/dist/services/figshare-v2/context.js +11 -2
  99. package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -1
  100. package/dist/storage/TusStorageManagerDataStore.js +14 -1
  101. package/dist/utilities/ContextVariableUtils.d.ts +3 -1
  102. package/dist/utilities/ContextVariableUtils.d.ts.map +1 -1
  103. package/dist/utilities/ContextVariableUtils.js +25 -7
  104. package/package.json +5 -5
  105. package/dist/form-config/dataRecord-1.0-draft.d.ts +0 -4
  106. package/dist/form-config/dataRecord-1.0-draft.d.ts.map +0 -1
  107. package/dist/form-config/dataRecord-1.0-draft.js +0 -1042
  108. package/dist/form-config/default-1.0-draft.d.ts +0 -4
  109. package/dist/form-config/default-1.0-draft.d.ts.map +0 -1
  110. package/dist/form-config/default-1.0-draft.js +0 -1156
@@ -90,663 +90,13 @@ function findNormalizedRecordRelation(sourceRecordType, relations, relationId) {
90
90
  return normalizeRecordRelations(sourceRecordType, relations)
91
91
  .find((relation) => relation.id === normalizedRelationId);
92
92
  }
93
- // Note: Default configuration ported from config/recordtype.js
94
- exports.recordtype = {
95
- "rdmp": {
96
- "packageType": "rdmp",
97
- hooks: {
98
- onCreate: {
99
- pre: [
100
- {
101
- function: 'sails.services.rdmpservice.assignPermissions',
102
- options: {
103
- "emailProperty": "email",
104
- "editContributorProperties": [
105
- "metadata.contributor_ci",
106
- "metadata.contributor_data_manager",
107
- "metadata.dataowner_email"
108
- ],
109
- "viewContributorProperties": [
110
- "metadata.contributor_ci",
111
- "metadata.contributor_data_manager",
112
- "metadata.contributor_supervisor",
113
- "metadata.contributors"
114
- ],
115
- "recordCreatorPermissions": "view&edit"
116
- }
117
- },
118
- // {
119
- // function: 'sails.services.raidservice.mintTrigger',
120
- // options: {
121
- // triggerCondition: '<%= _.isEmpty(record.metadata.raidUrl) %>',
122
- // request: {
123
- // mint: {
124
- // // to DRY, `fields` can either be the actual mapping or a string path of `sails.config` object where the field mapping config resides
125
- // fields: 'raid.mapping.dmp'
126
- // }
127
- // }
128
- // }
129
- // }
130
- ],
131
- // Requires the PDF Gen hook to be installed https://www.npmjs.com/package/@researchdatabox/sails-hook-redbox-pdfgen
132
- // post: [{
133
- //
134
- // function: 'sails.services.pdfservice.createPDF',
135
- // options: {
136
- // waitForSelector: 'div#loading.hidden',
137
- // pdfPrefix: 'rdmp-pdf',
138
- // // Need to set an API token for generation to occur
139
- // // token: 'abcd-efgh-abcd-abcd-abcd'
140
- // }
141
- // }]
142
- post: [
143
- // {
144
- // function: 'sails.services.raidservice.mintPostCreateRetryHandler',
145
- // options: {
146
- // // nothing here as the record-specific options are in the metaMetadata
147
- // }
148
- // }
149
- ]
150
- },
151
- onUpdate: {
152
- pre: [
153
- {
154
- function: 'sails.services.rdmpservice.assignPermissions',
155
- options: {
156
- "emailProperty": "email",
157
- "editContributorProperties": [
158
- "metadata.contributor_ci",
159
- "metadata.contributor_data_manager",
160
- "metadata.dataowner_email"
161
- ],
162
- "viewContributorProperties": [
163
- "metadata.contributor_ci",
164
- "metadata.contributor_data_manager",
165
- "metadata.contributor_supervisor",
166
- "metadata.contributors"
167
- ],
168
- "recordCreatorPermissions": "view&edit"
169
- }
170
- },
171
- {
172
- function: 'sails.services.rdmpservice.checkTotalSizeOfFilesInRecord',
173
- options: {
174
- triggerCondition: '<%= _.isEqual(record.workflow.stage, "draft") || _.isEqual(record.workflow.stage, "queued") || _.isEqual(record.workflow.stage, "published") %>',
175
- maxUploadSizeMessageCode: 'max-total-files-upload-size-alternative-validation-error',
176
- replaceOrAppend: 'append'
177
- }
178
- },
179
- // {
180
- // function: 'sails.services.raidservice.mintTrigger',
181
- // options: {
182
- // triggerCondition: '<%= _.isEmpty(record.metadata.raidUrl) %>',
183
- // request: {
184
- // mint: {
185
- // // to DRY, `fields` can either be the actual mapping or a string path of `sails.config` object where the field mapping config resides
186
- // fields: 'raid.mapping.dmp'
187
- // }
188
- // }
189
- // }
190
- // }
191
- ],
192
- // Requires the PDF Gen hook to be installed https://www.npmjs.com/package/@researchdatabox/sails-hook-redbox-pdfgen
193
- // post: [{
194
- // function: 'sails.services.pdfservice.createPDF',
195
- // options: {
196
- // waitForSelector: 'div#loading.hidden',
197
- // pdfPrefix: 'rdmp-pdf'
198
- // }
199
- // }]
200
- }
201
- },
202
- relatedTo: [{
203
- "recordType": "dataRecord",
204
- "foreignField": "metadata.rdmp.oid"
205
- }],
206
- transferResponsibility: {
207
- /*
208
- Defines the fields that map to roles in the record
209
- */
210
- fields: {
211
- chiefInvestigator: {
212
- label: "@dmpt-people-tab-ci", // The label to show in the radio button options
213
- updateField: "contributor_ci",
214
- updateAlso: ['dataOwner']
215
- },
216
- dataManager: {
217
- label: "@dmpt-people-tab-data-manager", // The label to show in the radio button options
218
- updateField: 'contributor_data_manager'
219
- },
220
- dataOwner: {
221
- label: "@dmpt-people-tab-data-owner", // The label to show in the radio button options
222
- fieldNames: {
223
- email: "dataowner_email", // The email address field in the form, used for matching as well
224
- text_full_name: "dataowner_name" // The name field in the form
225
- }
226
- }
227
- },
228
- /*
229
- canEdit block defines which fields the user may edit if
230
- they have been set as that role in the record
231
- */
232
- canEdit: {
233
- dataManager: ["dataManager", "chiefInvestigator", "dataOwner"],
234
- dataOwner: ["chiefInvestigator", "dataOwner"],
235
- chiefInvestigator: ["chiefInvestigator"]
236
- }
237
- },
238
- searchFilters: [{
239
- name: "text_title",
240
- title: "search-refine-title",
241
- type: "exact",
242
- typeLabel: "search-refine-contains"
243
- },
244
- {
245
- name: "text_description",
246
- title: "search-refine-description",
247
- type: "exact",
248
- typeLabel: "search-refine-contains"
249
- },
250
- {
251
- name: "grant_number_name",
252
- title: "search-refine-grant_number_name",
253
- type: "facet",
254
- typeLabel: null,
255
- alwaysActive: true
256
- },
257
- {
258
- name: "finalKeywords",
259
- title: "search-refine-keywords",
260
- type: "facet",
261
- typeLabel: null,
262
- alwaysActive: true
263
- },
264
- {
265
- name: "workflow_stageLabel",
266
- title: "search-refine-workflow_stageLabel",
267
- type: "facet",
268
- typeLabel: null,
269
- alwaysActive: true
270
- }
271
- ]
272
- },
273
- "dataRecord": {
274
- "packageType": "dataRecord",
275
- labels: {
276
- name: "Record",
277
- namePlural: "Records"
278
- },
279
- searchFilters: [{
280
- name: "text_title",
281
- title: "search-refine-title",
282
- type: "exact",
283
- typeLabel: "search-refine-contains"
284
- },
285
- {
286
- name: "text_description",
287
- title: "search-refine-description",
288
- type: "exact",
289
- typeLabel: "search-refine-contains"
290
- },
291
- {
292
- name: "grant_number_name",
293
- title: "search-refine-grant_number_name",
294
- type: "facet",
295
- typeLabel: null,
296
- alwaysActive: true
297
- },
298
- {
299
- name: "finalKeywords",
300
- title: "search-refine-keywords",
301
- type: "facet",
302
- typeLabel: null,
303
- alwaysActive: true
304
- },
305
- {
306
- name: "workflow_stageLabel",
307
- title: "search-refine-workflow_stageLabel",
308
- type: "facet",
309
- typeLabel: null,
310
- alwaysActive: true
311
- }
312
- ],
313
- relatedTo: [{
314
- "recordType": "rdmp",
315
- "localField": "metadata.rdmp.oid",
316
- "foreignField": "redboxOid"
317
- },
318
- {
319
- "recordType": "dataPublication",
320
- "foreignField": "metadata.dataRecord.oid"
321
- }],
322
- transferResponsibility: {
323
- /*
324
- Defines the fields that map to roles in the record
325
- */
326
- fields: {
327
- chiefInvestigator: {
328
- label: "@dmpt-people-tab-ci", // The label to show in the radio button options
329
- updateField: "contributor_ci",
330
- updateAlso: ['dataOwner']
331
- },
332
- dataManager: {
333
- label: "@dmpt-people-tab-data-manager", // The label to show in the radio button options
334
- updateField: 'contributor_data_manager'
335
- },
336
- dataOwner: {
337
- label: "@dmpt-people-tab-data-owner", // The label to show in the radio button options
338
- fieldNames: {
339
- email: "dataowner_email", // The email address field in the form, used for matching as well
340
- text_full_name: "dataowner_name" // The name field in the form
341
- }
342
- }
343
- },
344
- /*
345
- canEdit block defines which fields the user may edit if
346
- they have been set as that role in the record
347
- */
348
- canEdit: {
349
- dataManager: ["dataManager", "chiefInvestigator", "dataOwner"],
350
- dataOwner: ["chiefInvestigator", "dataOwner"],
351
- chiefInvestigator: ["chiefInvestigator"]
352
- }
353
- },
354
- hooks: {
355
- onCreate: {
356
- pre: [{
357
- function: 'sails.services.rdmpservice.assignPermissions',
358
- options: {
359
- "emailProperty": "email",
360
- "editContributorProperties": [
361
- "metadata.contributor_ci",
362
- "metadata.contributor_data_manager",
363
- "metadata.dataowner_email"
364
- ],
365
- "viewContributorProperties": [
366
- "metadata.contributor_ci",
367
- "metadata.contributor_data_manager",
368
- "metadata.contributor_supervisor",
369
- "metadata.contributors"
370
- ],
371
- "recordCreatorPermissions": "view&edit"
372
- }
373
- }]
374
- },
375
- onUpdate: {
376
- pre: [{
377
- function: 'sails.services.rdmpservice.assignPermissions',
378
- options: {
379
- "emailProperty": "email",
380
- "editContributorProperties": [
381
- "metadata.contributor_ci",
382
- "metadata.contributor_data_manager",
383
- "metadata.dataowner_email"
384
- ],
385
- "viewContributorProperties": [
386
- "metadata.contributor_ci",
387
- "metadata.contributor_data_manager",
388
- "metadata.contributor_supervisor",
389
- "metadata.contributors"
390
- ],
391
- "recordCreatorPermissions": "view&edit"
392
- }
393
- }]
394
- }
395
- }
396
- },
397
- "dataPublication": {
398
- "packageType": "dataPublication",
399
- labels: {
400
- name: "Data Publication",
401
- namePlural: "Data Publications"
402
- },
403
- searchFilters: [{
404
- name: "text_title",
405
- title: "search-refine-title",
406
- type: "exact",
407
- typeLabel: "search-refine-contains"
408
- },
409
- {
410
- name: "text_description",
411
- title: "search-refine-description",
412
- type: "exact",
413
- typeLabel: "search-refine-contains"
414
- },
415
- {
416
- name: "grant_number_name",
417
- title: "search-refine-grant_number_name",
418
- type: "facet",
419
- typeLabel: null,
420
- alwaysActive: true
421
- },
422
- {
423
- name: "finalKeywords",
424
- title: "search-refine-keywords",
425
- type: "facet",
426
- typeLabel: null,
427
- alwaysActive: true
428
- },
429
- {
430
- name: "workflow_stageLabel",
431
- title: "search-refine-workflow_stageLabel",
432
- type: "facet",
433
- typeLabel: null,
434
- alwaysActive: true
435
- }
436
- ],
437
- hooks: {
438
- onCreate: {
439
- pre: [
440
- {
441
- function: 'sails.services.triggerservice.transitionWorkflow',
442
- options: {
443
- "triggerCondition": "<%= _.isEqual(workflow.stage, 'queued') && metadata.embargoByDate?.toString() === 'true' %>",
444
- "targetWorkflowStageName": "embargoed",
445
- "targetWorkflowStageLabel": "Embargoed",
446
- "targetForm": "dataPublication-1.0-embargoed"
447
- }
448
- },
449
- // Set the notification state for draft publications
450
- {
451
- function: 'sails.services.recordsservice.updateNotificationLog',
452
- options: {
453
- name: "Set Notification to Draft",
454
- // when notification is undefined, start with 'draft', so skipping stages will still work (as with the shipped behavior above)
455
- triggerCondition: "<%= typeof record.notification == 'undefined'%>",
456
- flagName: 'notification.state', // the record's path to the notification flag
457
- flagVal: 'draft', // hard coded value
458
- saveRecord: false // when true, do metadata update -> false, since this is on a pre-save hook, gets saved anyway
459
- }
460
- },
461
- {
462
- function: 'sails.services.rdmpservice.assignPermissions',
463
- options: {
464
- "emailProperty": "email",
465
- "editContributorProperties": [
466
- "metadata.creators"
467
- ],
468
- "viewContributorProperties": [
469
- "metadata.creators"
470
- ],
471
- "recordCreatorPermissions": "view&edit"
472
- }
473
- },
474
- {
475
- function: 'sails.services.rdmpservice.stripUserBasedPermissions',
476
- options: {
477
- triggerCondition: "<%= record.workflow.stage=='published' || record.workflow.stage=='queued' || record.workflow.stage=='embargoed' %>"
478
- }
479
- },
480
- {
481
- function: 'sails.services.rdmpservice.restoreUserBasedPermissions',
482
- options: {
483
- triggerCondition: "<%= record.workflow.stage=='draft' %>"
484
- }
485
- }
486
- ],
487
- post: [
488
- // `Email "data publication is staged" notification to FNCI, DM, Supervisor with link to landing page on Staging`
489
- {
490
- function: 'sails.services.emailservice.sendRecordNotification',
491
- options: {
492
- triggerCondition: "<%= record.notification != null && record.notification.state == 'draft' && record.workflow.stage == 'queued' %>",
493
- to: "{{record.metadata.contributor_ci.email}},{{record.metadata.contributor_data_manager.email}},{{record.metadata.contributor_supervisor.email}}",
494
- subject: "A publication has been staged for publishing.",
495
- template: "publicationStaged",
496
- onNotifySuccess: [
497
- // `Email "data publication is ready for review" notification to Librarian data-librarian@uts.edu.au with a link to the data publication record`
498
- {
499
- function: 'sails.services.emailservice.sendRecordNotification',
500
- options: {
501
- forceRun: true,
502
- to: "librarian@redboxresearchdata.com.au",
503
- subject: "Data publication ready for review",
504
- template: "publicationReview"
505
- }
506
- },
507
- {
508
- function: 'sails.services.recordsservice.updateNotificationLog',
509
- options: {
510
- name: "Set Notification to Emailed-Reviewing",
511
- forceRun: true,
512
- flagName: 'notification.state',
513
- flagVal: 'emailed-reviewing',
514
- logName: 'notification.log.reviewing', // record's path to the log
515
- saveRecord: true // when true, do a metadata update
516
- }
517
- }
518
- ]
519
- }
520
- },
521
- // Triggers "Published" Email Notification to FNCI, DM, Collaborators, CC: librarian with RDA link
522
- {
523
- function: 'sails.services.emailservice.sendRecordNotification',
524
- options: {
525
- triggerCondition: "<%= record.notification != null && record.notification.state == 'emailed-reviewing' && record.workflow.stage == 'published' %>",
526
- to: "{{record.metadata.contributor_ci.email}},{{record.metadata.contributor_data_manager.email}},{{record.metadata.contributor_supervisor.email}},librarian@redboxresearchdata.com.au,{{join (pluck record.metadata.creators \"email\") \",\"}}",
527
- subject: "A publication has been successfully published",
528
- template: "publicationPublished",
529
- onNotifySuccess: [
530
- {
531
- function: 'sails.services.recordsservice.updateNotificationLog',
532
- options: {
533
- name: "Set Notification to Emailed-Published",
534
- forceRun: true,
535
- flagName: 'notification.state',
536
- flagVal: 'emailed-published',
537
- logName: 'notification.log.published', // record's path to the log
538
- saveRecord: true // when true, do a metadata update
539
- }
540
- }
541
- ]
542
- }
543
- },
544
- {
545
- function: 'sails.services.doiservice.publishDoiTriggerSync',
546
- options: {
547
- forceRun: true,
548
- triggerCondition: "<%= record.workflow.stage=='draft' %>",
549
- event: 'draft'
550
- }
551
- }
552
- ]
553
- },
554
- // Update configuration
555
- onUpdate: {
556
- pre: [
557
- {
558
- function: 'sails.services.triggerservice.transitionWorkflow',
559
- options: {
560
- "triggerCondition": "<%= _.isEqual(workflow.stage, 'published') && metadata.embargoByDate?.toString() === 'true' %>",
561
- "targetWorkflowStageName": "embargoed",
562
- "targetWorkflowStageLabel": "Embargoed",
563
- "targetForm": "dataPublication-1.0-embargoed"
564
- }
565
- },
566
- // Set the notification state for draft publications
567
- {
568
- function: 'sails.services.recordsservice.updateNotificationLog',
569
- options: {
570
- name: "Set Notification to Draft",
571
- // when notification is undefined, start with 'draft', so skipping stages will still work (as with the shipped behavior above)
572
- triggerCondition: "<%= typeof record.notification == 'undefined'%>",
573
- flagName: 'notification.state', // the record's path to the notification flag
574
- flagVal: 'draft', // hard coded value
575
- saveRecord: false // when true, do metadata update -> false, since this is on a pre-save hook, gets saved anyway
576
- }
577
- },
578
- {
579
- function: 'sails.services.rdmpservice.assignPermissions',
580
- options: {
581
- "emailProperty": "email",
582
- "editContributorProperties": [
583
- "metadata.creators"
584
- ],
585
- "viewContributorProperties": [
586
- "metadata.creators"
587
- ],
588
- "recordCreatorPermissions": "view&edit"
589
- }
590
- },
591
- {
592
- function: 'sails.services.rdmpservice.stripUserBasedPermissions',
593
- options: {
594
- triggerCondition: "<%= record.workflow.stage=='published' || record.workflow.stage=='queued' || record.workflow.stage=='embargoed' %>"
595
- }
596
- },
597
- {
598
- function: 'sails.services.rdmpservice.restoreUserBasedPermissions',
599
- options: {
600
- triggerCondition: "<%= record.workflow.stage=='draft' %>"
601
- }
602
- }
603
- ],
604
- post: [
605
- {
606
- function: 'sails.services.emailservice.sendRecordNotification',
607
- options: {
608
- triggerCondition: "<%= record.notification != null && record.notification.state == 'draft' && record.workflow.stage == 'queued' %>",
609
- to: "{{record.metadata.contributor_ci.email}},{{record.metadata.contributor_data_manager.email}},{{record.metadata.contributor_supervisor.email}}",
610
- subject: "A publication has been staged for review.",
611
- template: "publicationStaged",
612
- onNotifySuccess: [
613
- // `Email "data publication is ready for review" notification to Librarian data-librarian@uts.edu.au with a link to the data publication record`
614
- {
615
- function: 'sails.services.emailservice.sendRecordNotification',
616
- options: {
617
- forceRun: true,
618
- to: "librarian@redboxresearchdata.com.au",
619
- subject: "Data publication ready for review",
620
- template: "publicationReview"
621
- }
622
- },
623
- {
624
- function: 'sails.services.recordsservice.updateNotificationLog',
625
- options: {
626
- name: "Set Notification to Emailed-Reviewing",
627
- forceRun: true,
628
- flagName: 'notification.state',
629
- flagVal: 'emailed-reviewing',
630
- logName: 'notification.log.reviewing', // record's path to the log
631
- saveRecord: true // when true, do a metadata update
632
- }
633
- }
634
- ]
635
- }
636
- },
637
- // Triggers "Published" Email Notification to FNCI, DM, Collaborators, CC: librarian with RDA link
638
- {
639
- function: 'sails.services.emailservice.sendRecordNotification',
640
- options: {
641
- triggerCondition: "<%= record.notification != null && record.notification.state == 'emailed-reviewing' && record.workflow.stage == 'published' %>",
642
- to: "{{record.metadata.contributor_ci.email}},{{record.metadata.contributor_data_manager.email}},{{record.metadata.contributor_supervisor.email}},librarian@redboxresearchdata.com.au,{{join (pluck record.metadata.creators \"email\") \",\"}}",
643
- subject: "A publication has been successfully published",
644
- template: "publicationPublished",
645
- onNotifySuccess: [
646
- {
647
- function: 'sails.services.recordsservice.updateNotificationLog',
648
- options: {
649
- name: "Set Notification to Emailed-Published",
650
- forceRun: true,
651
- flagName: 'notification.state',
652
- flagVal: 'emailed-published',
653
- logName: 'notification.log.published', // record's path to the log
654
- saveRecord: true // when true, do a metadata update
655
- }
656
- }
657
- ]
658
- }
659
- },
660
- {
661
- function: 'sails.services.doiservice.updateDoiTriggerSync',
662
- options: {
663
- forceRun: true,
664
- triggerCondition: "<%= record.workflow.stage=='draft' %>",
665
- event: 'draft'
666
- }
667
- }
668
- ]
669
- }
670
- }
671
- },
672
- // The "Existing locations" workspace record type definition.
673
- "existing-locations": {
674
- "searchable": false,
675
- "packageType": "workspace",
676
- "packageName": "existing-locations",
677
- "searchFilters": [
678
- {
679
- name: "text_title",
680
- title: "search-refine-title",
681
- type: "exact",
682
- typeLabel: "search-refine-contains"
683
- },
684
- {
685
- name: "text_description",
686
- title: "search-refine-description",
687
- type: "exact",
688
- typeLabel: "search-refine-contains"
689
- }
690
- ],
691
- hooks: {
692
- onCreate: {
693
- pre: [],
694
- postSync: [
695
- {
696
- function: 'sails.services.rdmpservice.addWorkspaceToRecord',
697
- options: {}
698
- }
699
- ]
700
- }
701
- }
702
- },
703
- "party": {
704
- packageType: "party",
705
- dashboard: {
706
- showAdminSideBar: true
707
- },
708
- hooks: {
709
- onCreate: {
710
- pre: [
711
- {
712
- function: 'sails.services.rdmpservice.runTemplates',
713
- options: {
714
- parseObject: false,
715
- templates: [
716
- {
717
- field: "metadata.fullName",
718
- template: "<%= _.get(record, 'metadata.givenName', '') + ' ' + _.get(record, 'metadata.surname', '') %>"
719
- },
720
- {
721
- field: "metadata.l_fullName",
722
- template: "<%= _.toLower(_.get(record, 'metadata.fullName', '')) %>"
723
- }
724
- ]
725
- }
726
- }
727
- ]
728
- },
729
- onUpdate: {
730
- pre: [
731
- {
732
- function: 'sails.services.rdmpservice.runTemplates',
733
- options: {
734
- parseObject: false,
735
- templates: [
736
- {
737
- field: "metadata.fullName",
738
- template: "<%= _.get(record, 'metadata.givenName', '') + ' ' + _.get(record, 'metadata.surname', '') %>"
739
- },
740
- {
741
- field: "metadata.l_fullName",
742
- template: "<%= _.toLower(_.get(record, 'metadata.fullName', '')) %>"
743
- }
744
- ]
745
- }
746
- }
747
- ]
748
- }
749
- }
750
- }
751
- };
752
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkdHlwZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3JlY29yZHR5cGUuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRzs7O0FBMkZILHNEQVdDO0FBRUQsMERBdUJDO0FBRUQsNERBTUM7QUFFRCxvRUFRQztBQTlGWSxRQUFBLG1DQUFtQyxHQUFHLFdBQW9CLENBQUM7QUFDM0QsUUFBQSxtQ0FBbUMsR0FBRyxNQUFlLENBQUM7QUFDdEQsUUFBQSxpQ0FBaUMsR0FBRyxVQUFtQixDQUFDO0FBRXJFLFNBQVMsdUJBQXVCLENBQUMsS0FBYTtJQUMxQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNwQixJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUU5QixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sY0FBYyxHQUNoQixDQUFDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQztZQUM1QixDQUFDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQztZQUM1QixDQUFDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRWpDLElBQUksY0FBYyxFQUFFLENBQUM7WUFDakIsVUFBVSxJQUFJLElBQUksQ0FBQztZQUNuQixpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDMUIsU0FBUztRQUNiLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQixVQUFVLElBQUksR0FBRyxDQUFDO1lBQ2xCLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksS0FBSyxH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
93
+ /**
94
+ * Default record types are no longer shipped in core.
95
+ *
96
+ * The demo record types (rdmp, dataRecord, dataPublication, existing-locations,
97
+ * party) now live in the redbox-hook-dev package and are merged into
98
+ * sails.config.recordtype by the loader when that hook is installed. Core ships
99
+ * pristine so client instances are not forced to remove framework demo entries.
100
+ */
101
+ exports.recordtype = {};
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkdHlwZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3JlY29yZHR5cGUuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRzs7O0FBMkZILHNEQVdDO0FBRUQsMERBdUJDO0FBRUQsNERBTUM7QUFFRCxvRUFRQztBQTlGWSxRQUFBLG1DQUFtQyxHQUFHLFdBQW9CLENBQUM7QUFDM0QsUUFBQSxtQ0FBbUMsR0FBRyxNQUFlLENBQUM7QUFDdEQsUUFBQSxpQ0FBaUMsR0FBRyxVQUFtQixDQUFDO0FBRXJFLFNBQVMsdUJBQXVCLENBQUMsS0FBYTtJQUMxQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNwQixJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUU5QixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sY0FBYyxHQUNoQixDQUFDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQztZQUM1QixDQUFDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQztZQUM1QixDQUFDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRWpDLElBQUksY0FBYyxFQUFFLENBQUM7WUFDakIsVUFBVSxJQUFJLElBQUksQ0FBQztZQUNuQixpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDMUIsU0FBUztRQUNiLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQixVQUFVLElBQUksR0FBRyxDQUFDO1lBQ2xCLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksS0FBSyxH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