zaikio-warehouse 0.4.0 → 0.5.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f310846fe72df7bd8de12645904b0003639baf46a6d4bd2c6e9184d9473de048
4
- data.tar.gz: 4ae186c060caac1c23e58a3956d16daf7952e24281163bebbf7afd32df841351
3
+ metadata.gz: b27e4cb1d7c29e1f7066607d0ab7e7a4048c68a1a01a98fac834ce98511869eb
4
+ data.tar.gz: 1e9d184f6b06f1bc8f7e79a79223773892b750251209154b8e2738fe1ad31055
5
5
  SHA512:
6
- metadata.gz: dd780d08665a44085b9b64e6fe433aecefe2af419a678e84ab4cf14939e52f8a7f2f16a331bfc0f7b79f52adfa154c19e1438f66231148eb09accc1ead3751b3
7
- data.tar.gz: 6014c95bbbe775da513d7f22684aafb4498432e389b73bea8041d9c19c15a79e9afc133d6dac53df1afa4f78aa3bd695a72be9b505e7238147184dd7a72353c5
6
+ metadata.gz: 5b774df07a6af007f3213ccc2593d7b8a7cff6fc7f8c4ed23cf900adc8dcc997ff167bc51058a28c37de2da32a3e6d2d189373af939e5a3d2f12045e20ce667f
7
+ data.tar.gz: c6869a82225fb97df7d12736d8699519c2e3f979279e81f902441d8037ee56228dde49dcd01c53abc866b3329f5aabb3d012e45b47c1da2e2e889ef0fab66636
data/CHANGELOG.md CHANGED
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.5.0] - 2023-11-06
11
+
12
+ - Add support for worksteps and material requirements API
13
+
10
14
  ## [0.4.0] - 2023-07-06
11
15
 
12
16
  - Add `ConsumptionRequestTransfer` for new API
@@ -51,7 +55,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
51
55
  - Update and reuse `zaikio-client-helpers` logic to support `Zaikio::Client.with_token`
52
56
  - Initial release
53
57
 
54
- [Unreleased]: https://github.com/zaikio/zaikio-warehouse-ruby/compare/v0.4.0..HEAD
58
+ [Unreleased]: https://github.com/zaikio/zaikio-warehouse-ruby/compare/v0.5.0..HEAD
59
+ [0.4.0]: https://github.com/zaikio/zaikio-warehouse-ruby/compare/v0.4.0..v0.5.0
55
60
  [0.4.0]: https://github.com/zaikio/zaikio-warehouse-ruby/compare/v0.3.0..v0.4.0
56
61
  [0.3.0]: https://github.com/zaikio/zaikio-warehouse-ruby/compare/v0.2.5..v0.3.0
57
62
  [0.2.5]: https://github.com/zaikio/zaikio-warehouse-ruby/compare/v0.2.4..v0.2.5
@@ -16,6 +16,9 @@ module Zaikio
16
16
  has_one :storage_area, uri: nil, class_name: "Zaikio::Warehouse::StorageArea"
17
17
  has_one :person, uri: nil, class_name: "Zaikio::Warehouse::Person"
18
18
  has_one :consumption_request_cancelation, uri: nil, class_name: "Zaikio::Warehouse::ConsumptionRequestCancelation"
19
+ has_one :consumption, uri: nil, class_name: "Zaikio::Warehouse::Consumption"
20
+ has_one :operator, uri: nil, class_name: "Zaikio::Warehouse::Organization"
21
+ has_one :material_requirement, uri: nil, class_name: "Zaikio::Warehouse::MaterialRequirement"
19
22
  end
20
23
  end
21
24
  end
@@ -17,6 +17,7 @@ module Zaikio
17
17
  has_one :storage_area, uri: nil, class_name: "Zaikio::Warehouse::StorageArea"
18
18
  has_one :person, uri: nil, class_name: "Zaikio::Warehouse::Person"
19
19
  has_one :consumption_request, uri: nil, class_name: "Zaikio::Warehouse::ConsumptionRequest"
20
+ has_one :material_requirement, uri: nil, class_name: "Zaikio::Warehouse::MaterialRequirement"
20
21
  end
21
22
  end
22
23
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zaikio
4
+ module Warehouse
5
+ class MaterialRequirement < Base
6
+ include_root_in_json :material_requirement
7
+
8
+ uri "material_requirements(/:id)"
9
+
10
+ attributes :created_at, :updated_at, :reference, :reference_link,
11
+ :estimated_amount_in_base_unit, :planned_amount_in_base_unit,
12
+ :actual_amount_in_base_unit, :allocation_mode, :allocated_at,
13
+ :completed_at
14
+
15
+ has_one :operator, uri: nil, class_name: "Zaikio::Warehouse::Organization"
16
+ has_one :warehouse, uri: nil, class_name: "Zaikio::Warehouse::Warehouse"
17
+ has_one :workstep, uri: nil, class_name: "Zaikio::Warehouse::Workstep"
18
+ has_one :material, uri: nil, class_name: "Zaikio::Warehouse::Material"
19
+ has_many :open_consumption_requests, uri: nil, class_name: "Zaikio::Warehouse::ConsumptionRequest"
20
+ has_many :open_transfer_requests, uri: nil, class_name: "Zaikio::Warehouse::TransferRequest"
21
+ has_many :consumptions, uri: nil, class_name: "Zaikio::Warehouse::Consumption"
22
+ has_many :transfers, uri: nil, class_name: "Zaikio::Warehouse::Transfer"
23
+ has_many :deposits, uri: "material_requirements/:material_requirement_id/deposits",
24
+ class_name: "Zaikio::Warehouse::Deposit"
25
+
26
+ def deposit(params)
27
+ deposits.create(params)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zaikio
4
+ module Warehouse
5
+ class TransferRequest < Base
6
+ disable_http_methods :patch, :put
7
+ include_root_in_json :transfer_request
8
+
9
+ uri "transfer_requests(/:id)"
10
+
11
+ attributes :transfer_reference, :transfer_reference_link, :transfer_client, :transfer_subject, :amount,
12
+ :amount_in_base_unit, :completed, :canceled, :executed, :created_at, :updated_at
13
+
14
+ has_one :material, uri: nil, class_name: "Zaikio::Warehouse::Material"
15
+ has_one :sku, uri: nil, class_name: "Zaikio::Warehouse::SKU"
16
+ has_one :source, uri: nil, class_name: "Zaikio::Warehouse::StorageArea"
17
+ has_one :target, uri: nil, class_name: "Zaikio::Warehouse::StorageArea"
18
+ has_one :person, uri: nil, class_name: "Zaikio::Warehouse::Person"
19
+ has_one :transfer, uri: nil, class_name: "Zaikio::Warehouse::Transfer"
20
+ has_one :transfer_request_cancelation, uri: nil, class_name: "Zaikio::Warehouse::TransferRequestCancelation"
21
+ has_one :operator, uri: nil, class_name: "Zaikio::Warehouse::Organization"
22
+ has_one :material_requirement, uri: nil, class_name: "Zaikio::Warehouse::MaterialRequirement"
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zaikio
4
+ module Warehouse
5
+ class TransferRequestCancelation < Base
6
+ disable_http_methods :patch, :put, :delete
7
+ include_root_in_json :transfer_request_cancelation
8
+
9
+ uri "transfer_request_cancelations(/:id)"
10
+
11
+ attributes :cancelation_reference, :cancelation_reference_link, :cancelation_client,
12
+ :cancelation_subject, :amount, :amount_in_base_unit, :created_at, :updated_at
13
+
14
+ has_one :material, uri: nil, class_name: "Zaikio::Warehouse::Material"
15
+ has_one :sku, uri: nil, class_name: "Zaikio::Warehouse::SKU"
16
+ has_one :source_storage_area, uri: nil, class_name: "Zaikio::Warehouse::StorageArea"
17
+ has_one :target_storage_area, uri: nil, class_name: "Zaikio::Warehouse::StorageArea"
18
+ has_one :person, uri: nil, class_name: "Zaikio::Warehouse::Person"
19
+ has_one :transfer, uri: nil, class_name: "Zaikio::Warehouse::Transfer"
20
+ has_one :transfer_request, uri: nil, class_name: "Zaikio::Warehouse::TransferRequest"
21
+ has_one :material_requirement, uri: nil, class_name: "Zaikio::Warehouse::MaterialRequirement"
22
+ end
23
+ end
24
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Zaikio
4
4
  module Warehouse
5
- VERSION = "0.4.0"
5
+ VERSION = "0.5.0"
6
6
  end
7
7
  end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zaikio
4
+ module Warehouse
5
+ class Workstep < Base
6
+ class InvalidTransition < StandardError; end
7
+ include_root_in_json :workstep
8
+
9
+ uri "worksteps(/:id)"
10
+
11
+ attributes :created_at, :updated_at, :name, :phase, :reference,
12
+ :reference_link, :job_title, :job_reference, :job_reference_link,
13
+ :starting_at, :due_at, :allocated_at, :completed_at
14
+
15
+ has_one :operator, uri: nil, class_name: "Zaikio::Warehouse::Organization"
16
+ has_one :warehouse, uri: nil, class_name: "Zaikio::Warehouse::Warehouse"
17
+ has_many :material_requirements, uri: nil, class_name: "Zaikio::Warehouse::MaterialRequirement"
18
+
19
+ def prepare(params = {})
20
+ response = self.class.send(:send_request, :post, "worksteps/#{id}/prepare", params)
21
+ puts "response prepare: #{response.inspect}"
22
+
23
+ raise InvalidTransition, response.body if (200..201).exclude?(response.status)
24
+ end
25
+
26
+ def start(params = {})
27
+ response = self.class.send(:send_request, :post, "worksteps/#{id}/start", params)
28
+ puts "response start: #{response.inspect}"
29
+
30
+ raise InvalidTransition, response.body if (200..201).exclude?(response.status)
31
+ end
32
+
33
+ def complete(params = {})
34
+ response = self.class.send(:send_request, :post, "worksteps/#{id}/complete", params)
35
+ puts "response complete: #{response.inspect}"
36
+
37
+ raise InvalidTransition, response.body if (200..201).exclude?(response.status)
38
+ end
39
+ end
40
+ end
41
+ end
@@ -35,6 +35,10 @@ require "zaikio/warehouse/transfer"
35
35
  require "zaikio/warehouse/warehouse"
36
36
  require "zaikio/warehouse/withdrawal"
37
37
  require "zaikio/warehouse/withdrawal_request"
38
+ require "zaikio/warehouse/workstep"
39
+ require "zaikio/warehouse/material_requirement"
40
+ require "zaikio/warehouse/transfer_request"
41
+ require "zaikio/warehouse/transfer_request_cancelation"
38
42
 
39
43
  require "zaikio/warehouse/version"
40
44
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zaikio-warehouse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zaikio GmbH
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-07-06 00:00:00.000000000 Z
12
+ date: 2023-11-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -234,6 +234,7 @@ files:
234
234
  - lib/zaikio/warehouse/manifest_entry.rb
235
235
  - lib/zaikio/warehouse/material.rb
236
236
  - lib/zaikio/warehouse/material_manifest_entry.rb
237
+ - lib/zaikio/warehouse/material_requirement.rb
237
238
  - lib/zaikio/warehouse/material_reservation.rb
238
239
  - lib/zaikio/warehouse/material_reservation_cancelation.rb
239
240
  - lib/zaikio/warehouse/material_reservation_fulfillment.rb
@@ -244,10 +245,13 @@ files:
244
245
  - lib/zaikio/warehouse/sku.rb
245
246
  - lib/zaikio/warehouse/storage_area.rb
246
247
  - lib/zaikio/warehouse/transfer.rb
248
+ - lib/zaikio/warehouse/transfer_request.rb
249
+ - lib/zaikio/warehouse/transfer_request_cancelation.rb
247
250
  - lib/zaikio/warehouse/version.rb
248
251
  - lib/zaikio/warehouse/warehouse.rb
249
252
  - lib/zaikio/warehouse/withdrawal.rb
250
253
  - lib/zaikio/warehouse/withdrawal_request.rb
254
+ - lib/zaikio/warehouse/workstep.rb
251
255
  homepage: https://docs.zaikio.com/api/warehouse/warehouse.html
252
256
  licenses:
253
257
  - MIT