@foxtware/mineral 0.1.0 → 0.1.2

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 (68) hide show
  1. package/.creds.yml.sample +5 -0
  2. package/.gcloudignore +17 -0
  3. package/.hosting.yml.sample +23 -0
  4. package/README.md +3 -1
  5. package/_build_scripts/publish.js +105 -0
  6. package/_deploy_scripts/deployFromHostingYml.js +319 -0
  7. package/_deploy_scripts/execCommand.js +38 -0
  8. package/_deploy_scripts/generateHosted.js +44 -0
  9. package/_deploy_scripts/setEnvVarsGcloud.js +51 -0
  10. package/api/logiwa/logiwa.constants.js +8 -0
  11. package/api/logiwa/logiwa.utils.js +53 -0
  12. package/api/logiwa/logiwaAuthGet.js +86 -0
  13. package/api/logiwa/logiwaInventoriesGet.js +67 -0
  14. package/api/logiwa/logiwaOrderGet.js +54 -0
  15. package/api/logiwa/logiwaOrdersGet.js +92 -0
  16. package/api/logiwa/logiwaProductGet.js +54 -0
  17. package/api/logiwa/logiwaProductsGet.js +80 -0
  18. package/api/logiwa/logiwaReportGetAvailableToPromise.js +179 -0
  19. package/api/logiwa/logiwaReportGetInventoryCalculation.js +62 -0
  20. package/api/logiwa/logiwaReportGetInventorySnapshot.js +66 -0
  21. package/api/logiwa/logiwaReportGetTotalInventory.js +72 -0
  22. package/api/logiwa/logiwaWebhookStatusGet.js +54 -0
  23. package/api/logiwa/logiwaWebhookSubscribe.js +64 -0
  24. package/api/logiwa/logiwaWebhookUnsubscribe.js +54 -0
  25. package/api/logiwa/logiwaWebhooksGet.js +48 -0
  26. package/api/shopify/_example.get.js +46 -0
  27. package/api/shopify/shopifyAbandonedCheckoutsGet.js +46 -0
  28. package/api/shopify/shopifyArticlesGet.js +46 -0
  29. package/api/shopify/shopifyBlogsGet.js +46 -0
  30. package/api/shopify/shopifyBulkOperationsGet.js +46 -0
  31. package/api/shopify/shopifyCatalogsGet.js +46 -0
  32. package/api/shopify/shopifyChannelsGet.js +46 -0
  33. package/api/shopify/shopifyCheckoutAndAccountsConfigurationsGet.js +46 -0
  34. package/api/shopify/shopifyCollectionsGet.js +46 -0
  35. package/api/shopify/shopifyCustomersGet.js +2 -0
  36. package/api/shopify/shopifyDeliveryCustomizationsGet.js +46 -0
  37. package/api/shopify/shopifyDeliveryProfilesGet.js +46 -0
  38. package/api/shopify/shopifyDiscountNodesGet.js +46 -0
  39. package/api/shopify/shopifyDisputesGet.js +46 -0
  40. package/api/shopify/shopifyDraftOrdersGet.js +46 -0
  41. package/api/shopify/shopifyEventsGet.js +46 -0
  42. package/api/shopify/shopifyFilesGet.js +46 -0
  43. package/api/shopify/shopifyFulfillmentOrdersGet.js +46 -0
  44. package/api/shopify/shopifyGiftCardsGet.js +46 -0
  45. package/api/shopify/shopifyInventoryItemsGet.js +46 -0
  46. package/api/shopify/shopifyLocationsGet.js +46 -0
  47. package/api/shopify/shopifyMarketingEventsGet.js +46 -0
  48. package/api/shopify/shopifyMarketsGet.js +46 -0
  49. package/api/shopify/shopifyMenusGet.js +46 -0
  50. package/api/shopify/shopifyMetafieldDefinitionsGet.js +50 -0
  51. package/api/shopify/shopifyMetaobjectDefinitionsGet.js +46 -0
  52. package/api/shopify/shopifyMetaobjectsGet.js +50 -0
  53. package/api/shopify/shopifyPagesGet.js +46 -0
  54. package/api/shopify/shopifyPaymentCustomizationsGet.js +46 -0
  55. package/api/shopify/shopifyProductFeedsGet.js +46 -0
  56. package/api/shopify/shopifyProductVariantsGet.js +46 -0
  57. package/api/shopify/shopifyProductsGet.js +46 -0
  58. package/api/shopify/shopifyPublicationsGet.js +46 -0
  59. package/api/shopify/shopifySegmentsGet.js +46 -0
  60. package/api/shopify/shopifyUrlRedirectsGet.js +46 -0
  61. package/api/shopify/shopifyWebhookSubscriptionsGet.js +46 -0
  62. package/api/utils.js +4 -3
  63. package/api/workspace.js +43 -0
  64. package/cli.js +42 -0
  65. package/hosting.utils.js +232 -0
  66. package/package.json +5 -3
  67. package/server.js +157 -107
  68. package/server.utils.js +40 -0
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/checkoutAndAccountsConfigurations
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyCheckoutAndAccountsConfigurationsGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'checkoutAndAccountsConfiguration', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyCheckoutAndAccountsConfigurationsGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyCheckoutAndAccountsConfigurationsGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/collections
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyCollectionsGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'collection', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyCollectionsGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyCollectionsGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -1,3 +1,5 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/customers
2
+
1
3
  const { credsFromPayload, Getter, ArgsWarden } = require('../utils');
2
4
  const { credsValidator } = require('../validators');
3
5
  const { shopifyGet } = require('./shopifyGet');
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/deliveryCustomizations
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyDeliveryCustomizationsGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'deliveryCustomization', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyDeliveryCustomizationsGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyDeliveryCustomizationsGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/deliveryProfiles
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyDeliveryProfilesGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'deliveryProfile', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyDeliveryProfilesGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyDeliveryProfilesGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/discountNodes
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyDiscountNodesGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'discountNode', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyDiscountNodesGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyDiscountNodesGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/disputes
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyDisputesGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'shopifyPaymentsDispute', { resources: 'disputes', ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyDisputesGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyDisputesGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/draftOrders
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyDraftOrdersGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'draftOrder', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyDraftOrdersGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyDraftOrdersGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/events
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyEventsGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'event', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyEventsGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyEventsGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/files
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyFilesGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'file', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyFilesGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyFilesGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/fulfillment-orders
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyFulfillmentOrdersGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'fulfillmentOrder', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyFulfillmentOrdersGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyFulfillmentOrdersGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/giftCards
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyGiftCardsGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'giftCard', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyGiftCardsGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyGiftCardsGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/inventoryItems
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyInventoryItemsGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'inventoryItem', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyInventoryItemsGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyInventoryItemsGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/locations
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyLocationsGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'location', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyLocationsGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyLocationsGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */
@@ -0,0 +1,46 @@
1
+ // https://shopify.dev/docs/api/admin-graphql/latest/queries/marketingEvents
2
+
3
+ const { ArgsWarden } = require('../utils');
4
+ const { credsValidator } = require('../validators');
5
+ const { shopifyGet } = require('./shopifyGet');
6
+
7
+ const argsWarden = new ArgsWarden([
8
+ ['credsPayload', credsValidator],
9
+ ]);
10
+
11
+ const shopifyMarketingEventsGet = async (
12
+ credsPayload,
13
+ {
14
+ ...getterOptions // e.g. limit
15
+ } = {},
16
+ ) => {
17
+
18
+ const rejectResponse = await argsWarden.responseIfRejectingArgs({
19
+ credsPayload,
20
+ });
21
+ if (rejectResponse) {
22
+ return rejectResponse;
23
+ }
24
+
25
+ return await shopifyGet(credsPayload, 'marketingEvent', { ...getterOptions });
26
+ };
27
+
28
+ const funcApiConfig = {
29
+ argsWarden,
30
+ };
31
+
32
+ module.exports = {
33
+ shopifyMarketingEventsGet,
34
+ funcApiConfig,
35
+ };
36
+
37
+ /*
38
+ curl -X POST "http://localhost:8000/shopifyMarketingEventsGet" \
39
+ -H "Content-Type: application/json" \
40
+ -d '{
41
+ "credsPayload": { "credsPath": "shopify.au" },
42
+ "options": {
43
+ "limit": 10
44
+ }
45
+ }'
46
+ */