dmao_api 0.3.0 → 0.4.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/dmao/api/dataset.rb +92 -0
- data/lib/dmao/api/dataset_file.rb +65 -0
- data/lib/dmao/api/dmp.rb +62 -0
- data/lib/dmao/api/entity.rb +12 -0
- data/lib/dmao/api/errors/action_unsupported.rb +17 -0
- data/lib/dmao/api/errors/dataset_file_not_found.rb +17 -0
- data/lib/dmao/api/errors/dataset_not_found.rb +17 -0
- data/lib/dmao/api/errors/dmp_not_found.rb +17 -0
- data/lib/dmao/api/errors/funder_not_found.rb +17 -0
- data/lib/dmao/api/errors/invalid_dataset.rb +21 -0
- data/lib/dmao/api/errors/invalid_dataset_file.rb +21 -0
- data/lib/dmao/api/errors/invalid_dataset_file_id.rb +19 -0
- data/lib/dmao/api/errors/invalid_dataset_id.rb +19 -0
- data/lib/dmao/api/errors/invalid_dmp.rb +21 -0
- data/lib/dmao/api/errors/invalid_dmp_id.rb +17 -0
- data/lib/dmao/api/errors/invalid_funder.rb +21 -0
- data/lib/dmao/api/errors/invalid_funder_id.rb +17 -0
- data/lib/dmao/api/errors/invalid_project.rb +21 -0
- data/lib/dmao/api/errors/invalid_project_id.rb +19 -0
- data/lib/dmao/api/errors/invalid_project_participant.rb +21 -0
- data/lib/dmao/api/errors/invalid_project_participant_id.rb +19 -0
- data/lib/dmao/api/errors/invalid_publication.rb +21 -0
- data/lib/dmao/api/errors/invalid_publication_dataset.rb +21 -0
- data/lib/dmao/api/errors/invalid_publication_dataset_id.rb +17 -0
- data/lib/dmao/api/errors/invalid_publication_id.rb +17 -0
- data/lib/dmao/api/errors/project_not_found.rb +17 -0
- data/lib/dmao/api/errors/project_participant_not_found.rb +17 -0
- data/lib/dmao/api/errors/publication_dataset_not_found.rb +17 -0
- data/lib/dmao/api/errors/publication_not_found.rb +17 -0
- data/lib/dmao/api/errors/unsupported_query_by_system_uuid.rb +17 -0
- data/lib/dmao/api/funder.rb +50 -0
- data/lib/dmao/api/organisation_unit.rb +4 -3
- data/lib/dmao/api/project.rb +101 -0
- data/lib/dmao/api/project_participant.rb +69 -0
- data/lib/dmao/api/publication.rb +95 -0
- data/lib/dmao/api/publication_dataset.rb +71 -0
- data/lib/dmao/api/version.rb +1 -1
- metadata +36 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bb6855ebeb3df109d747a4e5153c91735df68bdd
|
|
4
|
+
data.tar.gz: 873620f2bd988a331dc6d6a8da2013ce4b77ce80
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1102a0b85199d723e567c34caefb160f20fc8769552580b67fa56c8f306059e02fc3dfd2d276de4fbdcafbbe64d9c43225ae249181fa8c46c03830cb0635c799
|
|
7
|
+
data.tar.gz: e5939a3a23114804ee4b1d3c87939a3047f8c33da6999dbf188ffb2a0a58056d27387e65671b0fc27ffceacd0cfd0dd2955d45e63f854eb8bf875865441dfc10
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
require 'dmao/api/entity'
|
|
2
|
+
require 'dmao/api/errors/invalid_dataset'
|
|
3
|
+
require 'dmao/api/errors/invalid_dataset_id'
|
|
4
|
+
require 'dmao/api/errors/invalid_project_id'
|
|
5
|
+
require 'dmao/api/errors/invalid_organisation_unit_id'
|
|
6
|
+
require 'dmao/api/errors/dataset_not_found'
|
|
7
|
+
|
|
8
|
+
module DMAO
|
|
9
|
+
module API
|
|
10
|
+
|
|
11
|
+
class Dataset < Entity
|
|
12
|
+
|
|
13
|
+
ENDPOINT = 'datasets'
|
|
14
|
+
NOT_FOUND_ERROR = DMAO::API::Errors::DatasetNotFound
|
|
15
|
+
INVALID_ID_ERROR = DMAO::API::Errors::InvalidDatasetID
|
|
16
|
+
INVALID_ENTITY_CLASS = DMAO::API::Errors::InvalidDataset
|
|
17
|
+
INVALID_ENTITY_ERROR_MESSAGE = "Invalid dataset details, please see errors."
|
|
18
|
+
|
|
19
|
+
VALID_ATTRIBUTES = [
|
|
20
|
+
:id,
|
|
21
|
+
:institution_id,
|
|
22
|
+
:permanent_id,
|
|
23
|
+
:title,
|
|
24
|
+
:description,
|
|
25
|
+
:publisher,
|
|
26
|
+
:access,
|
|
27
|
+
:notes,
|
|
28
|
+
:creation_date,
|
|
29
|
+
:system_uuid,
|
|
30
|
+
:system_modified_at,
|
|
31
|
+
:project_id,
|
|
32
|
+
:owning_unit_id
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
attr_reader(*VALID_ATTRIBUTES)
|
|
36
|
+
|
|
37
|
+
def initialize(attributes)
|
|
38
|
+
|
|
39
|
+
@id = attributes[:id]
|
|
40
|
+
@institution_id = attributes[:institution_id]
|
|
41
|
+
@permanent_id = attributes[:permanent_id]
|
|
42
|
+
@title = attributes[:title]
|
|
43
|
+
@description = attributes[:description]
|
|
44
|
+
@publisher = attributes[:publisher]
|
|
45
|
+
@access = attributes[:access]
|
|
46
|
+
@notes = attributes[:notes]
|
|
47
|
+
@creation_date = attributes[:creation_date]
|
|
48
|
+
@system_uuid = attributes[:system_uuid]
|
|
49
|
+
@system_modified_at = attributes[:system_modified_at]
|
|
50
|
+
@project_id = attributes[:project_id]
|
|
51
|
+
@owning_unit_id = attributes[:owning_unit_id]
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def self.instance_from_api_data data
|
|
56
|
+
|
|
57
|
+
attributes = {
|
|
58
|
+
id: data["id"],
|
|
59
|
+
institution_id: data["relationships"]["institution"]["data"]["id"],
|
|
60
|
+
permanent_id: data["attributes"]["permanent-id"],
|
|
61
|
+
title: data["attributes"]["title"],
|
|
62
|
+
description: data["attributes"]["description"],
|
|
63
|
+
publisher: data["attributes"]["publisher"],
|
|
64
|
+
access: data["attributes"]["access"],
|
|
65
|
+
notes: data["attributes"]["notes"],
|
|
66
|
+
creation_date: data["attributes"]["creation-date"],
|
|
67
|
+
system_uuid: data["attributes"]["system-uuid"],
|
|
68
|
+
system_modified_at: data["attributes"]["system-modified-at"],
|
|
69
|
+
project_id: data["relationships"]["project"]["data"]["id"],
|
|
70
|
+
owning_unit_id: data["relationships"]["owning-unit"]["data"]["id"]
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
new(attributes)
|
|
74
|
+
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def self.handle_unprocessable_entity error_response
|
|
78
|
+
|
|
79
|
+
errors = parse_error_response error_response
|
|
80
|
+
|
|
81
|
+
raise_error_if_key DMAO::API::Errors::InvalidProjectID, errors, "project"
|
|
82
|
+
raise_error_if_key DMAO::API::Errors::InvalidOrganisationUnitID, errors, "owning_unit"
|
|
83
|
+
|
|
84
|
+
raise DMAO::API::Errors::InvalidDataset.new("Invalid dataset details, please see errors.", errors)
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
require 'dmao/api/entity'
|
|
2
|
+
require 'dmao/api/errors/invalid_dataset_file'
|
|
3
|
+
require 'dmao/api/errors/invalid_dataset_file_id'
|
|
4
|
+
require 'dmao/api/errors/dataset_file_not_found'
|
|
5
|
+
require 'dmao/api/errors/invalid_dataset_id'
|
|
6
|
+
|
|
7
|
+
module DMAO
|
|
8
|
+
module API
|
|
9
|
+
|
|
10
|
+
class DatasetFile < Entity
|
|
11
|
+
|
|
12
|
+
ENDPOINT = 'dataset_files'
|
|
13
|
+
NOT_FOUND_ERROR = DMAO::API::Errors::DatasetFileNotFound
|
|
14
|
+
INVALID_ID_ERROR = DMAO::API::Errors::InvalidDatasetFileID
|
|
15
|
+
INVALID_ENTITY_CLASS = DMAO::API::Errors::InvalidDatasetFile
|
|
16
|
+
INVALID_ENTITY_ERROR_MESSAGE = "Invalid dataset file details, please see errors."
|
|
17
|
+
|
|
18
|
+
VALID_ATTRIBUTES = [:id, :institution_id, :name, :size, :url, :system_uuid, :system_modified_at, :dataset_id]
|
|
19
|
+
|
|
20
|
+
attr_reader(*VALID_ATTRIBUTES)
|
|
21
|
+
|
|
22
|
+
def initialize(attributes)
|
|
23
|
+
|
|
24
|
+
@id = attributes[:id]
|
|
25
|
+
@institution_id = attributes[:institution_id]
|
|
26
|
+
@name = attributes[:name]
|
|
27
|
+
@size = attributes[:size]
|
|
28
|
+
@url = attributes[:url]
|
|
29
|
+
@system_uuid = attributes[:system_uuid]
|
|
30
|
+
@system_modified_at = attributes[:system_modified_at]
|
|
31
|
+
@dataset_id= attributes[:dataset_id]
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.instance_from_api_data data
|
|
36
|
+
|
|
37
|
+
attributes = {
|
|
38
|
+
id: data["id"],
|
|
39
|
+
institution_id: data["relationships"]["institution"]["data"]["id"],
|
|
40
|
+
name: data["attributes"]["name"],
|
|
41
|
+
size: data["attributes"]["size"],
|
|
42
|
+
url: data["attributes"]["url"],
|
|
43
|
+
system_uuid: data["attributes"]["system-uuid"],
|
|
44
|
+
system_modified_at: data["attributes"]["system-modified-at"],
|
|
45
|
+
dataset_id: data["relationships"]["dataset"]["data"]["id"]
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
new(attributes)
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def self.handle_unprocessable_entity error_response
|
|
53
|
+
|
|
54
|
+
errors = parse_error_response error_response
|
|
55
|
+
|
|
56
|
+
raise_error_if_key DMAO::API::Errors::InvalidDatasetID, errors, "dataset"
|
|
57
|
+
|
|
58
|
+
raise DMAO::API::Errors::InvalidDatasetFile.new("Invalid dataset file details, please see errors.", errors)
|
|
59
|
+
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
end
|
data/lib/dmao/api/dmp.rb
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require 'dmao/api/entity'
|
|
2
|
+
require 'dmao/api/errors/invalid_dmp'
|
|
3
|
+
require 'dmao/api/errors/invalid_dmp_id'
|
|
4
|
+
require 'dmao/api/errors/dmp_not_found'
|
|
5
|
+
|
|
6
|
+
module DMAO
|
|
7
|
+
module API
|
|
8
|
+
|
|
9
|
+
class DMP < Entity
|
|
10
|
+
|
|
11
|
+
ENDPOINT = 'dmps'
|
|
12
|
+
NOT_FOUND_ERROR = DMAO::API::Errors::DMPNotFound
|
|
13
|
+
INVALID_ID_ERROR = DMAO::API::Errors::InvalidDMPID
|
|
14
|
+
INVALID_ENTITY_CLASS = DMAO::API::Errors::InvalidDMP
|
|
15
|
+
INVALID_ENTITY_ERROR_MESSAGE = "Invalid DMP details, please see errors."
|
|
16
|
+
|
|
17
|
+
VALID_ATTRIBUTES = [:id, :institution_id, :project_id, :reviewed, :url, :system_uuid, :system_modified_at]
|
|
18
|
+
|
|
19
|
+
attr_reader(*VALID_ATTRIBUTES)
|
|
20
|
+
|
|
21
|
+
def initialize(attributes)
|
|
22
|
+
|
|
23
|
+
@id = attributes[:id]
|
|
24
|
+
@institution_id = attributes[:institution_id]
|
|
25
|
+
@reviewed = attributes[:reviewed]
|
|
26
|
+
@url = attributes[:url]
|
|
27
|
+
@system_uuid = attributes[:system_uuid]
|
|
28
|
+
@system_modified_at = attributes[:system_modified_at]
|
|
29
|
+
@project_id = attributes[:project_id]
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def self.instance_from_api_data data
|
|
34
|
+
|
|
35
|
+
attributes = {
|
|
36
|
+
id: data["id"],
|
|
37
|
+
institution_id: data["relationships"]["institution"]["data"]["id"],
|
|
38
|
+
reviewed: data["attributes"]["reviewed"],
|
|
39
|
+
url: data["attributes"]["url"],system_uuid: data["attributes"]["system-uuid"],
|
|
40
|
+
system_modified_at: data["attributes"]["system-modified-at"],
|
|
41
|
+
project_id: data["relationships"]["project"]["data"]["id"]
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
new(attributes)
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def self.handle_unprocessable_entity error_response
|
|
49
|
+
|
|
50
|
+
errors = parse_error_response error_response
|
|
51
|
+
|
|
52
|
+
raise_error_if_key DMAO::API::Errors::InvalidProjectID, errors, "project"
|
|
53
|
+
|
|
54
|
+
raise DMAO::API::Errors::InvalidDMP.new("Invalid DMP details, please see errors.", errors)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
end
|
|
62
|
+
end
|
data/lib/dmao/api/entity.rb
CHANGED
|
@@ -157,6 +157,18 @@ module DMAO
|
|
|
157
157
|
raise "Should be overridden in extending class"
|
|
158
158
|
end
|
|
159
159
|
|
|
160
|
+
def self.set_id_attribute_if_not_nil attribute_value
|
|
161
|
+
attribute_value.nil? ? nil : attribute_value["id"]
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
def self.parse_error_response error_response
|
|
165
|
+
JSON.parse(error_response.response.body)["errors"]
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
def self.raise_error_if_key error_class, errors, key
|
|
169
|
+
raise error_class.new if errors.keys.include? key
|
|
170
|
+
end
|
|
171
|
+
|
|
160
172
|
end
|
|
161
173
|
|
|
162
174
|
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class DatasetFileNotFound < StandardError
|
|
6
|
+
|
|
7
|
+
def initialize(msg="Invalid dataset file id specified, id does not exist for requesting institution.")
|
|
8
|
+
|
|
9
|
+
super(msg)
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class InvalidDataset < StandardError
|
|
6
|
+
|
|
7
|
+
attr_reader :errors
|
|
8
|
+
|
|
9
|
+
def initialize(msg="Invalid dataset details passed in, please see errors.", errors=nil)
|
|
10
|
+
|
|
11
|
+
@errors = errors
|
|
12
|
+
|
|
13
|
+
super(msg)
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class InvalidDatasetFile < StandardError
|
|
6
|
+
|
|
7
|
+
attr_reader :errors
|
|
8
|
+
|
|
9
|
+
def initialize(msg="Invalid dataset file details passed in, please see errors.", errors=nil)
|
|
10
|
+
|
|
11
|
+
@errors = errors
|
|
12
|
+
|
|
13
|
+
super(msg)
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class InvalidDMP < StandardError
|
|
6
|
+
|
|
7
|
+
attr_reader :errors
|
|
8
|
+
|
|
9
|
+
def initialize(msg="Invalid DMP details passed in, please see errors.", errors=nil)
|
|
10
|
+
|
|
11
|
+
@errors = errors
|
|
12
|
+
|
|
13
|
+
super(msg)
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class InvalidFunder < StandardError
|
|
6
|
+
|
|
7
|
+
attr_reader :errors
|
|
8
|
+
|
|
9
|
+
def initialize(msg="Invalid funder details passed in, please see errors.", errors=nil)
|
|
10
|
+
|
|
11
|
+
@errors = errors
|
|
12
|
+
|
|
13
|
+
super(msg)
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class InvalidProject < StandardError
|
|
6
|
+
|
|
7
|
+
attr_reader :errors
|
|
8
|
+
|
|
9
|
+
def initialize(msg="Invalid project details passed in, please see errors.", errors=nil)
|
|
10
|
+
|
|
11
|
+
@errors = errors
|
|
12
|
+
|
|
13
|
+
super(msg)
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class InvalidProjectParticipant < StandardError
|
|
6
|
+
|
|
7
|
+
attr_reader :errors
|
|
8
|
+
|
|
9
|
+
def initialize(msg="Invalid project participant details passed in, please see errors.", errors=nil)
|
|
10
|
+
|
|
11
|
+
@errors = errors
|
|
12
|
+
|
|
13
|
+
super(msg)
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class InvalidProjectParticipantID < StandardError
|
|
6
|
+
|
|
7
|
+
attr_reader :errors
|
|
8
|
+
|
|
9
|
+
def initialize(msg="Invalid project participant ID specified")
|
|
10
|
+
|
|
11
|
+
super(msg)
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class InvalidPublication < StandardError
|
|
6
|
+
|
|
7
|
+
attr_reader :errors
|
|
8
|
+
|
|
9
|
+
def initialize(msg="Invalid project details passed in, please see errors.", errors=nil)
|
|
10
|
+
|
|
11
|
+
@errors = errors
|
|
12
|
+
|
|
13
|
+
super(msg)
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class InvalidPublicationDataset < StandardError
|
|
6
|
+
|
|
7
|
+
attr_reader :errors
|
|
8
|
+
|
|
9
|
+
def initialize(msg="Invalid publication dataset details passed in, please see errors.", errors=nil)
|
|
10
|
+
|
|
11
|
+
@errors = errors
|
|
12
|
+
|
|
13
|
+
super(msg)
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class ProjectParticipantNotFound < StandardError
|
|
6
|
+
|
|
7
|
+
def initialize(msg="Invalid project participant id specified, id does not exist for requesting institution.")
|
|
8
|
+
|
|
9
|
+
super(msg)
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class PublicationDatasetNotFound < StandardError
|
|
6
|
+
|
|
7
|
+
def initialize(msg="Invalid publication dataset id specified, id does not exist for requesting institution.")
|
|
8
|
+
|
|
9
|
+
super(msg)
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module DMAO
|
|
2
|
+
module API
|
|
3
|
+
module Errors
|
|
4
|
+
|
|
5
|
+
class PublicationNotFound < StandardError
|
|
6
|
+
|
|
7
|
+
def initialize(msg="Invalid publication id specified, id does not exist for requesting institution.")
|
|
8
|
+
|
|
9
|
+
super(msg)
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require 'dmao/api/entity'
|
|
2
|
+
require 'dmao/api/errors/invalid_funder'
|
|
3
|
+
require 'dmao/api/errors/invalid_funder_id'
|
|
4
|
+
require 'dmao/api/errors/funder_not_found'
|
|
5
|
+
|
|
6
|
+
module DMAO
|
|
7
|
+
module API
|
|
8
|
+
|
|
9
|
+
class Funder < Entity
|
|
10
|
+
|
|
11
|
+
ENDPOINT = 'funders'
|
|
12
|
+
NOT_FOUND_ERROR = DMAO::API::Errors::FunderNotFound
|
|
13
|
+
INVALID_ID_ERROR = DMAO::API::Errors::InvalidFunderID
|
|
14
|
+
INVALID_ENTITY_CLASS = DMAO::API::Errors::InvalidFunder
|
|
15
|
+
INVALID_ENTITY_ERROR_MESSAGE = "Invalid funder details, please see errors."
|
|
16
|
+
|
|
17
|
+
VALID_ATTRIBUTES = [:id, :institution_id, :name, :parent_group, :system_uuid, :system_modified_at]
|
|
18
|
+
|
|
19
|
+
attr_reader(*VALID_ATTRIBUTES)
|
|
20
|
+
|
|
21
|
+
def initialize(attributes)
|
|
22
|
+
|
|
23
|
+
@id = attributes[:id]
|
|
24
|
+
@institution_id = attributes[:institution_id]
|
|
25
|
+
@name = attributes[:name]
|
|
26
|
+
@parent_group = attributes[:parent_group]
|
|
27
|
+
@system_uuid = attributes[:system_uuid]
|
|
28
|
+
@system_modified_at = attributes[:system_modified_at]
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def self.instance_from_api_data data
|
|
33
|
+
|
|
34
|
+
attributes = {
|
|
35
|
+
id: data["id"],
|
|
36
|
+
institution_id: data["relationships"]["institution"]["data"]["id"],
|
|
37
|
+
name: data["attributes"]["name"],
|
|
38
|
+
parent_group: data["attributes"]["parent-group"],
|
|
39
|
+
system_uuid: data["attributes"]["system-uuid"],
|
|
40
|
+
system_modified_at: data["attributes"]["system-modified-at"]
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
new(attributes)
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -39,7 +39,7 @@ module DMAO
|
|
|
39
39
|
|
|
40
40
|
def self.instance_from_api_data data
|
|
41
41
|
|
|
42
|
-
parent_id =
|
|
42
|
+
parent_id = set_id_attribute_if_not_nil data["relationships"]["parent"]["data"]
|
|
43
43
|
|
|
44
44
|
attributes = {
|
|
45
45
|
id: data["id"],
|
|
@@ -60,9 +60,10 @@ module DMAO
|
|
|
60
60
|
|
|
61
61
|
def self.handle_unprocessable_entity error_response
|
|
62
62
|
|
|
63
|
-
errors =
|
|
63
|
+
errors = parse_error_response error_response
|
|
64
|
+
|
|
65
|
+
raise_error_if_key DMAO::API::Errors::InvalidParentId, errors, "parent"
|
|
64
66
|
|
|
65
|
-
raise DMAO::API::Errors::InvalidParentId.new if errors.keys.include? "parent"
|
|
66
67
|
raise DMAO::API::Errors::InvalidOrganisationUnit.new("Invalid organisation unit details, please see errors.", errors)
|
|
67
68
|
|
|
68
69
|
end
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
require 'dmao/api/entity'
|
|
2
|
+
require 'dmao/api/errors/invalid_project'
|
|
3
|
+
require 'dmao/api/errors/invalid_project_id'
|
|
4
|
+
require 'dmao/api/errors/invalid_organisation_unit_id'
|
|
5
|
+
require 'dmao/api/errors/project_not_found'
|
|
6
|
+
|
|
7
|
+
module DMAO
|
|
8
|
+
module API
|
|
9
|
+
|
|
10
|
+
class Project < Entity
|
|
11
|
+
|
|
12
|
+
ENDPOINT = 'projects'
|
|
13
|
+
NOT_FOUND_ERROR = DMAO::API::Errors::ProjectNotFound
|
|
14
|
+
INVALID_ID_ERROR = DMAO::API::Errors::InvalidProjectID
|
|
15
|
+
INVALID_ENTITY_CLASS = DMAO::API::Errors::InvalidProject
|
|
16
|
+
INVALID_ENTITY_ERROR_MESSAGE = "Invalid project details, please see errors."
|
|
17
|
+
|
|
18
|
+
VALID_ATTRIBUTES = [
|
|
19
|
+
:id,
|
|
20
|
+
:institution_id,
|
|
21
|
+
:title,
|
|
22
|
+
:acronym,
|
|
23
|
+
:description,
|
|
24
|
+
:status,
|
|
25
|
+
:project_type,
|
|
26
|
+
:classification,
|
|
27
|
+
:internal_project_code,
|
|
28
|
+
:url,
|
|
29
|
+
:start_date,
|
|
30
|
+
:end_date,
|
|
31
|
+
:system_uuid,
|
|
32
|
+
:system_modified_at,
|
|
33
|
+
:owning_unit_id,
|
|
34
|
+
:funder_id
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
attr_reader(*VALID_ATTRIBUTES)
|
|
38
|
+
|
|
39
|
+
def initialize(attributes)
|
|
40
|
+
|
|
41
|
+
@id = attributes[:id]
|
|
42
|
+
@institution_id = attributes[:institution_id]
|
|
43
|
+
@title = attributes[:title]
|
|
44
|
+
@acronym = attributes[:acronym]
|
|
45
|
+
@description = attributes[:description]
|
|
46
|
+
@status = attributes[:status]
|
|
47
|
+
@project_type = attributes[:project_type]
|
|
48
|
+
@classification = attributes[:classification]
|
|
49
|
+
@internal_project_code = attributes[:internal_project_code]
|
|
50
|
+
@url = attributes[:url]
|
|
51
|
+
@start_date = attributes[:start_date]
|
|
52
|
+
@end_date = attributes[:end_date]
|
|
53
|
+
@system_uuid = attributes[:system_uuid]
|
|
54
|
+
@system_modified_at = attributes[:system_modified_at]
|
|
55
|
+
@owning_unit_id = attributes[:owning_unit_id]
|
|
56
|
+
@funder_id = attributes[:funder_id]
|
|
57
|
+
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def self.instance_from_api_data data
|
|
61
|
+
|
|
62
|
+
funder_id = set_id_attribute_if_not_nil data["relationships"]["funder"]["data"]
|
|
63
|
+
|
|
64
|
+
attributes = {
|
|
65
|
+
id: data["id"],
|
|
66
|
+
institution_id: data["relationships"]["institution"]["data"]["id"],
|
|
67
|
+
title: data["attributes"]["title"],
|
|
68
|
+
acronym: data["attributes"]["acronym"],
|
|
69
|
+
description: data["attributes"]["description"],
|
|
70
|
+
status: data["attributes"]["status"],
|
|
71
|
+
project_type: data["attributes"]["project-type"],
|
|
72
|
+
classification: data["attributes"]["classification"],
|
|
73
|
+
internal_project_code: data["attributes"]["internal-project-code"],
|
|
74
|
+
url: data["attributes"]["url"],
|
|
75
|
+
start_date: data["attributes"]["start-date"],
|
|
76
|
+
end_date: data["attributes"]["end-date"],
|
|
77
|
+
system_uuid: data["attributes"]["system-uuid"],
|
|
78
|
+
system_modified_at: data["attributes"]["system-modified-at"],
|
|
79
|
+
owning_unit_id: data["relationships"]["owning-unit"]["data"]["id"],
|
|
80
|
+
funder_id: funder_id
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
new(attributes)
|
|
84
|
+
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def self.handle_unprocessable_entity error_response
|
|
88
|
+
|
|
89
|
+
errors = parse_error_response error_response
|
|
90
|
+
|
|
91
|
+
raise_error_if_key DMAO::API::Errors::InvalidOrganisationUnitID, errors, "owning_unit"
|
|
92
|
+
|
|
93
|
+
raise DMAO::API::Errors::InvalidProject.new("Invalid project details, please see errors.", errors)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
end
|
|
101
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
require 'dmao/api/entity'
|
|
2
|
+
require 'dmao/api/errors/invalid_project_participant'
|
|
3
|
+
require 'dmao/api/errors/invalid_project_participant_id'
|
|
4
|
+
require 'dmao/api/errors/project_participant_not_found'
|
|
5
|
+
require 'dmao/api/errors/invalid_project_id'
|
|
6
|
+
require 'dmao/api/errors/invalid_person_id'
|
|
7
|
+
require 'dmao/api/errors/unsupported_query_by_system_uuid'
|
|
8
|
+
|
|
9
|
+
module DMAO
|
|
10
|
+
module API
|
|
11
|
+
|
|
12
|
+
class ProjectParticipant < Entity
|
|
13
|
+
|
|
14
|
+
ENDPOINT = 'project_participants'
|
|
15
|
+
NOT_FOUND_ERROR = DMAO::API::Errors::ProjectParticipantNotFound
|
|
16
|
+
INVALID_ID_ERROR = DMAO::API::Errors::InvalidProjectParticipantID
|
|
17
|
+
INVALID_ENTITY_CLASS = DMAO::API::Errors::InvalidProjectParticipant
|
|
18
|
+
INVALID_ENTITY_ERROR_MESSAGE = "Invalid project participant details, please see errors."
|
|
19
|
+
|
|
20
|
+
VALID_ATTRIBUTES = [:id, :institution_id, :role, :project_id, :participant_id, :person_id]
|
|
21
|
+
|
|
22
|
+
attr_reader(*VALID_ATTRIBUTES)
|
|
23
|
+
|
|
24
|
+
def initialize(attributes)
|
|
25
|
+
|
|
26
|
+
@id = attributes[:id]
|
|
27
|
+
@institution_id = attributes[:institution_id]
|
|
28
|
+
@role = attributes[:role]
|
|
29
|
+
@project_id = attributes[:project_id]
|
|
30
|
+
@participant_id = @person_id = attributes[:participant_id]
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.instance_from_api_data data
|
|
35
|
+
|
|
36
|
+
attributes = {
|
|
37
|
+
id: data["id"],
|
|
38
|
+
institution_id: data["relationships"]["institution"]["data"]["id"],
|
|
39
|
+
role: data["attributes"]["role"],
|
|
40
|
+
project_id: data["relationships"]["project"]["data"]["id"],
|
|
41
|
+
participant_id: data["relationships"]["person"]["data"]["id"]
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
new(attributes)
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def self.handle_unprocessable_entity error_response
|
|
49
|
+
|
|
50
|
+
errors = parse_error_response error_response
|
|
51
|
+
|
|
52
|
+
raise DMAO::API::Errors::InvalidProjectParticipant.new("Invalid project participant details, please see errors.", errors) if (errors.keys.include?("project") && errors.keys.include?("person"))
|
|
53
|
+
|
|
54
|
+
raise_error_if_key DMAO::API::Errors::InvalidProjectID, errors, "project"
|
|
55
|
+
raise_error_if_key DMAO::API::Errors::InvalidPersonID, errors, "person"
|
|
56
|
+
|
|
57
|
+
raise DMAO::API::Errors::InvalidProjectParticipant.new("Invalid project participant details, please see errors.", errors)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def self.find_by_system_uuid _system_uuid
|
|
63
|
+
raise DMAO::API::Errors::UnsupportedQueryBySystemUUID.new
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
require 'dmao/api/entity'
|
|
2
|
+
require 'dmao/api/errors/invalid_publication'
|
|
3
|
+
require 'dmao/api/errors/invalid_publication_id'
|
|
4
|
+
require 'dmao/api/errors/invalid_project_id'
|
|
5
|
+
require 'dmao/api/errors/invalid_organisation_unit_id'
|
|
6
|
+
require 'dmao/api/errors/publication_not_found'
|
|
7
|
+
|
|
8
|
+
module DMAO
|
|
9
|
+
module API
|
|
10
|
+
|
|
11
|
+
class Publication < Entity
|
|
12
|
+
|
|
13
|
+
ENDPOINT = 'publications'
|
|
14
|
+
NOT_FOUND_ERROR = DMAO::API::Errors::PublicationNotFound
|
|
15
|
+
INVALID_ID_ERROR = DMAO::API::Errors::InvalidPublicationID
|
|
16
|
+
INVALID_ENTITY_CLASS = DMAO::API::Errors::InvalidPublication
|
|
17
|
+
INVALID_ENTITY_ERROR_MESSAGE = "Invalid publication details, please see errors."
|
|
18
|
+
|
|
19
|
+
VALID_ATTRIBUTES = [
|
|
20
|
+
:id,
|
|
21
|
+
:institution_id,
|
|
22
|
+
:permanent_id,
|
|
23
|
+
:title,
|
|
24
|
+
:abstract,
|
|
25
|
+
:category,
|
|
26
|
+
:publication_type,
|
|
27
|
+
:status,
|
|
28
|
+
:url,
|
|
29
|
+
:publication_date,
|
|
30
|
+
:system_uuid,
|
|
31
|
+
:system_modified_at,
|
|
32
|
+
:project_id,
|
|
33
|
+
:owning_unit_id
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
attr_reader(*VALID_ATTRIBUTES)
|
|
37
|
+
|
|
38
|
+
def initialize(attributes)
|
|
39
|
+
|
|
40
|
+
@id = attributes[:id]
|
|
41
|
+
@institution_id = attributes[:institution_id]
|
|
42
|
+
@permanent_id = attributes[:permanent_id]
|
|
43
|
+
@title = attributes[:title]
|
|
44
|
+
@abstract = attributes[:abstract]
|
|
45
|
+
@category = attributes[:category]
|
|
46
|
+
@publication_type = attributes[:publication_type]
|
|
47
|
+
@status = attributes[:status]
|
|
48
|
+
@url = attributes[:url]
|
|
49
|
+
@publication_date = attributes[:publication_date]
|
|
50
|
+
@system_uuid = attributes[:system_uuid]
|
|
51
|
+
@system_modified_at = attributes[:system_modified_at]
|
|
52
|
+
@project_id = attributes[:project_id]
|
|
53
|
+
@owning_unit_id = attributes[:owning_unit_id]
|
|
54
|
+
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def self.instance_from_api_data data
|
|
58
|
+
|
|
59
|
+
attributes = {
|
|
60
|
+
id: data["id"],
|
|
61
|
+
institution_id: data["relationships"]["institution"]["data"]["id"],
|
|
62
|
+
permanent_id: data["attributes"]["permanent-id"],
|
|
63
|
+
title: data["attributes"]["title"],
|
|
64
|
+
abstract: data["attributes"]["abstract"],
|
|
65
|
+
category: data["attributes"]["category"],
|
|
66
|
+
publication_type: data["attributes"]["publication-type"],
|
|
67
|
+
status: data["attributes"]["status"],
|
|
68
|
+
url: data["attributes"]["url"],
|
|
69
|
+
publication_date: data["attributes"]["publication-date"],
|
|
70
|
+
system_uuid: data["attributes"]["system-uuid"],
|
|
71
|
+
system_modified_at: data["attributes"]["system-modified-at"],
|
|
72
|
+
project_id: data["relationships"]["project"]["data"]["id"],
|
|
73
|
+
owning_unit_id: data["relationships"]["owning-unit"]["data"]["id"]
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
new(attributes)
|
|
77
|
+
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def self.handle_unprocessable_entity error_response
|
|
81
|
+
|
|
82
|
+
errors = parse_error_response error_response
|
|
83
|
+
|
|
84
|
+
raise_error_if_key DMAO::API::Errors::InvalidProjectID, errors, "project"
|
|
85
|
+
raise_error_if_key DMAO::API::Errors::InvalidOrganisationUnitID, errors, "owning_unit"
|
|
86
|
+
|
|
87
|
+
raise DMAO::API::Errors::InvalidPublication.new("Invalid Publication details, please see errors.", errors)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
require 'dmao/api/entity'
|
|
2
|
+
require 'dmao/api/errors/invalid_publication_dataset'
|
|
3
|
+
require 'dmao/api/errors/invalid_publication_dataset_id'
|
|
4
|
+
require 'dmao/api/errors/publication_dataset_not_found'
|
|
5
|
+
require 'dmao/api/errors/invalid_publication_id'
|
|
6
|
+
require 'dmao/api/errors/invalid_dataset_id'
|
|
7
|
+
require 'dmao/api/errors/unsupported_query_by_system_uuid'
|
|
8
|
+
require 'dmao/api/errors/action_unsupported'
|
|
9
|
+
|
|
10
|
+
module DMAO
|
|
11
|
+
module API
|
|
12
|
+
|
|
13
|
+
class PublicationDataset < Entity
|
|
14
|
+
|
|
15
|
+
ENDPOINT = 'publication_datasets'
|
|
16
|
+
NOT_FOUND_ERROR = DMAO::API::Errors::PublicationDatasetNotFound
|
|
17
|
+
INVALID_ID_ERROR = DMAO::API::Errors::InvalidPublicationDatasetID
|
|
18
|
+
INVALID_ENTITY_CLASS = DMAO::API::Errors::InvalidPublicationDataset
|
|
19
|
+
INVALID_ENTITY_ERROR_MESSAGE = "Invalid publication dataset details, please see errors."
|
|
20
|
+
|
|
21
|
+
VALID_ATTRIBUTES = [:id, :institution_id, :publication_id, :dataset_id]
|
|
22
|
+
|
|
23
|
+
attr_reader(*VALID_ATTRIBUTES)
|
|
24
|
+
|
|
25
|
+
def initialize(attributes)
|
|
26
|
+
|
|
27
|
+
@id = attributes[:id]
|
|
28
|
+
@institution_id = attributes[:institution_id]
|
|
29
|
+
@publication_id = attributes[:publication_id]
|
|
30
|
+
@dataset_id= attributes[:dataset_id]
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.instance_from_api_data data
|
|
35
|
+
|
|
36
|
+
attributes = {
|
|
37
|
+
id: data["id"],
|
|
38
|
+
institution_id: data["relationships"]["institution"]["data"]["id"],
|
|
39
|
+
publication_id: data["relationships"]["publication"]["data"]["id"],
|
|
40
|
+
dataset_id: data["relationships"]["dataset"]["data"]["id"]
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
new(attributes)
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def self.handle_unprocessable_entity error_response
|
|
48
|
+
|
|
49
|
+
errors = parse_error_response error_response
|
|
50
|
+
|
|
51
|
+
raise DMAO::API::Errors::InvalidPublicationDataset.new("Invalid publication dataset details, please see errors.", errors) if (errors.keys.include?("publication") && errors.keys.include?("dataset"))
|
|
52
|
+
|
|
53
|
+
raise_error_if_key DMAO::API::Errors::InvalidPublicationID, errors, "publication"
|
|
54
|
+
raise_error_if_key DMAO::API::Errors::InvalidDatasetID, errors, "dataset"
|
|
55
|
+
|
|
56
|
+
raise DMAO::API::Errors::InvalidPublicationDataset.new("Invalid publication dataset details, please see errors.", errors)
|
|
57
|
+
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def self.find_by_system_uuid _system_uuid
|
|
61
|
+
raise DMAO::API::Errors::UnsupportedQueryBySystemUUID.new
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def self.update _id, _attributes
|
|
65
|
+
raise DMAO::API::Errors::ActionUnsupported.new("Updating publication dataset is not supported.")
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
end
|
|
71
|
+
end
|
data/lib/dmao/api/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dmao_api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stephen Robinson
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-04-
|
|
11
|
+
date: 2017-04-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rest-client
|
|
@@ -153,21 +153,55 @@ files:
|
|
|
153
153
|
- dmao_api.gemspec
|
|
154
154
|
- lib/dmao/api/base.rb
|
|
155
155
|
- lib/dmao/api/configuration.rb
|
|
156
|
+
- lib/dmao/api/dataset.rb
|
|
157
|
+
- lib/dmao/api/dataset_file.rb
|
|
158
|
+
- lib/dmao/api/dmp.rb
|
|
156
159
|
- lib/dmao/api/entity.rb
|
|
160
|
+
- lib/dmao/api/errors/action_unsupported.rb
|
|
161
|
+
- lib/dmao/api/errors/dataset_file_not_found.rb
|
|
162
|
+
- lib/dmao/api/errors/dataset_not_found.rb
|
|
163
|
+
- lib/dmao/api/errors/dmp_not_found.rb
|
|
164
|
+
- lib/dmao/api/errors/funder_not_found.rb
|
|
157
165
|
- lib/dmao/api/errors/institution_not_found.rb
|
|
158
166
|
- lib/dmao/api/errors/invalid_api_base_url.rb
|
|
159
167
|
- lib/dmao/api/errors/invalid_api_token.rb
|
|
168
|
+
- lib/dmao/api/errors/invalid_dataset.rb
|
|
169
|
+
- lib/dmao/api/errors/invalid_dataset_file.rb
|
|
170
|
+
- lib/dmao/api/errors/invalid_dataset_file_id.rb
|
|
171
|
+
- lib/dmao/api/errors/invalid_dataset_id.rb
|
|
172
|
+
- lib/dmao/api/errors/invalid_dmp.rb
|
|
173
|
+
- lib/dmao/api/errors/invalid_dmp_id.rb
|
|
174
|
+
- lib/dmao/api/errors/invalid_funder.rb
|
|
175
|
+
- lib/dmao/api/errors/invalid_funder_id.rb
|
|
160
176
|
- lib/dmao/api/errors/invalid_organisation_unit.rb
|
|
161
177
|
- lib/dmao/api/errors/invalid_organisation_unit_id.rb
|
|
162
178
|
- lib/dmao/api/errors/invalid_parent_id.rb
|
|
163
179
|
- lib/dmao/api/errors/invalid_person.rb
|
|
164
180
|
- lib/dmao/api/errors/invalid_person_id.rb
|
|
181
|
+
- lib/dmao/api/errors/invalid_project.rb
|
|
182
|
+
- lib/dmao/api/errors/invalid_project_id.rb
|
|
183
|
+
- lib/dmao/api/errors/invalid_project_participant.rb
|
|
184
|
+
- lib/dmao/api/errors/invalid_project_participant_id.rb
|
|
185
|
+
- lib/dmao/api/errors/invalid_publication.rb
|
|
186
|
+
- lib/dmao/api/errors/invalid_publication_dataset.rb
|
|
187
|
+
- lib/dmao/api/errors/invalid_publication_dataset_id.rb
|
|
188
|
+
- lib/dmao/api/errors/invalid_publication_id.rb
|
|
165
189
|
- lib/dmao/api/errors/invalid_response_length.rb
|
|
166
190
|
- lib/dmao/api/errors/invalid_system_uuid.rb
|
|
167
191
|
- lib/dmao/api/errors/organisation_unit_not_found.rb
|
|
168
192
|
- lib/dmao/api/errors/person_not_found.rb
|
|
193
|
+
- lib/dmao/api/errors/project_not_found.rb
|
|
194
|
+
- lib/dmao/api/errors/project_participant_not_found.rb
|
|
195
|
+
- lib/dmao/api/errors/publication_dataset_not_found.rb
|
|
196
|
+
- lib/dmao/api/errors/publication_not_found.rb
|
|
197
|
+
- lib/dmao/api/errors/unsupported_query_by_system_uuid.rb
|
|
198
|
+
- lib/dmao/api/funder.rb
|
|
169
199
|
- lib/dmao/api/organisation_unit.rb
|
|
170
200
|
- lib/dmao/api/person.rb
|
|
201
|
+
- lib/dmao/api/project.rb
|
|
202
|
+
- lib/dmao/api/project_participant.rb
|
|
203
|
+
- lib/dmao/api/publication.rb
|
|
204
|
+
- lib/dmao/api/publication_dataset.rb
|
|
171
205
|
- lib/dmao/api/version.rb
|
|
172
206
|
- lib/dmao_api.rb
|
|
173
207
|
homepage: https://github.com/lulibrary/DMAO-API-rb
|