oneaccess 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.circleci/config.yml +24 -0
- data/.rubocop.yml +11 -29
- data/.rubocop_todo.yml +50 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +9 -5
- data/Rakefile +4 -4
- data/docker-compose.yml +0 -5
- data/lib/oneaccess.rb +25 -24
- data/lib/oneaccess/api/api_base.rb +9 -9
- data/lib/oneaccess/api/v1_1/base.rb +1 -1
- data/lib/oneaccess/api/v1_1/entitlement/model/user_requests.rb +62 -0
- data/lib/oneaccess/api/v1_1/entitlement/organization/product_group.rb +10 -8
- data/lib/oneaccess/api/v1_1/entitlement/research/user_requests.rb +17 -15
- data/lib/oneaccess/api/v1_1/entitlement/user/product_group.rb +10 -8
- data/lib/oneaccess/api/v1_1/entitlement/user_subscription.rb +5 -5
- data/lib/oneaccess/api/v1_1/organizations.rb +2 -2
- data/lib/oneaccess/api/v1_1/references.rb +9 -9
- data/lib/oneaccess/api/v1_1/research.rb +7 -5
- data/lib/oneaccess/api/v1_1/symbology.rb +10 -8
- data/lib/oneaccess/api/v1_1/user.rb +3 -3
- data/lib/oneaccess/api/v3_0/base.rb +1 -1
- data/lib/oneaccess/api/v3_0/interactions.rb +8 -8
- data/lib/oneaccess/api/v3_0/providers.rb +8 -10
- data/lib/oneaccess/api/v3_0/references.rb +11 -11
- data/lib/oneaccess/configuration.rb +6 -6
- data/lib/oneaccess/data_object/address.rb +1 -1
- data/lib/oneaccess/data_object/city.rb +1 -1
- data/lib/oneaccess/data_object/company.rb +1 -1
- data/lib/oneaccess/data_object/company_light.rb +1 -1
- data/lib/oneaccess/data_object/contributor.rb +1 -1
- data/lib/oneaccess/data_object/country.rb +1 -1
- data/lib/oneaccess/data_object/global_region.rb +1 -1
- data/lib/oneaccess/data_object/inducement.rb +1 -1
- data/lib/oneaccess/data_object/industry.rb +1 -1
- data/lib/oneaccess/data_object/investor.rb +1 -1
- data/lib/oneaccess/data_object/meta.rb +1 -1
- data/lib/oneaccess/data_object/organization.rb +1 -1
- data/lib/oneaccess/data_object/organization_light.rb +1 -1
- data/lib/oneaccess/data_object/product_group.rb +1 -1
- data/lib/oneaccess/data_object/providers_user_details.rb +1 -1
- data/lib/oneaccess/data_object/providers_user_details_vendor.rb +1 -1
- data/lib/oneaccess/data_object/providers_users_details.rb +1 -1
- data/lib/oneaccess/data_object/region.rb +1 -1
- data/lib/oneaccess/data_object/representer/address.rb +3 -3
- data/lib/oneaccess/data_object/representer/city.rb +2 -2
- data/lib/oneaccess/data_object/representer/company.rb +12 -6
- data/lib/oneaccess/data_object/representer/contributor.rb +2 -2
- data/lib/oneaccess/data_object/representer/country.rb +10 -6
- data/lib/oneaccess/data_object/representer/global_region.rb +2 -2
- data/lib/oneaccess/data_object/representer/inducement.rb +6 -2
- data/lib/oneaccess/data_object/representer/industry.rb +5 -3
- data/lib/oneaccess/data_object/representer/investor.rb +1 -1
- data/lib/oneaccess/data_object/representer/meta.rb +2 -2
- data/lib/oneaccess/data_object/representer/providers_user_details.rb +4 -3
- data/lib/oneaccess/data_object/representer/providers_users_details.rb +4 -3
- data/lib/oneaccess/data_object/representer/research_document_info.rb +5 -3
- data/lib/oneaccess/data_object/representer/user.rb +10 -6
- data/lib/oneaccess/data_object/representer/user_entitlement_request.rb +19 -11
- data/lib/oneaccess/data_object/research_document_info.rb +1 -1
- data/lib/oneaccess/data_object/saml_info.rb +1 -1
- data/lib/oneaccess/data_object/sell_side_user_group_entitlement.rb +1 -1
- data/lib/oneaccess/data_object/user.rb +1 -1
- data/lib/oneaccess/data_object/user_entitlement_request.rb +1 -1
- data/lib/oneaccess/data_object/user_light.rb +1 -1
- data/lib/oneaccess/error/api_error.rb +2 -2
- data/lib/oneaccess/http/http_client.rb +10 -12
- data/lib/oneaccess/request/contributors_request_handler.rb +2 -2
- data/lib/oneaccess/request/investors_request_handler.rb +2 -2
- data/lib/oneaccess/response/api_error.rb +1 -1
- data/lib/oneaccess/response/buy_side_interactions_response.rb +2 -2
- data/lib/oneaccess/response/changed_users_response.rb +2 -2
- data/lib/oneaccess/response/companies_response.rb +2 -2
- data/lib/oneaccess/response/company_response.rb +2 -2
- data/lib/oneaccess/response/contributors_response.rb +2 -2
- data/lib/oneaccess/response/countries_response.rb +2 -2
- data/lib/oneaccess/response/inducement_response.rb +2 -2
- data/lib/oneaccess/response/industries_response.rb +2 -2
- data/lib/oneaccess/response/investors_response.rb +2 -2
- data/lib/oneaccess/response/organization_response.rb +1 -1
- data/lib/oneaccess/response/paginated_response.rb +1 -1
- data/lib/oneaccess/response/product_groups_response.rb +2 -2
- data/lib/oneaccess/response/providers_users_details_response.rb +2 -2
- data/lib/oneaccess/response/representer/buy_side_interactions_response.rb +1 -1
- data/lib/oneaccess/response/representer/changed_users_response.rb +1 -1
- data/lib/oneaccess/response/representer/companies_response.rb +6 -5
- data/lib/oneaccess/response/representer/company_response.rb +7 -6
- data/lib/oneaccess/response/representer/contributors_response.rb +9 -7
- data/lib/oneaccess/response/representer/countries_response.rb +6 -5
- data/lib/oneaccess/response/representer/inducement_response.rb +7 -6
- data/lib/oneaccess/response/representer/industries_response.rb +6 -5
- data/lib/oneaccess/response/representer/investors_response.rb +8 -6
- data/lib/oneaccess/response/representer/organization_response.rb +2 -2
- data/lib/oneaccess/response/representer/paginated_response.rb +1 -1
- data/lib/oneaccess/response/representer/product_groups_response.rb +6 -5
- data/lib/oneaccess/response/representer/providers_users_details_response.rb +3 -3
- data/lib/oneaccess/response/representer/research_document_response.rb +6 -5
- data/lib/oneaccess/response/representer/subscribe_to_updates_response.rb +1 -1
- data/lib/oneaccess/response/representer/user_entitlement_requests_response.rb +6 -5
- data/lib/oneaccess/response/representer/user_requests_response.rb +1 -1
- data/lib/oneaccess/response/representer/user_response.rb +2 -2
- data/lib/oneaccess/response/research_document_response.rb +2 -2
- data/lib/oneaccess/response/subscribe_to_updates_response.rb +2 -2
- data/lib/oneaccess/response/user_entitlement_requests_response.rb +2 -2
- data/lib/oneaccess/response/user_requests_response.rb +2 -2
- data/lib/oneaccess/response/user_response.rb +2 -2
- data/oneaccess.gemspec +24 -24
- metadata +17 -15
- data/circle.yml +0 -9
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative '../../../../response/product_groups_response'
|
4
4
|
|
5
5
|
module ONEAccess
|
6
6
|
module API
|
@@ -8,15 +8,17 @@ module ONEAccess
|
|
8
8
|
module Entitlement
|
9
9
|
module User
|
10
10
|
class ProductGroup < Base
|
11
|
-
api_path
|
11
|
+
api_path '/entitlement/user/productgroup'
|
12
12
|
|
13
13
|
def self.get_list(user_id:, page_number: 0, page_size: 20, type: nil)
|
14
|
-
resp = send_get(
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
14
|
+
resp = send_get(
|
15
|
+
'getList', Query: {
|
16
|
+
PageNumber: page_number,
|
17
|
+
PageSize: page_size,
|
18
|
+
UserId: user_id,
|
19
|
+
Type: type,
|
20
|
+
}.to_json
|
21
|
+
)
|
20
22
|
Response::ProductGroupsResponse.from_json(resp.body)
|
21
23
|
end
|
22
24
|
end
|
@@ -1,24 +1,24 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
4
|
-
require_relative
|
3
|
+
require_relative '../../../response/subscribe_to_updates_response'
|
4
|
+
require_relative '../../../response/changed_users_response'
|
5
5
|
|
6
6
|
module ONEAccess
|
7
7
|
module API
|
8
8
|
module V1_1
|
9
9
|
module Entitlement
|
10
10
|
class UserSubscription < Base
|
11
|
-
api_path
|
11
|
+
api_path '/entitlement/userSubscription'
|
12
12
|
|
13
13
|
def self.subscribe(user_ids:)
|
14
|
-
response = send_post(
|
14
|
+
response = send_post('subscribeToUpdates', user_ids)
|
15
15
|
|
16
16
|
Response::SubscribeToUpdatesResponse.from_json(response.body)
|
17
17
|
end
|
18
18
|
|
19
19
|
def self.changed_users(from_date: nil)
|
20
20
|
params = { dateFrom: from_date }.reject { |_, v| v.nil? }
|
21
|
-
response = send_get(
|
21
|
+
response = send_get('subscribeToUpdates/changedUsers/getList', params)
|
22
22
|
|
23
23
|
Response::ChangedUsersResponse.from_json(response.body)
|
24
24
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative '../../response/organization_response'
|
4
4
|
|
5
5
|
module ONEAccess
|
6
6
|
module API
|
7
7
|
module V1_1
|
8
8
|
class Organizations < Base
|
9
|
-
api_path
|
9
|
+
api_path '/organizations'
|
10
10
|
|
11
11
|
def self.get(id:)
|
12
12
|
resp = send_get("get/#{id}")
|
@@ -1,28 +1,28 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
4
|
-
require_relative
|
5
|
-
require_relative
|
3
|
+
require_relative '../../response/industries_response'
|
4
|
+
require_relative '../../response/countries_response'
|
5
|
+
require_relative '../../response/contributors_response'
|
6
6
|
|
7
7
|
module ONEAccess
|
8
8
|
module API
|
9
9
|
module V1_1
|
10
10
|
class References < Base
|
11
|
-
api_path
|
11
|
+
api_path '/references'
|
12
12
|
|
13
13
|
class << self
|
14
|
-
def industries(sort_by:
|
14
|
+
def industries(sort_by: 'Id', is_ascending: false, keyword: '', page_number: 0, page_size: 20)
|
15
15
|
query = build_query(sort_by, is_ascending, keyword, page_number, page_size)
|
16
16
|
|
17
|
-
resp = send_get(
|
17
|
+
resp = send_get('industries', Query: query.to_json)
|
18
18
|
|
19
19
|
Response::IndustriesResponse.from_json(resp.body)
|
20
20
|
end
|
21
21
|
|
22
|
-
def countries(sort_by:
|
22
|
+
def countries(sort_by: 'Id', is_ascending: false, keyword: '', page_number: 0, page_size: 20)
|
23
23
|
query = build_query(sort_by, is_ascending, keyword, page_number, page_size)
|
24
24
|
|
25
|
-
resp = send_get(
|
25
|
+
resp = send_get('countries', Query: query.to_json)
|
26
26
|
|
27
27
|
Response::CountriesResponse.from_json(resp.body)
|
28
28
|
end
|
@@ -35,7 +35,7 @@ module ONEAccess
|
|
35
35
|
IsAscending: is_ascending,
|
36
36
|
Keyword: keyword,
|
37
37
|
PageNumber: page_number,
|
38
|
-
PageSize: page_size
|
38
|
+
PageSize: page_size,
|
39
39
|
}
|
40
40
|
end
|
41
41
|
end
|
@@ -1,21 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative '../../response/research_document_response'
|
4
4
|
|
5
5
|
module ONEAccess
|
6
6
|
module API
|
7
7
|
module V1_1
|
8
8
|
class Research < Base
|
9
|
-
api_path
|
9
|
+
api_path '/research'
|
10
10
|
|
11
11
|
def self.document(document_id:, first_name:, last_name:, email:)
|
12
|
-
resp = send_get(
|
13
|
-
|
12
|
+
resp = send_get(
|
13
|
+
'document', documentId: document_id, userFirstName: first_name,
|
14
|
+
userLastName: last_name, userEmail: email
|
15
|
+
)
|
14
16
|
Response::ResearchDocumentResponse.from_json(resp.body)
|
15
17
|
end
|
16
18
|
|
17
19
|
def self.document_by_user_id(document_id:, user_id:)
|
18
|
-
resp = send_get(
|
20
|
+
resp = send_get('documentByUserId', documentId: document_id, userId: user_id)
|
19
21
|
Response::ResearchDocumentResponse.from_json(resp.body)
|
20
22
|
end
|
21
23
|
end
|
@@ -1,20 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
4
|
-
require_relative
|
3
|
+
require_relative '../../response/companies_response'
|
4
|
+
require_relative '../../response/company_response'
|
5
5
|
|
6
6
|
module ONEAccess
|
7
7
|
module API
|
8
8
|
module V1_1
|
9
9
|
class Symbology < Base
|
10
|
-
api_path
|
10
|
+
api_path '/symbology'
|
11
11
|
|
12
12
|
def self.companies(is_private:, page_number: 0, page_size: 20)
|
13
|
-
resp = send_get(
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
resp = send_get(
|
14
|
+
'companies', Query: {
|
15
|
+
PageNumber: page_number,
|
16
|
+
PageSize: page_size,
|
17
|
+
IsPrivate: is_private,
|
18
|
+
}.to_json
|
19
|
+
)
|
18
20
|
Response::CompaniesResponse.from_json(resp.body)
|
19
21
|
end
|
20
22
|
|
@@ -1,15 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative '../../response/user_response'
|
4
4
|
|
5
5
|
module ONEAccess
|
6
6
|
module API
|
7
7
|
module V1_1
|
8
8
|
class User < Base
|
9
|
-
api_path
|
9
|
+
api_path '/user'
|
10
10
|
|
11
11
|
def self.get_by_email(first_name:, last_name:, email:)
|
12
|
-
resp = send_get(
|
12
|
+
resp = send_get('getbyemail', userFirstName: first_name, userLastName: last_name, userEmail: email)
|
13
13
|
Response::UserResponse.from_json(resp.body)
|
14
14
|
end
|
15
15
|
end
|
@@ -1,23 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require 'date'
|
4
4
|
|
5
|
-
require_relative
|
5
|
+
require_relative '../../response/buy_side_interactions_response'
|
6
6
|
|
7
7
|
module ONEAccess
|
8
8
|
module API
|
9
9
|
module V3_0
|
10
10
|
class Interactions < Base
|
11
11
|
module Types
|
12
|
-
RESEARCH_READERSHIP =
|
12
|
+
RESEARCH_READERSHIP = 'Research Readership'
|
13
13
|
end
|
14
14
|
|
15
|
-
DATE_FORMAT =
|
15
|
+
DATE_FORMAT = '%Y-%m-%d %H:%M'
|
16
16
|
DATE_FORMAT_REGEX = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}/
|
17
17
|
private_constant :DATE_FORMAT
|
18
18
|
private_constant :DATE_FORMAT_REGEX
|
19
19
|
|
20
|
-
api_path
|
20
|
+
api_path '/interactions'
|
21
21
|
|
22
22
|
class << self
|
23
23
|
def buy_side_interactions(
|
@@ -34,8 +34,8 @@ module ONEAccess
|
|
34
34
|
validate_date(end_date)
|
35
35
|
|
36
36
|
response = send_post(
|
37
|
-
|
38
|
-
payload(type, start_date, end_date, user_id, broker, company_name, email)
|
37
|
+
'buysideinteractions',
|
38
|
+
payload(type, start_date, end_date, user_id, broker, company_name, email),
|
39
39
|
)
|
40
40
|
|
41
41
|
Response::BuySideInteractionsResponse.from_json(response.body)
|
@@ -70,7 +70,7 @@ module ONEAccess
|
|
70
70
|
interaction_type: type,
|
71
71
|
broker: broker.to_s,
|
72
72
|
investor: company_name.to_s,
|
73
|
-
investor_attendees: [{ email: email }]
|
73
|
+
investor_attendees: [{ email: email }],
|
74
74
|
}
|
75
75
|
end
|
76
76
|
end
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
4
|
-
require_relative
|
3
|
+
require_relative '../../response/inducement_response'
|
4
|
+
require_relative '../../response/providers_users_details_response'
|
5
5
|
|
6
6
|
module ONEAccess
|
7
7
|
module API
|
8
8
|
module V3_0
|
9
9
|
class Providers < Base
|
10
|
-
api_path
|
10
|
+
api_path '/providers'
|
11
11
|
|
12
12
|
class << self
|
13
13
|
def inducements(recipient_user_id:, sender_email:, subject:, email_body:, receive_date:)
|
@@ -16,14 +16,13 @@ module ONEAccess
|
|
16
16
|
senderemail: sender_email,
|
17
17
|
subject: subject,
|
18
18
|
emailbody: email_body,
|
19
|
-
receivedate: receive_date
|
19
|
+
receivedate: receive_date,
|
20
20
|
}.reject { |_, v| v.nil? }
|
21
21
|
|
22
|
-
response = send_post(
|
22
|
+
response = send_post('inducements', inducement: params)
|
23
23
|
Response::InducementResponse.from_json(response.body)
|
24
24
|
end
|
25
25
|
|
26
|
-
# rubocop:disable Metrics/MethodLength
|
27
26
|
def users_details(
|
28
27
|
buy_side_org_id:,
|
29
28
|
provider_id:,
|
@@ -42,13 +41,12 @@ module ONEAccess
|
|
42
41
|
useremail: user_email,
|
43
42
|
userreverseentitlementstatus: user_reverse_entitlement_status,
|
44
43
|
vendorid: vendor_id,
|
45
|
-
reverseentitlementstatus: reverse_entitlement_status
|
44
|
+
reverseentitlementstatus: reverse_entitlement_status,
|
46
45
|
}.compact!
|
47
46
|
|
48
47
|
resp = send_get("GetProviderUserDetails?providerid=#{comma_separated_values(provider_id)}", params)
|
49
48
|
Response::ProvidersUsersDetailsResponse.from_json(resp.body)
|
50
49
|
end
|
51
|
-
# rubocop:enable Metrics/MethodLength
|
52
50
|
|
53
51
|
private
|
54
52
|
|
@@ -59,11 +57,11 @@ module ONEAccess
|
|
59
57
|
# [1,2$,3] => '1,2%24,3'
|
60
58
|
# '1,2$,3' => '1,2%24,3'
|
61
59
|
def comma_separated_values(values)
|
62
|
-
values = values.split(
|
60
|
+
values = values.split(',') if values.is_a?(String)
|
63
61
|
if values.is_a?(Array)
|
64
62
|
values = values.map do |value|
|
65
63
|
URI.encode_www_form_component(value)
|
66
|
-
end.join(
|
64
|
+
end.join(',')
|
67
65
|
end
|
68
66
|
values
|
69
67
|
end
|
@@ -1,47 +1,47 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
4
|
-
require_relative
|
5
|
-
require_relative
|
6
|
-
require_relative
|
3
|
+
require_relative '../../response/contributors_response'
|
4
|
+
require_relative '../../response/investors_response'
|
5
|
+
require_relative '../../request/contributors_request_handler'
|
6
|
+
require_relative '../../request/investors_request_handler'
|
7
7
|
|
8
8
|
module ONEAccess
|
9
9
|
module API
|
10
10
|
module V3_0
|
11
11
|
class References < Base
|
12
|
-
api_path
|
12
|
+
api_path '/references'
|
13
13
|
|
14
14
|
class << self
|
15
15
|
def contributors(contributor_names: nil, limit: 20, offset: 0)
|
16
16
|
params = {
|
17
17
|
contributor_names: contributor_names,
|
18
18
|
limit: limit,
|
19
|
-
offset: offset
|
19
|
+
offset: offset,
|
20
20
|
}.reject { |_, v| v.nil? }
|
21
21
|
|
22
|
-
resp = send_get(
|
22
|
+
resp = send_get('contributors', params)
|
23
23
|
|
24
24
|
Response::ContributorsResponse.from_json(resp.body)
|
25
25
|
end
|
26
26
|
|
27
27
|
def contributors_list
|
28
|
-
Request::ContributorsRequestHandler.new(url: api_url(
|
28
|
+
Request::ContributorsRequestHandler.new(url: api_url('contributors'))
|
29
29
|
end
|
30
30
|
|
31
31
|
def investors(investor_names: nil, limit: 20, offset: 0)
|
32
32
|
params = {
|
33
33
|
investor_names: investor_names,
|
34
34
|
limit: limit,
|
35
|
-
offset: offset
|
35
|
+
offset: offset,
|
36
36
|
}.reject { |_, v| v.nil? }
|
37
37
|
|
38
|
-
resp = send_get(
|
38
|
+
resp = send_get('investors', params)
|
39
39
|
|
40
40
|
Response::InvestorsResponse.from_json(resp.body)
|
41
41
|
end
|
42
42
|
|
43
43
|
def investors_list
|
44
|
-
Request::InvestorsRequestHandler.new(url: api_url(
|
44
|
+
Request::InvestorsRequestHandler.new(url: api_url('investors'))
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require 'logger'
|
4
4
|
|
5
5
|
module ONEAccess
|
6
6
|
class Configuration
|
7
|
-
DEFAULT_BASE_URL
|
8
|
-
DEFAULT_BASE_V1_1_PATH =
|
9
|
-
DEFAULT_BASE_V3_0_PATH =
|
7
|
+
DEFAULT_BASE_URL = 'http://ws.oneaccess.io'
|
8
|
+
DEFAULT_BASE_V1_1_PATH = '/v1.1'
|
9
|
+
DEFAULT_BASE_V3_0_PATH = '/v3.0'
|
10
10
|
|
11
11
|
class << self
|
12
12
|
attr_accessor :base_url
|
@@ -24,8 +24,8 @@ module ONEAccess
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def reset!
|
27
|
-
self.base_url
|
28
|
-
self.api_key
|
27
|
+
self.base_url = DEFAULT_BASE_URL
|
28
|
+
self.api_key = nil
|
29
29
|
self.master_api_key = nil
|
30
30
|
end
|
31
31
|
|