diff --git a/.env.example b/.env.example
index a65ce505..534da9fb 100644
--- a/.env.example
+++ b/.env.example
@@ -3,12 +3,14 @@ VUE_APP_I18N_FALLBACK_LOCALE=en
VUE_APP_CACHE_MAX_AGE=3600
VUE_APP_VIEW_SIZE=10
VUE_APP_JOB_FREQUENCY_TYPE={"BOPIS_CORRECTION":"default","PRE_ORDER_CTLG":"default","ADD_PRODR_TG_SHPFY":"default","REMV_PRODR_TG_SHPFY":"default","ADD_PRODR_SHPG_DTE_SHPFY":"default","REMV_PRODR_SHPG_DTE_SHPFY":"default","BACK_ORDER_CTLG":"default","ADD_BACKODR_TG_SHPFY":"default","IMP_NEW_ORDERS":"default","IMP_CANCELLED_ORDERS":"default","REMV_BACKODR_TG_SHPFY":"default","ADD_BACKODR_SHPG_DTE_SHPFY":"default","IMP_CANCELLED_ITEMS":"default","REMV_BACKODR_SHPG_DTE_SHPFY":"default","REALLOC_PRODR":"default","AUTO_RELSE_DAILY":"default","IMP_PAYMENT_STATUS":"default","IMP_RETURNS":"default","UPLD_CMPLT_ORDRS":"default","UPLD_CNCLD_ORDRS":"default","UPLD_REFUNDS":"default","NTS_PRMS_DT_CHNG":"default","REJ_ORDR":"default","UNFIL_ORDERS":"default","AUTO_CNCL_DAL":"default","BTCH_BRKR_ORD":"default","LIST_PRE_ORDER":"slow","LIST_BACK_ORDER":"slow","IMP_PRDTS":"default","SYNC_PRDTS":"slow","HARD_SYNC":"slow","IMP_PRDTS_BLK":"default","IMP_ORDERS_BLK":"default"}
-VUE_APP_ODR_JOB_ENUMS={"IMP_NEW_ORDERS":"JOB_IMP_ORD","IMP_CANCELLED_ORDERS":"JOB_IMP_ORD_CNCL","IMP_CANCELLED_ITEMS":"JOB_IMP_ITM_CNCL","IMP_PAYMENT_STATUS":"JOB_IMP_PYMNT_STTS","IMP_RETURNS":"JOB_IMP_RTN","UPLD_CMPLT_ORDRS":"JOB_UL_CMPLT_ORD","UPLD_CNCLD_ORDRS":"JOB_UL_CNCLD_ORD","UPLD_REFUNDS":"JOB_UL_REFUNDS","NTS_PRMS_DT_CHNG":"JOB_UL_PRMS_DTE_ORD","REJ_ORDR":"JOB_BKR_REJ_ORD","UNFIL_ORDERS":"JOB_BKR_ORD_UNF","AUTO_CNCL_DAL":"JOB_AUTO_CNCL_ORD","BTCH_BRKR_ORD":"JOB_BKR_ORD"}
-VUE_APP_PRODR_JOB_ENUMS={"PRE_ORDER_CTLG":"JOB_CAT_REL_PREODR","ADD_PRODR_TG_SHPFY":"JOB_ADD_PREORD_VRT","REMV_PRODR_TG_SHPFY":"JOB_RMV_PREORD_VRT","ADD_PRODR_SHPG_DTE_SHPFY":"JOB_ADD_PREORD_SKU","REMV_PRODR_SHPG_DTE_SHPFY":"JOB_RMV_PREORD_SKU","BACK_ORDER_CTLG":"JOB_CAT_REL_BACKORD","ADD_BACKODR_TG_SHPFY":"JOB_ADD_BACKORD_VRT","REMV_BACKODR_TG_SHPFY":"JOB_RMV_BACKORD_VRT","ADD_BACKODR_SHPG_DTE_SHPFY":"JOB_ADD_BACKORD_SKU","REMV_BACKODR_SHPG_DTE_SHPFY":"JOB_RMV_BACKORD_SKU","REALLOC_PRODR":"JOB_REALOC_PO","AUTO_RELSE_DAILY":"JOB_RLS_ORD_DTE"}
+VUE_APP_ODR_JOB_ENUMS={"IMP_NEW_ORDERS":"JOB_IMP_ORD","IMP_CANCELLED_ORDERS":"JOB_IMP_ORD_CNCL","IMP_CANCELLED_ITEMS":"JOB_IMP_ITM_CNCL","IMP_PAYMENT_STATUS":"JOB_IMP_PYMNT_STTS","IMP_RETURNS":"JOB_IMP_RTN","UPLD_CMPLT_ORDRS":"JOB_UL_CMPLT_ORD","UPLD_CNCLD_ORDRS":"JOB_UL_CNCLD_ORD","UPLD_REFUNDS":"JOB_UL_REFUNDS","NTS_PRMS_DT_CHNG":"JOB_UL_PRMS_DTE_ORD","REJ_ORDR":"JOB_BKR_REJ_ORD","UNFIL_ORDERS":"JOB_BKR_ORD_UNF","AUTO_CNCL_DAL":"JOB_CNCL_ORD_DTE","BTCH_BRKR_ORD":"JOB_BKR_ORD"}
+VUE_APP_PRODR_JOB_ENUMS={"PRE_ORDER_CTLG":"JOB_CAT_REL_PREODR","ADD_PRODR_TG_SHPFY":"JOB_ADD_PREORD_VRT","REMV_PRODR_TG_SHPFY":"JOB_RMV_PREORD_VRT","ADD_PRODR_SHPG_DTE_SHPFY":"JOB_ADD_PREORD_SKU","JOB_UPD_PREORD_SKU":"JOB_UPD_PREORD_SKU","REMV_PRODR_SHPG_DTE_SHPFY":"JOB_RMV_PREORD_SKU","BACK_ORDER_CTLG":"JOB_CAT_REL_BACKORD","ADD_BACKODR_TG_SHPFY":"JOB_ADD_BACKORD_VRT","REMV_BACKODR_TG_SHPFY":"JOB_RMV_BACKORD_VRT","ADD_BACKODR_SHPG_DTE_SHPFY":"JOB_ADD_BACKORD_SKU","JOB_UPD_BACKORD_SKU":"JOB_UPD_BACKORD_SKU","REMV_BACKODR_SHPG_DTE_SHPFY":"JOB_RMV_BACKORD_SKU","REALLOC_PRODR":"JOB_REALOC_PO","AUTO_RELSE_DAILY":"JOB_RLS_ORD_DTE"}
VUE_APP_PRD_JOB_ENUMS={"IMP_PRDTS":"JOB_IMP_PROD_NEW","SYNC_PRDTS":"JOB_IMP_PROD_UPD"}
VUE_APP_INV_JOB_ENUMS={"HARD_SYNC":"JOB_UL_INV","BOPIS_CORRECTION":"JOB_BOPIS_RALC"}
-VUE_APP_INITIAL_JOB_ENUMS={"IMP_PRDTS_BLK":"JOB_IMP_PROD_NEW_BLK","IMP_ORDERS_BLK":"JOB_IMP_ORD_BLK"}
+VUE_APP_INITIAL_JOB_ENUMS={"IMP_PRDTS_BLK":"JOB_IMP_PROD_NEW_BLK","IMP_ORDERS_BLK":"JOB_IMP_ORD_BLK","UL_PRCS":"JOB_UL_PRCS"}
VUE_APP_JOB_TITLES={"JOB_IMP_PROD_NEW":"Import products","JOB_IMP_PROD_UPD":"Sync products","JOB_IMP_ORD_CNCL":"Cancelled orders","JOB_IMP_ORD":"New orders","JOB_IMP_ITM_CNCL":"Cancelled items","JOB_UL_CNCLD_ORD":"Cancelled orders","JOB_UL_CMPLT_ORD":"Completed orders","JOB_IMP_PYMNT_STTS":"Payment status","JOB_IMP_RTN":"Returns","JOB_UL_REFUNDS":"Refunds","JOB_BKR_REJ_ORD":"Rejected orders","JOB_BKR_ORD_UNF":"Unfillable orders","JOB_UL_INV":"Hard sync"}
VUE_APP_INITIAL_JOB_TYPES={"JOB_IMP_PROD_NEW_BLK":"products","JOB_IMP_ORD_BLK":"orders"}
VUE_APP_BASE_URL=
-VUE_APP_BATCH_JOB_ENUMS={"JOB_BKR_ORD_UNF":{"id":"JOB_BKR_ORD_UNF","facilityId":"_NA_","unfillable": true},"JOB_BKR_ORD":{"id": "JOB_BKR_ORD","facilityId":"_NA_","unfillable": false},"JOB_BKR_PREORD_UNF":{"id":"JOB_BKR_PREORD_UNF","facilityId":"PRE_ORDER_PARKING","unfillable":true},"JOB_BKR_PREORD":{"id":"JOB_BKR_PREORD","facilityId":"PRE_ORDER_PARKING","unfillable":false},"JOB_BKR_BACKORD_UNF":{"id":"JOB_BKR_BACKORD_UNF","facilityId":"BACKORDER_PARKING","unfillable":true},"JOB_BKR_BACKORD":{"id":"JOB_BKR_BACKORD","facilityId":"BACKORDER_PARKING","unfillable":false}}
\ No newline at end of file
+VUE_APP_BATCH_JOB_ENUMS={"JOB_BKR_ORD_UNF":{"id":"JOB_BKR_ORD_UNF","facilityId":"_NA_","unfillable": true},"JOB_BKR_ORD":{"id": "JOB_BKR_ORD","facilityId":"_NA_","unfillable": false},"JOB_BKR_PREORD_UNF":{"id":"JOB_BKR_PREORD_UNF","facilityId":"PRE_ORDER_PARKING","unfillable":true},"JOB_BKR_PREORD":{"id":"JOB_BKR_PREORD","facilityId":"PRE_ORDER_PARKING","unfillable":false},"JOB_BKR_BACKORD_UNF":{"id":"JOB_BKR_BACKORD_UNF","facilityId":"BACKORDER_PARKING","unfillable":true},"JOB_BKR_BACKORD":{"id":"JOB_BKR_BACKORD","facilityId":"BACKORDER_PARKING","unfillable":false}}
+VUE_APP_WEBHOOK_ENUMS={"NEW_PRODUCTS":"products/create","DELETE_PRODUCTS":"products/update","NEW_ORDERS":"orders/create","CANCELLED_ORDERS":"orders/cancelled","PAYMENT_STATUS":"orders/paid","RETURNS":"","BULK_OPERATIONS_FINISH":"bulk_operations/finish"}
+VUE_APP_PERMISSION_ID=
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index bd87964d..26888a90 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -8,6 +8,6 @@
6. Use [Pull Request template](https://github.com/hotwax/ionic-sdk/blob/main/.github/PULL_REQUEST_TEMPLATE.md) (it's automatically added to each PR) and fill as much fields as possible to describe your solution.
7. Reference any relevant issues or other information in your PR.
8. Wait for review and adjust your PR according to it.
-9. Congrats! Your PR should now me merged in!
+9. Congrats! Your PR should now be merged in!
If you can't handle some parts of the issue then please ask for help in the comment. If you have any problems during the implementation of some complex issue, feel free to implement just a part of it.
diff --git a/README.md b/README.md
index a8784bb2..7a4299f9 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@ Ionic CLI - If you don't have the ionic CLI installed refer [official documentat
6. Use [Pull Request template](https://github.com/hotwax/job-manager/blob/main/.github/PULL_REQUEST_TEMPLATE.md) (it's automatically added to each PR) and fill as much fields as possible to describe your solution.
7. Reference any relevant issues or other information in your PR.
8. Wait for review and adjust your PR according to it.
-9. Congrats! Your PR should now me merged in!
+9. Congrats! Your PR should now be merged in!
If you can't handle some parts of the issue then please ask for help in the comment. If you have any problems during the implementation of some complex issue, feel free to implement just a part of it.
diff --git a/package-lock.json b/package-lock.json
index 741e3e89..9c006afb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "job-manager",
- "version": "1.0.6",
+ "version": "1.0.11",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -1433,6 +1433,12 @@
"verror": "1.10.0"
}
},
+ "qs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+ "dev": true
+ },
"uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
@@ -3902,6 +3908,14 @@
"tough-cookie": "~2.4.3",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+ "dev": true
+ }
}
},
"tough-cookie": {
@@ -6827,7 +6841,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dev": true,
"requires": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2"
@@ -10814,8 +10827,7 @@
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
"functional-red-black-tree": {
"version": "1.0.1",
@@ -10848,7 +10860,6 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "dev": true,
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
@@ -11042,7 +11053,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
"requires": {
"function-bind": "^1.1.1"
}
@@ -11079,8 +11089,7 @@
"has-symbols": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
- "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
- "dev": true
+ "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw=="
},
"has-value": {
"version": "1.0.0",
@@ -17517,8 +17526,7 @@
"object-inspect": {
"version": "1.10.3",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz",
- "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==",
- "dev": true
+ "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw=="
},
"object-is": {
"version": "1.1.5",
@@ -18951,10 +18959,12 @@
"dev": true
},
"qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
},
"query-string": {
"version": "4.3.4",
@@ -19363,6 +19373,14 @@
"tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+ "dev": true
+ }
}
},
"request-progress": {
@@ -19975,6 +19993,16 @@
"resolved": "https://registry.npmjs.org/shvl/-/shvl-2.0.3.tgz",
"integrity": "sha512-V7C6S9Hlol6SzOJPnQ7qzOVEWUQImt3BNmmzh40wObhla3XOYMe4gGiYzLrJd5TFa+cI2f9LKIRJTTKZSTbWgw=="
},
+ "side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
+ },
"sigmund": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
diff --git a/package.json b/package.json
index 9a1e080b..500af9fa 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "job-manager",
- "version": "1.0.6",
+ "version": "1.0.11",
"private": true,
"description": "Job Manager App",
"scripts": {
@@ -27,6 +27,7 @@
"http-status-codes": "^2.1.4",
"luxon": "^2.3.0",
"mitt": "^2.1.0",
+ "qs": "^6.10.3",
"register-service-worker": "^1.7.1",
"vue": "^3.2.26",
"vue-i18n": "^9.0.0",
diff --git a/release-notes.md b/release-notes.md
new file mode 100644
index 00000000..83a1362c
--- /dev/null
+++ b/release-notes.md
@@ -0,0 +1,72 @@
+# Release 1.0.11
+
+## What's Changed
+* Jobs should be fetched and scheduled based upon the selected Shop(#2r65b1c) by @disha1202 in https://github.com/hotwax/job-manager/pull/228
+* Added shopify config info at menu footer(#2q9mut9) by @disha1202 in https://github.com/hotwax/job-manager/pull/220
+* Implemented: Miscellaneous page in job-manager(#364ttxy) by @shashwatbangar in https://github.com/hotwax/job-manager/pull/214
+
+
+**Full Changelog**: https://github.com/hotwax/job-manager/compare/v1.0.10...v1.0.11
+
+
+# Release 1.0.10
+
+## What's Changed
+* Implemented functionality to save auto cancel days(#2cxr1cx) by @rathoreprashant in https://github.com/hotwax/job-manager/pull/213 & @disha1202 in https://github.com/hotwax/job-manager/pull/218
+* Fixed: the issue of service time being passed when using run now functionality for pending jobs(#2r0jq44) by @ymaheshwari1 in https://github.com/hotwax/job-manager/pull/222
+* Fixed: missing productStoreId and shopifyConfigId for Job while using runNow (#2r0jq44) by @adityasharma7 in https://github.com/hotwax/job-manager/pull/223
+* Update contribution guideline in Readme file(#2r0kmb3) by @azkyakhan in https://github.com/hotwax/job-manager/pull/224
+* Fixed: code to get 'eComStores' in 'getProfile' action instead of calling 'getEcomStores' action (#257v6ck). by @meet-aniket in https://github.com/hotwax/job-manager/pull/165, @rathoreprashant in https://github.com/hotwax/job-manager/pull/200 & @disha1202 in https://github.com/hotwax/job-manager/pull/226
+* Implemented: Code to check if user has permission to access the app(#2hr41aq) by @shashwatbangar in https://github.com/hotwax/job-manager/pull/221
+* Improved: runTime set to start of the next day for 'EVERYDAY' frequency (#2ftb2vw) by @rathoreprashant in https://github.com/hotwax/job-manager/pull/206 & @disha1202 in https://github.com/hotwax/job-manager/pull/225
+* Implemented: Add additional job actions to job config component(#364tt29) by @disha1202 in https://github.com/hotwax/job-manager/pull/216
+* Implemented: additional job actions, to job config component (#364tt29) by @rathoreprashant in https://github.com/hotwax/job-manager/pull/212
+* Fixed: Run now functionality for the job manager is not working correctly (#2rhqqf7) by @adityasharma7 in https://github.com/hotwax/job-manager/pull/229
+* Implemented: functionality to have option to run jobs within 1 min(#2rhruw9) by @ymaheshwari1 in https://github.com/hotwax/job-manager/pull/230
+* Fixed: Not able to open job update section on Pipeline page for some jobs (#2rht6hk) by @adityasharma7 in https://github.com/hotwax/job-manager/pull/231
+
+
+**Full Changelog**: https://github.com/hotwax/job-manager/compare/v1.0.9...v1.0.10
+
+
+# Release 1.0.9
+
+## What's Changed
+* Fixed: DateTime component has different hour cycle on different devices(#2dmq8ja) by @shashwatbangar in https://github.com/hotwax/job-manager/pull/180
+* Implemented: Feature to run scheduled job right away(#364ttgf) by @shashwatbangar in https://github.com/hotwax/job-manager/pull/211
+* Implemented support to store user preference for selected product store (#2f2h8hu) by @shashwatbangar in https://github.com/hotwax/job-manager/pull/219
+* Implemented support to store user preference for selected product store (#2f2h8hu) by @rathoreprashant in https://github.com/hotwax/job-manager/pull/197
+* Implemented: Add option to select shopify config from settings page(#2q9mut9) by @disha1202 in https://github.com/hotwax/job-manager/pull/217
+
+
+**Full Changelog**: https://github.com/hotwax/job-manager/compare/v1.0.8...v1.0.9
+
+# Release 1.0.8
+
+## What's Changed
+* Fixed: issue of auto cancel job check is not reflected on UI when the job is scheduled(#28u4g5n) by @ymaheshwari1 in https://github.com/hotwax/job-manager/pull/189
+* Implemented: Added feature to schedule job that updates ship from dates for pre-order and backorder items on Shopify(#2ftbca6) by @shashwatbangar in https://github.com/hotwax/job-manager/pull/190
+* Implemented: functionality to schedule process upload job from initial load page(#2ftaz3n) by @ymaheshwari1 in https://github.com/hotwax/job-manager/pull/192
+* Implemented: code to add functionality to subscribe or unsubscribe a webhook(#2ftb11u) by @ymaheshwari1 in https://github.com/hotwax/job-manager/pull/191
+* Implemented | Web hooks card on Product View Page by @rvutd in https://github.com/hotwax/job-manager/pull/178
+* Fixed: the issue of null value being passed in payload when scheduling a job(#2hjh89u) by @ymaheshwari1 in https://github.com/hotwax/job-manager/pull/195
+* Fixed: Instance URL should be case insensitive(#2ft61zw) by @rathoreprashant in https://github.com/hotwax/job-manager/pull/196
+* Improved: runTime set to start of the day for 'EVERYDAY' frequency else current time (#2ftb2vw) by @rathoreprashant in https://github.com/hotwax/job-manager/pull/193
+* Fixed: lastShopifyOrderId should be required for bulk order import on initial load page (#2krc8dw) by @rathoreprashant in https://github.com/hotwax/job-manager/pull/198
+* Updated: code to fetch shopifyConfigId corresponding to product store(#2kbnqzb) by @disha1202 in https://github.com/hotwax/job-manager/pull/199
+* Revert "Improved: runTime set to start of the day for 'EVERYDAY' frequency else current time (#2ftb2vw)" by @adityasharma7 in https://github.com/hotwax/job-manager/pull/201
+* Fixed: After refreshing and then clicking the back button the user is redirected to the pipeline page(job-manager(#2deygnv) by @shashwatbangar in https://github.com/hotwax/job-manager/pull/176
+* Fixed: Orders are not imported with multiple shopify configuration(#2mky5yp) by @rathoreprashant in https://github.com/hotwax/job-manager/pull/204
+* Fixed: Orders are not imported with multiple shopify configuration(#2mky5yp) by @rathoreprashant in https://github.com/hotwax/job-manager/pull/205
+* Improved label to "eCom Store" on Settings page (#23tw4yf) by @rathoreprashant in https://github.com/hotwax/job-manager/pull/203
+* Fixed: code to close sliding option for skip action when it completes (#2ebeqzf). by @meet-aniket in https://github.com/hotwax/job-manager/pull/182
+* Implemented: code to display a toast when the job is not present (#2fyy5bd) by @rathoreprashant in https://github.com/hotwax/job-manager/pull/202
+* Fixed: Removed code which passes entityName for the calls done in findJobs API(#2np1py0) by @shashwatbangar in https://github.com/hotwax/job-manager/pull/208
+* Implemented: Added enum description to job config component(#364trwn) by @shashwatbangar in https://github.com/hotwax/job-manager/pull/207
+* Fixed: Code to use a single service to subscribe webhook(#2fz59a8) by @shashwatbangar in https://github.com/hotwax/job-manager/pull/194
+* Fixed: Issue passing list to performFind with GET method (#2a2ancm) by @adityasharma7 in https://github.com/hotwax/job-manager/pull/185
+
+## New Contributors
+* @rvutd made their first contribution in https://github.com/hotwax/job-manager/pull/178
+
+**Full Changelog**: https://github.com/hotwax/job-manager/compare/v1.0.7...v1.0.8
diff --git a/src/api/index.ts b/src/api/index.ts
index 9a28b8e0..b3661a7a 100644
--- a/src/api/index.ts
+++ b/src/api/index.ts
@@ -7,6 +7,8 @@ import {
StatusCodes
} from 'http-status-codes';
import router from '@/router'
+import qs from "qs"
+
axios.interceptors.request.use((config: any) => {
const token = store.getters['user/getUserToken'];
@@ -67,14 +69,45 @@ const api = async (customConfig: any) => {
url: customConfig.url,
method: customConfig.method,
data: customConfig.data,
- params: customConfig.params
+ params: customConfig.params,
+ // `paramsSerializer` is an optional function in charge of serializing `params`
+ // (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/)
+ // paramsSerializer: function (params) {
+ // return Qs.stringify(params, {arrayFormat: 'brackets'})
+ // },
+ // This implemmentation is done to ensure array and object is passed correctly in OMS 1.0
+ paramsSerializer: (p: any) => {
+ // When objects are stringified, by default they use bracket notation:
+ // qs.stringify({ a: { b: { c: 'd', e: 'f' } } });
+ // 'a[b][c]=d&a[b][e]=f'
+ //We may override this to use dot notation by setting the allowDots option to true:
+ // qs.stringify({ a: { b: { c: 'd', e: 'f' } } }, { allowDots: true });
+ // 'a.b.c=d&a.b.e=f'
+ // OMS 1.0 supports objects passed as strings
+ const params = Object.keys(p).reduce((params: any, key: string) => {
+ let value = p[key];
+ if ( typeof value === 'object' && !Array.isArray(value) && value !== null) {
+ value = JSON.stringify(value)
+ }
+ params[key] = value;
+ return params;
+ }, {})
+ // arrayFormat option is used to specify the format of the output array:
+ //qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })
+ // 'a[0]=b&a[1]=c'
+ //qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
+ // 'a[]=b&a[]=c'
+ //qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
+ // 'a=b&a=c'
+ //qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'comma' })
+ // 'a=b,c'
+ // Currently OMS 1.0 supports values as repeat
+ return qs.stringify(params, {arrayFormat: 'repeat'});
+ }
}
- let baseURL = process.env.VUE_APP_BASE_URL;
- if (!baseURL) {
- baseURL = store.getters['user/getInstanceUrl'];
- baseURL = baseURL && baseURL.startsWith('http') ? baseURL : `https://${baseURL}.hotwax.io/api/`;
- }
+ let baseURL = store.getters['user/getInstanceUrl'];
+ baseURL = baseURL && baseURL.startsWith('http') ? baseURL : `https://${baseURL}.hotwax.io/api/`;
if (baseURL) config.baseURL = baseURL;
if(customConfig.cache) config.adapter = axiosCache.adapter;
diff --git a/src/components/BatchModal.vue b/src/components/BatchModal.vue
index 51b0149e..e5e98aa1 100644
--- a/src/components/BatchModal.vue
+++ b/src/components/BatchModal.vue
@@ -37,7 +37,7 @@
{{ $t("Schedule") }}
-
+
@@ -111,7 +111,7 @@ export default defineComponent({
computed: {
...mapGetters({
getJob: 'job/getJob',
- shopifyConfigId: 'user/getShopifyConfigId',
+ currentShopifyConfig: 'user/getCurrentShopifyConfig',
currentEComStore: 'user/getCurrentEComStore',
userProfile: "user/getUserProfile"
}),
diff --git a/src/components/InitialJobConfiguration.vue b/src/components/InitialJobConfiguration.vue
index cfd446b3..cc671571 100644
--- a/src/components/InitialJobConfiguration.vue
+++ b/src/components/InitialJobConfiguration.vue
@@ -20,6 +20,7 @@
isOpen = false">
isOpen = false">
- {{ $t("Run import") }}
+ {{ $t("Run import") }}
diff --git a/src/components/JobActionsPopover.vue b/src/components/JobActionsPopover.vue
index 4c7e2833..11a50c52 100644
--- a/src/components/JobActionsPopover.vue
+++ b/src/components/JobActionsPopover.vue
@@ -10,9 +10,13 @@
{{ $t("Copy details") }}
-
+
{{ $t("Pin job") }}
+
+
+
+ {{ $t("Run now") }}
@@ -25,11 +29,12 @@ import {
IonItem,
IonList,
IonListHeader,
+ alertController,
modalController,
popoverController
} from "@ionic/vue";
import { defineComponent } from "vue";
-import { copyOutline, pinOutline, timeOutline } from 'ionicons/icons'
+import { copyOutline, flashOutline, pinOutline, timeOutline } from 'ionicons/icons'
import { mapGetters, useStore } from 'vuex'
import JobHistoryModal from '@/components/JobHistoryModal.vue'
import { Plugins } from '@capacitor/core';
@@ -89,13 +94,37 @@ export default defineComponent({
await this.store.dispatch('user/updatePinnedJobs', { pinnedJobs: [...pinnedJobs] });
}
this.closePopover();
- }
+ },
+ async runJobNow(job: any) {
+ const alert = await alertController
+ .create({
+ header: this.$t("Run now"),
+ message: this.$t('Running this job now will not replace this job. A copy of this job will be created and run immediately.
You may not be able to reverse this action.'),
+ buttons: [
+ {
+ text: this.$t("Cancel"),
+ role: 'cancel',
+ },
+ {
+ text: this.$t('Run now'),
+ handler: async () => {
+ if(job) {
+ await this.store.dispatch('job/runServiceNow', job)
+ this.closePopover();
+ }
+ }
+ }
+ ]
+ });
+ return alert.present();
+ },
},
setup() {
const store = useStore();
return {
copyOutline,
+ flashOutline,
pinOutline,
store,
timeOutline
diff --git a/src/components/JobConfiguration.vue b/src/components/JobConfiguration.vue
index df243c58..029f722c 100644
--- a/src/components/JobConfiguration.vue
+++ b/src/components/JobConfiguration.vue
@@ -2,11 +2,17 @@