You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 20, 2024. It is now read-only.
# 3rd-Party GraphQL integration with AEM Commerce and CIF on Adobe I/O Runtime
5
+
6
+
## 2.3 (Unreleased)
7
+
8
+
## 2.2 (June 11, 2021)
9
+
##### ENHANCEMENTS:
10
+
* Functionality for Individual Package deployments are added to store the node modules independently with respect to each module.
11
+
* Added Sinon Spies for data loaders in order to test function callback handing.
12
+
* Code Optimisation and improvisation on security code check
13
+
14
+
##### BUGFIXES:
15
+
* Sonar fixes on Code smell issues.
16
+
17
+
18
+
## 2.1 (June 3, 2021)
19
+
20
+
##### ENHANCEMENTS:
21
+
22
+
* Options.JSON is changed to options.yml to store constants
23
+
* Removal of deprecated attribute category_id and cart_item_id and replaced with uid as per latest schema
24
+
* Sort functionality Implementation
25
+
* Code Optimization
26
+
27
+
28
+
##### BUGFIXES:
29
+
30
+
* Updated Unit test Cases
31
+
32
+
## 2.0 (May 21, 2021)
33
+
34
+
##### ENHANCEMENTS:
35
+
* Implementation of latest Schema on I/O Connector
36
+
* Implementation of latest CIF and query API changes
37
+
* Project Execution of AEM CIF - Hybris connectivity through GraphQL API and adapting rest response from Hybris
38
+
* Implementation of complete commerce flow from fetching products to order generation
39
+
* Revert of all previous code modifications and schema modifications done in 1.0 as Schema was upgraded and core cif components are released with latest patch.
40
+
* Removal of request promise
41
+
42
+
##### BUGFIXES:
43
+
44
+
* Unit test upgrade
45
+
* Introspection query changes
46
+
* Hybris URL endpoint configuration management
47
+
48
+
## 1.0 (August 16, 2020)
49
+
##### ENHANCEMENTS:
50
+
* Initial Commit of Topology design and Architecture planning of I/O Connector
51
+
* Project Creation of I/O Connector to connect Hybris and Adobe CIF using Magento Graphql Schema 2.3 version.
52
+
* Implementation of complete commerce flow from fetching products to order generation
53
+
* Schema modifications as per required input and output for different endpoints
54
+
* CIF Core components modification to fetch media based URL
55
+
* Schema Attribute changes for cart_item_id from Int to String as per Hybris data retrieval.
Copy file name to clipboardExpand all lines: README.md
+8-3Lines changed: 8 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,7 +64,7 @@ OpenWhisk CLI must be available in your systems PATH and set up correctly to eit
64
64
65
65
### Configuration
66
66
To be able to use this CIF connector you will need to provid some Hybris configurations to connect to your Hybris endpoint.
67
-
Under [cif/common/options.json.example](cif/common/options.json.example) you will find an example json file you should use as an example.
67
+
Under [cif/common/options.yml.example](cif/common/options.yml.example) you will find an example yml file you should use as an example.
68
68
69
69
The example file should look something like this
70
70
```
@@ -80,7 +80,7 @@ The example file should look something like this
80
80
}
81
81
```
82
82
83
-
You should copy the example file to an options.json file under the same path, this will be the real file that will have your configurations.
83
+
You should copy the example file to an options.yml file under the same path, this will be the real file that will have your configurations.
84
84
This file is under .gitignore and should not be commited to the repository since it has client secrets.
85
85
86
86
@@ -92,12 +92,17 @@ $ npm install
92
92
$ npm test
93
93
```
94
94
95
+
To deploy the actions on the Adobe I/O Runtime platform, we use the [serverless](https://serverless.com/framework/docs/providers/openwhisk/) framework. The deployment of independent packages and actions is defined in each package `serverless.yml` file. To deploy everything individually, simply run:
96
+
```
97
+
$ npm run deploy-packages
98
+
```
99
+
95
100
To deploy the actions on the Adobe I/O Runtime platform, we use the [serverless](https://serverless.com/framework/docs/providers/openwhisk/) framework. The deployment of packages and actions is defined in the `serverless.yml` file. To deploy everything, simply run:
96
101
```
97
102
$ npm run deploy
98
103
```
99
104
100
-
This will deploy the `graphql-reference/dispatcher` and all other actions like cart, oder etc in your namespace (Complete list in serverless.yml file). The dispatcher is a web action that is accessible with the URL `https://adobeioruntime.net/api/v1/web/NAMESPACE/graphql-reference/dispatcher`. To test the GraphQL endpoint, you can for example use the `GraphiQL` plugin in the Chrome browser.
105
+
This will deploy the `hybris-graphql/dispatcher` and all other actions like cart, oder etc in your namespace (Complete list in serverless.yml file). The dispatcher is a web action that is accessible with the URL `https://adobeioruntime.net/api/v1/web/NAMESPACE/graphql-reference/dispatcher`. To test the GraphQL endpoint, you can for example use the `GraphiQL` plugin in the Chrome browser.
Copy file name to clipboardExpand all lines: cif/cart/src/ApplyCouponToCartLoader.js
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ class ApplyCouponToCartLoader {
21
21
* @param {Object} [actionParameters] Some optional parameters of the I/O Runtime action, like for example customerId, bearer token, query and url info.
22
22
*/
23
23
constructor(actionParameters){
24
-
letloadingFunction=inputs=>{
24
+
constloadingFunction=inputs=>{
25
25
returnPromise.resolve(
26
26
inputs.map(input=>{
27
27
console.debug(`--> Fetching cart with id ${JSON.stringify(input)}`);
Copy file name to clipboardExpand all lines: cif/cart/src/RemoveCouponFromCart.js
+12-11Lines changed: 12 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,7 @@ class RemoveCouponFromCart {
26
26
* @param {String} parameters.vouchersList parameter contains the vouchersList
27
27
* @param {Object} [parameters.graphqlContext] The optional GraphQL execution context passed to the resolver.
28
28
* @param {Object} [parameters.actionParameters] Some optional parameters of the I/O Runtime action, like for example customerId, bearer token, query and url info.
29
+
* LoaderProxy class returns a Proxy to avoid having to implement a getter for all properties.
* @param {Object} [actionParameters] Some optional parameters of the I/O Runtime action, like for example customerId, bearer token, query and url info.
22
+
* @returns {loadingFunction} -This loader loads each cart one by one, but if the 3rd party backend allows it,
23
+
* it could also fetch all carts in one single request. In this case, the method must still return an Array of
24
+
* carts with the same order as the keys.
25
+
* @param {Array} [cartIds] is an Array of cart ids.
0 commit comments