@agnostack/next-shopify 1.14.0-beta.3 → 1.14.0-beta.30
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/CHANGELOG.md +190 -1
- package/dist/lib/handlers/api/appInstallation.d.ts.map +1 -0
- package/dist/lib/handlers/api/appInstallation.js.map +1 -0
- package/dist/lib/handlers/api/billing.d.ts.map +1 -1
- package/dist/lib/handlers/api/billing.js +3 -5
- package/dist/lib/handlers/api/billing.js.map +1 -1
- package/dist/lib/handlers/api/graph.d.ts.map +1 -0
- package/dist/lib/handlers/api/{verifiable/graph.js → graph.js} +30 -14
- package/dist/lib/handlers/api/graph.js.map +1 -0
- package/dist/lib/handlers/api/index.d.ts +5 -1
- package/dist/lib/handlers/api/index.d.ts.map +1 -1
- package/dist/lib/handlers/api/index.js +5 -1
- package/dist/lib/handlers/api/index.js.map +1 -1
- package/dist/lib/handlers/api/proxy.d.ts.map +1 -0
- package/dist/lib/handlers/api/{verifiable/proxy.js → proxy.js} +11 -4
- package/dist/lib/handlers/api/proxy.js.map +1 -0
- package/dist/lib/handlers/api/rest.d.ts.map +1 -0
- package/dist/lib/handlers/api/{verifiable/rest.js → rest.js} +10 -7
- package/dist/lib/handlers/api/rest.js.map +1 -0
- package/dist/lib/handlers/api/token.d.ts.map +1 -0
- package/dist/lib/handlers/api/{verifiable/token.js → token.js} +5 -8
- package/dist/lib/handlers/api/token.js.map +1 -0
- package/dist/lib/handlers/api/uninstall.d.ts.map +1 -1
- package/dist/lib/handlers/api/uninstall.js +3 -4
- package/dist/lib/handlers/api/uninstall.js.map +1 -1
- package/dist/lib/handlers/api/verifiable/index.d.ts +0 -5
- package/dist/lib/handlers/api/verifiable/index.js +5 -8
- package/dist/lib/handlers/api/verifiable/index.js.map +1 -1
- package/dist/lib/handlers/api/webhook.d.ts.map +1 -1
- package/dist/lib/handlers/api/webhook.js +2 -4
- package/dist/lib/handlers/api/webhook.js.map +1 -1
- package/dist/lib/handlers/ssr/protect.d.ts.map +1 -1
- package/dist/lib/handlers/ssr/protect.js +4 -1
- package/dist/lib/handlers/ssr/protect.js.map +1 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +3 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/utils/index.d.ts +1 -0
- package/dist/lib/utils/index.js +1 -0
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/request.d.ts +2 -0
- package/dist/lib/utils/request.d.ts.map +1 -0
- package/dist/lib/utils/request.js +19 -0
- package/dist/lib/utils/request.js.map +1 -0
- package/dist/lib/utils/shopify.d.ts.map +1 -1
- package/dist/lib/utils/shopify.js +3 -1
- package/dist/lib/utils/shopify.js.map +1 -1
- package/dist/lib/utils/verification.d.ts +1 -1
- package/dist/lib/utils/verification.d.ts.map +1 -1
- package/dist/lib/utils/verification.js +22 -16
- package/dist/lib/utils/verification.js.map +1 -1
- package/dist/react/hooks/useVerification.d.ts +6 -3
- package/dist/react/hooks/useVerification.d.ts.map +1 -1
- package/dist/react/hooks/useVerification.js +23 -12
- package/dist/react/hooks/useVerification.js.map +1 -1
- package/dist/shared/display.js +1 -1
- package/dist/shared/display.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/handlers/api/verifiable/appInstallation.d.ts.map +0 -1
- package/dist/lib/handlers/api/verifiable/appInstallation.js.map +0 -1
- package/dist/lib/handlers/api/verifiable/graph.d.ts.map +0 -1
- package/dist/lib/handlers/api/verifiable/graph.js.map +0 -1
- package/dist/lib/handlers/api/verifiable/proxy.d.ts.map +0 -1
- package/dist/lib/handlers/api/verifiable/proxy.js.map +0 -1
- package/dist/lib/handlers/api/verifiable/rest.d.ts.map +0 -1
- package/dist/lib/handlers/api/verifiable/rest.js.map +0 -1
- package/dist/lib/handlers/api/verifiable/token.d.ts.map +0 -1
- package/dist/lib/handlers/api/verifiable/token.js.map +0 -1
- /package/dist/lib/handlers/api/{verifiable/appInstallation.d.ts → appInstallation.d.ts} +0 -0
- /package/dist/lib/handlers/api/{verifiable/appInstallation.js → appInstallation.js} +0 -0
- /package/dist/lib/handlers/api/{verifiable/graph.d.ts → graph.d.ts} +0 -0
- /package/dist/lib/handlers/api/{verifiable/proxy.d.ts → proxy.d.ts} +0 -0
- /package/dist/lib/handlers/api/{verifiable/rest.d.ts → rest.d.ts} +0 -0
- /package/dist/lib/handlers/api/{verifiable/token.d.ts → token.d.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,193 @@
|
|
|
1
|
-
# [1.14.0-beta.
|
|
1
|
+
# [1.14.0-beta.30](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.29...v1.14.0-beta.30) (2023-12-05)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* wip ([69874a8](https://github.com/agnostack/next-shopify/commit/69874a8d54cd6ba65c7fe5afb24c449a859fe996))
|
|
7
|
+
|
|
8
|
+
# [1.14.0-beta.29](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.28...v1.14.0-beta.29) (2023-12-05)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* wip ([722708f](https://github.com/agnostack/next-shopify/commit/722708f510f9124528e103de7a77c99061a429e4))
|
|
14
|
+
|
|
15
|
+
# [1.14.0-beta.28](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.27...v1.14.0-beta.28) (2023-12-05)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* wip ([73f2da5](https://github.com/agnostack/next-shopify/commit/73f2da59c18f4572ceb4d7f6f45192376c3d5ebf))
|
|
21
|
+
|
|
22
|
+
# [1.14.0-beta.27](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.26...v1.14.0-beta.27) (2023-12-05)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* wip ([68704b3](https://github.com/agnostack/next-shopify/commit/68704b372cc3dd31db00656f0ef9e4e7612b4811))
|
|
28
|
+
|
|
29
|
+
# [1.14.0-beta.26](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.25...v1.14.0-beta.26) (2023-12-05)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Bug Fixes
|
|
33
|
+
|
|
34
|
+
* wip ([951d798](https://github.com/agnostack/next-shopify/commit/951d7980bf06d92e649d2d9d97bc81b1398210fe))
|
|
35
|
+
|
|
36
|
+
# [1.14.0-beta.25](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.24...v1.14.0-beta.25) (2023-12-05)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### Bug Fixes
|
|
40
|
+
|
|
41
|
+
* wip ([82a1f40](https://github.com/agnostack/next-shopify/commit/82a1f4072da77d85288f5c463bb7adb79ba1a131))
|
|
42
|
+
|
|
43
|
+
# [1.14.0-beta.24](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.23...v1.14.0-beta.24) (2023-12-05)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
### Bug Fixes
|
|
47
|
+
|
|
48
|
+
* wip ([2458099](https://github.com/agnostack/next-shopify/commit/24580997efeab454c5190053cb3ccc19de1c8005))
|
|
49
|
+
|
|
50
|
+
# [1.14.0-beta.23](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.22...v1.14.0-beta.23) (2023-12-05)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### Bug Fixes
|
|
54
|
+
|
|
55
|
+
* wip ([a7f802e](https://github.com/agnostack/next-shopify/commit/a7f802e8865097a65ebd65dd1a6de14f5e200a6c))
|
|
56
|
+
|
|
57
|
+
# [1.14.0-beta.22](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.21...v1.14.0-beta.22) (2023-12-05)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
### Bug Fixes
|
|
61
|
+
|
|
62
|
+
* wip ([79651bb](https://github.com/agnostack/next-shopify/commit/79651bba427d53fb4d968abfafeb54a49936150f))
|
|
63
|
+
|
|
64
|
+
# [1.14.0-beta.21](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.20...v1.14.0-beta.21) (2023-12-05)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
### Bug Fixes
|
|
68
|
+
|
|
69
|
+
* wip ([ef83a5e](https://github.com/agnostack/next-shopify/commit/ef83a5ed06fc483dda64298e1d8fdd1148feb2a6))
|
|
70
|
+
|
|
71
|
+
# [1.14.0-beta.20](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.19...v1.14.0-beta.20) (2023-12-05)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
### Bug Fixes
|
|
75
|
+
|
|
76
|
+
* wip ([216f72e](https://github.com/agnostack/next-shopify/commit/216f72e32f9c511435ea4aafe77491b0514b0027))
|
|
77
|
+
|
|
78
|
+
# [1.14.0-beta.19](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.18...v1.14.0-beta.19) (2023-12-05)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Bug Fixes
|
|
82
|
+
|
|
83
|
+
* wip ([b698605](https://github.com/agnostack/next-shopify/commit/b69860585316ff94b2e78c0137d92c16e7bd152f))
|
|
84
|
+
|
|
85
|
+
# [1.14.0-beta.18](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.17...v1.14.0-beta.18) (2023-12-05)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
### Bug Fixes
|
|
89
|
+
|
|
90
|
+
* wip ([b391569](https://github.com/agnostack/next-shopify/commit/b3915692ff3fa8a072fb7fcfd2797ba261c3a7ee))
|
|
91
|
+
|
|
92
|
+
# [1.14.0-beta.17](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.16...v1.14.0-beta.17) (2023-12-05)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
### Bug Fixes
|
|
96
|
+
|
|
97
|
+
* wip ([a116ece](https://github.com/agnostack/next-shopify/commit/a116ece5a5e1ca710cdb573a4fd5499fdee26777))
|
|
98
|
+
|
|
99
|
+
# [1.14.0-beta.16](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.15...v1.14.0-beta.16) (2023-12-05)
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
### Bug Fixes
|
|
103
|
+
|
|
104
|
+
* wip ([5c6ad79](https://github.com/agnostack/next-shopify/commit/5c6ad79e340d12dc53e70c0cd7f9ef7fdddf8aed))
|
|
105
|
+
|
|
106
|
+
# [1.14.0-beta.15](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.14...v1.14.0-beta.15) (2023-12-05)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
### Bug Fixes
|
|
110
|
+
|
|
111
|
+
* wip ([b936bb3](https://github.com/agnostack/next-shopify/commit/b936bb3131d45b451a8f359bc9bed7c64dcd714e))
|
|
112
|
+
|
|
113
|
+
# [1.14.0-beta.14](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.13...v1.14.0-beta.14) (2023-12-04)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
### Bug Fixes
|
|
117
|
+
|
|
118
|
+
* wip ([58a91e2](https://github.com/agnostack/next-shopify/commit/58a91e228d0bed2ca726cbff2296e3a3500b02a7))
|
|
119
|
+
|
|
120
|
+
# [1.14.0-beta.13](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.12...v1.14.0-beta.13) (2023-12-04)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
### Bug Fixes
|
|
124
|
+
|
|
125
|
+
* wip ([b87f159](https://github.com/agnostack/next-shopify/commit/b87f15987010b492ca9daf3209031a50f29e63f7))
|
|
126
|
+
|
|
127
|
+
# [1.14.0-beta.12](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.11...v1.14.0-beta.12) (2023-12-04)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
### Bug Fixes
|
|
131
|
+
|
|
132
|
+
* wip ([158d4ff](https://github.com/agnostack/next-shopify/commit/158d4ffc6e11d1394c8274039c7b8f0840894b9c))
|
|
133
|
+
|
|
134
|
+
# [1.14.0-beta.11](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.10...v1.14.0-beta.11) (2023-12-04)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
### Bug Fixes
|
|
138
|
+
|
|
139
|
+
* wip ([02e4858](https://github.com/agnostack/next-shopify/commit/02e485860157a650a9b6742c574382450387263c))
|
|
140
|
+
|
|
141
|
+
# [1.14.0-beta.10](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.9...v1.14.0-beta.10) (2023-12-04)
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
### Bug Fixes
|
|
145
|
+
|
|
146
|
+
* wip ([6aead6b](https://github.com/agnostack/next-shopify/commit/6aead6bf360e71eb0277713b42463b871c8c9175))
|
|
147
|
+
|
|
148
|
+
# [1.14.0-beta.9](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.8...v1.14.0-beta.9) (2023-12-04)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
### Bug Fixes
|
|
152
|
+
|
|
153
|
+
* wip ([7f122f5](https://github.com/agnostack/next-shopify/commit/7f122f5ea42da4fb90c2f192f8db3ad7530270d4))
|
|
154
|
+
|
|
155
|
+
# [1.14.0-beta.8](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.7...v1.14.0-beta.8) (2023-12-04)
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
### Bug Fixes
|
|
159
|
+
|
|
160
|
+
* wip ([6269ccc](https://github.com/agnostack/next-shopify/commit/6269ccc0ac80e47d75e8dd491af68b758e34d91a))
|
|
161
|
+
|
|
162
|
+
# [1.14.0-beta.7](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.6...v1.14.0-beta.7) (2023-12-04)
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
### Bug Fixes
|
|
166
|
+
|
|
167
|
+
* wip ([88ff531](https://github.com/agnostack/next-shopify/commit/88ff531191e82c7f0735257f9cc98b2eea4b7092))
|
|
168
|
+
|
|
169
|
+
# [1.14.0-beta.6](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.5...v1.14.0-beta.6) (2023-12-04)
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
### Bug Fixes
|
|
173
|
+
|
|
174
|
+
* wip ([bb5fa6a](https://github.com/agnostack/next-shopify/commit/bb5fa6a859ea8358fb4683c1f6d7d77f994f2d1e))
|
|
175
|
+
|
|
176
|
+
# [1.14.0-beta.5](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.4...v1.14.0-beta.5) (2023-12-04)
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
### Bug Fixes
|
|
180
|
+
|
|
181
|
+
* wip ([40a4d13](https://github.com/agnostack/next-shopify/commit/40a4d13b1186042e2c1983a826f04a742448e745))
|
|
182
|
+
|
|
183
|
+
# [1.14.0-beta.4](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.3...v1.14.0-beta.4) (2023-12-04)
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
### Bug Fixes
|
|
187
|
+
|
|
188
|
+
* wip ([789493b](https://github.com/agnostack/next-shopify/commit/789493bbaba440b63688b4e99784ea8b0c7c65c9))
|
|
189
|
+
|
|
190
|
+
## [1.13.10](https://github.com/agnostack/next-shopify/compare/v1.13.9...v1.13.10) (2023-12-02)
|
|
2
191
|
|
|
3
192
|
|
|
4
193
|
### Bug Fixes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appInstallation.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/appInstallation.js"],"names":[],"mappings":"AAIO,uHAcN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appInstallation.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/appInstallation.js"],"names":[],"mappings":";;;;AAAA,4CAAmE;AACnE,mCAAqC;AAErC,gGAAgG;AACzF,MAAM,yBAAyB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAC3F,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;IAE9B,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE;QACtB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAA;KACnE;IAED,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,mBAAmB,CAAC,CAAA;IAErD,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;QAC5B,KAAK,EAAE,kBAAS,CAAC,YAAY;QAC7B,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,aAAa,EAAE;QAC/C,SAAS,EAAE,kBAAS,CAAC,SAAS;KAC/B,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AAdY,QAAA,yBAAyB,6BAcrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/billing.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/billing.js"],"names":[],"mappings":"AAcO,iGAyDN"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handleAppBilling = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
|
|
6
5
|
const utils_1 = require("../../utils");
|
|
7
6
|
const shared_1 = require("../../../shared");
|
|
8
7
|
const TERMINAL_STATUSES = [
|
|
@@ -19,9 +18,8 @@ const handleAppBilling = (serverRuntimeConfig) => (req, res) => tslib_1.__awaite
|
|
|
19
18
|
return res.status(200).json({ handler: 'billing', error: 'Missing shop' });
|
|
20
19
|
}
|
|
21
20
|
const { shopify, loadSession, updateSession, getVerifiedClients } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
22
|
-
//
|
|
23
|
-
const
|
|
24
|
-
const rawBody = _rawBody.toString();
|
|
21
|
+
// TODO: explore getVerifiedBody?
|
|
22
|
+
const rawBody = yield (0, utils_1.ensureRawBody)(req);
|
|
25
23
|
const _b = yield shopify.webhooks.validate({
|
|
26
24
|
rawBody,
|
|
27
25
|
rawRequest: req,
|
|
@@ -30,7 +28,7 @@ const handleAppBilling = (serverRuntimeConfig) => (req, res) => tslib_1.__awaite
|
|
|
30
28
|
if (valid) {
|
|
31
29
|
try {
|
|
32
30
|
let message = 'ignored';
|
|
33
|
-
const [eventType, { status } = {}] = Object.entries(
|
|
31
|
+
const [eventType, { status } = {}] = Object.entries((0, shared_1.safeParse)(rawBody || '{}'))[0];
|
|
34
32
|
if ((eventType === shared_1.BILLING_EVENT_TYPES.SUBSCRIPTION) && TERMINAL_STATUSES.includes(status)) {
|
|
35
33
|
const { Rest } = yield getVerifiedClients();
|
|
36
34
|
// NOTE: this deletes the app in the case of subscription apps in a "terminal" state to cover the info in ShopifyApi docs for billing:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/billing.js"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/billing.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/graph.js"],"names":[],"mappings":"AAoBO,yGAoIN"}
|
|
@@ -9,13 +9,19 @@ const handleGraph = (serverRuntimeConfig) => {
|
|
|
9
9
|
const _getVerifiedBody = (0, utils_1.getVerifiedBody)(serverRuntimeConfig);
|
|
10
10
|
return (req, res, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
11
11
|
var _a, _b, _c;
|
|
12
|
+
console.log(`>>> > handleGraph > req headers:`, req.headers);
|
|
13
|
+
console.log(`>>> > handleGraph > req body:`, req.body);
|
|
14
|
+
console.log(`>>> > handleGraph > params:`, params);
|
|
12
15
|
const [requestBody, processResponse] = yield _getVerifiedBody(req, res);
|
|
16
|
+
console.log(`>>> > handleGraph > requestBody:`, requestBody);
|
|
17
|
+
console.log(`>>> > handleGraph > req.query:`, req.query);
|
|
13
18
|
const _d = (_a = req.query) !== null && _a !== void 0 ? _a : {}, { shop, apiVersion } = _d, _query = tslib_1.__rest(_d, ["shop", "apiVersion"]);
|
|
14
|
-
const _e = params !== null && params !== void 0 ? params : requestBody, { isOnline, query: graphQuery, variables: graphVariables, transform = (_data) => _data } = _e, graphParams = tslib_1.__rest(_e, ["isOnline", "query", "variables", "transform"]);
|
|
19
|
+
const _e = params !== null && params !== void 0 ? params : (0, shared_1.safeParse)(requestBody || '{}'), { isOnline, query: graphQuery, variables: graphVariables, transform = (_data) => _data } = _e, graphParams = tslib_1.__rest(_e, ["isOnline", "query", "variables", "transform"]);
|
|
15
20
|
let query = _query;
|
|
16
21
|
if ((0, shared_1.isType)(query, 'string')) {
|
|
17
22
|
query = (0, shared_1.querystringToObject)(query);
|
|
18
23
|
}
|
|
24
|
+
console.log(`>>> > handleGraph > shop/graphQuery:`, { shop, graphQuery });
|
|
19
25
|
if ((0, shared_1.stringEmpty)(shop) || (0, shared_1.stringEmpty)(graphQuery)) {
|
|
20
26
|
return res.status(400).json({ message: 'Invalid arguments' });
|
|
21
27
|
}
|
|
@@ -26,11 +32,13 @@ const handleGraph = (serverRuntimeConfig) => {
|
|
|
26
32
|
try {
|
|
27
33
|
const { getVerifiedClients } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
28
34
|
const { Graphql } = yield getVerifiedClients({ req, res, shop, apiVersion, isOnline });
|
|
29
|
-
|
|
35
|
+
const fooB = Object.assign(Object.assign({ data: graphVariables ? {
|
|
30
36
|
query: graphQuery,
|
|
31
37
|
variables: graphVariables,
|
|
32
|
-
} : graphQuery }, (0, shared_1.objectNotEmpty)(query) && { query }), graphParams)
|
|
33
|
-
|
|
38
|
+
} : graphQuery }, (0, shared_1.objectNotEmpty)(query) && { query }), graphParams);
|
|
39
|
+
console.log(`>>> > handleGraph > fooB:`, fooB);
|
|
40
|
+
response = yield Graphql.query(fooB);
|
|
41
|
+
console.log(`>>> > handleGraph > response:`, response);
|
|
34
42
|
statusCode = 200;
|
|
35
43
|
}
|
|
36
44
|
catch (error) {
|
|
@@ -71,26 +79,34 @@ const handleGraph = (serverRuntimeConfig) => {
|
|
|
71
79
|
}
|
|
72
80
|
}
|
|
73
81
|
}
|
|
74
|
-
Object.entries(headers).forEach(([key, value]) => {
|
|
75
|
-
res.setHeader(key, value);
|
|
76
|
-
});
|
|
77
|
-
if (!(response === null || response === void 0 ? void 0 : response.body)) {
|
|
78
|
-
return res.status(statusCode).json({ message });
|
|
79
|
-
}
|
|
80
82
|
try {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
+
Object.entries(headers).forEach(([key, value]) => {
|
|
84
|
+
res.setHeader(key, value);
|
|
85
|
+
});
|
|
86
|
+
if (!(response === null || response === void 0 ? void 0 : response.body)) {
|
|
87
|
+
console.log(`>>> > handleGraph > message:`, { message });
|
|
88
|
+
const transformedResponse = yield processResponse({ message });
|
|
89
|
+
return res.status(statusCode).json(transformedResponse);
|
|
90
|
+
}
|
|
91
|
+
const responseBody = (0, shared_1.ensureObject)((_c = response.body.data) !== null && _c !== void 0 ? _c : response.body);
|
|
92
|
+
console.log(`>>> > return > responseBody:`, responseBody);
|
|
93
|
+
const [_responseData] = Object.values(responseBody);
|
|
83
94
|
const _f = (0, shared_1.ensureObject)(_responseData), { userErrors } = _f, responseData = tslib_1.__rest(_f, ["userErrors"]);
|
|
84
95
|
if ((0, shared_1.arrayNotEmpty)(userErrors)) {
|
|
85
96
|
const errorMessages = (0, shared_1.ensureArray)(userErrors).map(({ message }) => (0, shared_1.ensureString)(message));
|
|
86
97
|
return res.status(500).json({ message: `${message}. ${errorMessages.join('. ')}.` });
|
|
87
98
|
}
|
|
99
|
+
console.log(`>>> > handleGraph > responseData:`, { responseData });
|
|
100
|
+
const transformedResponse = yield processResponse(transform(responseData, responseBody));
|
|
101
|
+
console.log(`>>> > handleGraph > transformedResponse:`, { transformedResponse });
|
|
88
102
|
// NOTE: sending in both to transform in case someone needs the userErrors
|
|
89
|
-
return res.status(statusCode).json(
|
|
103
|
+
return res.status(statusCode).json(transformedResponse);
|
|
90
104
|
}
|
|
91
105
|
catch (error) {
|
|
92
106
|
console.error(`${message}. Transformation Error.`, error);
|
|
93
|
-
|
|
107
|
+
console.error(`>>> > handleGraph > error > message:`, { message });
|
|
108
|
+
const transformedResponse = yield processResponse({ message });
|
|
109
|
+
return res.status(500).json(transformedResponse);
|
|
94
110
|
}
|
|
95
111
|
});
|
|
96
112
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/graph.js"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
export * from "./appInstallation";
|
|
1
2
|
export * from "./auth";
|
|
2
3
|
export * from "./billing";
|
|
3
4
|
export * from "./callback";
|
|
5
|
+
export * from "./graph";
|
|
6
|
+
export * from "./proxy";
|
|
7
|
+
export * from "./rest";
|
|
8
|
+
export * from "./token";
|
|
4
9
|
export * from "./uninstall";
|
|
5
|
-
export * from "./verifiable";
|
|
6
10
|
export * from "./webhook";
|
|
7
11
|
export function getAPIConfig(config: any): {
|
|
8
12
|
api: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/index.js"],"names":[],"mappings":";;;;;;;;;;AAYO;;EAKL"}
|
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAPIConfig = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
tslib_1.__exportStar(require("./appInstallation"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./auth"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./billing"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./callback"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./graph"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./proxy"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./rest"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./token"), exports);
|
|
8
13
|
tslib_1.__exportStar(require("./uninstall"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./verifiable"), exports);
|
|
10
14
|
tslib_1.__exportStar(require("./webhook"), exports);
|
|
11
15
|
// NOTE raw request body is required for Shopify webhook validation
|
|
12
16
|
const getAPIConfig = (config) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/index.js"],"names":[],"mappings":";;;;AAAA,iDAAsB;AACtB,oDAAyB;AACzB,qDAA0B;AAC1B,sDAA2B;AAC3B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/index.js"],"names":[],"mappings":";;;;AAAA,4DAAiC;AACjC,iDAAsB;AACtB,oDAAyB;AACzB,qDAA0B;AAC1B,kDAAuB;AACvB,kDAAuB;AACvB,iDAAsB;AACtB,kDAAuB;AACvB,sDAA2B;AAC3B,oDAAyB;AAEzB,mEAAmE;AAC5D,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,GAAG,kBACD,UAAU,EAAE,KAAK,IACd,MAAM,CACV;CACF,CAAC,CAAA;AALW,QAAA,YAAY,gBAKvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/proxy.js"],"names":[],"mappings":"AAmCO,sHA+LN"}
|
|
@@ -53,6 +53,7 @@ const handleProxy = (serverRuntimeConfig, config) => {
|
|
|
53
53
|
const _targetUrl = ((0, shared_1.stringEmpty)(targetParam) || targetParam.startsWith('http')) ? targetParam : `${APP_BASE_URL}/${(0, shared_1.removeLeadingSlash)(targetParam)}`;
|
|
54
54
|
const { origin: target, hostname, pathname, search } = (0, shared_1.stringNotEmpty)(_targetUrl) ? new URL(_targetUrl) : {};
|
|
55
55
|
targetPath = [pathname, search].filter(shared_1.stringNotEmpty).join('');
|
|
56
|
+
console.log(`>>> > handleProxy > targetPath:`, targetPath);
|
|
56
57
|
const safelistedTarget = (0, shared_1.matchHostname)(hostname, Object.assign({ [new URL(APP_BASE_URL).hostname]: {
|
|
57
58
|
// HMMM: can we generate our own session token (or use the current one) so as to not have to tell handleGraph/Rest to behave as offline?
|
|
58
59
|
// headers: {
|
|
@@ -76,8 +77,9 @@ const handleProxy = (serverRuntimeConfig, config) => {
|
|
|
76
77
|
if (!verifyAppProxySignature(signature, verifiable, isShopifyOriginOrRelative ? APP_CONFIG.apiSecretKey : timestamp)) {
|
|
77
78
|
return res.status(403).json({ message: 'Invalid signature' });
|
|
78
79
|
}
|
|
80
|
+
const isTokenRequest = targetParam.startsWith(API_PATHS[shared_1.API_ROUTE_NAMES.SESSION_TOKEN]);
|
|
79
81
|
// TODO: clean up targetParam.startsWith??
|
|
80
|
-
if (!
|
|
82
|
+
if (!isTokenRequest) {
|
|
81
83
|
const _getVerifiedSessionData = (0, utils_1.getVerifiedSessionData)(serverRuntimeConfig);
|
|
82
84
|
if (!_getVerifiedSessionData(sessionToken, { shop, host }).catch((_error) => {
|
|
83
85
|
if (_error instanceof shared_1.ShopifySessionInvalidError) {
|
|
@@ -92,8 +94,9 @@ const handleProxy = (serverRuntimeConfig, config) => {
|
|
|
92
94
|
if ((0, shared_1.objectNotEmpty)(targetParams)) {
|
|
93
95
|
targetPath = (0, shared_1.appendQuery)(targetPath, new URLSearchParams(targetParams).toString());
|
|
94
96
|
}
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
+
const disableRecryption = targetPath.startsWith('/api/');
|
|
98
|
+
const [requestBody, processResponse] = yield _getVerifiedBody(req, res, { uri: targetPath, disableRecryption });
|
|
99
|
+
console.log(`>>> > handleProxy > requestBody: '${targetPath}'`, { requestBody, disableRecryption, isTokenRequest });
|
|
97
100
|
const _prepareHeaders = (0, utils_1.prepareHeaders)(serverRuntimeConfig);
|
|
98
101
|
const headers = yield _prepareHeaders({
|
|
99
102
|
generateReplacements,
|
|
@@ -108,14 +111,18 @@ const handleProxy = (serverRuntimeConfig, config) => {
|
|
|
108
111
|
req.headers = headers;
|
|
109
112
|
}
|
|
110
113
|
proxy.on('proxyReq', (proxyReq, proxyReqRequest, proxyReqResponse, options) => {
|
|
111
|
-
if (
|
|
114
|
+
if (requestBody) {
|
|
115
|
+
console.log(`>>> > handleProxy > proxy.on > requestBody: '${targetPath}`, { requestBody });
|
|
112
116
|
const bodyData = JSON.stringify(requestBody);
|
|
117
|
+
console.log(`>>> > handleProxy > proxy.on > bodyData1: '${targetPath}' BEFORE:`, { bodyData });
|
|
113
118
|
proxyReq.setHeader('Content-Length', Buffer.byteLength(bodyData));
|
|
119
|
+
console.log(`>>> > handleProxy > proxy.on > bodyData2: '${targetPath} AFTER'`);
|
|
114
120
|
proxyReq.write(bodyData);
|
|
115
121
|
}
|
|
116
122
|
});
|
|
117
123
|
proxy.on('proxyRes', function (proxyRes, proxyResRequest, proxyResResponse) {
|
|
118
124
|
(0, node_http_proxy_json_1.default)(proxyResResponse, proxyRes, function (proxyResBody) {
|
|
125
|
+
console.log(`>>> > handleProxy > requestBody > proxyResBody: '${targetPath}'`, { proxyResBody });
|
|
119
126
|
return processResponse(proxyResBody);
|
|
120
127
|
});
|
|
121
128
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/proxy.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/rest.js"],"names":[],"mappings":"AAiBO,yGA4GN"}
|
|
@@ -28,14 +28,13 @@ const handleRest = (serverRuntimeConfig) => {
|
|
|
28
28
|
queryData = (0, shared_1.querystringToObject)(queryData);
|
|
29
29
|
}
|
|
30
30
|
const _b = (0, shared_1.ensureObject)(queryData), { apiVersion } = _b, query = tslib_1.__rest(_b, ["apiVersion"]);
|
|
31
|
-
const body = bodyParam !== null && bodyParam !== void 0 ? bodyParam : requestBody;
|
|
31
|
+
const body = (0, shared_1.safeParse)(bodyParam !== null && bodyParam !== void 0 ? bodyParam : requestBody);
|
|
32
32
|
const method = (0, shared_1.ensureString)(methodParam !== null && methodParam !== void 0 ? methodParam : _method).toLowerCase();
|
|
33
33
|
const { getVerifiedClients } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
34
34
|
const { Rest } = yield getVerifiedClients({ req, res, shop, apiVersion, isOnline });
|
|
35
35
|
response = yield Rest[method](Object.assign({ path,
|
|
36
36
|
query,
|
|
37
|
-
body, type: shopify_api_1.DataType.JSON }, params))
|
|
38
|
-
.then(processResponse);
|
|
37
|
+
body, type: shopify_api_1.DataType.JSON }, params));
|
|
39
38
|
statusCode = 200;
|
|
40
39
|
}
|
|
41
40
|
catch (error) {
|
|
@@ -69,16 +68,20 @@ const handleRest = (serverRuntimeConfig) => {
|
|
|
69
68
|
res.setHeader(key, value);
|
|
70
69
|
});
|
|
71
70
|
if (!response) {
|
|
72
|
-
|
|
71
|
+
const transformedResponse = yield processResponse({ message });
|
|
72
|
+
return res.status(statusCode).json(transformedResponse);
|
|
73
73
|
}
|
|
74
74
|
// HMMMMM???
|
|
75
75
|
if ((params === null || params === void 0 ? void 0 : params.type) && ![shopify_api_1.DataType.GraphQL, shopify_api_1.DataType.JSON].includes(params.type)) {
|
|
76
|
-
|
|
76
|
+
const transformedResponse = yield processResponse(response);
|
|
77
|
+
return res.status(statusCode).send(transformedResponse);
|
|
77
78
|
}
|
|
78
79
|
if (!(response === null || response === void 0 ? void 0 : response.body)) {
|
|
79
|
-
|
|
80
|
+
const transformedResponse = yield processResponse({ message });
|
|
81
|
+
return res.status(statusCode).json(transformedResponse);
|
|
80
82
|
}
|
|
81
|
-
|
|
83
|
+
const transformedResponse = yield processResponse(transform(response.body));
|
|
84
|
+
return res.status(statusCode).json(transformedResponse);
|
|
82
85
|
});
|
|
83
86
|
};
|
|
84
87
|
exports.handleRest = handleRest;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/rest.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/token.js"],"names":[],"mappings":"AAcO;;yCAsGN"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handleSessionToken = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
|
|
6
5
|
const js_base64_1 = require("js-base64");
|
|
7
6
|
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
8
7
|
const uuid_1 = require("uuid");
|
|
@@ -12,6 +11,7 @@ const shared_1 = require("../../../shared");
|
|
|
12
11
|
const handleSessionToken = (serverRuntimeConfig, _a = {}) => {
|
|
13
12
|
var { signingSecret } = _a, signingData = tslib_1.__rest(_a, ["signingSecret"]);
|
|
14
13
|
const { APP_CONFIG } = serverRuntimeConfig !== null && serverRuntimeConfig !== void 0 ? serverRuntimeConfig : {};
|
|
14
|
+
const _getVerifiedBody = (0, utils_1.getVerifiedBody)(serverRuntimeConfig);
|
|
15
15
|
return (req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
16
16
|
var _b, _c;
|
|
17
17
|
const { host } = (_b = req.query) !== null && _b !== void 0 ? _b : {};
|
|
@@ -23,15 +23,11 @@ const handleSessionToken = (serverRuntimeConfig, _a = {}) => {
|
|
|
23
23
|
if ((0, shared_1.stringEmpty)(shop) || (0, shared_1.stringEmpty)(host)) {
|
|
24
24
|
return res.status(412).json({ message: 'Missing required param' });
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
const _rawBody = yield (0, raw_body_1.default)(req);
|
|
28
|
-
const rawBody = _rawBody.toString();
|
|
29
|
-
const parsedBody = JSON.parse(rawBody || '{}'); // NOTE: parsedBody should be encrypted when isVerifiable
|
|
30
|
-
let decryptedBody = parsedBody;
|
|
26
|
+
const [requestBody, processResponse] = yield _getVerifiedBody(req, res);
|
|
31
27
|
const appClaims = Object.entries(headers).reduce((_appClaims, [headerKey, headerValue]) => (Object.assign(Object.assign({}, _appClaims), headerKey.startsWith('x-shopify-app-metafield-') && {
|
|
32
28
|
[(0, shared_1.snakecase)(headerKey.replace('x-shopify-app-metafield-', ''))]: headerValue,
|
|
33
29
|
})), Object.assign(Object.assign({}, appId && { app_id: (0, shared_1.normalizeShopifyId)(appId).id }), appInstallationId && { installation_id: (0, shared_1.normalizeShopifyId)(appInstallationId).id }));
|
|
34
|
-
const _e =
|
|
30
|
+
const _e = requestBody !== null && requestBody !== void 0 ? requestBody : {}, { sub, aud: _aud } = _e, body = tslib_1.__rest(_e, ["sub", "aud"]);
|
|
35
31
|
const aud = [clientId, _aud, APP_CONFIG.apiKey].find(shared_1.stringNotEmpty);
|
|
36
32
|
let { dest, iss, sid, jti } = body, tokenBody = tslib_1.__rest(body, ["dest", "iss", "sid", "jti"]);
|
|
37
33
|
if ((0, shared_1.stringEmpty)(dest)) {
|
|
@@ -61,7 +57,8 @@ const handleSessionToken = (serverRuntimeConfig, _a = {}) => {
|
|
|
61
57
|
if ((0, shared_1.stringEmpty)(token)) {
|
|
62
58
|
throw new Error('Error signing token');
|
|
63
59
|
}
|
|
64
|
-
|
|
60
|
+
const response = yield processResponse({ token });
|
|
61
|
+
return res.status(200).json(response);
|
|
65
62
|
}
|
|
66
63
|
catch (error) {
|
|
67
64
|
console.error('Error generating session token', error);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/token.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/uninstall.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/uninstall.js"],"names":[],"mappings":"AAOO,qGAwCN"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handleAppUninstalled = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
|
|
6
5
|
const utils_1 = require("../../utils");
|
|
7
6
|
const shared_1 = require("../../../shared");
|
|
8
7
|
// NOTE: typically handling: "/api/webhooks/app/uninstalled"
|
|
@@ -14,10 +13,10 @@ const handleAppUninstalled = (serverRuntimeConfig) => (req, res) => tslib_1.__aw
|
|
|
14
13
|
return res.status(200).json({ handler: 'uninstall', error: 'Missing shop' });
|
|
15
14
|
}
|
|
16
15
|
const { shopify, findSessionIds, deleteSessions } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
17
|
-
//
|
|
18
|
-
const rawBody = yield (0,
|
|
16
|
+
// TODO: explore getVerifiedBody?
|
|
17
|
+
const rawBody = yield (0, utils_1.ensureRawBody)(req);
|
|
19
18
|
const _b = yield shopify.webhooks.validate({
|
|
20
|
-
rawBody
|
|
19
|
+
rawBody,
|
|
21
20
|
rawRequest: req,
|
|
22
21
|
rawResponse: res,
|
|
23
22
|
}), { valid } = _b, webhookCheck = tslib_1.__rest(_b, ["valid"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/uninstall.js"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/uninstall.js"],"names":[],"mappings":";;;;AAAA,uCAA8D;AAC9D,4CAGwB;AAExB,4DAA4D;AACrD,MAAM,oBAAoB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;;IAC9E,IAAI;QACF,MAAM,EACJ,eAAe,EAAE,UAAU,EAC3B,uBAAuB,EAAE,iBAAiB,EAC1C,gBAAgB,EAAE,IAAI,GAAG,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,UAAU,GACzD,GAAG,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,CAAA;QAErB,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;SAC7E;QAED,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,yBAAiB,EAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAE1G,iCAAiC;QACjC,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAA;QACxC,MAAM,KAA6B,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACjE,OAAO;YACP,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;SACjB,CAAC,EAJI,EAAE,KAAK,OAIX,EAJgB,YAAY,sBAAxB,SAA0B,CAI9B,CAAA;QAEF,IAAI,KAAK,EAAE;YACT,IAAI;gBACF,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;gBAC9C,IAAI,IAAA,sBAAa,EAAC,WAAW,CAAC,EAAE;oBAC9B,MAAM,cAAc,CAAC,WAAW,CAAC,CAAA;iBAClC;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;aAC1E;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,CAAC,CAAA;aAC7E;SACF;QAED,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,YAAY,CAAC,CAAA;QAClE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAA;KACrG;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;QAChD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAA;KACzF;AACH,CAAC,CAAA,CAAA;AAxCY,QAAA,oBAAoB,wBAwChC"}
|