ecoportal-api-v2 0.8.31 → 0.8.32

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f7fdd84d3767ffc6a9a5adfe976ad4a485754c076475d01da46877aa38e01d65
4
- data.tar.gz: 8c775abd99edba549b7b8abe049ac06c631005671b972a9340795857b378d39a
3
+ metadata.gz: 61f3db1a50844d2f5ca194ff29939ed8daa393a6d3596e50a670ebc0f99e58db
4
+ data.tar.gz: b39bd03de67e23d12a48e12fdc19de1b33d131a1c4bec1aa193bf35fcbdc1035
5
5
  SHA512:
6
- metadata.gz: a4cc041705a2ac1e2ebe6eaaf7cc30fe79b780a1b5dc397bb1526fe0112df0a050d07452100e0174110e5cf30271ef1b3ddbb4f8b866c66824755c6f6bd287ad
7
- data.tar.gz: 1bdb9cd3ff3cf0b64f282f4be9ec372c276c8deee7b47b8a142eab20069c2ef072966b87a1a1c9047e01a54895354bd7e2a9a404215eabf6bbc689641297b8d4
6
+ metadata.gz: fba38418ad4ed3febd3859f0d4d096d75f079aa1e7abc745ca76a7deb5479de93ab5fecede2954646691e1aa17ee66348e04a8f349d2f8800f06ca36e76efa28
7
+ data.tar.gz: dcfad6f62286db5b028d3ab1b29b29a0f34c04c4a8d73d2cdc01c060601d92e678d6e51f96a4ce6caa22e10d9f3bb36ec97dc8f9fef4b894c5c52ba5332e388a
data/CHANGELOG.md CHANGED
@@ -1,27 +1,46 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
- ## [0.8.31] - 2022-08-xx
4
+ ## [0.8.33] - 2022-09-xx
5
5
 
6
6
  ### Added
7
- - `Ecoportal::API:V2::Common::Content::ClassHelpers.uid` to generate a random uid
7
+ ### Changed
8
+ ### Fixed
9
+
10
+
11
+ ## [0.8.32] - 2022-09-19
12
+
13
+ ### Added
14
+ - `Ecoportal::API::V2::Pages::PageCreateResponse` to wrap the response on creation
15
+
16
+ ### Changed
17
+ - `Ecoportal::API::V2::Pages#create` to rather return a `PageCreateResponse`
18
+
19
+ ### Fixed
20
+ - `Ecoportal::API::V2::Pages#create` to make sure new page with no changes can be created.
21
+
22
+
23
+ ## [0.8.31] - 2022-09-15
24
+
25
+ ### Added
26
+ - `Ecoportal::API::Common::Content::ClassHelpers.uid` to generate a random uid
8
27
 
9
28
  ### Changed
10
29
  - added **inheritable attributes** to
11
- - `Ecoportal::API:V2::Common::Content::ArrayModel` (:order_matteres, :uniq)
12
- - `Ecoportal::API:V2::Common::Content::CollectionModel` (klass, :order_matters, :order_key, :items_key, :new_item)
13
- - `Ecoportal::API:V2::Common::Content::DoubleModel` (:key)
14
- - moved `SecureRandom` dependency to `Ecoportal::API:V2::Common::Content::ClassHelpers`
30
+ - `Ecoportal::API::Common::Content::ArrayModel` (:order_matteres, :uniq)
31
+ - `Ecoportal::API::Common::Content::CollectionModel` (klass, :order_matters, :order_key, :items_key, :new_item)
32
+ - `Ecoportal::API::Common::Content::DoubleModel` (:key)
33
+ - moved `SecureRandom` dependency to `Ecoportal::API::Common::Content::ClassHelpers`
15
34
 
16
35
  ### Fixed
17
36
  - `Ecoportal::API::V2::Page::Component::SelectionOption#numeric!` fix conversion
18
- - `Ecoportal::API:V2::Common::Content::ClassHelpers`, `new_class`
37
+ - `Ecoportal::API::Common::Content::ClassHelpers`, `new_class`
19
38
  - **Added** parameter `namespace` (default: the class `inherits` parameter): it's purpose is to define the namespace where the new class will sit
20
39
  - **Fixed** also the namespace where the new class constant will sit (it was using always the source class `self`)
21
40
  - **Improved** `name` parameter to have a default value that is randomized. This is useful when we just want to do something like `SomeClass.new_class`, where the name of the new class doesn't really matter.
22
41
  - **Fixed** lost reference of class resolvers when using `embeds_many`
23
- - `Ecoportal::API:V2::Common::Content::ClassHelpers`, `resolve_class` accepts now a `Hash` with `key` referrer class, and `value` any of the previously accepted ones (i.e. `Symbol` or `String`). To this purpose, `source_class` parameter has been added.
24
- - This has been natively wrapped in `Ecoportal::API:V2::Common::Content::DoubleModel.embeds_many`, as it naturally shares the `class_resolver` with a third party class that loses the reference.
42
+ - `Ecoportal::API::Common::Content::ClassHelpers`, `resolve_class` accepts now a `Hash` with `key` referrer class, and `value` any of the previously accepted ones (i.e. `Symbol` or `String`). To this purpose, `source_class` parameter has been added.
43
+ - This has been natively wrapped in `Ecoportal::API::Common::Content::DoubleModel.embeds_many`, as it naturally shares the `class_resolver` with a third party class that loses the reference.
25
44
 
26
45
  ## [0.8.30] - 2022-07-11
27
46
 
@@ -0,0 +1,13 @@
1
+ module Ecoportal
2
+ module API
3
+ class V2
4
+ class Pages
5
+ # @attr_reader page_id [String] the `id` of the new ooze.
6
+ # @attr_reader active_stage_id [String] the active stage `id` of the new ooze.
7
+ class PageCreateResponse < Common::Content::DoubleModel
8
+ passthrough :page_id, :active_stage_id
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -9,6 +9,7 @@ module Ecoportal
9
9
 
10
10
  class_resolver :stages_class, "Ecoportal::API::V2::Pages::Stages"
11
11
  class_resolver :page_class, "Ecoportal::API::V2::Page"
12
+ class_resolver :create_page_response_class, "Ecoportal::API::V2::Pages::PageCreateResponse"
12
13
 
13
14
  attr_reader :client
14
15
 
@@ -75,9 +76,20 @@ module Ecoportal
75
76
  # @param from [String, Hash, Page] template or `id` of the template
76
77
  # @return [Response] an object with the api response.
77
78
  def create(doc, from:)
78
- body = get_body(doc)
79
79
  id = get_id(from)
80
- client.post("/pages", data: body, params: {template_id: id})
80
+ body = get_body(doc).tap do |hash|
81
+ unless hash["page"]
82
+ hash["page"] = {
83
+ "id" => "111111111111111111111111",
84
+ "operation" => "changed",
85
+ "data" => {"patch_ver" => 0}
86
+ }
87
+ end
88
+ end
89
+ response = client.post("/pages", data: body, params: {template_id: id})
90
+ wrapped = Common::Content::WrappedResponse.new(response, create_page_response_class)
91
+ return wrapped.result if wrapped.success?
92
+ raise "Could not create page from template #{id} - Error #{response.status}: #{response.body}"
81
93
  end
82
94
 
83
95
  private
@@ -93,3 +105,4 @@ end
93
105
 
94
106
  require 'ecoportal/api/v2/page'
95
107
  require 'ecoportal/api/v2/pages/stages'
108
+ require 'ecoportal/api/v2/pages/page_create_response'
@@ -1,5 +1,5 @@
1
1
  module Ecoportal
2
2
  module API
3
- GEM2_VERSION = "0.8.31"
3
+ GEM2_VERSION = "0.8.32"
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.31
4
+ version: 0.8.32
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-14 00:00:00.000000000 Z
11
+ date: 2022-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -231,6 +231,7 @@ files:
231
231
  - lib/ecoportal/api/v2/page/stage.rb
232
232
  - lib/ecoportal/api/v2/page/stages.rb
233
233
  - lib/ecoportal/api/v2/pages.rb
234
+ - lib/ecoportal/api/v2/pages/page_create_response.rb
234
235
  - lib/ecoportal/api/v2/pages/page_stage.rb
235
236
  - lib/ecoportal/api/v2/pages/stages.rb
236
237
  - lib/ecoportal/api/v2/people.rb