uc3-dmp-id 0.0.137 → 0.0.139

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af278f46689bcbd4b37c3d83a8ab76fdf6af75c120967145a2fdff8ed1903085
4
- data.tar.gz: 4a78d04de196ff1e13e97b4b94d17758bb221d103909af1d300e947a80c80ccd
3
+ metadata.gz: cb9d04c54e282c729615f79d23b6269419b885c85ead76717df87d3d913a99ee
4
+ data.tar.gz: d197c9c56d42e339b80863de0bc2f4cadbb0e813663925c27a70df9149f586da
5
5
  SHA512:
6
- metadata.gz: e57eefaa818f2f1344a6109f8510f6009f3f58cb566925d501633cc6c1b86c064026668362522ee812cd5017bd7e3fab69468470e3ec604f0b2ced8adb200c54
7
- data.tar.gz: acb63c70fbeb26f7138a0dcf94ba2d5ed60a7bcbadfac07bc8ad7f52943bf0a119b8b704f663717d2e1e6d6537c898f9cd28dad8d4d3c831e28aa1a9218fa63c
6
+ metadata.gz: 6c6c0fb8f00efd9f29bed43ca71519c6e35728671cf322054ede4d2abb3e19cf6a7452f58126408d607c8a9c1978308eb07f002c0c3462cd01d443476fb2e7bd
7
+ data.tar.gz: 342cb856af47d06a18c6041784a8c379c4458d58bed55b609ec78c509453adb4c150e338408780c663c6bbd55b2c0ff86094d990dfc8e775e9f9de55ee63ee98
@@ -22,42 +22,42 @@ puts "ADDING ASSERTIONS: #{mods}"
22
22
  # Return the DMP ID as-is if there are no assertable changes
23
23
  return dmp if contact.nil? && contributor.empty? && project.empty?
24
24
 
25
- # Clone any existing assertions on the current DMP ID so we can manipulate them
26
- assertions = Helper.deep_copy_dmp(obj: dmp.fetch('dmphub_assertions', []))
25
+ # Clone any existing pending_assertions on the current DMP ID so we can manipulate them
26
+ assertions = Helper.deep_copy_dmp(obj: dmp.fetch('dmphub_modifications', []))
27
27
  # Return the DMP ID as-is if the assertion is already on the record
28
- return dmp if assertions.select { |entry| entry['provenance'] == updater && entry['assertions'] == mods }
28
+ return dmp if assertions.select { |entry| entry['provenance'] == updater && entry['pending_assertions'] == mods }
29
29
 
30
30
  assertions << _generate_assertion(updater: updater, mods: mods, note: note)
31
- dmp['dmphub_assertions'] = assertions.flatten
31
+ dmp['dmphub_modifications'] = assertions.flatten
32
32
  dmp
33
33
  end
34
34
 
35
35
  # Splice together assertions made while the user was updating the DMP ID
36
36
  def splice(latest_version:, modified_version:, logger: nil)
37
37
 
38
- puts "LATEST_VERSION ASSERTIONS: #{latest_version['dmphub_assertions']}"
39
- puts "MODIFIED_VERSION ASSERTIONS: #{modified_version['dmphub_assertions']}"
38
+ puts "LATEST_VERSION ASSERTIONS: #{latest_version['dmphub_modifications']}"
39
+ puts "MODIFIED_VERSION ASSERTIONS: #{modified_version['dmphub_modifications']}"
40
40
 
41
41
  # Return the modified_version if the timestamps are the same (meaning no new assertions were made while the
42
42
  # user was working on the DMP ID) OR neither version has assertions
43
43
  return modified_version if latest_version['modified'] == modified_version['modified'] ||
44
- (latest_version.fetch('dmphub_assertions', []).empty? &&
45
- modified_version.fetch('dmphub_assertions', []).empty?)
44
+ (latest_version.fetch('dmphub_modifications', []).empty? &&
45
+ modified_version.fetch('dmphub_modifications', []).empty?)
46
46
 
47
47
  # Clone any existing assertions on the current DMP ID so we can manipulate them
48
- existing_assertions = Helper.deep_copy_dmp(obj: latest_version.fetch('dmphub_assertions', []))
49
- incoming_assertions = Helper.deep_copy_dmp(obj: modified_version.fetch('dmphub_assertions', []))
48
+ existing_assertions = Helper.deep_copy_dmp(obj: latest_version.fetch('dmphub_modifications', []))
49
+ incoming_assertions = Helper.deep_copy_dmp(obj: modified_version.fetch('dmphub_modifications', []))
50
50
  logger.debug(message: "Existing assertions", details: existing_assertions) if logger.respond_to?(:debug)
51
51
  logger.debug(message: "Incoming modifications", details: incoming_assertions) if logger.respond_to?(:debug)
52
52
 
53
53
  # Keep any assetions that were made after the modified on the incoming changes
54
- modified_version['dmphub_assertions'] = existing_assertions.select do |entry|
54
+ modified_version['dmphub_modifications'] = existing_assertions.select do |entry|
55
55
  !entry['timestamp'].nil? && Time.parse(entry['timestamp']) > Time.parse(modified_version['modified'])
56
56
  end
57
57
  return modified_version unless incoming_assertions.any?
58
58
 
59
59
  # Add any of the assertions still on the incoming record back to the latest record
60
- incoming_assertions.each { |entry| modified_version['dmphub_assertions'] << entry }
60
+ incoming_assertions.each { |entry| modified_version['dmphub_modifications'] << entry }
61
61
  modified_version
62
62
  end
63
63
 
@@ -70,7 +70,7 @@ puts "MODIFIED_VERSION ASSERTIONS: #{modified_version['dmphub_assertions']}"
70
70
  # "provenance": "dmphub",
71
71
  # "timestamp": "2023-07-07T14:50:23+00:00",
72
72
  # "note": "data received from the NIH API",
73
- # "assertions": {
73
+ # "pending_assertions": {
74
74
  # "contact": {
75
75
  # "name": "Wrong Person"
76
76
  # },
@@ -80,6 +80,14 @@ puts "MODIFIED_VERSION ASSERTIONS: #{modified_version['dmphub_assertions']}"
80
80
  # "role": ["Investigation"]
81
81
  # }
82
82
  # ],
83
+ # "dmproadmap_related_identifiers": [
84
+ # {
85
+ # "work_type": "article",
86
+ # "descriptor": "is_cited_by",
87
+ # "type": "doi",
88
+ # "identifier": "https://dx.doi.org/99.9876/ZYX987.V6"
89
+ # }
90
+ # ],
83
91
  # "project": [
84
92
  # {
85
93
  # "start": "2024-01-01T00:00:00+07:00",
@@ -110,7 +118,7 @@ puts "MODIFIED_VERSION ASSERTIONS: #{modified_version['dmphub_assertions']}"
110
118
  timestamp: Time.now.utc.iso8601,
111
119
  status: 'new',
112
120
  note: note,
113
- assertions: mods
121
+ pending_assertions: mods
114
122
  }.to_json)
115
123
  end
116
124
  end
@@ -91,7 +91,7 @@ module Uc3DmpId
91
91
  json['dmphub_updater_is_provenance'] = true
92
92
  # Publish the change to the EventBridge
93
93
  publisher = Uc3DmpEventBridge::Publisher.new
94
- publisher.publish(source: 'DmpCreator', dmp: json, logger: logger)
94
+ publisher.publish(source: 'DmpCreator', event_type: 'EZID update', dmp: json, logger: logger)
95
95
 
96
96
  # Determine if there are any related identifiers that we should try to fetch a citation for
97
97
  citable_identifiers = Helper.citable_related_identifiers(dmp: json)
@@ -67,7 +67,7 @@ module Uc3DmpId
67
67
  json['dmphub_updater_is_provenance'] = true
68
68
  # Publish the change to the EventBridge
69
69
  publisher = Uc3DmpEventBridge::Publisher.new
70
- publisher.publish(source: 'DmpDeleter', dmp: json, logger: logger)
70
+ publisher.publish(source: 'DmpDeleter', event_type: 'EZID update', dmp: json, logger: logger)
71
71
  true
72
72
  end
73
73
  end
@@ -143,7 +143,7 @@ module Uc3DmpId
143
143
  json['dmphub_updater_is_provenance'] = provenance['PK'] == json['dmphub_provenance_id']
144
144
  # Publish the change to the EventBridge
145
145
  publisher = Uc3DmpEventBridge::Publisher.new
146
- publisher.publish(source: 'DmpUpdater', dmp: json, logger: logger)
146
+ publisher.publish(source: 'DmpUpdater', event_type: 'EZID update', dmp: json, logger: logger)
147
147
 
148
148
  # Determine if there are any related identifiers that we should try to fetch a citation for
149
149
  citable_identifiers = Helper.citable_related_identifiers(dmp: json)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Uc3DmpId
4
- VERSION = '0.0.137'
4
+ VERSION = '0.0.139'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uc3-dmp-id
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.137
4
+ version: 0.0.139
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Riley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-15 00:00:00.000000000 Z
11
+ date: 2023-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json