ecoportal-api-v2 0.8.6 → 0.8.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +73 -28
  3. data/bin/console +1 -1
  4. data/ecoportal-api-v2.gemspec +5 -5
  5. data/lib/ecoportal/api-v2.rb +2 -2
  6. data/lib/ecoportal/api/common.v2.rb +8 -0
  7. data/lib/ecoportal/api/common/content.rb +1 -0
  8. data/lib/ecoportal/api/common/content/array_model.rb +8 -6
  9. data/lib/ecoportal/api/common/content/collection_model.rb +45 -20
  10. data/lib/ecoportal/api/common/content/double_model.rb +98 -9
  11. data/lib/ecoportal/api/common/content/hash_diff_patch.rb +44 -22
  12. data/lib/ecoportal/api/common/content/model_helpers.rb +36 -0
  13. data/lib/ecoportal/api/v2/page.rb +15 -2
  14. data/lib/ecoportal/api/v2/page/component.rb +44 -10
  15. data/lib/ecoportal/api/v2/page/component/action.rb +17 -8
  16. data/lib/ecoportal/api/v2/page/component/action_field.rb +37 -2
  17. data/lib/ecoportal/api/v2/page/component/chart_field.rb +43 -5
  18. data/lib/ecoportal/api/v2/page/component/chart_field/benchmark.rb +30 -0
  19. data/lib/ecoportal/api/v2/page/component/chart_field/config.rb +23 -0
  20. data/lib/ecoportal/api/v2/page/component/chart_field/frequency.rb +3 -4
  21. data/lib/ecoportal/api/v2/page/component/chart_field/heatmap.rb +1 -3
  22. data/lib/ecoportal/api/v2/page/component/chart_field/indicator.rb +4 -5
  23. data/lib/ecoportal/api/v2/page/component/chart_field/multiseries.rb +3 -5
  24. data/lib/ecoportal/api/v2/page/component/chart_field/sankey.rb +1 -3
  25. data/lib/ecoportal/api/v2/page/component/chart_field/serie.rb +3 -4
  26. data/lib/ecoportal/api/v2/page/component/chart_field/series_config.rb +5 -7
  27. data/lib/ecoportal/api/v2/page/component/chart_fr_field.rb +7 -5
  28. data/lib/ecoportal/api/v2/page/component/checklist_field.rb +1 -1
  29. data/lib/ecoportal/api/v2/page/component/checklist_item.rb +7 -5
  30. data/lib/ecoportal/api/v2/page/component/date_field.rb +71 -4
  31. data/lib/ecoportal/api/v2/page/component/file.rb +14 -3
  32. data/lib/ecoportal/api/v2/page/component/files_field.rb +37 -1
  33. data/lib/ecoportal/api/v2/page/component/gauge_field.rb +2 -2
  34. data/lib/ecoportal/api/v2/page/component/gauge_stop.rb +5 -5
  35. data/lib/ecoportal/api/v2/page/component/geo_coordinates.rb +13 -0
  36. data/lib/ecoportal/api/v2/page/component/geo_field.rb +4 -1
  37. data/lib/ecoportal/api/v2/page/component/image.rb +2 -1
  38. data/lib/ecoportal/api/v2/page/component/images_field.rb +57 -1
  39. data/lib/ecoportal/api/v2/page/component/number_field.rb +1 -0
  40. data/lib/ecoportal/api/v2/page/component/people_field.rb +117 -7
  41. data/lib/ecoportal/api/v2/page/component/people_viewable_field.rb +14 -0
  42. data/lib/ecoportal/api/v2/page/component/plain_text_field.rb +34 -2
  43. data/lib/ecoportal/api/v2/page/component/reference_field.rb +32 -3
  44. data/lib/ecoportal/api/v2/page/component/selection_field.rb +65 -7
  45. data/lib/ecoportal/api/v2/page/component/selection_option.rb +16 -5
  46. data/lib/ecoportal/api/v2/page/component/signature_field.rb +3 -2
  47. data/lib/ecoportal/api/v2/page/component/tag_field.rb +31 -1
  48. data/lib/ecoportal/api/v2/page/components.rb +8 -3
  49. data/lib/ecoportal/api/v2/page/permission_flags.rb +67 -0
  50. data/lib/ecoportal/api/v2/page/permit.rb +15 -0
  51. data/lib/ecoportal/api/v2/page/section.rb +70 -9
  52. data/lib/ecoportal/api/v2/page/sections.rb +64 -6
  53. data/lib/ecoportal/api/v2/page/stage.rb +12 -4
  54. data/lib/ecoportal/api/v2/page/stages.rb +7 -7
  55. data/lib/ecoportal/api/v2/pages/page_stage.rb +3 -3
  56. data/lib/ecoportal/api/v2_version.rb +5 -0
  57. metadata +17 -10
  58. data/lib/ecoportal/api/common.rb +0 -18
  59. data/lib/ecoportal/api/v2/version.rb +0 -7
@@ -13,8 +13,9 @@ module Ecoportal
13
13
  end
14
14
  end
15
15
 
16
- passthrough :signed_by_id, :signed_by_name, :signature_url
17
- passdate :signature_updated_at
16
+ passthrough :signed_by_id, :signed_by_name, read_only: true
17
+ passthrough :signature_url, read_only: true
18
+ passdate :signature_updated_at, read_only: true
18
19
  passthrough :signature_content, :color
19
20
 
20
21
  end
@@ -4,8 +4,38 @@ module Ecoportal
4
4
  class Page
5
5
  class Component
6
6
  class TagField < Page::Component
7
- passthrough :single_select, :use_defaults
7
+ passboolean :single_select, :use_defaults
8
8
  passthrough :tag_tree_id, :button_text
9
+
10
+ # Quick config helper
11
+ # @param conf [Symbol, Array<Symbol>]
12
+ # - `:multiple` to allow multiple selection
13
+ # - `:single` to set to singular selection
14
+ # - `:default_tag` to prepopulate using users's `default_tag`
15
+ # - `:button_text` to define the button description
16
+ def configure(*conf)
17
+ conf.each_with_object([]) do |cnf, unused|
18
+ case cnf
19
+ when :single
20
+ self.single_select = true
21
+ when :multiple
22
+ self.single_select = false
23
+ when :default_tag
24
+ self.use_defaults = true
25
+ when Hash
26
+ supported = [:button_text]
27
+ unless (rest = hash_except(cnf.dup, *supported)).empty?
28
+ unused.push(rest)
29
+ end
30
+ if cnf.key?(:button_text) then self.button_text = cnf[:button_text] end
31
+ else
32
+ unused.push(cnf)
33
+ end
34
+ end.yield_self do |unused|
35
+ super(*unused)
36
+ end
37
+ end
38
+
9
39
  end
10
40
  end
11
41
  end
@@ -13,6 +13,12 @@ module Ecoportal
13
13
 
14
14
  order_matters = true
15
15
 
16
+ def get_by_id(id)
17
+ self.find do |comp|
18
+ comp.id == id
19
+ end
20
+ end
21
+
16
22
  def get_by_type(type)
17
23
  self.select do |comp|
18
24
  comp.type.downcase == type.to_s.strip.downcase
@@ -21,10 +27,9 @@ module Ecoportal
21
27
 
22
28
  def get_by_name(name, type: nil)
23
29
  pool = type ? get_by_type(type) : self
24
-
25
30
  pool.select do |comp|
26
- comp.label.to_s.strip.downcase == name.to_s.strip.downcase
27
- end.first
31
+ same_string?(comp.label, name)
32
+ end
28
33
  end
29
34
 
30
35
  def add(label:, type:)
@@ -0,0 +1,67 @@
1
+ module Ecoportal
2
+ module API
3
+ class V2
4
+ class Page
5
+ class PermissionFlags < Common::Content::DoubleModel
6
+ class << self
7
+ def new_doc
8
+ {
9
+ "can_restructure" => false,
10
+ "can_configure" => false,
11
+ "can_permission" => false,
12
+ "can_create_actions" => false,
13
+ "can_administrate_actions" => false,
14
+ "subscribed" => false,
15
+ "subscribed_to_tasks" => false
16
+ }
17
+ end
18
+ end
19
+
20
+ passboolean :can_restructure, :can_configure
21
+ passboolean :can_permission, :can_create_actions, :can_administrate_actions
22
+ passboolean :subscribed, :subscribed_to_tasks
23
+
24
+ def reset!
25
+ doc.merge!(self.class.new_doc)
26
+ end
27
+
28
+ # Quick config helper
29
+ # @param conf [Symbol, Array<Symbol>]
30
+ # - `:restructure`
31
+ # - `:configure`
32
+ # - `:can_permission`
33
+ # - `:create_actions`
34
+ # - `:admin_actions`
35
+ # - `:subscribed`
36
+ # - `:subscribed_to_tasks`
37
+ def configure(*conf)
38
+ conf.each_with_object([]) do |cnf, unused|
39
+ case cnf
40
+ when :restructure
41
+ self.can_restructure = true
42
+ when :configure
43
+ self.can_configure = true
44
+ when :can_permission
45
+ self.can_permission = true
46
+ when :create_actions
47
+ self.can_create_actions = true
48
+ when :admin_actions
49
+ self.can_administrate_actions = true
50
+ when :subscribed
51
+ self.subscribed = true
52
+ when :subscribed_to_tasks
53
+ self.subscribed_to_tasks = true
54
+ else
55
+ unused.push(cnf)
56
+ end
57
+ end.yield_self do |unused|
58
+ raise "Unknown configuaration options #{unused}" unless unused.empty?
59
+ end
60
+
61
+ end
62
+
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,15 @@
1
+ module Ecoportal
2
+ module API
3
+ class V2
4
+ class Page
5
+ class Permit < Common::Content::DoubleModel
6
+ passkey :id
7
+ passforced :patch_ver, default: 1
8
+ passthrough :user_id, :user_name
9
+ passthrough :editable, :flags
10
+ embeds_one :flags, klass: "Ecoportal::API::V2::Page::PermissionFlags"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -6,9 +6,9 @@ module Ecoportal
6
6
  class << self
7
7
  def new_doc(split: false)
8
8
  {
9
- "id" => new_uuid,
10
- "type" => split ? "split" : "content",
11
- "weight" => 9999
9
+ "id" => new_uuid,
10
+ "type" => split ? "split" : "content",
11
+ "weight" => 800
12
12
  }.tap do |out|
13
13
  component_ids = if split
14
14
  {
@@ -26,10 +26,11 @@ module Ecoportal
26
26
  end
27
27
 
28
28
  passkey :id
29
- passthrough :patch_ver, :weight, :type
29
+ passforced :patch_ver, default: 1
30
+ passthrough :weight, :type
30
31
  passthrough :heading, :left_heading, :right_heading
31
32
  passarray :component_ids, :left_component_ids, :right_component_ids
32
- passthrough :minimized
33
+ passboolean :minimized
33
34
 
34
35
  def split?
35
36
  doc && doc["type"] == "split"
@@ -44,10 +45,70 @@ module Ecoportal
44
45
  all_component_ids.include?(id)
45
46
  end
46
47
 
47
- def components
48
- fld_ids = all_component_ids
49
- root.components.values_at(*fld_ids).select.with_index do |fld, i|
50
- puts "Warning: field #{id} points to missing field #{fld_ids[i]}" if !fld
48
+ def components(side: nil)
49
+ case side
50
+ when :right
51
+ components_right
52
+ when :left
53
+ components_left
54
+ when NilClass
55
+ components_by_id(*all_component_ids)
56
+ else
57
+ raise "Side should be one of [nil, :right, :left]. Given: #{side}"
58
+ end
59
+ end
60
+
61
+ def components_left
62
+ raise "You are trying to retrieve side components in a Split Section" unless split?
63
+ components_by_id(*left_component_ids)
64
+ end
65
+
66
+ def components_right
67
+ raise "You are trying to retrieve side components in a Split Section" unless split?
68
+ components_by_id(*right_component_ids)
69
+ end
70
+
71
+ # Adds `field` to the section
72
+ # @note
73
+ # - To the specified `side`, when split section (default `:left`)
74
+ # - To the end if `after` is not specified
75
+ # - If `after` is specified, it searches field
76
+ # - On the specific `side`, if specified (and split section)
77
+ # - And adds the `field` after it, when found, or at the end if `after` is not found
78
+ # @param field [Ecoportal::API::V2::Page::Component] the field to be added.
79
+ def add_component(field, after: nil, side: nil)
80
+ raise "field should be a Ecoportal::API::V2::Page::Component. Given: #{field.class}" unless field.is_a?(Ecoportal::API::V2::Page::Component)
81
+ if field.section == self
82
+ raise "Field with id '#{field.id}' already belongs to this section"
83
+ elsif sec = field.section
84
+ # Field belongs to another section
85
+ raise "Field with id '#{field.id}' belongs to section '#{sec.heading || "Unnamed"}' (id: '#{sec.id}')"
86
+ end
87
+
88
+ if split?
89
+ ids_ary = side == :right ? right_component_ids : left_component_ids
90
+ fields = components(side: side || :left)
91
+ else
92
+ ids_ary = component_ids
93
+ fields = components
94
+ end
95
+ if after
96
+ after_fld = fields.find do |fld|
97
+ found = nil
98
+ found ||= !!after if after.is_a?(Ecoportal::API::V2::Page::Component)
99
+ found ||= fld.id == after
100
+ found ||= same_string?(fld.label, after)
101
+ end
102
+ end
103
+ ids_ary.insert_one(field.id, after: after_fld&.id)
104
+ self
105
+ end
106
+
107
+ private
108
+
109
+ def components_by_id(*ids)
110
+ root.components.values_at(*ids).select.with_index do |fld, i|
111
+ puts "Warning: field id #{ids[i]} points to missing field" if !fld
51
112
  fld && (!block_given? || yield(fld))
52
113
  end
53
114
  end
@@ -7,26 +7,84 @@ module Ecoportal
7
7
 
8
8
  self.klass = :section_class
9
9
 
10
+ # Creates a new `section`
10
11
  def add(name: nil, split: false, pos: NOT_USED, before: NOT_USED, after: NOT_USED)
11
12
  sec_doc = section_class.new_doc(split: split)
12
- upsert!(sec_doc, pos: pos, before: before, after: after) do |section|
13
+ upsert!(sec_doc) do |section| #, pos: pos, before: before, after: after) do |section|
13
14
  section.heading = name
14
- if prev = previous_section(section)
15
- section.weight = prev.weight
15
+ if weight = scope_weight(pos: pos, before: before, after: after)
16
+ section.weight = weight
16
17
  end
18
+ fix_weights!
17
19
  yield(section) if block_given?
18
- #fix_weights! # a server bug prevents to set the weight of existing sections
19
20
  end
20
21
  end
21
22
 
23
+ def get_by_type(type)
24
+ ordered.select do |sec|
25
+ sec.type == type
26
+ end
27
+ end
28
+
29
+ def get_by_heading(heading)
30
+ ordered.select do |sec|
31
+ value = heading == :unnamed ? nil : heading
32
+ same_string?(sec.heading, value)
33
+ end
34
+ end
35
+
36
+ # Gets all the sections between `sec1` and `sec2`
37
+ def between(sec1, sec2, included: false)
38
+ sorted_secs = ordered
39
+ pos1 = (sec1 = to_section(sec1)) && sorted_secs.index(sec1)
40
+ pos2 = (sec2 = to_section(sec2)) && sorted_secs.index(sec2)
41
+ if included
42
+ pos1 = pos1 ? pos1 : 0
43
+ pos2 = pos2 ? pos2 : -1
44
+ else
45
+ pos1 = pos1 ? (pos1 + 1) : 0
46
+ pos2 = pos2 ? (pos2 - 1) : -1
47
+ end
48
+ sorted_secs[pos1..pos2]
49
+ end
50
+
51
+ # Gets the sections ordered by `weight` (as they appear in the page)
22
52
  def ordered
23
- each_with_index.sort_by do |section, index|
53
+ self.sort_by.with_index do |section, index|
24
54
  (section.weight >= 9999) ? [index, index] : [section.weight, index]
25
- end.map(&:first)
55
+ end
26
56
  end
27
57
 
28
58
  private
29
59
 
60
+ def scope_weight(pos: NOT_USED, before: NOT_USED, after: NOT_USED)
61
+ case
62
+ when used_param?(pos)
63
+ if pos = to_section(pos)
64
+ pos.weight - 1
65
+ end
66
+ when used_param?(before)
67
+ if before = to_section(before)
68
+ before.weight - 1
69
+ end
70
+ when used_param?(after)
71
+ if after = to_section(after)
72
+ after.weight
73
+ end
74
+ end
75
+ end
76
+
77
+ def to_section(value)
78
+ case value
79
+ when Ecoportal::API::V2::Page::Section
80
+ value
81
+ when Numeric
82
+ ordered[value]
83
+ else
84
+ get_by_heading(value).first
85
+ end
86
+ end
87
+
30
88
  def fix_weights!
31
89
  ordered.each_with_index do |section, index|
32
90
  section.weight = index
@@ -4,10 +4,17 @@ module Ecoportal
4
4
  class Page
5
5
  class Stage < Common::Content::DoubleModel
6
6
  passkey :id
7
- passthrough :patch_ver
8
- passthrough :name
7
+ passforced :patch_ver, default: 1
8
+ passthrough :name, :ordering
9
9
  passarray :subtags, order_matters: false
10
10
  passarray :section_ids
11
+ passthrough :status
12
+ passboolean :complete, :lock_after_completion
13
+
14
+ embeds_many :permits, klass: "Ecoportal::API::V2::Page::Permit"
15
+ passboolean :disable_direct_permissions
16
+ passboolean :creator_enabled, :creator_editable
17
+ embeds_one :creator_flags, klass: "Ecoportal::API::V2::Page::PermissionFlags"
11
18
  passthrough :can
12
19
 
13
20
  def sections
@@ -18,8 +25,9 @@ module Ecoportal
18
25
  end.sort_by {|sec| sec.weight}
19
26
  end
20
27
 
21
- def attach_section(section)
22
- section_ids.insert_one(section.id)
28
+ def add_section(*secs)
29
+ secs.each {|sec| section_ids.insert_one(sec.id)}
30
+ self
23
31
  end
24
32
 
25
33
  end
@@ -8,16 +8,16 @@ module Ecoportal
8
8
  self.klass = :stage_class
9
9
 
10
10
  def get_by_name(name)
11
- find do |stage|
12
- stage.name.strip.downcase == name.to_s.strip.downcase
11
+ self.find do |stage|
12
+ same_string?(stage.name, name)
13
13
  end
14
14
  end
15
15
 
16
- def ordered_stages
17
- stages.each_with_index.sort_by do |stage, index|
18
- (stage.ordering >= 9999) ? [index, index] : [stage.ordering, index]
19
- end.map(&:first)
20
- end
16
+ #def ordered
17
+ # self.each_with_index.sort_by do |stage, index|
18
+ # (stage.ordering >= 9999) ? [index, index] : [stage.ordering, index]
19
+ # end.map(&:first)
20
+ #end
21
21
 
22
22
  end
23
23
  end
@@ -4,11 +4,11 @@ module Ecoportal
4
4
  class Pages
5
5
  class PageStage < V2::Page
6
6
  passthrough :mould_counter, :archive
7
- passthrough :task_priority, :state
7
+ passthrough :task_priority, :state, :status
8
8
  passthrough :votes_enabled, :upvotes, :downvotes
9
9
 
10
- passarray :force_errors, :subtags, :permits, order_matters: false
11
- passthrough :evolution
10
+ embeds_many :permits, klass: "Ecoportal::API::V2::Page::Permit"
11
+ passarray :force_errors, :subtags, order_matters: false
12
12
  end
13
13
  end
14
14
  end
@@ -0,0 +1,5 @@
1
+ module Ecoportal
2
+ module API
3
+ GEM2_VERSION = "0.8.10"
4
+ end
5
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecoportal-api-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.6
4
+ version: 0.8.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-23 00:00:00.000000000 Z
11
+ date: 2021-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.2.11
19
+ version: 2.2.17
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '2.3'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 2.2.11
29
+ version: 2.2.17
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '2.3'
@@ -114,14 +114,14 @@ dependencies:
114
114
  name: pry
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - "~>"
117
+ - - ">="
118
118
  - !ruby/object:Gem::Version
119
119
  version: '0.14'
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - "~>"
124
+ - - ">="
125
125
  - !ruby/object:Gem::Version
126
126
  version: '0.14'
127
127
  - !ruby/object:Gem::Dependency
@@ -130,7 +130,7 @@ dependencies:
130
130
  requirements:
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: 0.8.1
133
+ version: 0.8.3
134
134
  - - "<"
135
135
  - !ruby/object:Gem::Version
136
136
  version: '0.9'
@@ -140,7 +140,7 @@ dependencies:
140
140
  requirements:
141
141
  - - ">="
142
142
  - !ruby/object:Gem::Version
143
- version: 0.8.1
143
+ version: 0.8.3
144
144
  - - "<"
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0.9'
@@ -167,7 +167,7 @@ files:
167
167
  - bin/setup
168
168
  - ecoportal-api-v2.gemspec
169
169
  - lib/ecoportal/api-v2.rb
170
- - lib/ecoportal/api/common.rb
170
+ - lib/ecoportal/api/common.v2.rb
171
171
  - lib/ecoportal/api/common/content.rb
172
172
  - lib/ecoportal/api/common/content/array_model.rb
173
173
  - lib/ecoportal/api/common/content/class_helpers.rb
@@ -176,6 +176,7 @@ files:
176
176
  - lib/ecoportal/api/common/content/doc_helpers.rb
177
177
  - lib/ecoportal/api/common/content/double_model.rb
178
178
  - lib/ecoportal/api/common/content/hash_diff_patch.rb
179
+ - lib/ecoportal/api/common/content/model_helpers.rb
179
180
  - lib/ecoportal/api/common/content/string_digest.rb
180
181
  - lib/ecoportal/api/common/content/wrapped_response.rb
181
182
  - lib/ecoportal/api/v2.rb
@@ -184,6 +185,8 @@ files:
184
185
  - lib/ecoportal/api/v2/page/component/action.rb
185
186
  - lib/ecoportal/api/v2/page/component/action_field.rb
186
187
  - lib/ecoportal/api/v2/page/component/chart_field.rb
188
+ - lib/ecoportal/api/v2/page/component/chart_field/benchmark.rb
189
+ - lib/ecoportal/api/v2/page/component/chart_field/config.rb
187
190
  - lib/ecoportal/api/v2/page/component/chart_field/frequency.rb
188
191
  - lib/ecoportal/api/v2/page/component/chart_field/heatmap.rb
189
192
  - lib/ecoportal/api/v2/page/component/chart_field/indicator.rb
@@ -199,12 +202,14 @@ files:
199
202
  - lib/ecoportal/api/v2/page/component/files_field.rb
200
203
  - lib/ecoportal/api/v2/page/component/gauge_field.rb
201
204
  - lib/ecoportal/api/v2/page/component/gauge_stop.rb
205
+ - lib/ecoportal/api/v2/page/component/geo_coordinates.rb
202
206
  - lib/ecoportal/api/v2/page/component/geo_field.rb
203
207
  - lib/ecoportal/api/v2/page/component/image.rb
204
208
  - lib/ecoportal/api/v2/page/component/images_field.rb
205
209
  - lib/ecoportal/api/v2/page/component/law_field.rb
206
210
  - lib/ecoportal/api/v2/page/component/number_field.rb
207
211
  - lib/ecoportal/api/v2/page/component/people_field.rb
212
+ - lib/ecoportal/api/v2/page/component/people_viewable_field.rb
208
213
  - lib/ecoportal/api/v2/page/component/plain_text_field.rb
209
214
  - lib/ecoportal/api/v2/page/component/reference_field.rb
210
215
  - lib/ecoportal/api/v2/page/component/rich_text_field.rb
@@ -213,6 +218,8 @@ files:
213
218
  - lib/ecoportal/api/v2/page/component/signature_field.rb
214
219
  - lib/ecoportal/api/v2/page/component/tag_field.rb
215
220
  - lib/ecoportal/api/v2/page/components.rb
221
+ - lib/ecoportal/api/v2/page/permission_flags.rb
222
+ - lib/ecoportal/api/v2/page/permit.rb
216
223
  - lib/ecoportal/api/v2/page/section.rb
217
224
  - lib/ecoportal/api/v2/page/sections.rb
218
225
  - lib/ecoportal/api/v2/page/stage.rb
@@ -227,7 +234,7 @@ files:
227
234
  - lib/ecoportal/api/v2/registers/stage_result.rb
228
235
  - lib/ecoportal/api/v2/registers/stages_result.rb
229
236
  - lib/ecoportal/api/v2/registers/template.rb
230
- - lib/ecoportal/api/v2/version.rb
237
+ - lib/ecoportal/api/v2_version.rb
231
238
  homepage: https://www.ecoportal.com
232
239
  licenses:
233
240
  - MIT