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
Filipe
54a85a504d
Merge pull request #11101 from mkllnk/dfc-api-key
...
Allow access to DFC API with OFN API token
2023-06-29 17:20:21 +01:00
Maikel
e065910d2d
Merge pull request #10939 from Matt-Yorkley/master-variants
...
Remove master variants
2023-06-23 13:42:58 +10:00
Maikel Linke
08a06d21fa
Allow access to DFC API with OFN API token
2023-06-22 16:58:12 +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
Matt-Yorkley
1daab8994d
Remove is_master and not_master scopes
2023-06-16 21:23:44 +01: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
Maikel Linke
3c6f55732d
Add dummy product type to DFC export
2023-05-09 17:01:00 +10:00
Maikel Linke
b2e8af0cd1
Add stock to DFC Offer as well
2023-05-09 16:51:26 +10:00
Maikel Linke
54137067dd
Export variant's display_name if present
...
The `#name` method is simply delegated to a variant's product.
2023-05-09 16:51:26 +10:00
Maikel Linke
80edc44ef5
Replace SuppliedProductSerializer with DFC Connector
...
And remove the BaseSerializer because this was the last serializer.
2023-05-09 16:51:26 +10:00
Maikel Linke
0b808a4b1e
Add product quantity to DFC export
2023-05-09 16:51:26 +10:00
Maikel Linke
1e23cf1c92
Replace EnterpriseSerializer with DFC Connector
...
And move same test coverage to a new builder spec.
2023-05-09 16:51:26 +10:00
Maikel Linke
683ad0f5b9
Replace PersonSerializer with DFC Connector
...
And the address serializer was just an empty placeholder.
2023-05-09 16:51:26 +10:00
Maikel Linke
c60d622818
List catalog items with DFC Connector
2023-05-09 16:51:25 +10:00
Maikel Linke
7f8ce08d4e
Include DFC Offer in the export with valid id
2023-05-09 16:51:25 +10:00
Maikel Linke
78cf3b5a1d
Serialize DFC catalog item with DFC Connector
...
This is work in progress. The DFC Connector uses a more recent DFC
version and other endpoints still use the old serializers. We need to
update those endpoints as well and update the version number in the API
URL.
2023-05-09 16:51:25 +10:00
Maikel Linke
5187201796
Add DFC vocabularies
...
- Add a script for downloading updated files.
- Add a service for easier loading of vocab files.
2023-05-09 16:51:25 +10:00
Maikel Linke
9c3bdc6b9b
Remove unnecessary table join
...
And use Rails syntax for clarity and future extensions.
2023-03-14 14:38:25 +11:00
Maikel Linke
2105c0d0ea
Ignore master variants exporting to DFC
2023-03-14 14:38:24 +11:00
Maikel Linke
b8338fb9af
Removing engine namespace from services
...
Services are usually not namespaced because they are part of the app.
This engine has an isolated namespace which means that we don't need to
separate with out own namespacing here.
2023-03-14 13:49:21 +11:00
Maikel Linke
a9c8d9f304
Configure host for dfc_provider engine globally
...
Passing the parameter all the time was pretty inconvenient.
2023-03-07 16:39:02 +11:00
David Cook
7b965718aa
Authorise based on user's UID
...
And test to make sure the wrong user is not selected.
2022-11-25 16:14:25 +11:00
David Cook
ff9544e08b
Allow AuthorizationControl to run without Warden
...
As explained in 36c44a5487 , it's not normally good to change production code to make testing easier.
But this tiny change makes it more robust, and enables much simpler specs.
2022-11-25 16:01:42 +11:00
Maikel Linke
029c0afaa9
Verify token signature for authenticated login
...
We were just logging in any user without password or other verification
before. Now we verify the Keycloak signature and know that the person is
indeed logged in.
2022-11-25 14:49:36 +11:00
Maikel Linke
33ee03388f
Add DFC product update action, not implemented
2022-11-25 14:49:36 +11:00
Maikel Linke
4d49266f0f
Allow updates just with auth token
...
Rails usually requires an additional CSRF protection token but when it's
not present we ignore the user's session and use only the OIDC auth
token.
2022-11-25 14:49:36 +11:00
Maikel Linke
aea6f864d9
Update to DFC v1.6
...
I just replaced dfc: with dfc-b: where I found this key used in the
prototype. We may need to change more.
2022-11-25 14:49:36 +11:00
Maikel Linke
4cdb224434
Add missing rdfs prefix to DFC context
2022-11-25 14:49:36 +11:00
Maikel Linke
63c1cd7bff
Remove invalid id attribute from DFC offer
...
This one is a bit confusing. The attribute changes throughout the
different versions of the ontology and the DFC examples are not in line
with the specification. WIP I guess.
The previous nil attribute failed JSON-LD validation and DFC examples
just contain the reference as I did it now. But I think that we will
need to update it again vor DFC-v1.7.
2022-11-25 14:49:36 +11:00
Maikel Linke
ee3ec15bc4
Update URL to DFC ontology
2022-11-25 14:49:36 +11:00
Maikel Linke
b9a43df7fe
Include DFC version in API URL
...
And let the OFN app decide under which name to mount the DFC engine.
It simplifies the code and will make it more flexible to introduce other
versions in the future.
2022-11-25 14:49:36 +11:00
Maikel Linke
fd274447fe
Simplify DFC authentication code
2022-11-25 14:49:36 +11:00
Maikel Linke
52a98989e0
Allow logged in users to access DFC API
...
It makes testing in development so much easier.
2022-11-25 14:49:36 +11:00
Maikel Linke
96193a27a4
Simplify DFC authorisation control
...
I want to add other ways to authenticate for easier testing and possibly
more integrations. It will be easier to just test if we got a user or
not instead of testing pre-conditions to that as well.
2022-11-25 14:49:36 +11:00
Maikel Linke
2630fde763
Update dfc_provider for Active Storage images
2022-11-25 14:49:36 +11:00
Maikel Linke
a501bc9687
Encapsulate dfc_provider in api routing
...
Move /api/v0/dfc_provider to /api/dfc_provider. Before it got redirected
to v0 which caused some errors.
2022-11-25 14:49:36 +11:00
François Turbelin
39bb25e959
Adjust supplied_products id before better data matching
2021-07-15 21:17:14 +02:00
François Turbelin
c4a7c05c05
Use check_enterprise filter in a better way
2021-07-14 14:59:19 +02:00
François Turbelin
9d1b059835
Fix typo in supplied_products_controller comment
2021-07-14 14:08:09 +02:00
François Turbelin
06c19641b4
Remove return on case
2021-06-22 20:44:51 +02:00
François Turbelin
bcd2790649
Fix failing spec
2021-06-17 09:18:05 +02:00
François Turbelin
1ef7247311
Use a service to fetch variants in the engine
2021-06-17 08:50:52 +02:00
François Turbelin
235a2574dc
Add spec for SuppliedProduct serializer
2021-06-17 08:50:52 +02:00
François Turbelin
4dc07d9872
Add spec for CatalogItem serializer
2021-06-17 08:50:52 +02:00
François Turbelin
a87c46843c
Factorize serializer code into Base inherited class
2021-06-17 08:50:52 +02:00