comee_core 0.1.40 → 0.1.41

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/comee/core/customer_order_items_controller.rb +34 -0
  3. data/app/controllers/comee/core/customer_orders_controller.rb +47 -0
  4. data/app/controllers/comee/core/external_rfqs_controller.rb +13 -0
  5. data/app/controllers/comee/core/products_controller.rb +2 -3
  6. data/app/controllers/comee/core/quotation_request_items_controller.rb +46 -0
  7. data/app/controllers/comee/core/quotation_requests_controller.rb +66 -0
  8. data/app/controllers/comee/core/sales_order_items_controller.rb +25 -0
  9. data/app/controllers/comee/core/sales_orders_controller.rb +45 -0
  10. data/app/models/comee/core/customer_order.rb +10 -1
  11. data/app/models/comee/core/customer_order_item.rb +8 -0
  12. data/app/models/comee/core/external_rfq.rb +8 -0
  13. data/app/models/comee/core/product.rb +6 -34
  14. data/app/models/comee/core/purchase_order.rb +14 -0
  15. data/app/models/comee/core/purchase_order_item.rb +20 -0
  16. data/app/models/comee/core/quotation_request.rb +25 -0
  17. data/app/models/comee/core/quotation_request_item.rb +15 -0
  18. data/app/models/comee/core/sales_order.rb +2 -2
  19. data/app/serializers/comee/core/customer_order_item_serializer.rb +10 -0
  20. data/app/serializers/comee/core/customer_order_serializer.rb +9 -0
  21. data/app/serializers/comee/core/external_rfq_serializer.rb +7 -0
  22. data/app/serializers/comee/core/product_serializer.rb +1 -2
  23. data/app/serializers/comee/core/quotation_request_item_serializer.rb +10 -0
  24. data/app/serializers/comee/core/quotation_request_serializer.rb +8 -0
  25. data/app/serializers/comee/core/sales_order_item_serializer.rb +10 -0
  26. data/app/serializers/comee/core/sales_order_serializer.rb +10 -0
  27. data/app/services/comee/core/customer_order_service.rb +80 -0
  28. data/app/services/comee/core/quotation_request_service.rb +69 -0
  29. data/app/services/comee/core/sales_order_service.rb +141 -0
  30. data/config/routes.rb +57 -3
  31. data/db/migrate/20230728014322_create_comee_core_products.rb +3 -11
  32. data/db/migrate/20230811102708_create_comee_core_customer_order_items.rb +1 -0
  33. data/db/migrate/20230812190652_create_comee_core_sales_orders.rb +4 -4
  34. data/db/migrate/20230812212844_create_comee_core_sales_order_items.rb +2 -1
  35. data/db/migrate/20231121094339_create_comee_core_quotation_requests.rb +15 -0
  36. data/db/migrate/20231121132709_create_comee_core_quotation_request_items.rb +27 -0
  37. data/db/migrate/20231122094424_create_comee_core_external_rfqs.rb +10 -0
  38. data/db/migrate/20231125122723_create_comee_core_purchase_orders.rb +15 -0
  39. data/db/migrate/20231126082907_create_comee_core_purchase_order_items.rb +20 -0
  40. data/lib/comee/core/version.rb +1 -1
  41. data/lib/comee_core.rb +1 -0
  42. data/spec/factories/comee/core/customer_order_items.rb +1 -0
  43. data/spec/factories/comee/core/external_rfqs.rb +6 -0
  44. data/spec/factories/comee/core/products.rb +5 -4
  45. data/spec/factories/comee/core/purchase_order_items.rb +9 -0
  46. data/spec/factories/comee/core/purchase_orders.rb +8 -0
  47. data/spec/factories/comee/core/quotation_request_items.rb +14 -0
  48. data/spec/factories/comee/core/quotation_requests.rb +7 -0
  49. data/spec/factories/comee/core/sales_order_items.rb +2 -1
  50. data/spec/factories/comee/core/sales_orders.rb +0 -1
  51. metadata +49 -7
  52. data/app/controllers/comee/core/product_types_controller.rb +0 -18
  53. data/app/models/comee/core/product_type.rb +0 -19
  54. data/db/migrate/20230728012836_create_comee_core_product_types.rb +0 -13
  55. data/spec/factories/comee/core/product_types.rb +0 -8
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comee_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.40
4
+ version: 0.1.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-26 00:00:00.000000000 Z
11
+ date: 2023-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: ancestry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 4.1.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 4.1.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bcrypt
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -250,9 +264,15 @@ files:
250
264
  - app/controllers/comee/core/client_prices_controller.rb
251
265
  - app/controllers/comee/core/clients_controller.rb
252
266
  - app/controllers/comee/core/currencies_controller.rb
267
+ - app/controllers/comee/core/customer_order_items_controller.rb
268
+ - app/controllers/comee/core/customer_orders_controller.rb
269
+ - app/controllers/comee/core/external_rfqs_controller.rb
253
270
  - app/controllers/comee/core/notifications_controller.rb
254
- - app/controllers/comee/core/product_types_controller.rb
255
271
  - app/controllers/comee/core/products_controller.rb
272
+ - app/controllers/comee/core/quotation_request_items_controller.rb
273
+ - app/controllers/comee/core/quotation_requests_controller.rb
274
+ - app/controllers/comee/core/sales_order_items_controller.rb
275
+ - app/controllers/comee/core/sales_orders_controller.rb
256
276
  - app/controllers/comee/core/suppliers_controller.rb
257
277
  - app/controllers/comee/core/units_controller.rb
258
278
  - app/controllers/comee/core/users_controller.rb
@@ -271,6 +291,7 @@ files:
271
291
  - app/models/comee/core/customer_order.rb
272
292
  - app/models/comee/core/customer_order_item.rb
273
293
  - app/models/comee/core/edi_order.rb
294
+ - app/models/comee/core/external_rfq.rb
274
295
  - app/models/comee/core/field_mapping.rb
275
296
  - app/models/comee/core/inventory.rb
276
297
  - app/models/comee/core/invoice.rb
@@ -281,7 +302,10 @@ files:
281
302
  - app/models/comee/core/price.rb
282
303
  - app/models/comee/core/product.rb
283
304
  - app/models/comee/core/product_lookup.rb
284
- - app/models/comee/core/product_type.rb
305
+ - app/models/comee/core/purchase_order.rb
306
+ - app/models/comee/core/purchase_order_item.rb
307
+ - app/models/comee/core/quotation_request.rb
308
+ - app/models/comee/core/quotation_request_item.rb
285
309
  - app/models/comee/core/sales_order.rb
286
310
  - app/models/comee/core/sales_order_item.rb
287
311
  - app/models/comee/core/supplier.rb
@@ -293,12 +317,22 @@ files:
293
317
  - app/serializers/comee/core/client_price_serializer.rb
294
318
  - app/serializers/comee/core/client_serializer.rb
295
319
  - app/serializers/comee/core/currency_serializer.rb
320
+ - app/serializers/comee/core/customer_order_item_serializer.rb
321
+ - app/serializers/comee/core/customer_order_serializer.rb
322
+ - app/serializers/comee/core/external_rfq_serializer.rb
296
323
  - app/serializers/comee/core/product_serializer.rb
297
324
  - app/serializers/comee/core/product_type_serializer.rb
325
+ - app/serializers/comee/core/quotation_request_item_serializer.rb
326
+ - app/serializers/comee/core/quotation_request_serializer.rb
327
+ - app/serializers/comee/core/sales_order_item_serializer.rb
328
+ - app/serializers/comee/core/sales_order_serializer.rb
298
329
  - app/serializers/comee/core/supplier_serializer.rb
299
330
  - app/serializers/comee/core/unit_serializer.rb
300
331
  - app/serializers/comee/core/user_serializer.rb
332
+ - app/services/comee/core/customer_order_service.rb
301
333
  - app/services/comee/core/product_lookup_service.rb
334
+ - app/services/comee/core/quotation_request_service.rb
335
+ - app/services/comee/core/sales_order_service.rb
302
336
  - app/services/comee/core/token_service.rb
303
337
  - app/utils/comee/core/period.rb
304
338
  - app/views/comee/core/supplier_mailer/new_order_notification.html.erb
@@ -310,7 +344,6 @@ files:
310
344
  - config/spring.rb
311
345
  - db/migrate/20230727153013_create_comee_core_units.rb
312
346
  - db/migrate/20230728011037_create_comee_core_currencies.rb
313
- - db/migrate/20230728012836_create_comee_core_product_types.rb
314
347
  - db/migrate/20230728014322_create_comee_core_products.rb
315
348
  - db/migrate/20230728014330_create_comee_core_users.rb
316
349
  - db/migrate/20230728122618_create_comee_core_suppliers.rb
@@ -334,6 +367,11 @@ files:
334
367
  - db/migrate/20231003080017_create_comee_core_warehouse_shipments.rb
335
368
  - db/migrate/20231004105455_create_comee_core_warehouse_shipment_items.rb
336
369
  - db/migrate/20231101113358_create_comee_core_edi_orders.rb
370
+ - db/migrate/20231121094339_create_comee_core_quotation_requests.rb
371
+ - db/migrate/20231121132709_create_comee_core_quotation_request_items.rb
372
+ - db/migrate/20231122094424_create_comee_core_external_rfqs.rb
373
+ - db/migrate/20231125122723_create_comee_core_purchase_orders.rb
374
+ - db/migrate/20231126082907_create_comee_core_purchase_order_items.rb
337
375
  - lib/comee/core.rb
338
376
  - lib/comee/core/engine.rb
339
377
  - lib/comee/core/version.rb
@@ -348,6 +386,7 @@ files:
348
386
  - spec/factories/comee/core/customer_order_items.rb
349
387
  - spec/factories/comee/core/customer_orders.rb
350
388
  - spec/factories/comee/core/edi_orders.rb
389
+ - spec/factories/comee/core/external_rfqs.rb
351
390
  - spec/factories/comee/core/field_mappings.rb
352
391
  - spec/factories/comee/core/inventories.rb
353
392
  - spec/factories/comee/core/invoice_items.rb
@@ -356,8 +395,11 @@ files:
356
395
  - spec/factories/comee/core/notifications.rb
357
396
  - spec/factories/comee/core/order_sources.rb
358
397
  - spec/factories/comee/core/product_lookups.rb
359
- - spec/factories/comee/core/product_types.rb
360
398
  - spec/factories/comee/core/products.rb
399
+ - spec/factories/comee/core/purchase_order_items.rb
400
+ - spec/factories/comee/core/purchase_orders.rb
401
+ - spec/factories/comee/core/quotation_request_items.rb
402
+ - spec/factories/comee/core/quotation_requests.rb
361
403
  - spec/factories/comee/core/sales_order_items.rb
362
404
  - spec/factories/comee/core/sales_orders.rb
363
405
  - spec/factories/comee/core/suppliers.rb
@@ -387,7 +429,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
387
429
  - !ruby/object:Gem::Version
388
430
  version: '0'
389
431
  requirements: []
390
- rubygems_version: 3.4.20
432
+ rubygems_version: 3.4.10
391
433
  signing_key:
392
434
  specification_version: 4
393
435
  summary: An engine for the COMee ERP.
@@ -1,18 +0,0 @@
1
- module Comee
2
- module Core
3
- class ProductTypesController < ApplicationController
4
- include Common
5
-
6
- def products
7
- products = Product.where(product_type_id: params[:id])
8
- render json: {success: true, data: serialize(products)}
9
- end
10
-
11
- private
12
-
13
- def model_params
14
- params.require(:payload).permit(:code, :name, :description, metadata_schema: {})
15
- end
16
- end
17
- end
18
- end
@@ -1,19 +0,0 @@
1
- module Comee
2
- module Core
3
- class ProductType < ApplicationRecord
4
- validates :code, presence: true, uniqueness: true
5
- validates :name, presence: true
6
- validate :required_fields_must_be_in_properties
7
-
8
- def required_fields_must_be_in_properties
9
- return unless metadata_schema.present?
10
-
11
- diff = metadata_schema["required"] - metadata_schema["properties"].keys
12
- return unless diff.count.positive?
13
-
14
- error = "The following fields are mentioned as required but do not exist in the field list: #{diff}."
15
- errors.add(:base, error)
16
- end
17
- end
18
- end
19
- end
@@ -1,13 +0,0 @@
1
- class CreateComeeCoreProductTypes < ActiveRecord::Migration[7.0]
2
- def change
3
- create_table :comee_core_product_types do |t|
4
- t.string :code, null: false
5
- t.string :name, null: false
6
- t.string :description
7
- t.jsonb :metadata_schema, default: {}
8
-
9
- t.timestamps
10
- end
11
- add_index :comee_core_product_types, :code, unique: true
12
- end
13
- end
@@ -1,8 +0,0 @@
1
- FactoryBot.define do
2
- factory :product_type, class: "Comee::Core::ProductType" do
3
- code { Faker::Alphanumeric.alpha(number: 6) }
4
- name { Faker::Name.name }
5
- description { Faker::Lorem.sentence }
6
- metadata_schema { {} }
7
- end
8
- end