@agnostack/next-shopify 1.8.1-alpha.5 → 1.8.1-alpha.7

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.
@@ -17,65 +17,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.handleAppBilling = void 0;
18
18
  const raw_body_1 = __importDefault(require("raw-body"));
19
19
  const utils_1 = require("../../utils");
20
- const INSTALLATION_BILLING_QUERY = `
21
- {
22
- currentAppInstallation {
23
- app {
24
- title
25
- }
26
- oneTimePurchases(first: 25) {
27
- nodes {
28
- id
29
- status
30
- }
31
- }
32
- allSubscriptions(first:20) {
33
- nodes {
34
- id
35
- status
36
- }
37
- }
38
- }
39
- }
40
- `;
41
20
  // NOTE: typically handling: "/api/webhooks/app/billing"
42
21
  const handleAppBilling = (serverRuntimeConfig) => async (req, res) => {
43
- var _a, _b;
22
+ var _a;
44
23
  try {
45
- const { 'x-shopify-shop-domain': shop, 'x-shopify-topic': topic, } = (_a = req.headers) !== null && _a !== void 0 ? _a : {};
46
- console.log(`>>> ~ req.headers`, req.headers);
24
+ const { 'x-shopify-shop-domain': shop } = (_a = req.headers) !== null && _a !== void 0 ? _a : {};
47
25
  if (utils_1.stringEmpty(shop)) {
48
26
  return res.status(200).json({ handler: 'billing', error: 'Missing shop' });
49
27
  }
50
28
  const { shopify } = await utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
51
- console.log(`>>> > handleAppBilling > req.body`, req.body);
52
29
  // NOTE raw request body is required for Shopify webhook validation
53
- const rawBody = await raw_body_1.default(req);
54
- console.log(`>>> ~ rawBody`, rawBody.toString());
55
- const _c = await shopify.webhooks.validate({
56
- rawBody: rawBody.toString(),
30
+ const _rawBody = await raw_body_1.default(req);
31
+ const rawBody = _rawBody.toString();
32
+ const _b = await shopify.webhooks.validate({
33
+ rawBody,
57
34
  rawRequest: req,
58
35
  rawResponse: res,
59
- }), { valid } = _c, webhookCheck = __rest(_c, ["valid"]);
36
+ }), { valid } = _b, webhookCheck = __rest(_b, ["valid"]);
60
37
  if (valid) {
61
38
  try {
62
- const { Graphql } = await utils_1.getVerifiedClients(serverRuntimeConfig, { req, res, shop });
63
- const response = await Graphql.query({ data: INSTALLATION_BILLING_QUERY });
64
- console.log(`>>> ~ response`, response);
65
- const responseBody = (_b = response.body.data) !== null && _b !== void 0 ? _b : response.body;
66
- const [_responseData] = Object.values(utils_1.ensureObject(responseBody));
67
- const _d = utils_1.ensureObject(_responseData), { userErrors } = _d, responseData = __rest(_d, ["userErrors"]);
68
- if (utils_1.arrayNotEmpty(userErrors)) {
69
- const errorMessages = userErrors.map(({ message }) => utils_1.ensureString(message));
70
- return res.status(200).json({
71
- handler: 'billing',
72
- message: `Error fetching App Installation. ${errorMessages.join('. ')}.`,
39
+ const [type, { status } = {}] = Object.entries(JSON.parse(rawBody))[0];
40
+ console.log(`>>> ~ status`, status);
41
+ console.log(`>>> ~ type`, type);
42
+ const { Rest } = await utils_1.getVerifiedClients(serverRuntimeConfig, { req, res, shop });
43
+ console.log(`>>> ~ Rest`, Rest);
44
+ let response;
45
+ // TODO constants
46
+ if (type === 'app_purchase_one_time' && status === 'DECLINED') {
47
+ console.log(`>>> ~ Rest.delete`);
48
+ response = await Rest.delete({
49
+ path: '/admin/api_permissions/current.json',
73
50
  });
74
51
  }
75
- console.log(`>>> ~ responseData`, responseData);
76
- console.log(`>>> ~ topic`, topic);
77
- console.log(`>>> > handleAppBilling > TODO!!!!!: do something here`);
78
- // TODO!!!!!: do something here!?!?!?
52
+ console.log(`>>> ~ response`, response);
79
53
  return res.status(200).json({ handler: 'billing', message: 'success' });
80
54
  }
81
55
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/handlers/api/billing.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/handlers/api/billing.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agnostack/next-shopify",
3
- "version": "1.8.1-alpha.5",
3
+ "version": "1.8.1-alpha.7",
4
4
  "author": "agnoStack Dev <developers@agnostack.com> (https://agnostack.com)",
5
5
  "owner": "agnoStack",
6
6
  "description": "Please contact agnoStack via info@agnostack.com for any questions",