dmp-dynamo_adapter 0.2.8 → 0.3.1
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 +4 -4
- data/lib/dmp/dmp_id_handler.rb +1 -1
- data/lib/dmp/dynamo_adapter.rb +10 -5
- data/lib/dmp/metadata_handler.rb +2 -2
- 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: 80c519bd779bdfc10d50d22b12e61f75a1809c9f54feef84c5f8bf4373bd7665
|
4
|
+
data.tar.gz: 9f37c7e34d64b0a5594fef9b0951c89f4d76ddd3478577b4afc3f37d1fd004a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 812e6b3c2e47c7192c352b1c563d047405b8a896fcd115c9f7d3497f9b6c82f21443a828b17c0d62c8b7023a20da4c788664003742be0358b9aa1559142ae474
|
7
|
+
data.tar.gz: bfb81e6b453cb83e63c94a939a5dcdba10ca105cd071eb8de1926ff7591e45c043dbc117c11ea463e772090c9bab895e19d8cdcfc959803ff654c9b541c8a011
|
data/lib/dmp/dmp_id_handler.rb
CHANGED
@@ -10,7 +10,7 @@ module Dmp
|
|
10
10
|
|
11
11
|
class << self
|
12
12
|
def dmp_id_base_url
|
13
|
-
ENV['DMP_ID_BASE_URL']
|
13
|
+
ENV['DMP_ID_BASE_URL']&.end_with?('/') ? ENV['DMP_ID_BASE_URL'] : "#{ENV['DMP_ID_BASE_URL']}/"
|
14
14
|
end
|
15
15
|
|
16
16
|
# Format the DMP ID in the way we want it
|
data/lib/dmp/dynamo_adapter.rb
CHANGED
@@ -70,7 +70,8 @@ p "FINDING BY PK: PK - #{p_key.inspect} / SK - #{s_key.inspect}"
|
|
70
70
|
return_consumed_capacity: @debug_mode ? 'TOTAL' : 'NONE'
|
71
71
|
}
|
72
72
|
)
|
73
|
-
return { status: 404, error: MSG_NOT_FOUND } if response[:
|
73
|
+
return { status: 404, error: MSG_NOT_FOUND } if response[:items].nil? ||
|
74
|
+
response[:items].empty?
|
74
75
|
|
75
76
|
{ status: 200, items: [response[:item]] }
|
76
77
|
rescue Aws::Errors::ServiceError => e
|
@@ -129,11 +130,14 @@ p "PUTTING ITEM:"
|
|
129
130
|
return_consumed_capacity: @debug_mode ? 'TOTAL' : 'NONE'
|
130
131
|
}
|
131
132
|
)
|
133
|
+
# Fetch the newly created record
|
134
|
+
response = find_by_pk(p_key: p_key, s_key: Dmp::MetadataHandler::LATEST_VERSION)
|
135
|
+
return { status: 500, error: MSG_DEFAULT } unless response[:status] == 200
|
132
136
|
|
133
137
|
p 'CREATED!?'
|
134
|
-
pp response
|
138
|
+
pp response[:items]
|
135
139
|
|
136
|
-
{ status: 201, items: [
|
140
|
+
{ status: 201, items: response[:items] }
|
137
141
|
rescue Aws::DynamoDB::Errors::DuplicateItemException
|
138
142
|
{ status: 405, error: MSG_EXISTS }
|
139
143
|
rescue Aws::Errors::ServiceError => e
|
@@ -176,7 +180,7 @@ p ''
|
|
176
180
|
|
177
181
|
json = splice_json(original_version: version_result[:items].first&.item, new_version: json)
|
178
182
|
|
179
|
-
p ''
|
183
|
+
# p ''
|
180
184
|
p "AFTER:"
|
181
185
|
pp json
|
182
186
|
|
@@ -253,7 +257,8 @@ pp json
|
|
253
257
|
# Attempt to find the DMP item by its 'is_metadata_for' :dmproadmap_related_identifier
|
254
258
|
# rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
255
259
|
def find_by_dmphub_provenance_identifier(json:)
|
256
|
-
return { status: 400, error: MSG_DEFAULT } if json.nil? ||
|
260
|
+
return { status: 400, error: MSG_DEFAULT } if json.nil? ||
|
261
|
+
json.fetch('dmp_id', {})['identifier'].nil?
|
257
262
|
|
258
263
|
p "FINDING BY PROVENANCE ID: #{json['dmp_id']['identifier']}"
|
259
264
|
|
data/lib/dmp/metadata_handler.rb
CHANGED
@@ -74,7 +74,7 @@ p "ANNOTATING METADATA:"
|
|
74
74
|
annotated['dmp_id'] = Dmp::DmpIdHandler.pk_to_dmp_id(p_key: annotated['PK'])
|
75
75
|
|
76
76
|
# Update the modification timestamps
|
77
|
-
annotated['dmphub_modification_day'] = Time.now.strftime('%Y-%
|
77
|
+
annotated['dmphub_modification_day'] = Time.now.strftime('%Y-%m-%d')
|
78
78
|
annotated['dmphub_updated_at'] = Time.now.iso8601
|
79
79
|
# Only add the Creation date if it is blank
|
80
80
|
annotated['dmphub_created_at'] = Time.now.iso8601 if json['dmphub_created_at'].nil?
|
@@ -85,7 +85,7 @@ p "ANNOTATING METADATA:"
|
|
85
85
|
json.fetch('dmp_id', {})['identifier'].nil?
|
86
86
|
|
87
87
|
# Record the original Provenance system's identifier
|
88
|
-
annotated['dmphub_provenance_identifier'] = json
|
88
|
+
annotated['dmphub_provenance_identifier'] = json.fetch('dmp_id', {})['identifier']
|
89
89
|
annotated
|
90
90
|
end
|
91
91
|
# rubocop:enable Metrics/MethodLength, Metrics/AbcSize
|