dmp-dynamo_adapter 0.2.8 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|