dina 0.5.5.0 → 0.5.6.0
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/dina/authentication/authentication.rb +4 -4
- data/lib/dina/models/agent/person.rb +1 -1
- data/lib/dina/models/base_model.rb +4 -0
- data/lib/dina/models/material_sample/collection.rb +2 -2
- data/lib/dina/models/object_store/derivative.rb +3 -2
- data/lib/dina/models/object_store/object_store.rb +4 -0
- data/lib/dina/version.rb +1 -1
- data/lib/dina.rb +3 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62273e1ca015c3dd396d3b172fbeed70a28c4643596757d90f66c633c55fce8c
|
4
|
+
data.tar.gz: b7f144bf00746282effeb0fe051311d1cad137ba50723423b21d282ce64f73fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b46857817cc32098431b2f26968fed5c1114abd1f7d5c73ad2b0f6712391f3c68aa8b1dc119f3d6738dccfbf650c027fbd269108837c6cc460211769265859a2
|
7
|
+
data.tar.gz: 49450a8abbb6797d7be3ff0f0d63d1359c61fa1c983898fe39e6644fbbfe70a3d7ee85aad2403f7f05d5d2251e714f5bc55174aa32d333e51514e2ee3e2ec15d
|
@@ -39,6 +39,10 @@ module Dina
|
|
39
39
|
@endpoint_url = options[:endpoint_url]
|
40
40
|
Keycloak.auth_server_url = options[:authorization_url]
|
41
41
|
Keycloak.realm = options[:realm]
|
42
|
+
|
43
|
+
if ::File.zero?(@token_store_file)
|
44
|
+
create_empty_token
|
45
|
+
end
|
42
46
|
end
|
43
47
|
|
44
48
|
# Gets, sets, and renews a Bearer access token as required
|
@@ -46,10 +50,6 @@ module Dina
|
|
46
50
|
#
|
47
51
|
# @return [String] the Bearer token
|
48
52
|
def self.header
|
49
|
-
if ::File.zero?(@token_store_file)
|
50
|
-
create_empty_token
|
51
|
-
end
|
52
|
-
|
53
53
|
if access_token.nil? || refresh_token.nil?
|
54
54
|
set_token
|
55
55
|
end
|
@@ -17,7 +17,7 @@ module Dina
|
|
17
17
|
has_many :identifiers, class_name: "Identifier"
|
18
18
|
|
19
19
|
validates_presence_of :familyNames, message: "familyNames is required"
|
20
|
-
validates_presence_of :displayName
|
20
|
+
validates_presence_of :displayName, message: "displayName is required"
|
21
21
|
|
22
22
|
def self.endpoint_path
|
23
23
|
"agent-api/"
|
@@ -23,6 +23,10 @@ module Dina
|
|
23
23
|
self.where("group.groupName": group).page(page).per(per)
|
24
24
|
end
|
25
25
|
|
26
|
+
def self.properties
|
27
|
+
self.schema.instance_values["properties"]
|
28
|
+
end
|
29
|
+
|
26
30
|
def initialize(params = {})
|
27
31
|
symbolized_params = params.transform_keys(&:to_sym)
|
28
32
|
params["id"] = SecureRandom.uuid if !symbolized_params[:id]
|
@@ -33,7 +33,7 @@ module Dina
|
|
33
33
|
# @param email [String] a name
|
34
34
|
# @return object [Object] a Collection object
|
35
35
|
def self.find_by_name(name)
|
36
|
-
where(name: name).all
|
36
|
+
where(name: name).all
|
37
37
|
end
|
38
38
|
|
39
39
|
# Finds a Collection object by code
|
@@ -41,7 +41,7 @@ module Dina
|
|
41
41
|
# @param code [String] a code
|
42
42
|
# @return object [Object] a Collection object
|
43
43
|
def self.find_by_code(code)
|
44
|
-
where(code: code).all
|
44
|
+
where(code: code).all
|
45
45
|
end
|
46
46
|
|
47
47
|
end
|
@@ -16,6 +16,7 @@ module Dina
|
|
16
16
|
belongs_to :ac_derived_from, shallow_path: true, class_name: "ObjectStore"
|
17
17
|
|
18
18
|
validates_presence_of :group, message: "group is required"
|
19
|
+
validates_presence_of :bucket, message: "bucket is required"
|
19
20
|
|
20
21
|
def self.endpoint_path
|
21
22
|
"objectstore-api/"
|
@@ -28,8 +29,8 @@ module Dina
|
|
28
29
|
private
|
29
30
|
|
30
31
|
def on_before_save
|
31
|
-
if self.bucket.nil?
|
32
|
-
self.bucket = self.group
|
32
|
+
if self.group && self.bucket.nil?
|
33
|
+
self.bucket = self.group.downcase
|
33
34
|
end
|
34
35
|
super
|
35
36
|
end
|
@@ -34,6 +34,7 @@ module Dina
|
|
34
34
|
has_many :derivatives, class_name: "Derivative"
|
35
35
|
|
36
36
|
validates_presence_of :group, message: "group is required"
|
37
|
+
validates_presence_of :bucket, message: "bucket is required"
|
37
38
|
validates_presence_of :dcFormat, message: "dcFormat is required"
|
38
39
|
validates_presence_of :dcType, message: "dcType is required"
|
39
40
|
validates_presence_of :xmpRightsUsageTerms, message: "xmpRightsUsageTerms is required"
|
@@ -63,6 +64,9 @@ module Dina
|
|
63
64
|
private
|
64
65
|
|
65
66
|
def on_before_save
|
67
|
+
if self.group && self.bucket.nil?
|
68
|
+
self.bucket = self.group.downcase
|
69
|
+
end
|
66
70
|
if !self.dcType.nil? && !self.class.accepted_types.include?(self.dcType)
|
67
71
|
raise PropertyValueInvalid, "#{self.class} is invalid. Accepted value for dcType is one of #{self.class.accepted_types.join(", ")}"
|
68
72
|
end
|
data/lib/dina/version.rb
CHANGED
data/lib/dina.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dina
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David P. Shorthouse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-12-
|
11
|
+
date: 2022-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json_api_client
|