uc3-dmp-id 0.1.41 → 0.1.43
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/uc3-dmp-id/updater.rb +9 -6
- data/lib/uc3-dmp-id/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d34166c684cf6fa12a8818370354993d080d32954def1a1ce3a8090f06a8139
|
4
|
+
data.tar.gz: 77cade4c0abdd3991f0857fcb8610ed5679d9d2c36df2449b517ee0d23b31458
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cab91decdeb2cf5d3a93144c368f10791dd7abeafff8a1953e56e1e98a0116080eb946b8a9d1e733a53c2601cf17815f4c1809bef6ae642b23b3130852fcf968
|
7
|
+
data.tar.gz: 04520b13350dd35c6ff021429d2ff483619fab506f5b724e0aea11c937630453192b549fd070f115a7a8e6e5e307a99d114d5014dfdd23edf962a2478363b3b9
|
data/lib/uc3-dmp-id/updater.rb
CHANGED
@@ -82,7 +82,11 @@ module Uc3DmpId
|
|
82
82
|
|
83
83
|
# fetch the existing latest version of the DMP ID
|
84
84
|
client = Uc3DmpDynamo::Client.new(logger:)
|
85
|
-
dmp = Finder.by_pk(p_key:, client:, logger:, cleanse: false)
|
85
|
+
# dmp = Finder.by_pk(p_key:, client:, logger:, cleanse: false)
|
86
|
+
resp = client.get_item(key: { PK: p_key, SK: Helper::DMP_LATEST_VERSION }, logger:)
|
87
|
+
raise UpdaterError, Helper::MSG_DMP_INVALID_DMP_ID unless resp.is_a?(Hash)
|
88
|
+
|
89
|
+
dmp = resp['dmp'].nil? ? JSON.parse({ dmp: resp }.to_json) : resp
|
86
90
|
logger.info(message: 'Existing latest record', details: dmp) if logger.respond_to?(:debug)
|
87
91
|
raise UpdaterError, Helper::MSG_DMP_FORBIDDEN unless provenance.is_a?(Hash) && !provenance['PK'].nil? &&
|
88
92
|
provenance['PK'] == dmp['dmp']['dmphub_provenance_id']
|
@@ -90,17 +94,16 @@ module Uc3DmpId
|
|
90
94
|
logger&.debug(message: "DMP Prior to narrative attachment", details: dmp)
|
91
95
|
|
92
96
|
# Add the download URl for the PDF as a related identifier on the DMP ID record
|
93
|
-
|
94
|
-
|
95
|
-
annotated['dmproadmap_related_identifiers'] << JSON.parse({
|
97
|
+
dmp['dmproadmap_related_identifiers'] = [] if dmp['dmproadmap_related_identifiers'].nil?
|
98
|
+
dmp['dmproadmap_related_identifiers'] << JSON.parse({
|
96
99
|
descriptor: 'is_metadata_for', work_type: 'output_management_plan', type: 'url', identifier: url
|
97
100
|
}.to_json)
|
98
101
|
|
99
102
|
# Save the changes without creating a new version!
|
100
|
-
resp = client.put_item(json:
|
103
|
+
resp = client.put_item(json: dmp, logger:)
|
101
104
|
raise UpdaterError, Helper::MSG_DMP_UNABLE_TO_VERSION if resp.nil?
|
102
105
|
|
103
|
-
logger&.debug(message: "Added DMP ID narrative for PK: #{p_key}, Narrative: #{url}", details:
|
106
|
+
logger&.debug(message: "Added DMP ID narrative for PK: #{p_key}, Narrative: #{url}", details: dmp)
|
104
107
|
true
|
105
108
|
end
|
106
109
|
# rubocop:enable Metrics/AbcSize
|
data/lib/uc3-dmp-id/version.rb
CHANGED