ecoportal-api-v2 0.8.10 → 0.8.14

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.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +80 -1
  3. data/lib/ecoportal/api/common/content/array_model.rb +10 -17
  4. data/lib/ecoportal/api/common/content/collection_model.rb +23 -6
  5. data/lib/ecoportal/api/common/content/doc_helpers.rb +2 -2
  6. data/lib/ecoportal/api/common/content/double_model.rb +15 -5
  7. data/lib/ecoportal/api/common/content/hash_diff_patch.rb +1 -1
  8. data/lib/ecoportal/api/v2/page/component/action.rb +1 -1
  9. data/lib/ecoportal/api/v2/page/component/action_field.rb +3 -3
  10. data/lib/ecoportal/api/v2/page/component/checklist_field.rb +3 -3
  11. data/lib/ecoportal/api/v2/page/component/file.rb +1 -1
  12. data/lib/ecoportal/api/v2/page/component/files_field.rb +3 -3
  13. data/lib/ecoportal/api/v2/page/component/gauge_field.rb +3 -3
  14. data/lib/ecoportal/api/v2/page/component/selection_field.rb +3 -3
  15. data/lib/ecoportal/api/v2/page/component.rb +17 -0
  16. data/lib/ecoportal/api/v2/page/components.rb +24 -0
  17. data/lib/ecoportal/api/v2/page/force/binding.rb +54 -0
  18. data/lib/ecoportal/api/v2/page/force/bindings.rb +126 -0
  19. data/lib/ecoportal/api/v2/page/force.rb +34 -0
  20. data/lib/ecoportal/api/v2/page/forces.rb +103 -0
  21. data/lib/ecoportal/api/v2/page/permission_flags.rb +0 -2
  22. data/lib/ecoportal/api/v2/page/section.rb +77 -17
  23. data/lib/ecoportal/api/v2/page/sections.rb +36 -6
  24. data/lib/ecoportal/api/v2/page/stage.rb +39 -3
  25. data/lib/ecoportal/api/v2/page/stages.rb +9 -3
  26. data/lib/ecoportal/api/v2/page.rb +46 -1
  27. data/lib/ecoportal/api/v2/pages/page_stage.rb +51 -0
  28. data/lib/ecoportal/api/v2/pages.rb +3 -0
  29. data/lib/ecoportal/api/v2/registers/search_results.rb +13 -0
  30. data/lib/ecoportal/api/v2/registers.rb +15 -2
  31. data/lib/ecoportal/api/v2_version.rb +1 -1
  32. metadata +7 -2
@@ -9,6 +9,7 @@ module Ecoportal
9
9
 
10
10
  class_resolver :register_class, "Ecoportal::API::V2::Registers::Register"
11
11
  class_resolver :register_search_result_class, "Ecoportal::API::V2::Registers::PageResult"
12
+ class_resolver :register_search_results, "Ecoportal::API::V2::Registers::SearchResults"
12
13
 
13
14
  attr_reader :client
14
15
 
@@ -35,7 +36,12 @@ module Ecoportal
35
36
  # @param options [Hash] the search options
36
37
  # @option options [Hash<Symbol, String>] :query plain search (like the search box in register).
37
38
  # @option options [Hash<Symbol, Array<Object>>] :filters the set of filters.
39
+ # @option options [Boolean] if `true`, it only performs the first search and results `Ecoportal::API::V2::Registers::SearchResults`.
40
+ # @yield [result] something to do with search page-result.
41
+ # @yieldparam result [Ecoportal::V2::Registers::PageResult] a page result.
42
+ # @return [Ecoportal::API::V2::Registers, Ecoportal::API::V2::Registers::SearchResults]
38
43
  def search(register_id, options = {})
44
+ only_first = options.delete(:only_first)
39
45
  # supply a query string
40
46
  # or a filter array (copy/paste from dev tools in the browser)
41
47
  options = {query: nil, filters: []}.update(options)
@@ -49,6 +55,12 @@ module Ecoportal
49
55
  end
50
56
  end
51
57
 
58
+ if only_first
59
+ response = client.get("/registers/#{register_id}/search", params: options)
60
+ raise "Request failed - Status #{response.status}: #{response.body}" unless response.success?
61
+ return register_search_results.new(response.body["data"])
62
+ end
63
+
52
64
  cursor_id = nil
53
65
  results = 0
54
66
  loop do
@@ -70,8 +82,8 @@ module Ecoportal
70
82
  yield object
71
83
  end
72
84
 
73
- # break unless (cursor_id = data["cursor_id"])
74
- break if total == results
85
+ break if total <= results
86
+ break unless (cursor_id = data["cursor_id"])
75
87
  end
76
88
  self
77
89
  end
@@ -87,3 +99,4 @@ require 'ecoportal/api/v2/registers/register'
87
99
  require 'ecoportal/api/v2/registers/stage_result'
88
100
  require 'ecoportal/api/v2/registers/stages_result'
89
101
  require 'ecoportal/api/v2/registers/page_result'
102
+ require 'ecoportal/api/v2/registers/search_results'
@@ -1,5 +1,5 @@
1
1
  module Ecoportal
2
2
  module API
3
- GEM2_VERSION = "0.8.10"
3
+ GEM2_VERSION = "0.8.14"
4
4
  end
5
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.10
4
+ version: 0.8.14
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-08-22 00:00:00.000000000 Z
11
+ date: 2021-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -218,6 +218,10 @@ files:
218
218
  - lib/ecoportal/api/v2/page/component/signature_field.rb
219
219
  - lib/ecoportal/api/v2/page/component/tag_field.rb
220
220
  - lib/ecoportal/api/v2/page/components.rb
221
+ - lib/ecoportal/api/v2/page/force.rb
222
+ - lib/ecoportal/api/v2/page/force/binding.rb
223
+ - lib/ecoportal/api/v2/page/force/bindings.rb
224
+ - lib/ecoportal/api/v2/page/forces.rb
221
225
  - lib/ecoportal/api/v2/page/permission_flags.rb
222
226
  - lib/ecoportal/api/v2/page/permit.rb
223
227
  - lib/ecoportal/api/v2/page/section.rb
@@ -231,6 +235,7 @@ files:
231
235
  - lib/ecoportal/api/v2/registers.rb
232
236
  - lib/ecoportal/api/v2/registers/page_result.rb
233
237
  - lib/ecoportal/api/v2/registers/register.rb
238
+ - lib/ecoportal/api/v2/registers/search_results.rb
234
239
  - lib/ecoportal/api/v2/registers/stage_result.rb
235
240
  - lib/ecoportal/api/v2/registers/stages_result.rb
236
241
  - lib/ecoportal/api/v2/registers/template.rb