@researchdatabox/redbox-core 5.0.3 → 5.0.4

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 (95) hide show
  1. package/dist/DatastreamService.d.ts +2 -0
  2. package/dist/DatastreamService.d.ts.map +1 -1
  3. package/dist/QueueService.d.ts +1 -1
  4. package/dist/QueueService.d.ts.map +1 -1
  5. package/dist/RecordWriteOptions.d.ts +21 -0
  6. package/dist/RecordWriteOptions.d.ts.map +1 -0
  7. package/dist/RecordWriteOptions.js +17 -0
  8. package/dist/RecordsService.d.ts +3 -1
  9. package/dist/RecordsService.d.ts.map +1 -1
  10. package/dist/StorageService.d.ts +14 -2
  11. package/dist/StorageService.d.ts.map +1 -1
  12. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  13. package/dist/config/agendaQueue.config.js +10 -1
  14. package/dist/config/i18n.config.d.ts +4 -0
  15. package/dist/config/i18n.config.d.ts.map +1 -1
  16. package/dist/config/i18n.config.js +1 -1
  17. package/dist/configmodels/FigsharePublishing.d.ts +103 -0
  18. package/dist/configmodels/FigsharePublishing.d.ts.map +1 -1
  19. package/dist/configmodels/FigsharePublishing.js +36 -2
  20. package/dist/controllers/RecordAuditController.d.ts.map +1 -1
  21. package/dist/controllers/RecordAuditController.js +24 -6
  22. package/dist/index.d.ts +2 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +3 -1
  25. package/dist/model/storage/FigshareSyncModel.d.ts +126 -0
  26. package/dist/model/storage/FigshareSyncModel.d.ts.map +1 -0
  27. package/dist/model/storage/FigshareSyncModel.js +3 -0
  28. package/dist/model/storage/RecordAuditModel.d.ts +3 -0
  29. package/dist/model/storage/RecordAuditModel.d.ts.map +1 -1
  30. package/dist/model/storage/RecordAuditModel.js +29 -1
  31. package/dist/model/storage/RecordModel.d.ts +3 -0
  32. package/dist/model/storage/RecordModel.d.ts.map +1 -1
  33. package/dist/services/AgendaQueueService.d.ts +1 -1
  34. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  35. package/dist/services/AgendaQueueService.js +7 -4
  36. package/dist/services/FigshareService.d.ts +15 -10
  37. package/dist/services/FigshareService.d.ts.map +1 -1
  38. package/dist/services/FigshareService.js +76 -536
  39. package/dist/services/I18nEntriesService.d.ts +2 -0
  40. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  41. package/dist/services/I18nEntriesService.js +40 -5
  42. package/dist/services/RecordsService.d.ts +5 -1
  43. package/dist/services/RecordsService.d.ts.map +1 -1
  44. package/dist/services/RecordsService.js +277 -164
  45. package/dist/services/StandardDatastreamService.d.ts +5 -0
  46. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  47. package/dist/services/StandardDatastreamService.js +18 -1
  48. package/dist/services/figshare-v2/admin.d.ts +16 -0
  49. package/dist/services/figshare-v2/admin.d.ts.map +1 -0
  50. package/dist/services/figshare-v2/admin.js +283 -0
  51. package/dist/services/figshare-v2/assets.d.ts +20 -1
  52. package/dist/services/figshare-v2/assets.d.ts.map +1 -1
  53. package/dist/services/figshare-v2/assets.js +16 -1
  54. package/dist/services/figshare-v2/config.d.ts +8 -2
  55. package/dist/services/figshare-v2/config.d.ts.map +1 -1
  56. package/dist/services/figshare-v2/config.js +31 -3
  57. package/dist/services/figshare-v2/execution.d.ts +25 -0
  58. package/dist/services/figshare-v2/execution.d.ts.map +1 -0
  59. package/dist/services/figshare-v2/execution.js +49 -0
  60. package/dist/services/figshare-v2/http.d.ts +6 -1
  61. package/dist/services/figshare-v2/http.d.ts.map +1 -1
  62. package/dist/services/figshare-v2/http.js +69 -12
  63. package/dist/services/figshare-v2/identity.d.ts +12 -0
  64. package/dist/services/figshare-v2/identity.d.ts.map +1 -0
  65. package/dist/services/figshare-v2/identity.js +78 -0
  66. package/dist/services/figshare-v2/managed-assets.d.ts +9 -0
  67. package/dist/services/figshare-v2/managed-assets.d.ts.map +1 -0
  68. package/dist/services/figshare-v2/managed-assets.js +229 -0
  69. package/dist/services/figshare-v2/plan.d.ts.map +1 -1
  70. package/dist/services/figshare-v2/plan.js +2 -9
  71. package/dist/services/figshare-v2/source-intent.d.ts +9 -0
  72. package/dist/services/figshare-v2/source-intent.d.ts.map +1 -0
  73. package/dist/services/figshare-v2/source-intent.js +93 -0
  74. package/dist/services/figshare-v2/status.d.ts +4 -0
  75. package/dist/services/figshare-v2/status.d.ts.map +1 -0
  76. package/dist/services/figshare-v2/status.js +29 -0
  77. package/dist/services/figshare-v2/sync-store.d.ts +27 -0
  78. package/dist/services/figshare-v2/sync-store.d.ts.map +1 -0
  79. package/dist/services/figshare-v2/sync-store.js +139 -0
  80. package/dist/services/figshare-v2/types.d.ts +3 -0
  81. package/dist/services/figshare-v2/types.d.ts.map +1 -1
  82. package/dist/services/figshare-v2/types.js +1 -1
  83. package/dist/services/figshare-v2/worker.d.ts +16 -0
  84. package/dist/services/figshare-v2/worker.d.ts.map +1 -0
  85. package/dist/services/figshare-v2/worker.js +572 -0
  86. package/dist/utilities/TranslationHtml.d.ts +3 -0
  87. package/dist/utilities/TranslationHtml.d.ts.map +1 -0
  88. package/dist/utilities/TranslationHtml.js +46 -0
  89. package/dist/waterline-models/FigshareSync.d.ts +41 -0
  90. package/dist/waterline-models/FigshareSync.d.ts.map +1 -0
  91. package/dist/waterline-models/FigshareSync.js +168 -0
  92. package/dist/waterline-models/index.d.ts +2 -0
  93. package/dist/waterline-models/index.d.ts.map +1 -1
  94. package/dist/waterline-models/index.js +4 -1
  95. package/package.json +8 -8
@@ -1,22 +1,4 @@
1
1
  "use strict";
2
- // Copyright (c) 2017 Queensland Cyber Infrastructure Foundation (http://www.qcif.edu.au/)
3
- //
4
- // GNU GENERAL PUBLIC LICENSE
5
- // Version 2, June 1991
6
- //
7
- // This program is free software; you can redistribute it and/or modify
8
- // it under the terms of the GNU General Public License as published by
9
- // the Free Software Foundation; either version 2 of the License, or
10
- // (at your option) any later version.
11
- //
12
- // This program is distributed in the hope that it will be useful,
13
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- // GNU General Public License for more details.
16
- //
17
- // You should have received a copy of the GNU General Public License along
18
- // with this program; if not, write to the Free Software Foundation, Inc.,
19
- // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
21
3
  if (k2 === undefined) k2 = k;
22
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -55,6 +37,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
55
37
  };
56
38
  Object.defineProperty(exports, "__esModule", { value: true });
57
39
  exports.Services = void 0;
40
+ const source_intent_1 = require("./figshare-v2/source-intent");
41
+ const RecordWriteOptions_1 = require("../RecordWriteOptions");
42
+ // Copyright (c) 2017 Queensland Cyber Infrastructure Foundation (http://www.qcif.edu.au/)
43
+ //
44
+ // GNU GENERAL PUBLIC LICENSE
45
+ // Version 2, June 1991
46
+ //
47
+ // This program is free software; you can redistribute it and/or modify
48
+ // it under the terms of the GNU General Public License as published by
49
+ // the Free Software Foundation; either version 2 of the License, or
50
+ // (at your option) any later version.
51
+ //
52
+ // This program is distributed in the hope that it will be useful,
53
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
54
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
55
+ // GNU General Public License for more details.
56
+ //
57
+ // You should have received a copy of the GNU General Public License along
58
+ // with this program; if not, write to the Free Software Foundation, Inc.,
59
+ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
58
60
  const rxjs_1 = require("rxjs");
59
61
  const operators_1 = require("rxjs/operators");
60
62
  const RecordAuditModel_1 = require("../model/storage/RecordAuditModel");
@@ -288,6 +290,8 @@ var Services;
288
290
  _exportedMethods = [
289
291
  'create',
290
292
  'updateMeta',
293
+ 'setRecordFields',
294
+ 'getFigshareIntentStorage',
291
295
  'getMeta',
292
296
  'getRecordAudit',
293
297
  'getResolvedPermissionsSummary',
@@ -442,112 +446,156 @@ var Services;
442
446
  }
443
447
  // save the record ...
444
448
  sails.log.verbose(`${this.logHeader} create() -> recordObj before save: ${JSON.stringify(recordObj)}`);
445
- createResponse = await this.storageService.create(brandObj, recordObj, recordTypeObj, userObj);
446
- if (createResponse.isSuccessful()) {
447
- const oid = createResponse.oid;
448
- sails.log.verbose(`RecordsService - create - oid ${oid}`);
449
- const recordMetadata = recordObj.metadata;
450
- const attachmentFields = (recordObj.metaMetadata?.attachmentFields ?? []);
451
- if (!_.isEmpty(attachmentFields)) {
452
- this.bindPendingAttachmentOids(recordMetadata, attachmentFields, oid);
453
- try {
454
- // handle datastream update
455
- // we emtpy the data locations in cloned record so we can reuse the same `handleUpdateDataStream` method call
456
- const emptyDatastreamRecord = _.cloneDeep(recordObj);
457
- const emptyMetadata = emptyDatastreamRecord.metadata;
458
- _.each(attachmentFields, (attFieldName) => {
459
- const attFieldKey = String(attFieldName ?? '');
460
- _.set(emptyMetadata, attFieldKey, []);
461
- });
462
- // update the datastreams in RB, this is a terminal call
463
- sails.log.verbose(`RecordsService - create - before handleUpdateDataStream`);
464
- await (0, rxjs_1.firstValueFrom)(this.handleUpdateDataStream(oid, emptyDatastreamRecord, recordMetadata));
465
- }
466
- catch (error) {
467
- sails.log.error(`RecordsService - create - Failed to save record: ${error}`);
468
- throw new RBValidationError_1.RBValidationError({
469
- message: `Failed to save record oid ${oid}`,
470
- options: { cause: error },
471
- displayErrors: [{ title: 'Failed to save record', meta: { oid } }],
472
- });
473
- }
474
- // update the metadata ...
475
- createResponse = await this.updateMeta(brandObj, oid, recordObj, userObj, false, false);
476
- }
477
- if (triggerPostSaveTriggers) {
478
- // post-save sync
479
- try {
480
- createResponse = (await this.triggerPostSaveSyncTriggers(createResponse['oid'], recordObj, recordTypeObj, 'onCreate', userObj, createResponse));
481
- if (this.hasPostSaveSyncHooks(recordTypeObj, 'onCreate')) {
482
- await this.storageService.updateMeta(brandObj, oid, recordObj, userObj);
449
+ const figshareIntent = (0, source_intent_1.prepareSourceIntent)(recordObj, recordTypeObj, ['onCreate', ...(targetStep ? ['onTransitionWorkflow'] : [])], userObj, true);
450
+ if (figshareIntent && !this.storageService.readyFigshareIntent)
451
+ throw new Error('Storage adapter does not support durable Figshare intents');
452
+ createResponse = await this.storageService.create(brandObj, recordObj, recordTypeObj, userObj, { figshareIntent });
453
+ const createdOid = createResponse.isSuccessful() ? String(createResponse.oid) : '';
454
+ // A failed save abandons its initialising intent, so stale recovery only promotes interrupted saves.
455
+ let figshareFinalised = !figshareIntent || !createdOid;
456
+ try {
457
+ if (createResponse.isSuccessful()) {
458
+ const oid = createResponse.oid;
459
+ sails.log.verbose(`RecordsService - create - oid ${oid}`);
460
+ const recordMetadata = recordObj.metadata;
461
+ const attachmentFields = (recordObj.metaMetadata?.attachmentFields ?? []);
462
+ if (!_.isEmpty(attachmentFields)) {
463
+ this.bindPendingAttachmentOids(recordMetadata, attachmentFields, oid);
464
+ try {
465
+ // handle datastream update
466
+ // we emtpy the data locations in cloned record so we can reuse the same `handleUpdateDataStream` method call
467
+ const emptyDatastreamRecord = _.cloneDeep(recordObj);
468
+ const emptyMetadata = emptyDatastreamRecord.metadata;
469
+ _.each(attachmentFields, (attFieldName) => {
470
+ const attFieldKey = String(attFieldName ?? '');
471
+ _.set(emptyMetadata, attFieldKey, []);
472
+ });
473
+ // update the datastreams in RB, this is a terminal call
474
+ sails.log.verbose(`RecordsService - create - before handleUpdateDataStream`);
475
+ await (0, rxjs_1.firstValueFrom)(this.handleUpdateDataStream(oid, emptyDatastreamRecord, recordMetadata));
483
476
  }
477
+ catch (error) {
478
+ sails.log.error(`RecordsService - create - Failed to save record: ${error}`);
479
+ throw new RBValidationError_1.RBValidationError({
480
+ message: `Failed to save record oid ${oid}`,
481
+ options: { cause: error },
482
+ displayErrors: [{ title: 'Failed to save record', meta: { oid } }],
483
+ });
484
+ }
485
+ // update the metadata ...
486
+ createResponse = await this.updateMeta(brandObj, oid, recordObj, userObj, false, false, {}, {}, { maintenance: true });
484
487
  }
485
- catch (err) {
486
- sails.log.error(`${this.logHeader} Exception while running post save sync hooks when creating: ${createResponse['oid']}`);
487
- sails.log.error(JSON.stringify(err));
488
- createResponse.success = false;
489
- createResponse.message = RBValidationError_1.RBValidationError.displayMessage({
490
- t: TranslationService,
491
- errors: [this.asError(err)],
492
- defaultMessage: failedMessage,
493
- });
494
- const metadata = { postSaveSyncWarning: 'true' };
495
- createResponse.metadata = metadata;
496
- sails.log.error('RecordsService create - error - createResponse ' + JSON.stringify(createResponse));
497
- return createResponse;
498
- }
499
- // Fire Post-save hooks async ...
500
- this.triggerPostSaveTriggers(createResponse['oid'], recordObj, recordTypeObj, 'onCreate', userObj);
501
- if (!_.isEmpty(targetStep)) {
488
+ if (triggerPostSaveTriggers) {
489
+ // post-save sync
502
490
  try {
503
- createResponse = (await this.triggerPostSaveTransitionWorkflowTriggers(createResponse['oid'], recordObj, recordTypeObj, wfStep, userObj, createResponse));
504
- if (createResponse && createResponse.isSuccessful()) {
505
- if (this.hasPostSaveSyncHooks(recordTypeObj, 'onTransitionWorkflow')) {
506
- await this.storageService.updateMeta(brandObj, oid, recordObj, userObj);
507
- }
508
- }
509
- else {
491
+ createResponse = (await this.triggerPostSaveSyncTriggers(createResponse['oid'], recordObj, recordTypeObj, 'onCreate', userObj, createResponse));
492
+ if (!createResponse.isSuccessful())
510
493
  return createResponse;
494
+ if (this.hasPostSaveSyncHooks(recordTypeObj, 'onCreate')) {
495
+ const persisted = await this.storageService.updateMeta(brandObj, oid, recordObj, userObj, { maintenance: true });
496
+ if (!persisted.isSuccessful())
497
+ throw new Error('Failed to persist synchronous post-save changes');
511
498
  }
512
499
  }
513
- catch (tErr) {
514
- sails.log.error('RecordsService - create - Failed to run post-save hooks when onTransitionWorkflow... or Error updating meta:');
515
- sails.log.error(tErr);
500
+ catch (err) {
501
+ sails.log.error(`${this.logHeader} Exception while running post save sync hooks when creating: ${createResponse['oid']}`);
502
+ sails.log.error(JSON.stringify(err));
516
503
  createResponse.success = false;
517
504
  createResponse.message = RBValidationError_1.RBValidationError.displayMessage({
518
505
  t: TranslationService,
519
- errors: [this.asError(tErr)],
506
+ errors: [this.asError(err)],
520
507
  defaultMessage: failedMessage,
521
508
  });
509
+ const metadata = { postSaveSyncWarning: 'true' };
510
+ createResponse.metadata = metadata;
511
+ sails.log.error('RecordsService create - error - createResponse ' + JSON.stringify(createResponse));
522
512
  return createResponse;
523
513
  }
514
+ // Fire Post-save hooks async ...
515
+ this.triggerPostSaveTriggers(createResponse['oid'], recordObj, recordTypeObj, 'onCreate', userObj);
516
+ if (!_.isEmpty(targetStep)) {
517
+ try {
518
+ createResponse = (await this.triggerPostSaveTransitionWorkflowTriggers(createResponse['oid'], recordObj, recordTypeObj, wfStep, userObj, createResponse));
519
+ if (createResponse && createResponse.isSuccessful()) {
520
+ if (this.hasPostSaveSyncHooks(recordTypeObj, 'onTransitionWorkflow')) {
521
+ const persisted = await this.storageService.updateMeta(brandObj, oid, recordObj, userObj, { maintenance: true });
522
+ if (!persisted.isSuccessful())
523
+ throw new Error('Failed to persist synchronous workflow changes');
524
+ }
525
+ }
526
+ else {
527
+ return createResponse;
528
+ }
529
+ }
530
+ catch (tErr) {
531
+ sails.log.error('RecordsService - create - Failed to run post-save hooks when onTransitionWorkflow... or Error updating meta:');
532
+ sails.log.error(tErr);
533
+ createResponse.success = false;
534
+ createResponse.message = RBValidationError_1.RBValidationError.displayMessage({
535
+ t: TranslationService,
536
+ errors: [this.asError(tErr)],
537
+ defaultMessage: failedMessage,
538
+ });
539
+ return createResponse;
540
+ }
541
+ }
524
542
  }
525
- }
526
- const recordOid = String(_.get(recordObj, 'redboxOid', ''));
527
- if (_.isEmpty(recordOid)) {
528
- sails.log.warn(`recordOid: '${recordOid}' is empty! Using response oid: ${createResponse['oid']} for solr index.`);
529
- if (recordTypeObj.searchable !== false) {
530
- this.searchService.index(createResponse['oid'], recordObj);
543
+ if (figshareIntent && createResponse.isSuccessful()) {
544
+ await this.storageService.readyFigshareIntent(oid, figshareIntent.saveToken);
545
+ figshareFinalised = true;
546
+ void FigshareService.wakeFigshareRecord(oid).catch(error => sails.log.error('Figshare wake-up failed; dispatcher will recover', error));
531
547
  }
532
- }
533
- else {
534
- if (createResponse['oid'] !== recordOid) {
535
- sails.log.warn(`response oid: ${createResponse['oid']} is not the same as recordOid: ${recordOid}.`);
548
+ const recordOid = String(_.get(recordObj, 'redboxOid', ''));
549
+ if (_.isEmpty(recordOid)) {
550
+ sails.log.warn(`recordOid: '${recordOid}' is empty! Using response oid: ${createResponse['oid']} for solr index.`);
551
+ if (recordTypeObj.searchable !== false) {
552
+ this.searchService.index(createResponse['oid'], recordObj);
553
+ }
536
554
  }
537
- if (recordTypeObj.searchable !== false) {
538
- this.searchService.index(recordOid, recordObj);
555
+ else {
556
+ if (createResponse['oid'] !== recordOid) {
557
+ sails.log.warn(`response oid: ${createResponse['oid']} is not the same as recordOid: ${recordOid}.`);
558
+ }
559
+ if (recordTypeObj.searchable !== false) {
560
+ this.searchService.index(recordOid, recordObj);
561
+ }
539
562
  }
563
+ await this.auditRecord(createResponse['oid'], recordObj, userObj, RecordAuditModel_1.RecordAuditActionType.created);
540
564
  }
541
- await this.auditRecord(createResponse['oid'], recordObj, userObj, RecordAuditModel_1.RecordAuditActionType.created);
565
+ else {
566
+ sails.log.error(`${this.logHeader} Failed to create record, storage service response:`);
567
+ sails.log.error(JSON.stringify(createResponse));
568
+ createResponse.message = failedMessage;
569
+ }
570
+ return createResponse;
542
571
  }
543
- else {
544
- sails.log.error(`${this.logHeader} Failed to create record, storage service response:`);
545
- sails.log.error(JSON.stringify(createResponse));
546
- createResponse.message = failedMessage;
572
+ finally {
573
+ if (!figshareFinalised)
574
+ await this.abandonFigshareIntent(createdOid, figshareIntent.saveToken);
575
+ }
576
+ }
577
+ getFigshareIntentStorage() { return this.storageService; }
578
+ async abandonFigshareIntent(oid, saveToken) {
579
+ try {
580
+ await this.storageService.abandonFigshareIntent?.(oid, saveToken);
581
+ }
582
+ catch (error) {
583
+ sails.log.error(`Failed to abandon Figshare intent for ${oid}; it remains initialising`, error);
547
584
  }
548
- return createResponse;
549
585
  }
550
- async updateMeta(brand, oid, record, user = {}, triggerPreSaveTriggers = true, triggerPostSaveTriggers = true, nextStep = {}, metadata = {}) {
586
+ async setRecordFields(oid, fields, expectedVersion, allowedPaths, user) {
587
+ (0, RecordWriteOptions_1.assertRecordFieldPaths)(fields, allowedPaths);
588
+ if (!this.storageService.setRecordFields)
589
+ throw new Error('Storage adapter does not support conditional partial writes');
590
+ const result = await this.storageService.setRecordFields(oid, fields, expectedVersion, allowedPaths);
591
+ if (result.updated) {
592
+ const current = await this.storageService.getMeta(oid);
593
+ await this.searchService.index(oid, current);
594
+ await this.auditRecord(oid, current, user, RecordAuditModel_1.RecordAuditActionType.updated);
595
+ }
596
+ return result;
597
+ }
598
+ async updateMeta(brand, oid, record, user = {}, triggerPreSaveTriggers = true, triggerPostSaveTriggers = true, nextStep = {}, metadata = {}, writeOptions = {}) {
551
599
  const brandObj = brand;
552
600
  let recordObj = this.normalizeRecord(record);
553
601
  const recordMeta = recordObj.metaMetadata;
@@ -558,6 +606,7 @@ var Services;
558
606
  updateResponse.oid = oid;
559
607
  const failedMessage = 'Failed to update record, please check server logs.';
560
608
  let hasPermissionToTransition = true;
609
+ let transitionApplied = false;
561
610
  const origRecord = _.cloneDeep(recordObj);
562
611
  const origRecordObj = this.normalizeRecord(origRecord);
563
612
  sails.log.verbose(`RecordService - updateMeta - origRecord - cloneDeep`);
@@ -595,8 +644,11 @@ var Services;
595
644
  sails.log.verbose(`RecordService - updateMeta triggerPreSaveTransitionWorkflowTriggers - before - nextStep ${JSON.stringify(nextStepObj)}`);
596
645
  recordObj = await this.triggerPreSaveTransitionWorkflowTriggers(updateResponse['oid'], recordObj, recordType, nextStepObj, userObj);
597
646
  this.transitionWorkflowStepMetadata(recordObj, nextStepObj);
647
+ transitionApplied = true;
598
648
  }
599
649
  catch (err) {
650
+ if (err instanceof RecordWriteOptions_1.RecordWriteConflict)
651
+ throw err;
600
652
  sails.log.verbose('RecordService - updateMeta - onTransitionWorkflow triggerPreSaveTriggers error');
601
653
  sails.log.error(JSON.stringify(err));
602
654
  preTriggerResponse.success = false;
@@ -620,6 +672,8 @@ var Services;
620
672
  recordObj = await this.triggerPreSaveTriggers(oid, recordObj, recordType, 'onUpdate', userObj);
621
673
  }
622
674
  catch (err) {
675
+ if (err instanceof RecordWriteOptions_1.RecordWriteConflict)
676
+ throw err;
623
677
  sails.log.error(`${this.logHeader} Failed to run pre-save hooks when onUpdate...`);
624
678
  sails.log.error(err);
625
679
  updateResponse.success = false;
@@ -635,7 +689,16 @@ var Services;
635
689
  JSON.stringify(origRecordObj.metadata?.dataLocations));
636
690
  sails.log.verbose(`RecordService - updateMeta - record.metadata.dataLocations ` +
637
691
  JSON.stringify(recordObj.metadata?.dataLocations));
638
- updateResponse = (await (0, rxjs_1.firstValueFrom)(this.handleUpdateDataStream(oid, origRecordObj, recordObj.metadata ?? {})));
692
+ if (writeOptions.expectedVersion != null) {
693
+ for (const field of (recordMeta.attachmentFields ?? [])) {
694
+ if (!_.isEqual(_.get(origRecordObj.metadata, field), _.get(recordObj.metadata, field))) {
695
+ throw new Error('Conditional background workflow cannot change attachments; apply the attachment change in a source save');
696
+ }
697
+ }
698
+ }
699
+ else {
700
+ updateResponse = (await (0, rxjs_1.firstValueFrom)(this.handleUpdateDataStream(oid, origRecordObj, recordObj.metadata ?? {})));
701
+ }
639
702
  sails.log.verbose(`RecordService - updateMeta - Done with updating streams...`);
640
703
  if (!_.isEmpty(recordMeta.attachmentFields)) {
641
704
  const recordMetadata = recordObj.metadata;
@@ -652,82 +715,116 @@ var Services;
652
715
  }
653
716
  recordMeta.lastSaveDate = luxon_1.DateTime.local().toISO();
654
717
  // update
655
- updateResponse = await this.storageService.updateMeta(brandObj, oid, recordObj, userObj);
656
- sails.log.verbose('RecordService - updateMeta - updateResponse.isSuccessful ' + updateResponse.isSuccessful());
657
- if (updateResponse.isSuccessful()) {
658
- //if triggerPreSaveTriggers is false recordType will be empty even if triggerPostSaveTriggers is true
659
- //therefore try to set recordType if triggerPostSaveTriggers is true
660
- if (_.isEmpty(recordType) && !_.isEmpty(brand) && triggerPostSaveTriggers === true) {
661
- recordType = await (0, rxjs_1.firstValueFrom)(RecordTypesService.get(brandObj, recordMeta.type));
662
- }
663
- // post-save async
664
- if (!_.isEmpty(recordType) && triggerPostSaveTriggers === true) {
665
- // Trigger Post-save sync hooks ...
666
- try {
667
- sails.log.verbose('RecordService - updateMeta - calling triggerPostSaveSyncTriggers');
668
- updateResponse = (await this.triggerPostSaveSyncTriggers(updateResponse['oid'], recordObj, recordType, 'onUpdate', userObj, updateResponse));
669
- if (this.hasPostSaveSyncHooks(recordType, 'onUpdate')) {
670
- await this.storageService.updateMeta(brandObj, oid, recordObj, userObj);
671
- }
672
- }
673
- catch (err) {
674
- sails.log.error(`${this.logHeader} Exception while running post save sync hooks when updating:`);
675
- sails.log.error(JSON.stringify(err));
676
- updateResponse.success = false;
677
- updateResponse.message = RBValidationError_1.RBValidationError.displayMessage({
678
- t: TranslationService,
679
- errors: [this.asError(err)],
680
- defaultMessage: failedMessage,
681
- });
682
- const metadataRes = { postSaveSyncWarning: 'true' };
683
- updateResponse.metadata = metadataRes;
684
- sails.log.error('RecordsService - updateMeta - error - updateResponse ' + JSON.stringify(updateResponse));
685
- return updateResponse;
718
+ const initialising = triggerPostSaveTriggers && (this.hasPostSaveSyncHooks(recordType, 'onUpdate') || (transitionApplied && this.hasPostSaveSyncHooks(recordType, 'onTransitionWorkflow')));
719
+ const figshareIntent = (0, source_intent_1.prepareSourceIntent)({ ...recordObj, redboxOid: oid }, recordType, ['onUpdate', ...(transitionApplied ? ['onTransitionWorkflow'] : [])], userObj, initialising, writeOptions.maintenance);
720
+ if (figshareIntent && !this.storageService.readyFigshareIntent)
721
+ throw new Error('Storage adapter does not support durable Figshare intents');
722
+ updateResponse = await this.storageService.updateMeta(brandObj, oid, recordObj, userObj, { ...writeOptions, figshareIntent });
723
+ // A failed save abandons its initialising intent, so stale recovery only promotes interrupted saves.
724
+ let figshareFinalised = !figshareIntent || !initialising || !updateResponse.isSuccessful();
725
+ try {
726
+ let expectedVersion = Number(updateResponse.metadata?.recordVersion ?? 0);
727
+ const persistSecondary = async () => {
728
+ const result = await this.storageService.updateMeta(brandObj, oid, recordObj, userObj, {
729
+ maintenance: true, ...(writeOptions.expectedVersion != null ? { expectedVersion } : {})
730
+ });
731
+ if (!result.isSuccessful())
732
+ throw new Error('Failed to persist synchronous post-save changes');
733
+ expectedVersion = Number(result.metadata?.recordVersion ?? expectedVersion);
734
+ };
735
+ sails.log.verbose('RecordService - updateMeta - updateResponse.isSuccessful ' + updateResponse.isSuccessful());
736
+ if (updateResponse.isSuccessful()) {
737
+ //if triggerPreSaveTriggers is false recordType will be empty even if triggerPostSaveTriggers is true
738
+ //therefore try to set recordType if triggerPostSaveTriggers is true
739
+ if (_.isEmpty(recordType) && !_.isEmpty(brand) && triggerPostSaveTriggers === true) {
740
+ recordType = await (0, rxjs_1.firstValueFrom)(RecordTypesService.get(brandObj, recordMeta.type));
686
741
  }
687
- sails.log.verbose('RecordService - updateMeta - calling triggerPostSaveTriggers');
688
- // Fire Post-save hooks async ...
689
- this.triggerPostSaveTriggers(updateResponse['oid'], recordObj, recordType, 'onUpdate', userObj);
690
- if (hasPermissionToTransition && !_.isEmpty(nextStepObj)) {
742
+ // post-save async
743
+ if (!_.isEmpty(recordType) && triggerPostSaveTriggers === true) {
744
+ // Trigger Post-save sync hooks ...
691
745
  try {
692
- updateResponse = (await this.triggerPostSaveTransitionWorkflowTriggers(updateResponse['oid'], recordObj, recordType, nextStepObj, userObj, updateResponse));
693
- sails.log.verbose(`RecordService - updateMeta - triggerPostSaveTransitionWorkflowTriggers post save hook enter`);
694
- sails.log.verbose(JSON.stringify(updateResponse));
695
- if (updateResponse && updateResponse.isSuccessful()) {
696
- sails.log.verbose(`RecordService - updateMeta - triggerPostSaveTransitionWorkflowTriggers ajaxOk`);
697
- if (this.hasPostSaveSyncHooks(recordType, 'onTransitionWorkflow')) {
698
- await this.storageService.updateMeta(brandObj, oid, recordObj, userObj);
699
- }
700
- }
701
- else {
702
- sails.log.verbose(`RecordService - updateMeta - triggerPostSaveTransitionWorkflowTriggers post save hook not successful`);
746
+ sails.log.verbose('RecordService - updateMeta - calling triggerPostSaveSyncTriggers');
747
+ updateResponse = (await this.triggerPostSaveSyncTriggers(updateResponse['oid'], recordObj, recordType, 'onUpdate', userObj, updateResponse));
748
+ if (!updateResponse.isSuccessful())
703
749
  return updateResponse;
750
+ if (this.hasPostSaveSyncHooks(recordType, 'onUpdate')) {
751
+ await persistSecondary();
704
752
  }
705
753
  }
706
- catch (tErr) {
707
- sails.log.error('RecordService - updateMeta - Failed to run post-save hooks when onTransitionWorkflow... or Error updating meta:');
708
- sails.log.error(tErr);
754
+ catch (err) {
755
+ if (err instanceof RecordWriteOptions_1.RecordWriteConflict)
756
+ throw err;
757
+ sails.log.error(`${this.logHeader} Exception while running post save sync hooks when updating:`);
758
+ sails.log.error(JSON.stringify(err));
709
759
  updateResponse.success = false;
710
760
  updateResponse.message = RBValidationError_1.RBValidationError.displayMessage({
711
761
  t: TranslationService,
712
- errors: [this.asError(tErr)],
762
+ errors: [this.asError(err)],
713
763
  defaultMessage: failedMessage,
714
764
  });
765
+ const metadataRes = { postSaveSyncWarning: 'true' };
766
+ updateResponse.metadata = metadataRes;
767
+ sails.log.error('RecordsService - updateMeta - error - updateResponse ' + JSON.stringify(updateResponse));
715
768
  return updateResponse;
716
769
  }
770
+ sails.log.verbose('RecordService - updateMeta - calling triggerPostSaveTriggers');
771
+ // Fire Post-save hooks async ...
772
+ this.triggerPostSaveTriggers(updateResponse['oid'], recordObj, recordType, 'onUpdate', userObj);
773
+ if (hasPermissionToTransition && !_.isEmpty(nextStepObj)) {
774
+ try {
775
+ updateResponse = (await this.triggerPostSaveTransitionWorkflowTriggers(updateResponse['oid'], recordObj, recordType, nextStepObj, userObj, updateResponse));
776
+ sails.log.verbose(`RecordService - updateMeta - triggerPostSaveTransitionWorkflowTriggers post save hook enter`);
777
+ sails.log.verbose(JSON.stringify(updateResponse));
778
+ if (updateResponse && updateResponse.isSuccessful()) {
779
+ sails.log.verbose(`RecordService - updateMeta - triggerPostSaveTransitionWorkflowTriggers ajaxOk`);
780
+ if (this.hasPostSaveSyncHooks(recordType, 'onTransitionWorkflow')) {
781
+ await persistSecondary();
782
+ }
783
+ }
784
+ else {
785
+ sails.log.verbose(`RecordService - updateMeta - triggerPostSaveTransitionWorkflowTriggers post save hook not successful`);
786
+ return updateResponse;
787
+ }
788
+ }
789
+ catch (tErr) {
790
+ if (tErr instanceof RecordWriteOptions_1.RecordWriteConflict)
791
+ throw tErr;
792
+ sails.log.error('RecordService - updateMeta - Failed to run post-save hooks when onTransitionWorkflow... or Error updating meta:');
793
+ sails.log.error(tErr);
794
+ updateResponse.success = false;
795
+ updateResponse.message = RBValidationError_1.RBValidationError.displayMessage({
796
+ t: TranslationService,
797
+ errors: [this.asError(tErr)],
798
+ defaultMessage: failedMessage,
799
+ });
800
+ return updateResponse;
801
+ }
802
+ }
803
+ }
804
+ if (figshareIntent) {
805
+ if (initialising) {
806
+ await this.storageService.readyFigshareIntent(oid, figshareIntent.saveToken);
807
+ figshareFinalised = true;
808
+ }
809
+ void FigshareService.wakeFigshareRecord(oid).catch(error => sails.log.error('Figshare wake-up failed; dispatcher will recover', error));
810
+ }
811
+ if (recordType?.searchable !== false) {
812
+ this.searchService.index(oid, recordObj);
717
813
  }
814
+ await this.auditRecord(updateResponse['oid'], record, user, RecordAuditModel_1.RecordAuditActionType.updated);
718
815
  }
719
- if (recordType?.searchable !== false) {
720
- this.searchService.index(oid, recordObj);
816
+ else {
817
+ sails.log.error(`${this.logHeader} Failed to update record, storage service response:`);
818
+ sails.log.error(JSON.stringify(updateResponse));
819
+ updateResponse.success = false;
820
+ updateResponse.message = failedMessage;
721
821
  }
722
- await this.auditRecord(updateResponse['oid'], record, user, RecordAuditModel_1.RecordAuditActionType.updated);
822
+ return updateResponse;
723
823
  }
724
- else {
725
- sails.log.error(`${this.logHeader} Failed to update record, storage service response:`);
726
- sails.log.error(JSON.stringify(updateResponse));
727
- updateResponse.success = false;
728
- updateResponse.message = failedMessage;
824
+ finally {
825
+ if (!figshareFinalised)
826
+ await this.abandonFigshareIntent(oid, figshareIntent.saveToken);
729
827
  }
730
- return updateResponse;
731
828
  }
732
829
  hasPostSaveSyncHooks(recordType, mode) {
733
830
  const postSaveSyncHooks = _.get(recordType, `hooks.${mode}.postSync`, []);
@@ -753,6 +850,8 @@ var Services;
753
850
  }
754
851
  }
755
852
  catch (err) {
853
+ if (err instanceof RecordWriteOptions_1.RecordWriteConflict)
854
+ throw err;
756
855
  sails.log.error(`${this.logHeader} Failed to create fallback record audit:`);
757
856
  sails.log.error(JSON.stringify(err));
758
857
  }
@@ -865,6 +964,8 @@ var Services;
865
964
  currentRecObj = await this.triggerPreSaveTriggers(oid, currentRecObj, recordTypeObj, 'onDelete', user);
866
965
  }
867
966
  catch (err) {
967
+ if (err instanceof RecordWriteOptions_1.RecordWriteConflict)
968
+ throw err;
868
969
  sails.log.verbose('RecordsService - delete - triggerPreSaveTriggers onDelete error');
869
970
  sails.log.error(JSON.stringify(err));
870
971
  preTriggerResponse.success = false;
@@ -887,6 +988,8 @@ var Services;
887
988
  response = (await this.triggerPostSaveSyncTriggers(oid, currentRecObj, recordTypeObj, 'onDelete', user, response));
888
989
  }
889
990
  catch (err) {
991
+ if (err instanceof RecordWriteOptions_1.RecordWriteConflict)
992
+ throw err;
890
993
  sails.log.error(`RecordsService - delete - Exception while running post delate sync hooks when updating:`);
891
994
  sails.log.error(JSON.stringify(err));
892
995
  response.success = false;
@@ -991,6 +1094,8 @@ var Services;
991
1094
  await storageServiceAny.createRecordAudit(data);
992
1095
  }
993
1096
  catch (err) {
1097
+ if (err instanceof RecordWriteOptions_1.RecordWriteConflict)
1098
+ throw err;
994
1099
  sails.log.error(`${this.logHeader} Failed to create record audit in integrationtest:`);
995
1100
  sails.log.error(JSON.stringify(err));
996
1101
  }
@@ -1411,6 +1516,8 @@ var Services;
1411
1516
  }
1412
1517
  }
1413
1518
  catch (err) {
1519
+ if (err instanceof RecordWriteOptions_1.RecordWriteConflict)
1520
+ throw err;
1414
1521
  sails.log.error(`${this.logHeader} Exception while running post save sync hooks when transitioning workflow: ${JSON.stringify(err)}`);
1415
1522
  responseObj.success = false;
1416
1523
  responseObj.message = RBValidationError_1.RBValidationError.displayMessage({
@@ -1449,6 +1556,8 @@ var Services;
1449
1556
  sails.log.debug(`pre-save sync trigger ${preSaveUpdateHookFunctionString} completed for ${oid}`);
1450
1557
  }
1451
1558
  catch (err) {
1559
+ if (err instanceof RecordWriteOptions_1.RecordWriteConflict)
1560
+ throw err;
1452
1561
  sails.log.error(`pre-save trigger ${preSaveUpdateHookFunctionString} failed to complete for oid ${oid} mode ${mode} user ${user}`);
1453
1562
  sails.log.error(err);
1454
1563
  throw new RBValidationError_1.RBValidationError({
@@ -1492,6 +1601,8 @@ var Services;
1492
1601
  sails.log.debug(`post-save sync trigger ${postSaveSyncHooksFunctionString} completed for ${oid}`);
1493
1602
  }
1494
1603
  catch (err) {
1604
+ if (err instanceof RecordWriteOptions_1.RecordWriteConflict)
1605
+ throw err;
1495
1606
  sails.log.error(`post-save async trigger ${postSaveSyncHooksFunctionString} failed to complete for oid ${oid} mode ${mode} user ${user}`);
1496
1607
  sails.log.error(err);
1497
1608
  throw new RBValidationError_1.RBValidationError({
@@ -1540,6 +1651,8 @@ var Services;
1540
1651
  });
1541
1652
  }
1542
1653
  catch (err) {
1654
+ if (err instanceof RecordWriteOptions_1.RecordWriteConflict)
1655
+ throw err;
1543
1656
  sails.log.error(`post-save trigger external catch ${postSaveCreateHookFunctionString} failed to complete`);
1544
1657
  sails.log.error(err);
1545
1658
  }
@@ -1594,4 +1707,4 @@ var Services;
1594
1707
  }
1595
1708
  Services.Records = Records;
1596
1709
  })(Services || (exports.Services = Services = {}));
1597
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3Jkc1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvUmVjb3Jkc1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBGQUEwRjtBQUMxRixFQUFFO0FBQ0YsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQixFQUFFO0FBQ0YsdUVBQXVFO0FBQ3ZFLHVFQUF1RTtBQUN2RSxvRUFBb0U7QUFDcEUsc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRixrRUFBa0U7QUFDbEUsaUVBQWlFO0FBQ2pFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsOERBQThEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUQsK0JBQWlGO0FBQ2pGLDhDQUE2RDtBQUs3RCx3RUFBNEY7QUFHNUYsZ0RBQXNEO0FBSXRELHNFQUFtRTtBQUVuRSxrRUFBK0Q7QUFLL0Qsa0RBQTBCO0FBQzFCLHFEQUF1QztBQUN2QyxnREFBa0M7QUFDbEMsTUFBTSx1QkFBdUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQTBELENBQUM7QUFDeEgsTUFBTSxpQkFBaUIsR0FDckIsT0FBTyx1QkFBdUIsS0FBSyxVQUFVO0lBQzNDLENBQUMsQ0FBQyx1QkFBdUI7SUFDekIsQ0FBQyxDQUFFLENBQUUsdUJBQW1ELENBQUMsTUFBTTtRQUM1RCx1QkFBbUQsQ0FBQyxPQUFPLENBQStCLENBQUM7QUFDbEcsaUNBQWlDO0FBRWpDLCtCQUFvQztBQUlwQyxtRUFBdUU7QUFRdkUsSUFBaUIsUUFBUSxDQXU1RHhCO0FBdjVERCxXQUFpQixRQUFRO0lBU3ZCLE1BQU0sMkJBQTJCLEdBQUcsZ0JBQWdCLENBQUM7SUFDckQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFhLE9BQVEsU0FBUSxzQkFBUSxDQUFDLElBQUksQ0FBQyxPQUFPO1FBQ2hELGNBQWMsQ0FBa0I7UUFD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
1710
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3Jkc1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvUmVjb3Jkc1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0RBQWtFO0FBQ2xFLDhEQUF3RztBQUN4RywwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDtBQUU5RCwrQkFBaUY7QUFDakYsOENBQTZEO0FBSzdELHdFQUE0RjtBQUc1RixnREFBc0Q7QUFJdEQsc0VBQW1FO0FBRW5FLGtFQUErRDtBQUsvRCxrREFBMEI7QUFDMUIscURBQXVDO0FBQ3ZDLGdEQUFrQztBQUNsQyxNQUFNLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBMEQsQ0FBQztBQUN4SCxNQUFNLGlCQUFpQixHQUNyQixPQUFPLHVCQUF1QixLQUFLLFVBQVU7SUFDM0MsQ0FBQyxDQUFDLHVCQUF1QjtJQUN6QixDQUFDLENBQUUsQ0FBRSx1QkFBbUQsQ0FBQyxNQUFNO1FBQzVELHVCQUFtRCxDQUFDLE9BQU8sQ0FBK0IsQ0FBQztBQUNsRyxpQ0FBaUM7QUFFakMsK0JBQW9DO0FBSXBDLG1FQUF1RTtBQVF2RSxJQUFpQixRQUFRLENBMitEeEI7QUEzK0RELFdBQWlCLFFBQVE7SUFTdkIsTUFBTSwyQkFBMkIsR0FBRyxnQkFBZ0IsQ0FBQztJQUNyRDs7Ozs7Ozs7T0FRRztJQUNILE1BQWEsT0FBUSxTQUFRLHNCQUFRLENBQUMsSUFBSSxDQUFD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