Commit Graph

99 Commits

Author SHA1 Message Date
Maikel Linke
699db02098 Remove enterprise id from DFC product group URL
A Spree::Product represented as product group is not directly associated
to an enterprise. In theory, it could have multiple enterprises through
its variants. So we better don't include the id in the URL.

```
-http://test.host/api/dfc/enterprises/10000/product_groups/90000
+http://test.host/api/dfc/product_groups/90000
```

This makes it simpler as well.
2025-02-18 16:19:27 +11:00
Maikel Linke
11a1d4e09e Reduce complexity of controller 2025-02-18 13:08:49 +11:00
Maikel Linke
3d435ae781 Include product group objects in our catalog response
And when we import a catalog, we don't try to import those product
groups as Spree::Variant. We just see them as reference to
Spree::Product.
2025-02-18 13:08:49 +11:00
Maikel Linke
fbdc6c9bd0 Split growing supplied product builder 2025-02-18 13:08:46 +11:00
Maikel Linke
d39da6d0da Provide endpoint to show a product group
Our Spree::Product corresponds to a DFC SuppliedProduct with variants.
2025-02-18 12:58:09 +11:00
Maikel Linke
260e7ba817 Update products when importing them multiple times
Instead of creating a new variant every time.
2024-10-10 16:57:58 +11:00
Maikel Linke
a838ef4a21 DRY DFC product import 2024-10-10 14:04:54 +11:00
Maikel Linke
d52134dad8 Filter sales data by dates 2024-08-30 15:00:06 +10:00
Maikel Linke
bd1611630f Build DFC data for sales 2024-08-30 14:34:32 +10:00
Maikel Linke
ce28c10c7e Move sales data generation to a service object
There will be lots and lots. The sales data root object is also the
authenticated person. The data has its own URL (semantic id) which
doens't need to contain the user id.

The service object can also be tested more easily. I'm setting up the
test data here.
2024-08-30 14:30:46 +10:00
Maikel Linke
4342d3b912 Add DFC API endpoint for sales data 2024-08-30 14:30:46 +10:00
Gaetan Craig-Riou
848144d378 Fix DFC engine 2024-07-03 11:21:28 +10:00
Maikel Linke
4d4d9daf42 Add OFN contact name as DFC main contact person 2024-06-06 14:32:37 +10:00
Maikel Linke
1674d8ab5c Simplify DFC product controller 2024-03-12 13:11:31 +11:00
Maikel Linke
85a47e61fd Create variants only for own products 2024-03-12 13:11:31 +11:00
Maikel Linke
583ac65920 Move building of Offer to the right module
The DfcBuilder was doing everything to start with but we are moving its
parts to smaller modules now.
2024-01-12 14:57:58 +11:00
Maikel Linke
af51177593 Update price and stock through the DFC API 2024-01-12 14:25:11 +11:00
Maikel Linke
8d6ae18fb6 Show Offers on the DFC API 2024-01-12 14:22:24 +11:00
Gaetan Craig-Riou
a78042cee1 Remove save after adding an association with <<
`<<` operator already save the the association to the database
2024-01-10 15:48:36 +11:00
Gaetan Craig-Riou
92921c89d1 Add enpoint to delete enterprise from group
Plus documentation
2024-01-10 12:44:02 +11:00
Gaetan Craig-Riou
b90349e4c2 Add endpoint to add enterprise to a group
plus documentaion
2024-01-10 12:31:38 +11:00
Gaetan Craig-Riou
626e903ab9 Add ability for controller to use CanCan 2024-01-09 14:44:12 +11:00
Maikel Linke
1fb87bc497 Add SocialMedia to DFC Enterprise API 2023-11-15 16:19:23 +11:00
Maikel Linke
9311a29c9f Add logo URL to DFC Enterprise API 2023-11-15 15:16:39 +11:00
Maikel Linke
eac632c81e Use new DFC Connector API to add an address 2023-11-09 16:16:24 +11:00
Maikel Linke
02f251c900 Import DFC SuppliedProduct as new variant of existing product 2023-09-21 09:04:57 +10:00
Maikel Linke
7e222ad83e Include address when showing group
It may be nice to show more data like social media URLs but the DFC
Connector hasn't implemented that yet and it's not specified in the
current issue.
2023-09-13 16:36:36 +10:00
Maikel Linke
88a3615de7 List groups when showing DFC Enterprise 2023-09-13 16:36:36 +10:00
Maikel Linke
cf18229e5b Avoid loading DFC catalog for Person or Groups endpoint 2023-09-13 16:36:36 +10:00
Maikel Linke
95d3987752 List enterprise groups on DFC API 2023-09-13 16:36:36 +10:00
Maikel Linke
2d91a61dcb Add DFC API EnterpriseGroups#show 2023-09-13 16:36:36 +10:00
Maikel Linke
73193fbfd0 Explicitely load our DFC Connector patches
It makes sure we can extend functionality without conflicts.
2023-09-11 14:57:38 +10:00
Maikel
1991970185 Merge pull request #11377 from mkllnk/dfc-update-request
[DFC API] Import known units when creating new products
2023-09-08 09:05:26 +10:00
Maikel Linke
0da1b27795 Simplify code with association #supplied_variants
Rails makes it so easy.
2023-08-30 15:55:10 +10:00
Maikel Linke
96b79bce2d Encapsulate DFC-OFN data model bridge
Re-uses existing code and takes knowledge out of the controller.
2023-08-28 17:13:04 +10:00
Maikel Linke
9ab75e086a Use DFC Connector for SuppliedProduct update 2023-08-28 17:13:04 +10:00
Maikel Linke
faa112c3ae Spec DFC SuppliedProduct#update with new Prototype
I observed new data from the DFC Prototype. It now uses the DFC 1.8
ontology with the hasQuantity object.

It now also uses PUT requests for updates because PATCH is not as well
supported. Rails doesn't care though.

I couldn't observe a request for the CatalogItem yet because the
Prototype failed to send it.
2023-08-28 17:13:04 +10:00
Maikel
56f4eca79e Update engines/dfc_provider/app/controllers/dfc_provider/addresses_controller.rb
Fix type in comment

Co-authored-by: David Cook <david@redcliffs.net>
2023-08-25 11:31:00 +10:00
Maikel Linke
1c3574ce79 Include address in DFC Enterprise endpoint 2023-08-24 16:51:36 +10:00
Maikel Linke
20b09b5352 Add DFC Address API endpoint 2023-08-24 16:20:13 +10:00
Neal Chambers
b78bbd2629 Fix Rails/ApplicationController 2023-08-17 16:42:41 +09:00
Maikel Linke
1daed8c29c Always load our DFC Connector patches
We want to use the preloaded context when exporting documents as well.
2023-08-03 16:45:30 +10:00
Maikel Linke
3b5b9ec54d Avoid network request to DFC context on export
This protects us from the DFC website going down or the DFC updating
the context with breaking changes. We are in control of updating the
context now (opt-in to newer versions).
2023-07-27 15:38:36 +10:00
Maikel Linke
9183c8acdd Deal with bad SuppliedProduct data 2023-07-03 14:17:18 +10:00
Maikel Linke
7a51995aeb Respond with SuppliedProduct data when creating 2023-07-03 12:37:23 +10:00
Maikel Linke
ec8c710e3a Import simple DFC SuppliedProduct
OFN products and variants need more data like a price but the DFC
stores that in a different object. We may get a larger graph containing
that information but we don't have any test data yet.
2023-06-19 16:19:48 +10:00
Maikel Linke
df9e1ac2b4 Encapsulate SuppliedProductBuilder
And improve EnterpriseBuilder. It was builder products twice.
2023-06-19 16:19:48 +10:00
Maikel Linke
0dcd87dda9 Update stock and SKU from DFC
The input has been observed with the nginx access log including
$request_body when the DFC Protoype pushed an update.
2023-05-28 10:39:08 +02:00
Maikel Linke
375b3a3cb0 Update variant's quantity from DFC 2023-05-28 10:39:08 +02:00
Maikel Linke
48a52582e6 Update variant description with DFC description
We used the name before because the DFC Prototype only displays the
description.
2023-05-28 10:39:08 +02:00