@agnostack/next-shopify 1.7.0-alpha.53 → 1.7.0-alpha.55
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.
- package/dist/handlers/auth.d.ts +1 -0
- package/dist/handlers/auth.js +8 -0
- package/dist/handlers/auth.js.map +1 -0
- package/dist/handlers/callback.d.ts +1 -0
- package/dist/handlers/callback.js +75 -0
- package/dist/handlers/callback.js.map +1 -0
- package/dist/handlers/graph.d.ts +1 -0
- package/dist/handlers/graph.js +75 -0
- package/dist/handlers/graph.js.map +1 -0
- package/dist/handlers/index.d.ts +5 -0
- package/dist/handlers/rest.d.ts +1 -0
- package/dist/handlers/rest.js +83 -0
- package/dist/handlers/rest.js.map +1 -0
- package/dist/handlers/uninstall.d.ts +6 -0
- package/dist/handlers/uninstall.js +63 -0
- package/dist/handlers/uninstall.js.map +1 -0
- package/dist/utils/billing.d.ts +5 -1
- package/dist/utils/billing.js +15 -21
- package/dist/utils/billing.js.map +1 -1
- package/dist/utils/constants.js +0 -39
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/firebase.js +9 -14
- package/dist/utils/firebase.js.map +1 -1
- package/dist/utils/session.js +2 -1
- package/dist/utils/session.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function handleAuth(serverRuntimeConfig: any): (req: any, res: any) => Promise<any>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleAuth = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
// NOTE: typically handling: "/api/auth"
|
|
6
|
+
const handleAuth = (serverRuntimeConfig) => async (req, res) => (utils_1.getRedirectUrl(serverRuntimeConfig, { req, res }));
|
|
7
|
+
exports.handleAuth = handleAuth;
|
|
8
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/handlers/auth.js"],"names":[],"mappings":";;;AAAA,oCAAyC;AAEzC,wCAAwC;AACjC,MAAM,UAAU,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CACrE,sBAAc,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAClD,CAAA;AAFY,QAAA,UAAU,cAEtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function handleCallback(serverRuntimeConfig: any): (req: any, res: any) => Promise<any>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleCallback = void 0;
|
|
4
|
+
const shopify_api_1 = require("@shopify/shopify-api");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const handleCallbackError = (error, { API_PATHS, shop, host }) => {
|
|
7
|
+
var _a;
|
|
8
|
+
const errorMessage = 'Error handling callback route';
|
|
9
|
+
let redirectUrl;
|
|
10
|
+
switch (true) {
|
|
11
|
+
// TODO implement a custom SessionNotFound error
|
|
12
|
+
case error instanceof shopify_api_1.CookieNotFound: {
|
|
13
|
+
console.error(`${errorMessage}. Cookie Error`, error);
|
|
14
|
+
// TODO: explore objectToQuerystring
|
|
15
|
+
const queryParams = new URLSearchParams({ host, shop }).toString();
|
|
16
|
+
redirectUrl = `${API_PATHS[utils_1.API_ROUTE_NAMES.AUTH]}?${queryParams}`;
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
case error instanceof shopify_api_1.BillingError: {
|
|
20
|
+
console.error(`${errorMessage}. Billing Error ${error.message}`, error.errorData);
|
|
21
|
+
redirectUrl = `/error?code=${utils_1.ERROR_CODES.BILLING}`;
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
case error instanceof shopify_api_1.GraphqlQueryError: {
|
|
25
|
+
const errorMessages = utils_1.ensureArray((_a = error.response) === null || _a === void 0 ? void 0 : _a.errors).map(({ message }) => utils_1.ensureString(message));
|
|
26
|
+
console.error(`${errorMessage}. GraphqlQuery Error ${errorMessages.join('. ')}`);
|
|
27
|
+
redirectUrl = `/error?code=${utils_1.ERROR_CODES.QUERY}`;
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
case error instanceof shopify_api_1.InvalidOAuthError: {
|
|
31
|
+
console.error(`${errorMessage}. InvalidOAuth Error`, error);
|
|
32
|
+
redirectUrl = `/error?code=${utils_1.ERROR_CODES.OAUTH}`;
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
default: {
|
|
36
|
+
console.error(errorMessage, error);
|
|
37
|
+
redirectUrl = `/error?code=${utils_1.ERROR_CODES.CALLBACK}`;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return redirectUrl;
|
|
41
|
+
};
|
|
42
|
+
// NOTE: typically handling: "/api/auth/callback"
|
|
43
|
+
const handleCallback = (serverRuntimeConfig) => async (req, res) => {
|
|
44
|
+
const { PAGE_PATHS, PAYMENT_CONFIG, API_PATHS } = serverRuntimeConfig;
|
|
45
|
+
const { shop, host } = req.query;
|
|
46
|
+
if (utils_1.stringEmpty(shop) || utils_1.stringEmpty(host)) {
|
|
47
|
+
// HMMM: why is this a 303 (rather than a 302 or or anything)??
|
|
48
|
+
return res.redirect(303, `${PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.ERROR]}?code=${utils_1.ERROR_CODES.INVALID_CALLBACK}`);
|
|
49
|
+
}
|
|
50
|
+
let redirectUrl = `${PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.ERROR]}?invalid_callback_response`;
|
|
51
|
+
try {
|
|
52
|
+
const { shopify, storeSession } = await utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
53
|
+
const authPayload = { rawRequest: req, rawResponse: res };
|
|
54
|
+
// TODO investigate Error handling callback route. Cookie Error CookieNotFound [Error]: Cannot complete OAuth process. Could not find an OAuth cookie for shop url:
|
|
55
|
+
const { session } = await shopify.auth.callback(authPayload);
|
|
56
|
+
await storeSession(session.toObject());
|
|
57
|
+
await shopify.webhooks.register({ session });
|
|
58
|
+
// TODO: explore objectToQuerystring
|
|
59
|
+
const embeddedURL = await shopify.auth.getEmbeddedAppUrl(authPayload);
|
|
60
|
+
redirectUrl = `${embeddedURL}?${new URLSearchParams(req.query).toString()}`;
|
|
61
|
+
if (PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required) {
|
|
62
|
+
// HMMM: order of params/method sig??
|
|
63
|
+
const confirmationUrl = await utils_1.ensureBilling(shopify, session, PAYMENT_CONFIG);
|
|
64
|
+
if (utils_1.stringNotEmpty(confirmationUrl)) {
|
|
65
|
+
redirectUrl = confirmationUrl;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
redirectUrl = handleCallbackError(error, { API_PATHS, shop, host });
|
|
71
|
+
}
|
|
72
|
+
return res.redirect(302, redirectUrl);
|
|
73
|
+
};
|
|
74
|
+
exports.handleCallback = handleCallback;
|
|
75
|
+
//# sourceMappingURL=callback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../src/handlers/callback.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function handleGraph(serverRuntimeConfig: any): (req: any, res: any, params: any) => Promise<any>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.handleGraph = void 0;
|
|
15
|
+
const shopify_api_1 = require("@shopify/shopify-api");
|
|
16
|
+
const utils_1 = require("../utils");
|
|
17
|
+
const handleGraph = (serverRuntimeConfig) => async (req, res, params) => {
|
|
18
|
+
var _a, _b, _c;
|
|
19
|
+
const { body = '{}' } = req, _d = req.query, _e = _d === void 0 ? {} : _d, { shop, apiVersion } = _e, _query = __rest(_e, ["shop", "apiVersion"]);
|
|
20
|
+
const _f = params !== null && params !== void 0 ? params : JSON.parse(body), { query: graphQuery, variables: graphVariables } = _f, graphParams = __rest(_f, ["query", "variables"]);
|
|
21
|
+
let query = _query;
|
|
22
|
+
if (utils_1.isType(query, 'string')) {
|
|
23
|
+
query = utils_1.querystringToObject(query);
|
|
24
|
+
}
|
|
25
|
+
if (utils_1.stringEmpty(shop) || utils_1.stringEmpty(graphQuery)) {
|
|
26
|
+
return res.status(400).json({ message: 'Invalid arguments' });
|
|
27
|
+
}
|
|
28
|
+
let statusCode;
|
|
29
|
+
let response;
|
|
30
|
+
let message;
|
|
31
|
+
let headers = {};
|
|
32
|
+
try {
|
|
33
|
+
const { Graphql } = await utils_1.getVerifiedClients(serverRuntimeConfig, { req, res, shop, apiVersion });
|
|
34
|
+
response = await Graphql.query(Object.assign(Object.assign({ data: graphVariables ? {
|
|
35
|
+
query: graphQuery,
|
|
36
|
+
variables: graphVariables,
|
|
37
|
+
} : graphQuery }, utils_1.objectNotEmpty(query) && { query }), graphParams));
|
|
38
|
+
statusCode = 200;
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
message = 'Error handling query call';
|
|
42
|
+
statusCode = 500;
|
|
43
|
+
switch (true) {
|
|
44
|
+
case error instanceof utils_1.ShopifyAuthenticationError: {
|
|
45
|
+
console.error(`${message}. Authentication Error`, error);
|
|
46
|
+
const errroResponse = utils_1.getAuthErrorResponse({ error, shop, serverRuntimeConfig });
|
|
47
|
+
statusCode = errroResponse.statusCode;
|
|
48
|
+
message = errroResponse.message;
|
|
49
|
+
headers = errroResponse.headers;
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
case error instanceof shopify_api_1.BillingError: {
|
|
53
|
+
console.error(`${message}. Billing Error - ${error.message}`, error.errorData);
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case error instanceof shopify_api_1.GraphqlQueryError: {
|
|
57
|
+
const errorMessages = utils_1.ensureArray((_a = error.response) === null || _a === void 0 ? void 0 : _a.errors).map(({ message }) => utils_1.ensureString(message));
|
|
58
|
+
console.error(`${message}. ${errorMessages.join('. ')}`);
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
default: {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
Object.entries(headers).forEach(([key, value]) => {
|
|
67
|
+
res.setHeader(key, value);
|
|
68
|
+
});
|
|
69
|
+
if (!(response === null || response === void 0 ? void 0 : response.body)) {
|
|
70
|
+
return res.status(statusCode).json({ message });
|
|
71
|
+
}
|
|
72
|
+
return res.status(statusCode).json((_c = (_b = response.body) === null || _b === void 0 ? void 0 : _b.data) !== null && _c !== void 0 ? _c : response.body);
|
|
73
|
+
};
|
|
74
|
+
exports.handleGraph = handleGraph;
|
|
75
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/handlers/graph.js"],"names":[],"mappings":"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"}
|
package/dist/handlers/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function handleRest(serverRuntimeConfig: any): (req: any, res: any, _params: any) => Promise<any>;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.handleRest = void 0;
|
|
15
|
+
// NOTE: api routes do NOT work in `next export`
|
|
16
|
+
const shopify_api_1 = require("@shopify/shopify-api");
|
|
17
|
+
const utils_1 = require("../utils");
|
|
18
|
+
const handleRest = (serverRuntimeConfig) => async (req, res, _params) => {
|
|
19
|
+
const { query: _query, method: _method, body: _body } = req;
|
|
20
|
+
const { shop } = _query !== null && _query !== void 0 ? _query : {};
|
|
21
|
+
const _a = _params !== null && _params !== void 0 ? _params : {}, { method: methodParam, query: queryParam, body: bodyParam, path } = _a, params = __rest(_a, ["method", "query", "body", "path"]);
|
|
22
|
+
let queryData = queryParam !== null && queryParam !== void 0 ? queryParam : _query;
|
|
23
|
+
const body = bodyParam !== null && bodyParam !== void 0 ? bodyParam : _body;
|
|
24
|
+
const method = utils_1.ensureString(methodParam !== null && methodParam !== void 0 ? methodParam : _method).toLowerCase();
|
|
25
|
+
if (utils_1.isType(queryData, 'string')) {
|
|
26
|
+
queryData = utils_1.querystringToObject(queryData);
|
|
27
|
+
}
|
|
28
|
+
const _b = utils_1.ensureObject(queryData), { apiVersion } = _b, query = __rest(_b, ["apiVersion"]);
|
|
29
|
+
if (utils_1.stringEmpty(shop) || utils_1.stringEmpty(path)) {
|
|
30
|
+
return {
|
|
31
|
+
statusCode: 400,
|
|
32
|
+
message: 'Invalid arguments',
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
let statusCode;
|
|
36
|
+
let response;
|
|
37
|
+
let message;
|
|
38
|
+
let headers = {};
|
|
39
|
+
try {
|
|
40
|
+
const { Rest } = await utils_1.getVerifiedClients(serverRuntimeConfig, { req, res, shop, apiVersion });
|
|
41
|
+
response = await Rest[method](Object.assign({ path,
|
|
42
|
+
query,
|
|
43
|
+
body, type: shopify_api_1.DataType.JSON }, params));
|
|
44
|
+
statusCode = 200;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
message = 'Error handling rest call';
|
|
48
|
+
statusCode = 500;
|
|
49
|
+
switch (true) {
|
|
50
|
+
case error instanceof utils_1.ShopifyAuthenticationError: {
|
|
51
|
+
console.error(`${message}. Authentication Error`, error);
|
|
52
|
+
const errroResponse = utils_1.getAuthErrorResponse({ error, shop, serverRuntimeConfig });
|
|
53
|
+
statusCode = errroResponse.statusCode;
|
|
54
|
+
message = errroResponse.message;
|
|
55
|
+
headers = errroResponse.headers;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
case error instanceof shopify_api_1.BillingError: {
|
|
59
|
+
console.error(`${message}. Billing Error - ${error.message}`, error.errorData);
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
default: {
|
|
63
|
+
console.error(message, error);
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
Object.entries(utils_1.ensureObject(headers)).forEach(([key, value]) => {
|
|
69
|
+
res.setHeader(key, value);
|
|
70
|
+
});
|
|
71
|
+
if (!response) {
|
|
72
|
+
return res.status(statusCode).json({ message });
|
|
73
|
+
}
|
|
74
|
+
if ((params === null || params === void 0 ? void 0 : params.type) && ![shopify_api_1.DataType.GraphQL, shopify_api_1.DataType.JSON].includes(params.type)) {
|
|
75
|
+
return res.status(statusCode).send(response);
|
|
76
|
+
}
|
|
77
|
+
if (!(response === null || response === void 0 ? void 0 : response.body)) {
|
|
78
|
+
return res.status(statusCode).json({ message });
|
|
79
|
+
}
|
|
80
|
+
return res.status(statusCode).json(response.body);
|
|
81
|
+
};
|
|
82
|
+
exports.handleRest = handleRest;
|
|
83
|
+
//# sourceMappingURL=rest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../src/handlers/rest.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,sDAA6D;AAE7D,oCASiB;AAEV,MAAM,UAAU,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;IAC7E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;IAC7B,MAAM,KAMF,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EANX,EACJ,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,SAAS,EACf,IAAI,OAEW,EADZ,MAAM,cALL,mCAML,CAAgB,CAAA;IACjB,IAAI,SAAS,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,MAAM,CAAA;IACpC,MAAM,IAAI,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,KAAK,CAAA;IAC/B,MAAM,MAAM,GAAG,oBAAY,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;IAEjE,IAAI,cAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;QAC/B,SAAS,GAAG,2BAAmB,CAAC,SAAS,CAAC,CAAA;KAC3C;IACD,MAAM,KAA2B,oBAAY,CAAC,SAAS,CAAC,EAAlD,EAAE,UAAU,OAAsC,EAAjC,KAAK,cAAtB,cAAwB,CAA0B,CAAA;IAExD,IAAI,mBAAW,CAAC,IAAI,CAAC,IAAI,mBAAW,CAAC,IAAI,CAAC,EAAE;QAC1C,OAAO;YACL,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,mBAAmB;SAC7B,CAAA;KACF;IAED,IAAI,UAAU,CAAA;IACd,IAAI,QAAQ,CAAA;IACZ,IAAI,OAAO,CAAA;IACX,IAAI,OAAO,GAAG,EAAE,CAAA;IAEhB,IAAI;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,0BAAkB,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QAE9F,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAC3B,IAAI;YACJ,KAAK;YACL,IAAI,EACJ,IAAI,EAAE,sBAAQ,CAAC,IAAI,IAChB,MAAM,EACT,CAAA;QAEF,UAAU,GAAG,GAAG,CAAA;KACjB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,GAAG,0BAA0B,CAAA;QACpC,UAAU,GAAG,GAAG,CAAA;QAEhB,QAAQ,IAAI,EAAE;YACZ,KAAK,KAAK,YAAY,kCAA0B,CAAC,CAAC;gBAChD,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,wBAAwB,EAAE,KAAK,CAAC,CAAA;gBACxD,MAAM,aAAa,GAAG,4BAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAA;gBAChF,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;gBACrC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAA;gBAC/B,OAAO,GAAG,aAAa,CAAC,OAAO,CAAA;gBAC/B,MAAK;aACN;YAED,KAAK,KAAK,YAAY,0BAAY,CAAC,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,qBAAqB,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;gBAC9E,MAAK;aACN;YAED,OAAO,CAAC,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;gBAC7B,MAAK;aACN;SACF;KACF;IAED,MAAM,CAAC,OAAO,CAAC,oBAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC7D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;KAChD;IAED,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,CAAC,CAAC,sBAAQ,CAAC,OAAO,EAAE,sBAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC5E,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;KAC7C;IAED,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE;QACnB,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;KAChD;IAED,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AACnD,CAAC,CAAA;AAtFY,QAAA,UAAU,cAsFtB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.rawBodyConfig = exports.handleAppUninstalled = void 0;
|
|
7
|
+
const raw_body_1 = __importDefault(require("raw-body"));
|
|
8
|
+
const runtime_1 = require("@shopify/shopify-api/runtime");
|
|
9
|
+
const utils_1 = require("../utils");
|
|
10
|
+
const setResponseConversions = ({ shop, findSession, deleteSessions }) => {
|
|
11
|
+
// NOTE setAbstractConvertIncomingResponseFunc is required if using setAbstractConvertResponseFunc
|
|
12
|
+
runtime_1.setAbstractConvertIncomingResponseFunc(async (args) => args);
|
|
13
|
+
runtime_1.setAbstractConvertResponseFunc(async (response, adapterArgs) => {
|
|
14
|
+
const { statusCode, statusText } = utils_1.ensureObject(response);
|
|
15
|
+
const { type, rawResponse } = utils_1.ensureObject(adapterArgs);
|
|
16
|
+
// NOTE additional check (before removing sessions) to ensure this is the uninstall response scenario (although this nay not be needed)
|
|
17
|
+
if (type === utils_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED && statusCode === 200) {
|
|
18
|
+
const sessionsIds = await findSession(shop);
|
|
19
|
+
if (utils_1.arrayNotEmpty(sessionsIds)) {
|
|
20
|
+
await deleteSessions(sessionsIds.map(({ id }) => id));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return rawResponse.status(statusCode).send(statusText);
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
// NOTE: typically handling: "/api/webhooks/app/uninstalled"
|
|
27
|
+
const handleAppUninstalled = (serverRuntimeConfig) => async (req, res) => {
|
|
28
|
+
// NOTE raw request body is required for Shopify webhook validation
|
|
29
|
+
const rawBody = await raw_body_1.default(req).catch((error) => {
|
|
30
|
+
console.error('Error extracting raw body for app uninstall', error);
|
|
31
|
+
// HMMMM: dont think we can return a 500 here (vs a 200 w/ an error object)
|
|
32
|
+
return res.status(500).send('Unable to get request body');
|
|
33
|
+
});
|
|
34
|
+
try {
|
|
35
|
+
const shop = req.headers['x-shopify-shop-domain'];
|
|
36
|
+
if (utils_1.stringEmpty(shop)) {
|
|
37
|
+
return res.status(400).send('Invalid shop');
|
|
38
|
+
}
|
|
39
|
+
const { shopify, findSession, deleteSessions } = await utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
|
|
40
|
+
// NOTE these methods will intercept the response from shopify.webhooks.process
|
|
41
|
+
setResponseConversions({ shop, findSession, deleteSessions });
|
|
42
|
+
await shopify.webhooks.process({
|
|
43
|
+
rawBody: rawBody.toString(),
|
|
44
|
+
rawRequest: req,
|
|
45
|
+
rawResponse: res,
|
|
46
|
+
type: utils_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED,
|
|
47
|
+
});
|
|
48
|
+
return res.status(200).send('ok');
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error('Error handling uninstall', error);
|
|
52
|
+
// HMMM: not sure this should/can send back a 500 here (vs 200 w error object in body)
|
|
53
|
+
return res.status(500).send('Error handling uninstall');
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.handleAppUninstalled = handleAppUninstalled;
|
|
57
|
+
// NOTE raw request body is required for Shopify webhook validation
|
|
58
|
+
exports.rawBodyConfig = {
|
|
59
|
+
api: {
|
|
60
|
+
bodyParser: false,
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=uninstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/handlers/uninstall.js"],"names":[],"mappings":"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"}
|
package/dist/utils/billing.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
export function ensureBilling(shopify
|
|
1
|
+
export function ensureBilling({ shopify, session, paymentConfig }: {
|
|
2
|
+
shopify: any;
|
|
3
|
+
session: any;
|
|
4
|
+
paymentConfig: any;
|
|
5
|
+
}): Promise<any>;
|
|
2
6
|
export function generatePaymentConfig(data: any): {
|
|
3
7
|
required: boolean;
|
|
4
8
|
test: boolean;
|
package/dist/utils/billing.js
CHANGED
|
@@ -4,34 +4,28 @@ exports.generatePaymentConfig = exports.ensureBilling = void 0;
|
|
|
4
4
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
5
5
|
const display_1 = require("./display");
|
|
6
6
|
const constants_1 = require("./constants");
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
const ensureBilling = async ({ shopify, session, paymentConfig }) => {
|
|
8
|
+
const { shop, accessToken } = display_1.ensureObject(session);
|
|
9
|
+
const { name: plan, test, config, required } = display_1.ensureObject(paymentConfig);
|
|
10
|
+
if (!required) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const isTest = display_1.isTrue(test);
|
|
14
|
+
const hasValidBilling = (display_1.stringNotEmpty(shop) &&
|
|
15
|
+
display_1.stringNotEmpty(accessToken) &&
|
|
16
|
+
display_1.stringNotEmpty(plan) &&
|
|
17
|
+
display_1.objectNotEmpty(config) &&
|
|
18
|
+
Object.values(constants_1.BILLING_INTERVALS).includes(config === null || config === void 0 ? void 0 : config.interval));
|
|
19
|
+
if (!hasValidBilling) {
|
|
18
20
|
throw new shopify_api_1.BillingError({
|
|
19
21
|
message: 'Invalid billing configuration',
|
|
20
22
|
});
|
|
21
23
|
}
|
|
22
24
|
try {
|
|
23
|
-
if (display_1.isTrue(await shopify.billing.check({
|
|
24
|
-
plans: [paymentConfig.name],
|
|
25
|
-
isTest: display_1.isTrue(paymentConfig.test),
|
|
26
|
-
session,
|
|
27
|
-
}))) {
|
|
25
|
+
if (display_1.isTrue(await shopify.billing.check({ plans: [plan], isTest, session }))) {
|
|
28
26
|
return undefined;
|
|
29
27
|
}
|
|
30
|
-
return shopify.billing.request({
|
|
31
|
-
plan: paymentConfig.name,
|
|
32
|
-
isTest: display_1.isTrue(paymentConfig.test),
|
|
33
|
-
session,
|
|
34
|
-
});
|
|
28
|
+
return shopify.billing.request({ plan, isTest, session });
|
|
35
29
|
}
|
|
36
30
|
catch (error) {
|
|
37
31
|
throw new shopify_api_1.BillingError({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/utils/billing.js"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,uCAQkB;AAClB,2CAA+C;
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/utils/billing.js"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,uCAQkB;AAClB,2CAA+C;AAExC,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;IACzE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,sBAAY,CAAC,OAAO,CAAC,CAAA;IACnD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,sBAAY,CAAC,aAAa,CAAC,CAAA;IAE1E,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,MAAM,GAAG,gBAAM,CAAC,IAAI,CAAC,CAAA;IAE3B,MAAM,eAAe,GAAG,CACtB,wBAAc,CAAC,IAAI,CAAC;QACpB,wBAAc,CAAC,WAAW,CAAC;QAC3B,wBAAc,CAAC,IAAI,CAAC;QACpB,wBAAc,CAAC,MAAM,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,6BAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,CAC5D,CAAA;IAED,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,IAAI,0BAAY,CAAC;YACrB,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAA;KACH;IAED,IAAI;QACF,IAAI,gBAAM,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;YAC3E,OAAO,SAAS,CAAA;SACjB;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;KAC1D;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,0BAAY,CAAC;YACrB,OAAO,EAAE,wCAAwC;SAClD,CAAC,CAAA;KACH;AACH,CAAC,CAAA;AAnCY,QAAA,aAAa,iBAmCzB;AAED,4CAA4C;AACrC,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,EAAE;IAC5C,MAAM;IACJ,aAAa;IACb,WAAW,EACX,aAAa;IACb,oBAAoB;MACrB,GAAG,sBAAY,CAAC,IAAI,CAAC,CAAA;IAEtB,IAAI,qBAAW,CAAC,aAAa,CAAC,IAAI,qBAAW,CAAC,WAAW,CAAC,EAAE;QAC1D,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,6BAAiB,CAAC,QAAQ,GAClC,GAAG,sBAAY,CAAC,aAAa,CAAC,CAAA;IAE/B,MAAM,YAAY,GAAG,CAAC,WAAW,KAAK,YAAY,CAAC,CAAA;IACnD,MAAM,aAAa,GAAG,CAAC,YAAY,CAAA;IACnC,MAAM,WAAW,GAAG,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,qBAAW,CAAC,IAAI,CAAC,EAAE,CAAA;IAE/F,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,QAAQ;SACvB;KACF,CAAA;AACH,CAAC,CAAA;AAjCY,QAAA,qBAAqB,yBAiCjC"}
|
package/dist/utils/constants.js
CHANGED
|
@@ -19,45 +19,6 @@ exports.BILLING_INTERVALS = {
|
|
|
19
19
|
EVERY_30_DAYS: 'EVERY_30_DAYS',
|
|
20
20
|
ANNUAL: 'ANNUAL',
|
|
21
21
|
};
|
|
22
|
-
// TODO can we remove?
|
|
23
|
-
/*
|
|
24
|
-
export const SHOP_DATA_QUERY = `
|
|
25
|
-
{
|
|
26
|
-
shop {
|
|
27
|
-
url
|
|
28
|
-
name
|
|
29
|
-
myshopifyDomain
|
|
30
|
-
checkoutApiSupported
|
|
31
|
-
taxesIncluded
|
|
32
|
-
taxShipping
|
|
33
|
-
orderNumberFormatPrefix
|
|
34
|
-
orderNumberFormatSuffix
|
|
35
|
-
orderTags (first: 100) {
|
|
36
|
-
edges {
|
|
37
|
-
node
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
productVendors (first: 100) {
|
|
41
|
-
edges {
|
|
42
|
-
node
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
customerTags (first: 100) {
|
|
46
|
-
edges {
|
|
47
|
-
node
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
features {
|
|
51
|
-
giftCards
|
|
52
|
-
}
|
|
53
|
-
plan {
|
|
54
|
-
shopifyPlus
|
|
55
|
-
partnerDevelopment
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
`
|
|
60
|
-
*/
|
|
61
22
|
exports.SHOP_QUERY = `
|
|
62
23
|
{
|
|
63
24
|
shop {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.js"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,YAAY,CAAA;AAE9B,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,gBAAgB;CACxB,CAAA;AAEY,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,cAAc;IACpB,aAAa,EAAE,sBAAsB;IACrC,eAAe,EAAE,wBAAwB;CAC1C,CAAA;AAEY,QAAA,kBAAkB,GAAG;IAChC,eAAe,EAAE,iBAAiB;CACnC,CAAA;AAEY,QAAA,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;CACjB,CAAA;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.js"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,YAAY,CAAA;AAE9B,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,gBAAgB;CACxB,CAAA;AAEY,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,cAAc;IACpB,aAAa,EAAE,sBAAsB;IACrC,eAAe,EAAE,wBAAwB;CAC1C,CAAA;AAEY,QAAA,kBAAkB,GAAG;IAChC,eAAe,EAAE,iBAAiB;CACnC,CAAA;AAEY,QAAA,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;CACjB,CAAA;AAEY,QAAA,UAAU,GAAG;;;;;;CAMzB,CAAA"}
|
package/dist/utils/firebase.js
CHANGED
|
@@ -22,10 +22,10 @@ const singleton = Symbol('singleton');
|
|
|
22
22
|
const singletonEnforcer = Symbol('singletonEnforcer');
|
|
23
23
|
class FirebaseSessionHandler {
|
|
24
24
|
constructor(enforcer, { config, collection = constants_1.COLLECTION_ROOT }) {
|
|
25
|
-
this.type = 'FirebaseSessionHandler';
|
|
26
25
|
if (enforcer !== singletonEnforcer) {
|
|
27
26
|
throw new Error('Cannot instantiate FirebaseSessionHandler directly, please use getInstance()');
|
|
28
27
|
}
|
|
28
|
+
this.type = 'FirebaseSessionHandler';
|
|
29
29
|
this.config = config;
|
|
30
30
|
this.collection = collection;
|
|
31
31
|
}
|
|
@@ -76,12 +76,12 @@ const storeCallback = async (instance, session) => {
|
|
|
76
76
|
exports.storeCallback = storeCallback;
|
|
77
77
|
const loadCallback = async (instance, sessionId) => {
|
|
78
78
|
try {
|
|
79
|
-
const
|
|
79
|
+
const document = await instance.firestore
|
|
80
80
|
.collection(instance.collection)
|
|
81
81
|
.doc(instance.config.shop)
|
|
82
82
|
.collection(instance.config.configurationId)
|
|
83
|
-
.doc(sessionId)
|
|
84
|
-
|
|
83
|
+
.doc(sessionId)
|
|
84
|
+
.get();
|
|
85
85
|
if (document.exists) {
|
|
86
86
|
return document.data();
|
|
87
87
|
}
|
|
@@ -94,18 +94,13 @@ const loadCallback = async (instance, sessionId) => {
|
|
|
94
94
|
};
|
|
95
95
|
exports.loadCallback = loadCallback;
|
|
96
96
|
const deleteSessionsCallback = async (instance, sessionIds) => {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
97
|
+
const collectionRef = instance.firestore
|
|
98
|
+
.collection(instance.collection)
|
|
99
|
+
.doc(instance.config.shop)
|
|
100
|
+
.collection(instance.config.configurationId);
|
|
101
101
|
const _deleteSessionCallback = async (_sessionId) => {
|
|
102
102
|
try {
|
|
103
|
-
|
|
104
|
-
.collection(instance.collection)
|
|
105
|
-
.doc(instance.config.shop)
|
|
106
|
-
.collection(instance.config.configurationId)
|
|
107
|
-
.doc(_sessionId);
|
|
108
|
-
return docRef.delete();
|
|
103
|
+
return collectionRef.doc(_sessionId).delete();
|
|
109
104
|
}
|
|
110
105
|
catch (error) {
|
|
111
106
|
console.error('FirebaseSessionHandler.deleteSessionsCallback error', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../src/utils/firebase.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oEAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../src/utils/firebase.js"],"names":[],"mappings":"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"}
|
package/dist/utils/session.js
CHANGED
|
@@ -72,7 +72,8 @@ const getVerifiedClients = async (serverRuntimeConfig, { req, res, shop, apiVers
|
|
|
72
72
|
return {
|
|
73
73
|
Graphql,
|
|
74
74
|
Rest: new shopify.clients.Rest(Object.assign({ session }, apiVersion && { apiVersion })),
|
|
75
|
-
//
|
|
75
|
+
// TODO: add support for Storefront client (takes different params)
|
|
76
|
+
// Storefront: shopify.clients.Storefront({ ...apiVersion && { apiVersion } }),
|
|
76
77
|
};
|
|
77
78
|
}
|
|
78
79
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.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.7.0-alpha.
|
|
3
|
+
"version": "1.7.0-alpha.55",
|
|
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",
|