@rechargeapps/storefront-client 0.5.3 → 0.6.0

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.
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var request = require('../utils/request.js');
6
+
7
+ function listAddresses(query) {
8
+ return request.rechargeApiRequest("get", `/addresses`, { query });
9
+ }
10
+ async function getAddress(id) {
11
+ const { address } = await request.rechargeApiRequest("get", `/addresses`, { id });
12
+ return address;
13
+ }
14
+ async function createAddress(request$1) {
15
+ const { address } = await request.rechargeApiRequest("post", `/addresses`, { data: request$1 });
16
+ return address;
17
+ }
18
+ async function updateAddress(id, request$1) {
19
+ const { address } = await request.rechargeApiRequest("put", `/addresses`, { id, data: request$1 });
20
+ return address;
21
+ }
22
+ function deleteAddress(id) {
23
+ return request.rechargeApiRequest("delete", `/addresses`, { id });
24
+ }
25
+ async function mergeAddresses(request$1) {
26
+ const { address } = await request.rechargeApiRequest("post", `/addresses/merge`, {
27
+ data: request$1
28
+ });
29
+ return address;
30
+ }
31
+ async function skipFutureCharge(id, request$1) {
32
+ const { charge } = await request.rechargeApiRequest("post", `/addresses/${id}/charges/skip`, {
33
+ data: request$1
34
+ });
35
+ return charge;
36
+ }
37
+
38
+ exports.createAddress = createAddress;
39
+ exports.deleteAddress = deleteAddress;
40
+ exports.getAddress = getAddress;
41
+ exports.listAddresses = listAddresses;
42
+ exports.mergeAddresses = mergeAddresses;
43
+ exports.skipFutureCharge = skipFutureCharge;
44
+ exports.updateAddress = updateAddress;
45
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sources":["../../../src/api/address.ts"],"sourcesContent":["import { rechargeApiRequest } from '../utils/request';\nimport {\n AddressResponse,\n AddressListParams,\n CreateAddressRequest,\n UpdateAddressRequest,\n AddressListResponse,\n MergeAddressesRequest,\n SkipFutureChargeAddressRequest,\n SkipFutureChargeAddressResponse,\n} from '../types/address';\n\n/** Returns all addresses from the store, or addresses for the user given in the parameter. */\nexport function listAddresses(query?: AddressListParams) {\n return rechargeApiRequest<AddressListResponse>('get', `/addresses`, { query });\n}\n\n/** Retrieves address for customer based on specified address id. */\nexport async function getAddress(id: number) {\n const { address } = await rechargeApiRequest<AddressResponse>('get', `/addresses`, { id });\n return address;\n}\n\n/** Create a new address for a customer. */\nexport async function createAddress(request: CreateAddressRequest) {\n const { address } = await rechargeApiRequest<AddressResponse>('post', `/addresses`, { data: request });\n return address;\n}\n\n/** Updates an existing address to match the specified parameters. */\nexport async function updateAddress(id: number, request: UpdateAddressRequest) {\n const { address } = await rechargeApiRequest<AddressResponse>('put', `/addresses`, { id, data: request });\n return address;\n}\n\n/** Deletes an address. Only Addresses with no active Subscriptions can be deleted. */\nexport function deleteAddress(id: number) {\n return rechargeApiRequest<void>('delete', `/addresses`, { id });\n}\n\n/**\n * Merges up to 10 source addresses into 1 target address.\n */\nexport async function mergeAddresses(request: MergeAddressesRequest) {\n const { address } = await rechargeApiRequest<AddressResponse>('post', `/addresses/merge`, {\n data: request,\n });\n return address;\n}\n\n/**\n * Skip a Charge in the future for one or multiple Subscriptions associated with the Address.\n */\nexport async function skipFutureCharge(id: number, request: SkipFutureChargeAddressRequest) {\n const { charge } = await rechargeApiRequest<SkipFutureChargeAddressResponse>(\n 'post',\n `/addresses/${id}/charges/skip`,\n {\n data: request,\n }\n );\n return charge;\n}\n"],"names":["rechargeApiRequest","request"],"mappings":";;;;;;AACO,SAAS,aAAa,CAAC,KAAK,EAAE;AACrC,EAAE,OAAOA,0BAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5D,CAAC;AACM,eAAe,UAAU,CAAC,EAAE,EAAE;AACrC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5E,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,eAAe,aAAa,CAACC,SAAO,EAAE;AAC7C,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAMD,0BAAkB,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAEC,SAAO,EAAE,CAAC,CAAC;AACxF,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,eAAe,aAAa,CAAC,EAAE,EAAEA,SAAO,EAAE;AACjD,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAMD,0BAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAEC,SAAO,EAAE,CAAC,CAAC;AAC3F,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,SAAS,aAAa,CAAC,EAAE,EAAE;AAClC,EAAE,OAAOD,0BAAkB,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC;AACM,eAAe,cAAc,CAACC,SAAO,EAAE;AAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAMD,0BAAkB,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE;AAC3E,IAAI,IAAI,EAAEC,SAAO;AACjB,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,eAAe,gBAAgB,CAAC,EAAE,EAAEA,SAAO,EAAE;AACpD,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAMD,0BAAkB,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE;AACvF,IAAI,IAAI,EAAEC,SAAO;AACjB,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,MAAM,CAAC;AAChB;;;;;;;;;;"}
@@ -2,26 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Cookies = require('js-cookie');
6
5
  var request = require('../utils/request.js');
7
-
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
-
10
- var Cookies__default = /*#__PURE__*/_interopDefaultLegacy(Cookies);
6
+ var session = require('../utils/session.js');
11
7
 
12
8
  const login = async () => {
13
9
  const response = await request.shopifyAppProxyRequest("get", "/logged_in_customer_poc");
14
- if (response.api_token) {
15
- const expires = new Date();
16
- expires.setHours(expires.getHours() + 1);
17
- Cookies__default["default"].set("recharge-session", response.api_token, { expires });
10
+ if (response.api_token && response.customer_id) {
11
+ session.setSession({ apiToken: response.api_token, userId: response.customer_id });
18
12
  } else {
19
- Cookies__default["default"].remove("recharge-session");
13
+ session.clearSession();
20
14
  }
21
15
  return !!response.api_token;
22
16
  };
23
17
  const logout = () => {
24
- Cookies__default["default"].remove("recharge-session");
18
+ session.clearSession();
25
19
  };
26
20
 
27
21
  exports.login = login;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sources":["../../../src/api/auth.ts"],"sourcesContent":["import Cookies from 'js-cookie';\nimport { shopifyAppProxyRequest } from '../utils/request';\nimport { LoginResponse } from '../types/auth';\n\nexport const login = async (): Promise<boolean> => {\n const response = await shopifyAppProxyRequest<LoginResponse | Partial<LoginResponse>>(\n 'get',\n '/logged_in_customer_poc'\n );\n\n if (response.api_token) {\n const expires = new Date();\n expires.setHours(expires.getHours() + 1);\n Cookies.set('recharge-session', response.api_token, { expires });\n } else {\n Cookies.remove('recharge-session');\n }\n\n return !!response.api_token;\n};\n\nexport const logout = (): void => {\n Cookies.remove('recharge-session');\n};\n"],"names":["shopifyAppProxyRequest","Cookies"],"mappings":";;;;;;;;;;;AAEY,MAAC,KAAK,GAAG,YAAY;AACjC,EAAE,MAAM,QAAQ,GAAG,MAAMA,8BAAsB,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;AAClF,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC1B,IAAI,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;AAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC7C,IAAIC,2BAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACrE,GAAG,MAAM;AACT,IAAIA,2BAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACvC,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC9B,EAAE;AACU,MAAC,MAAM,GAAG,MAAM;AAC5B,EAAEA,2BAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACrC;;;;;"}
1
+ {"version":3,"file":"auth.js","sources":["../../../src/api/auth.ts"],"sourcesContent":["import { shopifyAppProxyRequest } from '../utils/request';\nimport { LoginResponse } from '../types/auth';\nimport { clearSession, setSession } from '../utils/session';\n\nexport const login = async (): Promise<boolean> => {\n const response = await shopifyAppProxyRequest<LoginResponse | Partial<LoginResponse>>(\n 'get',\n '/logged_in_customer_poc'\n );\n\n if (response.api_token && response.customer_id) {\n setSession({ apiToken: response.api_token, userId: response.customer_id });\n } else {\n clearSession();\n }\n\n return !!response.api_token;\n};\n\nexport const logout = (): void => {\n clearSession();\n};\n"],"names":["shopifyAppProxyRequest","setSession","clearSession"],"mappings":";;;;;;;AAEY,MAAC,KAAK,GAAG,YAAY;AACjC,EAAE,MAAM,QAAQ,GAAG,MAAMA,8BAAsB,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;AAClF,EAAE,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,WAAW,EAAE;AAClD,IAAIC,kBAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/E,GAAG,MAAM;AACT,IAAIC,oBAAY,EAAE,CAAC;AACnB,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC9B,EAAE;AACU,MAAC,MAAM,GAAG,MAAM;AAC5B,EAAEA,oBAAY,EAAE,CAAC;AACjB;;;;;"}
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var request = require('../utils/request.js');
6
+ var session = require('../utils/session.js');
7
+
8
+ const getUser = async () => {
9
+ var _a;
10
+ const id = (_a = session.getSession()) == null ? void 0 : _a.userId;
11
+ if (!id) {
12
+ throw new Error("Not logged in.");
13
+ }
14
+ const { customer } = await request.rechargeApiRequest("get", `/customers`, {
15
+ id
16
+ });
17
+ return customer;
18
+ };
19
+ const updateUser = async (data) => {
20
+ var _a;
21
+ const id = (_a = session.getSession()) == null ? void 0 : _a.userId;
22
+ if (!id) {
23
+ throw new Error("Not logged in.");
24
+ }
25
+ const { customer } = await request.rechargeApiRequest("put", `/customers`, { id, data });
26
+ return customer;
27
+ };
28
+ const getDeliverySchedule = async (query) => {
29
+ var _a;
30
+ const id = (_a = session.getSession()) == null ? void 0 : _a.userId;
31
+ if (!id) {
32
+ throw new Error("Not logged in.");
33
+ }
34
+ const { deliveries } = await request.rechargeApiRequest("get", `/customers/${id}/delivery_schedule`, { query });
35
+ return deliveries;
36
+ };
37
+
38
+ exports.getDeliverySchedule = getDeliverySchedule;
39
+ exports.getUser = getUser;
40
+ exports.updateUser = updateUser;
41
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sources":["../../../src/api/user.ts"],"sourcesContent":["import {\n User,\n UserDeliveryScheduleParams,\n UserDeliveryScheduleResponse,\n Delivery,\n UpdateUserRequest,\n} from '../types/user';\nimport { rechargeApiRequest } from '../utils/request';\nimport { getSession } from '../utils/session';\n\nexport const getUser = async (): Promise<User> => {\n const id = getSession()?.userId;\n if (!id) {\n throw new Error('Not logged in.');\n }\n const { customer } = await rechargeApiRequest<{ customer: User }>('get', `/customers`, {\n id,\n });\n return customer;\n};\n\nexport const updateUser = async (data: UpdateUserRequest): Promise<User> => {\n const id = getSession()?.userId;\n if (!id) {\n throw new Error('Not logged in.');\n }\n const { customer } = await rechargeApiRequest<{ customer: User }>('put', `/customers`, { id, data });\n return customer;\n};\n\nexport const getDeliverySchedule = async (query?: UserDeliveryScheduleParams): Promise<Delivery[]> => {\n const id = getSession()?.userId;\n if (!id) {\n throw new Error('Not logged in.');\n }\n const { deliveries } = await rechargeApiRequest<UserDeliveryScheduleResponse>(\n 'get',\n `/customers/${id}/delivery_schedule`,\n { query }\n );\n return deliveries;\n};\n"],"names":["getSession","rechargeApiRequest"],"mappings":";;;;;;;AAEY,MAAC,OAAO,GAAG,YAAY;AACnC,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAGA,kBAAU,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;AAC9D,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,GAAG;AACH,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAMC,0BAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE;AACrE,IAAI,EAAE;AACN,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,QAAQ,CAAC;AAClB,EAAE;AACU,MAAC,UAAU,GAAG,OAAO,IAAI,KAAK;AAC1C,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAGD,kBAAU,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;AAC9D,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,GAAG;AACH,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAMC,0BAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACnF,EAAE,OAAO,QAAQ,CAAC;AAClB,EAAE;AACU,MAAC,mBAAmB,GAAG,OAAO,KAAK,KAAK;AACpD,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAGD,kBAAU,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;AAC9D,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,GAAG;AACH,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAMC,0BAAkB,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1G,EAAE,OAAO,UAAU,CAAC;AACpB;;;;;;"}
package/dist/cjs/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var address = require('./api/address.js');
5
6
  var auth = require('./api/auth.js');
6
7
  var charge = require('./api/charge.js');
7
8
  var cdn = require('./api/cdn.js');
@@ -9,10 +10,18 @@ var bundle = require('./api/bundle.js');
9
10
  var onetime = require('./api/onetime.js');
10
11
  var order = require('./api/order.js');
11
12
  var subscription = require('./api/subscription.js');
13
+ var user = require('./api/user.js');
12
14
  var init = require('./utils/init.js');
13
15
 
14
16
 
15
17
 
18
+ exports.createAddress = address.createAddress;
19
+ exports.deleteAddress = address.deleteAddress;
20
+ exports.getAddress = address.getAddress;
21
+ exports.listAddresses = address.listAddresses;
22
+ exports.mergeAddresses = address.mergeAddresses;
23
+ exports.skipFutureCharge = address.skipFutureCharge;
24
+ exports.updateAddress = address.updateAddress;
16
25
  exports.login = auth.login;
17
26
  exports.logout = auth.logout;
18
27
  exports.applyDiscount = charge.applyDiscount;
@@ -49,6 +58,9 @@ exports.listSubscriptions = subscription.listSubscriptions;
49
58
  exports.updateSubscription = subscription.updateSubscription;
50
59
  exports.updateSubscriptionAddress = subscription.updateSubscriptionAddress;
51
60
  exports.updateSubscriptionChargeDate = subscription.updateSubscriptionChargeDate;
61
+ exports.getDeliverySchedule = user.getDeliverySchedule;
62
+ exports.getUser = user.getUser;
63
+ exports.updateUser = user.updateUser;
52
64
  exports.api = init.api;
53
65
  exports.initRecharge = init.initRecharge;
54
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,14 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('isomorphic-fetch');
6
- var Cookies = require('js-cookie');
7
6
  var qs = require('qs');
8
7
  var options = require('./options.js');
9
8
  var api = require('../constants/api.js');
10
-
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
-
13
- var Cookies__default = /*#__PURE__*/_interopDefaultLegacy(Cookies);
9
+ var session = require('./session.js');
14
10
 
15
11
  var __defProp = Object.defineProperty;
16
12
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -40,9 +36,9 @@ async function cdnRequest(method, url, requestOptions = {}) {
40
36
  return request(method, `${api.RECHARGE_CDN_URL(opts.environment)}/store/${opts.storeIdentifier}${url}`, requestOptions);
41
37
  }
42
38
  async function rechargeApiRequest(method, url, { id, query, data, headers } = {}) {
43
- var _a;
39
+ var _a, _b;
44
40
  const opts = options.getOptions();
45
- const token = (_a = Cookies__default["default"].get("recharge-session")) != null ? _a : opts.apiKey;
41
+ const token = (_b = (_a = session.getSession()) == null ? void 0 : _a.apiToken) != null ? _b : opts.apiKey;
46
42
  if (!token) {
47
43
  throw new Error("No API Key or token found.");
48
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sources":["../../../src/utils/request.ts"],"sourcesContent":["import 'isomorphic-fetch';\n\nimport Cookies from 'js-cookie';\nimport { stringify } from 'qs';\n\nimport { Method, RequestHeaders, RequestOptions } from '../types';\nimport { getOptions } from './options';\nimport { RECHARGE_API_URL, RECHARGE_CDN_URL, SHOPIFY_APP_PROXY_URL } from '../constants/api';\n\nfunction stringifyQuery(str: unknown): string {\n return stringify(str, {\n encode: false,\n indices: false,\n arrayFormat: 'comma',\n });\n}\n\nexport async function cdnRequest<T>(method: Method, url: string, requestOptions: RequestOptions = {}): Promise<T> {\n const opts = getOptions();\n return request(method, `${RECHARGE_CDN_URL(opts.environment)}/store/${opts.storeIdentifier}${url}`, requestOptions);\n}\n\nexport async function rechargeApiRequest<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n const opts = getOptions();\n const token = Cookies.get('recharge-session') ?? opts.apiKey;\n if (!token) {\n throw new Error('No API Key or token found.');\n }\n const rechargeBaseUrl = RECHARGE_API_URL(opts.environment);\n const reqHeaders: RequestHeaders = {\n 'Content-Type': 'application/json',\n 'X-Recharge-Access-Token': token,\n 'X-Recharge-Version': '2021-11',\n 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n const localQuery = {\n shop_url: opts.storeIdentifier,\n ...(query as any),\n };\n\n return request(method, `${rechargeBaseUrl}${url}`, { id, query: localQuery, data, headers: reqHeaders });\n}\n\nexport async function shopifyAppProxyRequest<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n const reqHeaders: RequestHeaders = {\n 'Content-Type': 'application/json',\n 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n return request(method, `${SHOPIFY_APP_PROXY_URL}${url}`, { id, query, data, headers: reqHeaders });\n}\n\nexport async function request<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n let reqUrl = url.trim();\n\n if (id) {\n reqUrl = [reqUrl, `${id}`.trim()].join('/');\n }\n\n if (query) {\n let exQuery;\n [reqUrl, exQuery] = reqUrl.split('?');\n const fullQuery = [exQuery, stringifyQuery(query)].join('&').replace(/^&/, '');\n reqUrl = `${reqUrl}${fullQuery ? `?${fullQuery}` : ''}`;\n }\n\n let reqBody;\n if (data && method !== 'get') {\n reqBody = JSON.stringify(data);\n }\n\n const reqHeaders: RequestHeaders = {\n Accept: 'application/json',\n // 'Content-Type': 'application/json',\n // 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n const response = await fetch(reqUrl, {\n method,\n headers: reqHeaders,\n body: reqBody,\n mode: 'cors',\n });\n\n let result;\n try {\n result = await response.json();\n } catch (e) {\n // If we get here, it means we were a no content response.\n }\n\n if (!response.ok) {\n if (result && result.error) {\n throw new Error(`${response.status}: ${result.error}`);\n } else {\n throw new Error('A connection error occurred while making the request');\n }\n }\n\n return result as T;\n}\n"],"names":["stringify","getOptions","RECHARGE_CDN_URL","Cookies","RECHARGE_API_URL","SHOPIFY_APP_PROXY_URL"],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sources":["../../../src/utils/request.ts"],"sourcesContent":["import 'isomorphic-fetch';\n\nimport { stringify } from 'qs';\n\nimport { Method, RequestHeaders, RequestOptions } from '../types';\nimport { getOptions } from './options';\nimport { RECHARGE_API_URL, RECHARGE_CDN_URL, SHOPIFY_APP_PROXY_URL } from '../constants/api';\nimport { getSession } from './session';\n\nfunction stringifyQuery(str: unknown): string {\n return stringify(str, {\n encode: false,\n indices: false,\n arrayFormat: 'comma',\n });\n}\n\nexport async function cdnRequest<T>(method: Method, url: string, requestOptions: RequestOptions = {}): Promise<T> {\n const opts = getOptions();\n return request(method, `${RECHARGE_CDN_URL(opts.environment)}/store/${opts.storeIdentifier}${url}`, requestOptions);\n}\n\nexport async function rechargeApiRequest<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n const opts = getOptions();\n const token = getSession()?.apiToken ?? opts.apiKey;\n if (!token) {\n throw new Error('No API Key or token found.');\n }\n const rechargeBaseUrl = RECHARGE_API_URL(opts.environment);\n const reqHeaders: RequestHeaders = {\n 'Content-Type': 'application/json',\n 'X-Recharge-Access-Token': token,\n 'X-Recharge-Version': '2021-11',\n 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n const localQuery = {\n shop_url: opts.storeIdentifier,\n ...(query as any),\n };\n\n return request(method, `${rechargeBaseUrl}${url}`, { id, query: localQuery, data, headers: reqHeaders });\n}\n\nexport async function shopifyAppProxyRequest<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n const reqHeaders: RequestHeaders = {\n 'Content-Type': 'application/json',\n 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n return request(method, `${SHOPIFY_APP_PROXY_URL}${url}`, { id, query, data, headers: reqHeaders });\n}\n\nexport async function request<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n let reqUrl = url.trim();\n\n if (id) {\n reqUrl = [reqUrl, `${id}`.trim()].join('/');\n }\n\n if (query) {\n let exQuery;\n [reqUrl, exQuery] = reqUrl.split('?');\n const fullQuery = [exQuery, stringifyQuery(query)].join('&').replace(/^&/, '');\n reqUrl = `${reqUrl}${fullQuery ? `?${fullQuery}` : ''}`;\n }\n\n let reqBody;\n if (data && method !== 'get') {\n reqBody = JSON.stringify(data);\n }\n\n const reqHeaders: RequestHeaders = {\n Accept: 'application/json',\n // 'Content-Type': 'application/json',\n // 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n const response = await fetch(reqUrl, {\n method,\n headers: reqHeaders,\n body: reqBody,\n mode: 'cors',\n });\n\n let result;\n try {\n result = await response.json();\n } catch (e) {\n // If we get here, it means we were a no content response.\n }\n\n if (!response.ok) {\n if (result && result.error) {\n throw new Error(`${response.status}: ${result.error}`);\n } else {\n throw new Error('A connection error occurred while making the request');\n }\n }\n\n return result as T;\n}\n"],"names":["stringify","getOptions","RECHARGE_CDN_URL","getSession","RECHARGE_API_URL","SHOPIFY_APP_PROXY_URL"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Cookies = require('js-cookie');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var Cookies__default = /*#__PURE__*/_interopDefaultLegacy(Cookies);
10
+
11
+ function getSession() {
12
+ const session = Cookies__default["default"].get("recharge-session");
13
+ if (session) {
14
+ try {
15
+ return JSON.parse(session);
16
+ } catch (e) {
17
+ return void 0;
18
+ }
19
+ }
20
+ return void 0;
21
+ }
22
+ function setSession(session) {
23
+ const expires = new Date();
24
+ expires.setHours(expires.getHours() + 1);
25
+ Cookies__default["default"].set("recharge-session", JSON.stringify(session), { expires });
26
+ }
27
+ function clearSession() {
28
+ Cookies__default["default"].remove("recharge-session");
29
+ }
30
+
31
+ exports.clearSession = clearSession;
32
+ exports.getSession = getSession;
33
+ exports.setSession = setSession;
34
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sources":["../../../src/utils/session.ts"],"sourcesContent":["import Cookies from 'js-cookie';\n\ninterface Session {\n apiToken: string;\n userId: string;\n}\n\nexport function getSession(): Session | undefined {\n const session = Cookies.get('recharge-session');\n if (session) {\n try {\n return JSON.parse(session) as Session;\n } catch {\n return undefined;\n }\n }\n return undefined;\n}\n\nexport function setSession(session: Session): void {\n const expires = new Date();\n expires.setHours(expires.getHours() + 1);\n Cookies.set('recharge-session', JSON.stringify(session), { expires });\n}\n\nexport function clearSession(): void {\n Cookies.remove('recharge-session');\n}\n"],"names":["Cookies"],"mappings":";;;;;;;;;;AACO,SAAS,UAAU,GAAG;AAC7B,EAAE,MAAM,OAAO,GAAGA,2BAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAClD,EAAE,IAAI,OAAO,EAAE;AACf,IAAI,IAAI;AACR,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACjC,KAAK,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,KAAK,CAAC,CAAC;AACpB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,KAAK,CAAC,CAAC;AAChB,CAAC;AACM,SAAS,UAAU,CAAC,OAAO,EAAE;AACpC,EAAE,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;AAC7B,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3C,EAAEA,2BAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACxE,CAAC;AACM,SAAS,YAAY,GAAG;AAC/B,EAAEA,2BAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACrC;;;;;;"}
@@ -0,0 +1,35 @@
1
+ import { rechargeApiRequest } from '../utils/request.js';
2
+
3
+ function listAddresses(query) {
4
+ return rechargeApiRequest("get", `/addresses`, { query });
5
+ }
6
+ async function getAddress(id) {
7
+ const { address } = await rechargeApiRequest("get", `/addresses`, { id });
8
+ return address;
9
+ }
10
+ async function createAddress(request) {
11
+ const { address } = await rechargeApiRequest("post", `/addresses`, { data: request });
12
+ return address;
13
+ }
14
+ async function updateAddress(id, request) {
15
+ const { address } = await rechargeApiRequest("put", `/addresses`, { id, data: request });
16
+ return address;
17
+ }
18
+ function deleteAddress(id) {
19
+ return rechargeApiRequest("delete", `/addresses`, { id });
20
+ }
21
+ async function mergeAddresses(request) {
22
+ const { address } = await rechargeApiRequest("post", `/addresses/merge`, {
23
+ data: request
24
+ });
25
+ return address;
26
+ }
27
+ async function skipFutureCharge(id, request) {
28
+ const { charge } = await rechargeApiRequest("post", `/addresses/${id}/charges/skip`, {
29
+ data: request
30
+ });
31
+ return charge;
32
+ }
33
+
34
+ export { createAddress, deleteAddress, getAddress, listAddresses, mergeAddresses, skipFutureCharge, updateAddress };
35
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sources":["../../../src/api/address.ts"],"sourcesContent":["import { rechargeApiRequest } from '../utils/request';\nimport {\n AddressResponse,\n AddressListParams,\n CreateAddressRequest,\n UpdateAddressRequest,\n AddressListResponse,\n MergeAddressesRequest,\n SkipFutureChargeAddressRequest,\n SkipFutureChargeAddressResponse,\n} from '../types/address';\n\n/** Returns all addresses from the store, or addresses for the user given in the parameter. */\nexport function listAddresses(query?: AddressListParams) {\n return rechargeApiRequest<AddressListResponse>('get', `/addresses`, { query });\n}\n\n/** Retrieves address for customer based on specified address id. */\nexport async function getAddress(id: number) {\n const { address } = await rechargeApiRequest<AddressResponse>('get', `/addresses`, { id });\n return address;\n}\n\n/** Create a new address for a customer. */\nexport async function createAddress(request: CreateAddressRequest) {\n const { address } = await rechargeApiRequest<AddressResponse>('post', `/addresses`, { data: request });\n return address;\n}\n\n/** Updates an existing address to match the specified parameters. */\nexport async function updateAddress(id: number, request: UpdateAddressRequest) {\n const { address } = await rechargeApiRequest<AddressResponse>('put', `/addresses`, { id, data: request });\n return address;\n}\n\n/** Deletes an address. Only Addresses with no active Subscriptions can be deleted. */\nexport function deleteAddress(id: number) {\n return rechargeApiRequest<void>('delete', `/addresses`, { id });\n}\n\n/**\n * Merges up to 10 source addresses into 1 target address.\n */\nexport async function mergeAddresses(request: MergeAddressesRequest) {\n const { address } = await rechargeApiRequest<AddressResponse>('post', `/addresses/merge`, {\n data: request,\n });\n return address;\n}\n\n/**\n * Skip a Charge in the future for one or multiple Subscriptions associated with the Address.\n */\nexport async function skipFutureCharge(id: number, request: SkipFutureChargeAddressRequest) {\n const { charge } = await rechargeApiRequest<SkipFutureChargeAddressResponse>(\n 'post',\n `/addresses/${id}/charges/skip`,\n {\n data: request,\n }\n );\n return charge;\n}\n"],"names":[],"mappings":";;AACO,SAAS,aAAa,CAAC,KAAK,EAAE;AACrC,EAAE,OAAO,kBAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5D,CAAC;AACM,eAAe,UAAU,CAAC,EAAE,EAAE;AACrC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5E,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,eAAe,aAAa,CAAC,OAAO,EAAE;AAC7C,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AACxF,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,eAAe,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE;AACjD,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3F,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,SAAS,aAAa,CAAC,EAAE,EAAE;AAClC,EAAE,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC;AACM,eAAe,cAAc,CAAC,OAAO,EAAE;AAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE;AAC3E,IAAI,IAAI,EAAE,OAAO;AACjB,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,eAAe,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE;AACpD,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE;AACvF,IAAI,IAAI,EAAE,OAAO;AACjB,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}
@@ -1,19 +1,17 @@
1
- import Cookies from 'js-cookie';
2
1
  import { shopifyAppProxyRequest } from '../utils/request.js';
2
+ import { setSession, clearSession } from '../utils/session.js';
3
3
 
4
4
  const login = async () => {
5
5
  const response = await shopifyAppProxyRequest("get", "/logged_in_customer_poc");
6
- if (response.api_token) {
7
- const expires = new Date();
8
- expires.setHours(expires.getHours() + 1);
9
- Cookies.set("recharge-session", response.api_token, { expires });
6
+ if (response.api_token && response.customer_id) {
7
+ setSession({ apiToken: response.api_token, userId: response.customer_id });
10
8
  } else {
11
- Cookies.remove("recharge-session");
9
+ clearSession();
12
10
  }
13
11
  return !!response.api_token;
14
12
  };
15
13
  const logout = () => {
16
- Cookies.remove("recharge-session");
14
+ clearSession();
17
15
  };
18
16
 
19
17
  export { login, logout };
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sources":["../../../src/api/auth.ts"],"sourcesContent":["import Cookies from 'js-cookie';\nimport { shopifyAppProxyRequest } from '../utils/request';\nimport { LoginResponse } from '../types/auth';\n\nexport const login = async (): Promise<boolean> => {\n const response = await shopifyAppProxyRequest<LoginResponse | Partial<LoginResponse>>(\n 'get',\n '/logged_in_customer_poc'\n );\n\n if (response.api_token) {\n const expires = new Date();\n expires.setHours(expires.getHours() + 1);\n Cookies.set('recharge-session', response.api_token, { expires });\n } else {\n Cookies.remove('recharge-session');\n }\n\n return !!response.api_token;\n};\n\nexport const logout = (): void => {\n Cookies.remove('recharge-session');\n};\n"],"names":[],"mappings":";;;AAEY,MAAC,KAAK,GAAG,YAAY;AACjC,EAAE,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;AAClF,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC1B,IAAI,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;AAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACrE,GAAG,MAAM;AACT,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACvC,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC9B,EAAE;AACU,MAAC,MAAM,GAAG,MAAM;AAC5B,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACrC;;;;"}
1
+ {"version":3,"file":"auth.js","sources":["../../../src/api/auth.ts"],"sourcesContent":["import { shopifyAppProxyRequest } from '../utils/request';\nimport { LoginResponse } from '../types/auth';\nimport { clearSession, setSession } from '../utils/session';\n\nexport const login = async (): Promise<boolean> => {\n const response = await shopifyAppProxyRequest<LoginResponse | Partial<LoginResponse>>(\n 'get',\n '/logged_in_customer_poc'\n );\n\n if (response.api_token && response.customer_id) {\n setSession({ apiToken: response.api_token, userId: response.customer_id });\n } else {\n clearSession();\n }\n\n return !!response.api_token;\n};\n\nexport const logout = (): void => {\n clearSession();\n};\n"],"names":[],"mappings":";;;AAEY,MAAC,KAAK,GAAG,YAAY;AACjC,EAAE,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;AAClF,EAAE,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,WAAW,EAAE;AAClD,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/E,GAAG,MAAM;AACT,IAAI,YAAY,EAAE,CAAC;AACnB,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC9B,EAAE;AACU,MAAC,MAAM,GAAG,MAAM;AAC5B,EAAE,YAAY,EAAE,CAAC;AACjB;;;;"}
@@ -0,0 +1,35 @@
1
+ import { rechargeApiRequest } from '../utils/request.js';
2
+ import { getSession } from '../utils/session.js';
3
+
4
+ const getUser = async () => {
5
+ var _a;
6
+ const id = (_a = getSession()) == null ? void 0 : _a.userId;
7
+ if (!id) {
8
+ throw new Error("Not logged in.");
9
+ }
10
+ const { customer } = await rechargeApiRequest("get", `/customers`, {
11
+ id
12
+ });
13
+ return customer;
14
+ };
15
+ const updateUser = async (data) => {
16
+ var _a;
17
+ const id = (_a = getSession()) == null ? void 0 : _a.userId;
18
+ if (!id) {
19
+ throw new Error("Not logged in.");
20
+ }
21
+ const { customer } = await rechargeApiRequest("put", `/customers`, { id, data });
22
+ return customer;
23
+ };
24
+ const getDeliverySchedule = async (query) => {
25
+ var _a;
26
+ const id = (_a = getSession()) == null ? void 0 : _a.userId;
27
+ if (!id) {
28
+ throw new Error("Not logged in.");
29
+ }
30
+ const { deliveries } = await rechargeApiRequest("get", `/customers/${id}/delivery_schedule`, { query });
31
+ return deliveries;
32
+ };
33
+
34
+ export { getDeliverySchedule, getUser, updateUser };
35
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sources":["../../../src/api/user.ts"],"sourcesContent":["import {\n User,\n UserDeliveryScheduleParams,\n UserDeliveryScheduleResponse,\n Delivery,\n UpdateUserRequest,\n} from '../types/user';\nimport { rechargeApiRequest } from '../utils/request';\nimport { getSession } from '../utils/session';\n\nexport const getUser = async (): Promise<User> => {\n const id = getSession()?.userId;\n if (!id) {\n throw new Error('Not logged in.');\n }\n const { customer } = await rechargeApiRequest<{ customer: User }>('get', `/customers`, {\n id,\n });\n return customer;\n};\n\nexport const updateUser = async (data: UpdateUserRequest): Promise<User> => {\n const id = getSession()?.userId;\n if (!id) {\n throw new Error('Not logged in.');\n }\n const { customer } = await rechargeApiRequest<{ customer: User }>('put', `/customers`, { id, data });\n return customer;\n};\n\nexport const getDeliverySchedule = async (query?: UserDeliveryScheduleParams): Promise<Delivery[]> => {\n const id = getSession()?.userId;\n if (!id) {\n throw new Error('Not logged in.');\n }\n const { deliveries } = await rechargeApiRequest<UserDeliveryScheduleResponse>(\n 'get',\n `/customers/${id}/delivery_schedule`,\n { query }\n );\n return deliveries;\n};\n"],"names":[],"mappings":";;;AAEY,MAAC,OAAO,GAAG,YAAY;AACnC,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,UAAU,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;AAC9D,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,GAAG;AACH,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE;AACrE,IAAI,EAAE;AACN,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,QAAQ,CAAC;AAClB,EAAE;AACU,MAAC,UAAU,GAAG,OAAO,IAAI,KAAK;AAC1C,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,UAAU,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;AAC9D,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,GAAG;AACH,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACnF,EAAE,OAAO,QAAQ,CAAC;AAClB,EAAE;AACU,MAAC,mBAAmB,GAAG,OAAO,KAAK,KAAK;AACpD,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,UAAU,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;AAC9D,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,GAAG;AACH,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1G,EAAE,OAAO,UAAU,CAAC;AACpB;;;;"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { createAddress, deleteAddress, getAddress, listAddresses, mergeAddresses, skipFutureCharge, updateAddress } from './api/address.js';
1
2
  export { login, logout } from './api/auth.js';
2
3
  export { applyDiscount, captureCharge, getCharge, listCharges, processCharge, refundCharge, removeDiscount, skipCharge, unskipCharge } from './api/charge.js';
3
4
  export { getBundleSettings, getProduct, getProductAndSettings, getProducts, getProductsAndSettings, getStoreSettings, getWidgetSettings, resetCache } from './api/cdn.js';
@@ -5,5 +6,6 @@ export { getBundleId, validateBundle } from './api/bundle.js';
5
6
  export { createOnetime, deleteOnetime, getOnetime, listOnetimes, updateOnetime } from './api/onetime.js';
6
7
  export { getOrder, listOrders } from './api/order.js';
7
8
  export { activateSubscription, cancelSubscription, createSubscription, getSubscription, listSubscriptions, updateSubscription, updateSubscriptionAddress, updateSubscriptionChargeDate } from './api/subscription.js';
9
+ export { getDeliverySchedule, getUser, updateUser } from './api/user.js';
8
10
  export { api, initRecharge } from './utils/init.js';
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  import 'isomorphic-fetch';
2
- import Cookies from 'js-cookie';
3
2
  import { stringify } from 'qs';
4
3
  import { getOptions } from './options.js';
5
4
  import { RECHARGE_API_URL, RECHARGE_CDN_URL, SHOPIFY_APP_PROXY_URL } from '../constants/api.js';
5
+ import { getSession } from './session.js';
6
6
 
7
7
  var __defProp = Object.defineProperty;
8
8
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -32,9 +32,9 @@ async function cdnRequest(method, url, requestOptions = {}) {
32
32
  return request(method, `${RECHARGE_CDN_URL(opts.environment)}/store/${opts.storeIdentifier}${url}`, requestOptions);
33
33
  }
34
34
  async function rechargeApiRequest(method, url, { id, query, data, headers } = {}) {
35
- var _a;
35
+ var _a, _b;
36
36
  const opts = getOptions();
37
- const token = (_a = Cookies.get("recharge-session")) != null ? _a : opts.apiKey;
37
+ const token = (_b = (_a = getSession()) == null ? void 0 : _a.apiToken) != null ? _b : opts.apiKey;
38
38
  if (!token) {
39
39
  throw new Error("No API Key or token found.");
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sources":["../../../src/utils/request.ts"],"sourcesContent":["import 'isomorphic-fetch';\n\nimport Cookies from 'js-cookie';\nimport { stringify } from 'qs';\n\nimport { Method, RequestHeaders, RequestOptions } from '../types';\nimport { getOptions } from './options';\nimport { RECHARGE_API_URL, RECHARGE_CDN_URL, SHOPIFY_APP_PROXY_URL } from '../constants/api';\n\nfunction stringifyQuery(str: unknown): string {\n return stringify(str, {\n encode: false,\n indices: false,\n arrayFormat: 'comma',\n });\n}\n\nexport async function cdnRequest<T>(method: Method, url: string, requestOptions: RequestOptions = {}): Promise<T> {\n const opts = getOptions();\n return request(method, `${RECHARGE_CDN_URL(opts.environment)}/store/${opts.storeIdentifier}${url}`, requestOptions);\n}\n\nexport async function rechargeApiRequest<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n const opts = getOptions();\n const token = Cookies.get('recharge-session') ?? opts.apiKey;\n if (!token) {\n throw new Error('No API Key or token found.');\n }\n const rechargeBaseUrl = RECHARGE_API_URL(opts.environment);\n const reqHeaders: RequestHeaders = {\n 'Content-Type': 'application/json',\n 'X-Recharge-Access-Token': token,\n 'X-Recharge-Version': '2021-11',\n 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n const localQuery = {\n shop_url: opts.storeIdentifier,\n ...(query as any),\n };\n\n return request(method, `${rechargeBaseUrl}${url}`, { id, query: localQuery, data, headers: reqHeaders });\n}\n\nexport async function shopifyAppProxyRequest<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n const reqHeaders: RequestHeaders = {\n 'Content-Type': 'application/json',\n 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n return request(method, `${SHOPIFY_APP_PROXY_URL}${url}`, { id, query, data, headers: reqHeaders });\n}\n\nexport async function request<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n let reqUrl = url.trim();\n\n if (id) {\n reqUrl = [reqUrl, `${id}`.trim()].join('/');\n }\n\n if (query) {\n let exQuery;\n [reqUrl, exQuery] = reqUrl.split('?');\n const fullQuery = [exQuery, stringifyQuery(query)].join('&').replace(/^&/, '');\n reqUrl = `${reqUrl}${fullQuery ? `?${fullQuery}` : ''}`;\n }\n\n let reqBody;\n if (data && method !== 'get') {\n reqBody = JSON.stringify(data);\n }\n\n const reqHeaders: RequestHeaders = {\n Accept: 'application/json',\n // 'Content-Type': 'application/json',\n // 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n const response = await fetch(reqUrl, {\n method,\n headers: reqHeaders,\n body: reqBody,\n mode: 'cors',\n });\n\n let result;\n try {\n result = await response.json();\n } catch (e) {\n // If we get here, it means we were a no content response.\n }\n\n if (!response.ok) {\n if (result && result.error) {\n throw new Error(`${response.status}: ${result.error}`);\n } else {\n throw new Error('A connection error occurred while making the request');\n }\n }\n\n return result as T;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sources":["../../../src/utils/request.ts"],"sourcesContent":["import 'isomorphic-fetch';\n\nimport { stringify } from 'qs';\n\nimport { Method, RequestHeaders, RequestOptions } from '../types';\nimport { getOptions } from './options';\nimport { RECHARGE_API_URL, RECHARGE_CDN_URL, SHOPIFY_APP_PROXY_URL } from '../constants/api';\nimport { getSession } from './session';\n\nfunction stringifyQuery(str: unknown): string {\n return stringify(str, {\n encode: false,\n indices: false,\n arrayFormat: 'comma',\n });\n}\n\nexport async function cdnRequest<T>(method: Method, url: string, requestOptions: RequestOptions = {}): Promise<T> {\n const opts = getOptions();\n return request(method, `${RECHARGE_CDN_URL(opts.environment)}/store/${opts.storeIdentifier}${url}`, requestOptions);\n}\n\nexport async function rechargeApiRequest<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n const opts = getOptions();\n const token = getSession()?.apiToken ?? opts.apiKey;\n if (!token) {\n throw new Error('No API Key or token found.');\n }\n const rechargeBaseUrl = RECHARGE_API_URL(opts.environment);\n const reqHeaders: RequestHeaders = {\n 'Content-Type': 'application/json',\n 'X-Recharge-Access-Token': token,\n 'X-Recharge-Version': '2021-11',\n 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n const localQuery = {\n shop_url: opts.storeIdentifier,\n ...(query as any),\n };\n\n return request(method, `${rechargeBaseUrl}${url}`, { id, query: localQuery, data, headers: reqHeaders });\n}\n\nexport async function shopifyAppProxyRequest<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n const reqHeaders: RequestHeaders = {\n 'Content-Type': 'application/json',\n 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n return request(method, `${SHOPIFY_APP_PROXY_URL}${url}`, { id, query, data, headers: reqHeaders });\n}\n\nexport async function request<T>(\n method: Method,\n url: string,\n { id, query, data, headers }: RequestOptions = {}\n): Promise<T> {\n let reqUrl = url.trim();\n\n if (id) {\n reqUrl = [reqUrl, `${id}`.trim()].join('/');\n }\n\n if (query) {\n let exQuery;\n [reqUrl, exQuery] = reqUrl.split('?');\n const fullQuery = [exQuery, stringifyQuery(query)].join('&').replace(/^&/, '');\n reqUrl = `${reqUrl}${fullQuery ? `?${fullQuery}` : ''}`;\n }\n\n let reqBody;\n if (data && method !== 'get') {\n reqBody = JSON.stringify(data);\n }\n\n const reqHeaders: RequestHeaders = {\n Accept: 'application/json',\n // 'Content-Type': 'application/json',\n // 'X-Recharge-App': 'storefront-client',\n ...(headers ? headers : {}),\n };\n\n const response = await fetch(reqUrl, {\n method,\n headers: reqHeaders,\n body: reqBody,\n mode: 'cors',\n });\n\n let result;\n try {\n result = await response.json();\n } catch (e) {\n // If we get here, it means we were a no content response.\n }\n\n if (!response.ok) {\n if (result && result.error) {\n throw new Error(`${response.status}: ${result.error}`);\n } else {\n throw new Error('A connection error occurred while making the request');\n }\n }\n\n return result as T;\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import Cookies from 'js-cookie';
2
+
3
+ function getSession() {
4
+ const session = Cookies.get("recharge-session");
5
+ if (session) {
6
+ try {
7
+ return JSON.parse(session);
8
+ } catch (e) {
9
+ return void 0;
10
+ }
11
+ }
12
+ return void 0;
13
+ }
14
+ function setSession(session) {
15
+ const expires = new Date();
16
+ expires.setHours(expires.getHours() + 1);
17
+ Cookies.set("recharge-session", JSON.stringify(session), { expires });
18
+ }
19
+ function clearSession() {
20
+ Cookies.remove("recharge-session");
21
+ }
22
+
23
+ export { clearSession, getSession, setSession };
24
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sources":["../../../src/utils/session.ts"],"sourcesContent":["import Cookies from 'js-cookie';\n\ninterface Session {\n apiToken: string;\n userId: string;\n}\n\nexport function getSession(): Session | undefined {\n const session = Cookies.get('recharge-session');\n if (session) {\n try {\n return JSON.parse(session) as Session;\n } catch {\n return undefined;\n }\n }\n return undefined;\n}\n\nexport function setSession(session: Session): void {\n const expires = new Date();\n expires.setHours(expires.getHours() + 1);\n Cookies.set('recharge-session', JSON.stringify(session), { expires });\n}\n\nexport function clearSession(): void {\n Cookies.remove('recharge-session');\n}\n"],"names":[],"mappings":";;AACO,SAAS,UAAU,GAAG;AAC7B,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAClD,EAAE,IAAI,OAAO,EAAE;AACf,IAAI,IAAI;AACR,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACjC,KAAK,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,KAAK,CAAC,CAAC;AACpB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,KAAK,CAAC,CAAC;AAChB,CAAC;AACM,SAAS,UAAU,CAAC,OAAO,EAAE;AACpC,EAAE,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;AAC7B,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3C,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACxE,CAAC;AACM,SAAS,YAAY,GAAG;AAC/B,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACrC;;;;"}