ecoportal-api 0.8.5 → 0.9.2
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/.gitignore +20 -20
- data/.rspec +3 -3
- data/.rubocop.yml +55 -55
- data/.travis.yml +5 -5
- data/.yardopts +10 -10
- data/CHANGELOG.md +257 -236
- data/Gemfile +6 -6
- data/LICENSE +21 -21
- data/README.md +34 -34
- data/Rakefile +27 -27
- data/bin/console +14 -14
- data/bin/setup +8 -8
- data/ecoportal-api.gemspec +36 -36
- data/lib/ecoportal/api/common/base_class.rb +33 -29
- data/lib/ecoportal/api/common/base_model.rb +195 -177
- data/lib/ecoportal/api/common/batch_operation.rb +119 -119
- data/lib/ecoportal/api/common/batch_response.rb +34 -34
- data/lib/ecoportal/api/common/client.rb +198 -196
- data/lib/ecoportal/api/common/doc_helpers.rb +29 -29
- data/lib/ecoportal/api/common/elastic_apm_integration.rb +112 -112
- data/lib/ecoportal/api/common/hash_diff.rb +41 -41
- data/lib/ecoportal/api/common/logging.rb +12 -12
- data/lib/ecoportal/api/common/response.rb +31 -31
- data/lib/ecoportal/api/common/wrapped_response.rb +54 -54
- data/lib/ecoportal/api/common.rb +18 -18
- data/lib/ecoportal/api/errors/base.rb +8 -8
- data/lib/ecoportal/api/errors/time_out.rb +8 -8
- data/lib/ecoportal/api/errors.rb +9 -9
- data/lib/ecoportal/api/internal/account.rb +99 -100
- data/lib/ecoportal/api/internal/login_provider.rb +9 -9
- data/lib/ecoportal/api/internal/login_providers.rb +33 -33
- data/lib/ecoportal/api/internal/people.rb +14 -14
- data/lib/ecoportal/api/internal/permissions.rb +14 -13
- data/lib/ecoportal/api/internal/person.rb +101 -53
- data/lib/ecoportal/api/internal/person_details.rb +9 -9
- data/lib/ecoportal/api/internal/person_schema.rb +10 -10
- data/lib/ecoportal/api/internal/person_schemas.rb +11 -11
- data/lib/ecoportal/api/internal/policy_group.rb +9 -9
- data/lib/ecoportal/api/internal/policy_groups.rb +32 -32
- data/lib/ecoportal/api/internal/preferences.rb +31 -31
- data/lib/ecoportal/api/internal/schema_field.rb +8 -8
- data/lib/ecoportal/api/internal/schema_field_value.rb +8 -8
- data/lib/ecoportal/api/internal.rb +31 -31
- data/lib/ecoportal/api/logger.rb +62 -62
- data/lib/ecoportal/api/v1/people.rb +218 -218
- data/lib/ecoportal/api/v1/person.rb +138 -135
- data/lib/ecoportal/api/v1/person_details.rb +94 -82
- data/lib/ecoportal/api/v1/person_schema.rb +53 -53
- data/lib/ecoportal/api/v1/person_schemas.rb +48 -48
- data/lib/ecoportal/api/v1/schema_field.rb +34 -34
- data/lib/ecoportal/api/v1/schema_field_value.rb +65 -65
- data/lib/ecoportal/api/v1.rb +49 -49
- data/lib/ecoportal/api/version.rb +5 -5
- data/lib/ecoportal/api.rb +16 -16
- metadata +3 -3
@@ -1,31 +1,31 @@
|
|
1
|
-
module Ecoportal
|
2
|
-
module API
|
3
|
-
class Internal
|
4
|
-
class Preferences < Common::BaseModel
|
5
|
-
passthrough :kiosk_enabled, :kiosk_workflow_message, :kiosk_create_button_label,
|
6
|
-
:kiosk_create_button_help, :kiosk_return_button_label, :kiosk_return_button_help,
|
7
|
-
:kiosk_dashboard_button_label, :kiosk_dashboard_button_help
|
8
|
-
|
9
|
-
[
|
10
|
-
:show_sidebar,
|
11
|
-
:show_shortcuts,
|
12
|
-
:show_coming_soon,
|
13
|
-
:show_recently_visited_forms,
|
14
|
-
:show_tasks,
|
15
|
-
:show_task_bubbles
|
16
|
-
].map(&:to_s).each do |field|
|
17
|
-
define_method(field) do
|
18
|
-
if doc.key?(field)
|
19
|
-
doc[field]
|
20
|
-
else
|
21
|
-
true
|
22
|
-
end
|
23
|
-
end
|
24
|
-
define_method("#{field}=") do |value|
|
25
|
-
doc[field] = !!value
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
1
|
+
module Ecoportal
|
2
|
+
module API
|
3
|
+
class Internal
|
4
|
+
class Preferences < Common::BaseModel
|
5
|
+
passthrough :kiosk_enabled, :kiosk_workflow_message, :kiosk_create_button_label,
|
6
|
+
:kiosk_create_button_help, :kiosk_return_button_label, :kiosk_return_button_help,
|
7
|
+
:kiosk_dashboard_button_label, :kiosk_dashboard_button_help
|
8
|
+
|
9
|
+
[
|
10
|
+
:show_sidebar,
|
11
|
+
:show_shortcuts,
|
12
|
+
:show_coming_soon,
|
13
|
+
:show_recently_visited_forms,
|
14
|
+
:show_tasks,
|
15
|
+
:show_task_bubbles
|
16
|
+
].map(&:to_s).each do |field|
|
17
|
+
define_method(field) do
|
18
|
+
if doc.key?(field)
|
19
|
+
doc[field]
|
20
|
+
else
|
21
|
+
true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
define_method("#{field}=") do |value|
|
25
|
+
doc[field] = !!value
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
module Ecoportal
|
2
|
-
module API
|
3
|
-
class Internal
|
4
|
-
class SchemaField < V1::SchemaField
|
5
|
-
end
|
6
|
-
end
|
7
|
-
end
|
8
|
-
end
|
1
|
+
module Ecoportal
|
2
|
+
module API
|
3
|
+
class Internal
|
4
|
+
class SchemaField < V1::SchemaField
|
5
|
+
end
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
module Ecoportal
|
2
|
-
module API
|
3
|
-
class Internal
|
4
|
-
class SchemaFieldValue < V1::SchemaFieldValue
|
5
|
-
end
|
6
|
-
end
|
7
|
-
end
|
8
|
-
end
|
1
|
+
module Ecoportal
|
2
|
+
module API
|
3
|
+
class Internal
|
4
|
+
class SchemaFieldValue < V1::SchemaFieldValue
|
5
|
+
end
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
@@ -1,31 +1,31 @@
|
|
1
|
-
module Ecoportal
|
2
|
-
module API
|
3
|
-
class Internal < V1
|
4
|
-
include Common::Logging
|
5
|
-
|
6
|
-
VERSION = "v0"
|
7
|
-
class_resolver :people_class, "Ecoportal::API::Internal::People"
|
8
|
-
class_resolver :person_schemas_class, "Ecoportal::API::Internal::PersonSchemas"
|
9
|
-
|
10
|
-
class_resolver :policy_groups_class, "Ecoportal::API::Internal::PolicyGroups"
|
11
|
-
class_resolver :login_providers_class, "Ecoportal::API::Internal::LoginProviders"
|
12
|
-
|
13
|
-
# Obtain specific object for policy groups api requests.
|
14
|
-
# @return [PolicyGroups] an instance object ready to make policy groups api requests.
|
15
|
-
def policy_groups
|
16
|
-
policy_groups_class.new(client)
|
17
|
-
end
|
18
|
-
|
19
|
-
# Obtain specific object for login providers api requests.
|
20
|
-
# @return [LoginProviders] an instance object ready to make login providers api requests.
|
21
|
-
def login_providers
|
22
|
-
login_providers_class.new(client)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
require 'ecoportal/api/internal/person_schemas'
|
29
|
-
require 'ecoportal/api/internal/policy_groups'
|
30
|
-
require 'ecoportal/api/internal/login_providers'
|
31
|
-
require 'ecoportal/api/internal/people'
|
1
|
+
module Ecoportal
|
2
|
+
module API
|
3
|
+
class Internal < V1
|
4
|
+
include Common::Logging
|
5
|
+
|
6
|
+
VERSION = "v0"
|
7
|
+
class_resolver :people_class, "Ecoportal::API::Internal::People"
|
8
|
+
class_resolver :person_schemas_class, "Ecoportal::API::Internal::PersonSchemas"
|
9
|
+
|
10
|
+
class_resolver :policy_groups_class, "Ecoportal::API::Internal::PolicyGroups"
|
11
|
+
class_resolver :login_providers_class, "Ecoportal::API::Internal::LoginProviders"
|
12
|
+
|
13
|
+
# Obtain specific object for policy groups api requests.
|
14
|
+
# @return [PolicyGroups] an instance object ready to make policy groups api requests.
|
15
|
+
def policy_groups
|
16
|
+
policy_groups_class.new(client)
|
17
|
+
end
|
18
|
+
|
19
|
+
# Obtain specific object for login providers api requests.
|
20
|
+
# @return [LoginProviders] an instance object ready to make login providers api requests.
|
21
|
+
def login_providers
|
22
|
+
login_providers_class.new(client)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
require 'ecoportal/api/internal/person_schemas'
|
29
|
+
require 'ecoportal/api/internal/policy_groups'
|
30
|
+
require 'ecoportal/api/internal/login_providers'
|
31
|
+
require 'ecoportal/api/internal/people'
|
data/lib/ecoportal/api/logger.rb
CHANGED
@@ -1,62 +1,62 @@
|
|
1
|
-
module Ecoportal
|
2
|
-
module API
|
3
|
-
class Logger
|
4
|
-
TIMESTAMP_PATTERN = "%Y-%m-%dT%H:%M:%S"
|
5
|
-
STDOUT_FORMAT_PROC = proc do |severity, datetime, progname, msg|
|
6
|
-
prefix = "%5s > " % severity
|
7
|
-
msg.lines.map.with_index do |line, idx|
|
8
|
-
if idx.zero?
|
9
|
-
prefix + line.chomp
|
10
|
-
else
|
11
|
-
" "*prefix.length + line.chomp
|
12
|
-
end
|
13
|
-
end.join("\n")+"\n"
|
14
|
-
end
|
15
|
-
FILE_FORMAT_PROC = proc do |severity, datetime, progname, msg|
|
16
|
-
prefix = "%5s(%s) > " % [severity, datetime.strftime(TIMESTAMP_PATTERN)]
|
17
|
-
msg.lines.map.with_index do |line, idx|
|
18
|
-
if idx.zero?
|
19
|
-
prefix + line.chomp
|
20
|
-
else
|
21
|
-
" "*prefix.length + line.chomp
|
22
|
-
end
|
23
|
-
end.join("\n")+"\n"
|
24
|
-
end
|
25
|
-
|
26
|
-
attr_reader :console, :file
|
27
|
-
|
28
|
-
def initialize(
|
29
|
-
console_level: ::Logger::INFO,
|
30
|
-
file_level: ::Logger::DEBUG,
|
31
|
-
output_file: File.join(Dir.getwd, "API_Log-#{Time.now.strftime("%Y-%m-%dT%H%M")}.txt")
|
32
|
-
)
|
33
|
-
@console = make_stdout_logger(console_level)
|
34
|
-
@file = make_file_logger(file_level, output_file)
|
35
|
-
end
|
36
|
-
|
37
|
-
%w(unknown fatal error warn info debug).each do |type|
|
38
|
-
define_method(type) do |&block|
|
39
|
-
@console.send(type, &block)
|
40
|
-
@file&.send(type, &block)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
private
|
45
|
-
|
46
|
-
def make_stdout_logger(level)
|
47
|
-
::Logger.new(STDOUT).tap do |logger|
|
48
|
-
logger.formatter = STDOUT_FORMAT_PROC
|
49
|
-
logger.level = level
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
def make_file_logger(level, output_file)
|
54
|
-
return unless output_file
|
55
|
-
::Logger.new(File.open(output_file, "a")).tap do |logger|
|
56
|
-
logger.formatter = FILE_FORMAT_PROC
|
57
|
-
logger.level = level
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
1
|
+
module Ecoportal
|
2
|
+
module API
|
3
|
+
class Logger
|
4
|
+
TIMESTAMP_PATTERN = "%Y-%m-%dT%H:%M:%S"
|
5
|
+
STDOUT_FORMAT_PROC = proc do |severity, datetime, progname, msg|
|
6
|
+
prefix = "%5s > " % severity
|
7
|
+
msg.lines.map.with_index do |line, idx|
|
8
|
+
if idx.zero?
|
9
|
+
prefix + line.chomp
|
10
|
+
else
|
11
|
+
" "*prefix.length + line.chomp
|
12
|
+
end
|
13
|
+
end.join("\n")+"\n"
|
14
|
+
end
|
15
|
+
FILE_FORMAT_PROC = proc do |severity, datetime, progname, msg|
|
16
|
+
prefix = "%5s(%s) > " % [severity, datetime.strftime(TIMESTAMP_PATTERN)]
|
17
|
+
msg.lines.map.with_index do |line, idx|
|
18
|
+
if idx.zero?
|
19
|
+
prefix + line.chomp
|
20
|
+
else
|
21
|
+
" "*prefix.length + line.chomp
|
22
|
+
end
|
23
|
+
end.join("\n")+"\n"
|
24
|
+
end
|
25
|
+
|
26
|
+
attr_reader :console, :file
|
27
|
+
|
28
|
+
def initialize(
|
29
|
+
console_level: ::Logger::INFO,
|
30
|
+
file_level: ::Logger::DEBUG,
|
31
|
+
output_file: File.join(Dir.getwd, "API_Log-#{Time.now.strftime("%Y-%m-%dT%H%M")}.txt")
|
32
|
+
)
|
33
|
+
@console = make_stdout_logger(console_level)
|
34
|
+
@file = make_file_logger(file_level, output_file)
|
35
|
+
end
|
36
|
+
|
37
|
+
%w(unknown fatal error warn info debug).each do |type|
|
38
|
+
define_method(type) do |&block|
|
39
|
+
@console.send(type, &block)
|
40
|
+
@file&.send(type, &block)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def make_stdout_logger(level)
|
47
|
+
::Logger.new(STDOUT).tap do |logger|
|
48
|
+
logger.formatter = STDOUT_FORMAT_PROC
|
49
|
+
logger.level = level
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def make_file_logger(level, output_file)
|
54
|
+
return unless output_file
|
55
|
+
::Logger.new(File.open(output_file, "a")).tap do |logger|
|
56
|
+
logger.formatter = FILE_FORMAT_PROC
|
57
|
+
logger.level = level
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|