@rechargeapps/storefront-client 0.15.1 → 0.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/address.js +45 -0
- package/dist/cjs/api/address.js.map +1 -0
- package/dist/cjs/api/auth.js +36 -0
- package/dist/cjs/api/auth.js.map +1 -0
- package/dist/cjs/api/bundle.js +74 -0
- package/dist/cjs/api/bundle.js.map +1 -0
- package/dist/cjs/api/cdn.js +85 -0
- package/dist/cjs/api/cdn.js.map +1 -0
- package/dist/cjs/api/charge.js +44 -0
- package/dist/cjs/api/charge.js.map +1 -0
- package/dist/cjs/api/customer.js +38 -0
- package/dist/cjs/api/customer.js.map +1 -0
- package/dist/cjs/api/membership.js +31 -0
- package/dist/cjs/api/membership.js.map +1 -0
- package/dist/cjs/api/onetime.js +40 -0
- package/dist/cjs/api/onetime.js.map +1 -0
- package/dist/cjs/api/order.js +19 -0
- package/dist/cjs/api/order.js.map +1 -0
- package/dist/cjs/api/paymentMethod.js +27 -0
- package/dist/cjs/api/paymentMethod.js.map +1 -0
- package/dist/cjs/api/plan.js +19 -0
- package/dist/cjs/api/plan.js.map +1 -0
- package/dist/cjs/api/subscription.js +71 -0
- package/dist/cjs/api/subscription.js.map +1 -0
- package/dist/cjs/constants/api.js +14 -0
- package/dist/cjs/constants/api.js.map +1 -0
- package/dist/cjs/index.js +77 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/mappers/cdn.js +67 -0
- package/dist/cjs/mappers/cdn.js.map +1 -0
- package/dist/cjs/mappers/utils.js +38 -0
- package/dist/cjs/mappers/utils.js.map +1 -0
- package/dist/cjs/utils/init.js +55 -0
- package/dist/cjs/utils/init.js.map +1 -0
- package/dist/cjs/utils/options.js +18 -0
- package/dist/cjs/utils/options.js.map +1 -0
- package/dist/cjs/utils/request.js +98 -0
- package/dist/cjs/utils/request.js.map +1 -0
- package/dist/esm/api/address.js +35 -0
- package/dist/esm/api/address.js.map +1 -0
- package/dist/esm/api/auth.js +31 -0
- package/dist/esm/api/auth.js.map +1 -0
- package/dist/esm/api/bundle.js +69 -0
- package/dist/esm/api/bundle.js.map +1 -0
- package/dist/esm/api/cdn.js +74 -0
- package/dist/esm/api/cdn.js.map +1 -0
- package/dist/esm/api/charge.js +34 -0
- package/dist/esm/api/charge.js.map +1 -0
- package/dist/esm/api/customer.js +32 -0
- package/dist/esm/api/customer.js.map +1 -0
- package/dist/esm/api/membership.js +24 -0
- package/dist/esm/api/membership.js.map +1 -0
- package/dist/esm/api/onetime.js +32 -0
- package/dist/esm/api/onetime.js.map +1 -0
- package/dist/esm/api/order.js +14 -0
- package/dist/esm/api/order.js.map +1 -0
- package/dist/esm/api/paymentMethod.js +21 -0
- package/dist/esm/api/paymentMethod.js.map +1 -0
- package/dist/esm/api/plan.js +14 -0
- package/dist/esm/api/plan.js.map +1 -0
- package/dist/esm/api/subscription.js +59 -0
- package/dist/esm/api/subscription.js.map +1 -0
- package/dist/esm/constants/api.js +7 -0
- package/dist/esm/constants/api.js.map +1 -0
- package/dist/esm/index.js +14 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/mappers/cdn.js +57 -0
- package/dist/esm/mappers/cdn.js.map +1 -0
- package/dist/esm/mappers/utils.js +34 -0
- package/dist/esm/mappers/utils.js.map +1 -0
- package/dist/esm/utils/init.js +50 -0
- package/dist/esm/utils/init.js.map +1 -0
- package/dist/esm/utils/options.js +13 -0
- package/dist/esm/utils/options.js.map +1 -0
- package/dist/esm/utils/request.js +91 -0
- package/dist/esm/utils/request.js.map +1 -0
- package/dist/index.d.ts +1486 -0
- package/dist/umd/recharge-client.min.js +28 -0
- package/package.json +2 -2
|
@@ -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(session, query) {
|
|
8
|
+
return request.rechargeApiRequest("get", `/addresses`, { query }, session);
|
|
9
|
+
}
|
|
10
|
+
async function getAddress(session, id) {
|
|
11
|
+
const { address } = await request.rechargeApiRequest("get", `/addresses`, { id }, session);
|
|
12
|
+
return address;
|
|
13
|
+
}
|
|
14
|
+
async function createAddress(session, createRequest) {
|
|
15
|
+
const { address } = await request.rechargeApiRequest("post", `/addresses`, { data: createRequest }, session);
|
|
16
|
+
return address;
|
|
17
|
+
}
|
|
18
|
+
async function updateAddress(session, id, updateRequest) {
|
|
19
|
+
const { address } = await request.rechargeApiRequest("put", `/addresses`, { id, data: updateRequest }, session);
|
|
20
|
+
return address;
|
|
21
|
+
}
|
|
22
|
+
function deleteAddress(session, id) {
|
|
23
|
+
return request.rechargeApiRequest("delete", `/addresses`, { id }, session);
|
|
24
|
+
}
|
|
25
|
+
async function mergeAddresses(session, mergeRequest) {
|
|
26
|
+
const { address } = await request.rechargeApiRequest("post", `/addresses/merge`, {
|
|
27
|
+
data: mergeRequest
|
|
28
|
+
}, session);
|
|
29
|
+
return address;
|
|
30
|
+
}
|
|
31
|
+
async function skipFutureCharge(session, id, skipRequest) {
|
|
32
|
+
const { charge } = await request.rechargeApiRequest("post", `/addresses/${id}/charges/skip`, {
|
|
33
|
+
data: skipRequest
|
|
34
|
+
}, session);
|
|
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';\nimport { Session } from '../types/session';\n\n/** Returns all addresses from the store, or addresses for the customer given in the parameter. */\nexport function listAddresses(session: Session, query?: AddressListParams) {\n return rechargeApiRequest<AddressListResponse>('get', `/addresses`, { query }, session);\n}\n\n/** Retrieves address for customer based on specified address id. */\nexport async function getAddress(session: Session, id: string | number) {\n const { address } = await rechargeApiRequest<AddressResponse>('get', `/addresses`, { id }, session);\n return address;\n}\n\n/** Create a new address for a customer. */\nexport async function createAddress(session: Session, createRequest: CreateAddressRequest) {\n const { address } = await rechargeApiRequest<AddressResponse>('post', `/addresses`, { data: createRequest }, session);\n return address;\n}\n\n/** Updates an existing address to match the specified parameters. */\nexport async function updateAddress(session: Session, id: string | number, updateRequest: UpdateAddressRequest) {\n const { address } = await rechargeApiRequest<AddressResponse>(\n 'put',\n `/addresses`,\n { id, data: updateRequest },\n session\n );\n return address;\n}\n\n/** Deletes an address. Only Addresses with no active Subscriptions can be deleted. */\nexport function deleteAddress(session: Session, id: string | number) {\n return rechargeApiRequest<void>('delete', `/addresses`, { id }, session);\n}\n\n/**\n * Merges up to 10 source addresses into 1 target address.\n */\nexport async function mergeAddresses(session: Session, mergeRequest: MergeAddressesRequest) {\n const { address } = await rechargeApiRequest<AddressResponse>(\n 'post',\n `/addresses/merge`,\n {\n data: mergeRequest,\n },\n session\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(\n session: Session,\n id: string | number,\n skipRequest: SkipFutureChargeAddressRequest\n) {\n const { charge } = await rechargeApiRequest<SkipFutureChargeAddressResponse>(\n 'post',\n `/addresses/${id}/charges/skip`,\n {\n data: skipRequest,\n },\n session\n );\n return charge;\n}\n"],"names":["rechargeApiRequest"],"mappings":";;;;;;AACO,SAAS,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE;AAC9C,EAAE,OAAOA,0BAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AACM,eAAe,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE;AAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACrF,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,eAAe,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE;AAC5D,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAMA,0BAAkB,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;AACvG,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,eAAe,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE;AAChE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;AAC1G,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,SAAS,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE;AAC3C,EAAE,OAAOA,0BAAkB,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AACM,eAAe,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE;AAC5D,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAMA,0BAAkB,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE;AAC3E,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,eAAe,gBAAgB,CAAC,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE;AACjE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAMA,0BAAkB,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE;AACvF,IAAI,IAAI,EAAE,WAAW;AACrB,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,MAAM,CAAC;AAChB;;;;;;;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var request = require('../utils/request.js');
|
|
6
|
+
var options = require('../utils/options.js');
|
|
7
|
+
var api = require('../constants/api.js');
|
|
8
|
+
|
|
9
|
+
async function loginShopifyAppProxy() {
|
|
10
|
+
const { storefrontAccessToken } = options.getOptions();
|
|
11
|
+
const headers = {};
|
|
12
|
+
if (storefrontAccessToken) {
|
|
13
|
+
headers["X-Recharge-Storefront-Access-Token"] = storefrontAccessToken;
|
|
14
|
+
}
|
|
15
|
+
const response = await request.shopifyAppProxyRequest("get", "/access", { headers });
|
|
16
|
+
return { apiToken: response.api_token, customerId: response.customer_id };
|
|
17
|
+
}
|
|
18
|
+
async function loginShopifyApi(customerAccessToken, storefrontAccessToken) {
|
|
19
|
+
const { environment, storeIdentifier } = options.getOptions();
|
|
20
|
+
const rechargeBaseUrl = api.RECHARGE_ADMIN_URL(environment);
|
|
21
|
+
const response = await request.request("post", `${rechargeBaseUrl}/shopify_storefront_access`, {
|
|
22
|
+
data: {
|
|
23
|
+
customer_token: customerAccessToken,
|
|
24
|
+
storefront_token: storefrontAccessToken,
|
|
25
|
+
shop_url: storeIdentifier
|
|
26
|
+
},
|
|
27
|
+
headers: {
|
|
28
|
+
"X-Recharge-App": "storefront-client"
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return response.api_token ? { apiToken: response.api_token, customerId: response.customer_id } : null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
exports.loginShopifyApi = loginShopifyApi;
|
|
35
|
+
exports.loginShopifyAppProxy = loginShopifyAppProxy;
|
|
36
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sources":["../../../src/api/auth.ts"],"sourcesContent":["import { request as baseRequest, shopifyAppProxyRequest } from '../utils/request';\nimport { LoginResponse } from '../types/auth';\nimport { getOptions } from '../utils/options';\nimport { RECHARGE_ADMIN_URL } from '../constants/api';\nimport { Session } from '../types/session';\nimport { RequestHeaders } from '../types';\n\nexport async function loginShopifyAppProxy(): Promise<Session> {\n const { storefrontAccessToken } = getOptions();\n const headers: RequestHeaders = {};\n if (storefrontAccessToken) {\n headers['X-Recharge-Storefront-Access-Token'] = storefrontAccessToken;\n }\n const response = await shopifyAppProxyRequest<LoginResponse>('get', '/access', { headers });\n\n return { apiToken: response.api_token, customerId: response.customer_id };\n}\n\nexport async function loginShopifyApi(\n customerAccessToken: string,\n storefrontAccessToken: string\n): Promise<Session | null> {\n const { environment, storeIdentifier } = getOptions();\n const rechargeBaseUrl = RECHARGE_ADMIN_URL(environment);\n const response = await baseRequest<LoginResponse>('post', `${rechargeBaseUrl}/shopify_storefront_access`, {\n data: {\n customer_token: customerAccessToken,\n storefront_token: storefrontAccessToken,\n shop_url: storeIdentifier,\n },\n headers: {\n 'X-Recharge-App': 'storefront-client',\n },\n });\n\n return response.api_token ? { apiToken: response.api_token, customerId: response.customer_id } : null;\n}\n"],"names":["getOptions","shopifyAppProxyRequest","RECHARGE_ADMIN_URL","baseRequest"],"mappings":";;;;;;;;AAGO,eAAe,oBAAoB,GAAG;AAC7C,EAAE,MAAM,EAAE,qBAAqB,EAAE,GAAGA,kBAAU,EAAE,CAAC;AACjD,EAAE,MAAM,OAAO,GAAG,EAAE,CAAC;AACrB,EAAE,IAAI,qBAAqB,EAAE;AAC7B,IAAI,OAAO,CAAC,oCAAoC,CAAC,GAAG,qBAAqB,CAAC;AAC1E,GAAG;AACH,EAAE,MAAM,QAAQ,GAAG,MAAMC,8BAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/E,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC5E,CAAC;AACM,eAAe,eAAe,CAAC,mBAAmB,EAAE,qBAAqB,EAAE;AAClF,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAGD,kBAAU,EAAE,CAAC;AACxD,EAAE,MAAM,eAAe,GAAGE,sBAAkB,CAAC,WAAW,CAAC,CAAC;AAC1D,EAAE,MAAM,QAAQ,GAAG,MAAMC,eAAW,CAAC,MAAM,EAAE,CAAC,EAAE,eAAe,CAAC,0BAA0B,CAAC,EAAE;AAC7F,IAAI,IAAI,EAAE;AACV,MAAM,cAAc,EAAE,mBAAmB;AACzC,MAAM,gBAAgB,EAAE,qBAAqB;AAC7C,MAAM,QAAQ,EAAE,eAAe;AAC/B,KAAK;AACL,IAAI,OAAO,EAAE;AACb,MAAM,gBAAgB,EAAE,mBAAmB;AAC3C,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,QAAQ,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;AACxG;;;;;"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var bundlingData = require('@rechargeapps/bundling-data');
|
|
6
|
+
var request = require('../utils/request.js');
|
|
7
|
+
var options = require('../utils/options.js');
|
|
8
|
+
var cdn = require('./cdn.js');
|
|
9
|
+
|
|
10
|
+
const STORE_FRONT_MANAGER_URL = "/bundling-storefront-manager";
|
|
11
|
+
function getTimestampSecondsFromClient() {
|
|
12
|
+
return Math.ceil(Date.now() / 1e3);
|
|
13
|
+
}
|
|
14
|
+
async function getTimestampSecondsFromServer() {
|
|
15
|
+
try {
|
|
16
|
+
const { timestamp } = await request.shopifyAppProxyRequest("get", `${STORE_FRONT_MANAGER_URL}/t`, {
|
|
17
|
+
headers: { "X-Recharge-App": "storefront-client" }
|
|
18
|
+
});
|
|
19
|
+
return timestamp;
|
|
20
|
+
} catch (ex) {
|
|
21
|
+
console.error(`Fetch failed: ${ex}. Using client-side date.`);
|
|
22
|
+
return getTimestampSecondsFromClient();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function getBundleId(bundle) {
|
|
26
|
+
const opts = options.getOptions();
|
|
27
|
+
const isValid = await validateBundle(bundle);
|
|
28
|
+
if (!isValid) {
|
|
29
|
+
throw new Error("Bundle selection is invalid.");
|
|
30
|
+
}
|
|
31
|
+
const timestampSeconds = await getTimestampSecondsFromServer();
|
|
32
|
+
const bundleData = bundlingData.toLineItemProperty({
|
|
33
|
+
variantId: bundle.externalVariantId,
|
|
34
|
+
version: timestampSeconds,
|
|
35
|
+
items: bundle.selections.map((item) => {
|
|
36
|
+
return {
|
|
37
|
+
collectionId: item.collectionId,
|
|
38
|
+
productId: item.externalProductId,
|
|
39
|
+
variantId: item.externalVariantId,
|
|
40
|
+
quantity: item.quantity,
|
|
41
|
+
sku: ""
|
|
42
|
+
};
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
try {
|
|
46
|
+
const payload = await request.shopifyAppProxyRequest("post", `${STORE_FRONT_MANAGER_URL}/api/v1/bundles`, {
|
|
47
|
+
data: {
|
|
48
|
+
bundle: bundleData
|
|
49
|
+
},
|
|
50
|
+
headers: {
|
|
51
|
+
Origin: `https://${opts.storeIdentifier}`
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
if (!payload.id || payload.code !== 200) {
|
|
55
|
+
throw new Error(`1: failed generating rb_id: ${JSON.stringify(payload)}`);
|
|
56
|
+
}
|
|
57
|
+
return payload.id;
|
|
58
|
+
} catch (e) {
|
|
59
|
+
throw new Error(`2: failed generating rb_id ${e}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async function validateBundle(bundle) {
|
|
63
|
+
try {
|
|
64
|
+
const bundleSettings = await cdn.getCDNBundleSettings(bundle.externalProductId);
|
|
65
|
+
return !!bundle && !!bundleSettings;
|
|
66
|
+
} catch (e) {
|
|
67
|
+
console.error("Error fetching bundle settings");
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
exports.getBundleId = getBundleId;
|
|
73
|
+
exports.validateBundle = validateBundle;
|
|
74
|
+
//# sourceMappingURL=bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.js","sources":["../../../src/api/bundle.ts"],"sourcesContent":["import { toLineItemProperty } from '@rechargeapps/bundling-data';\nimport { Bundle } from '../types';\nimport { shopifyAppProxyRequest } from '../utils/request';\nimport { getOptions } from '../utils/options';\nimport { getCDNBundleSettings } from './cdn';\n\nconst STORE_FRONT_MANAGER_URL = '/bundling-storefront-manager';\n\nfunction getTimestampSecondsFromClient(): number {\n /**\n * Get the current unix epoch in seconds from the client-side.\n */\n return Math.ceil(Date.now() / 1000);\n}\n\nasync function getTimestampSecondsFromServer(): Promise<number> {\n /**\n * Get the unix epoch from the server instead of using it directly from the\n * client. This must reduce even more the number of invalid Bundles.\n */\n try {\n const { timestamp } = await shopifyAppProxyRequest<{ timestamp: number }>('get', `${STORE_FRONT_MANAGER_URL}/t`, {\n headers: { 'X-Recharge-App': 'storefront-client' },\n });\n return timestamp;\n } catch (ex) {\n console.error(`Fetch failed: ${ex}. Using client-side date.`);\n return getTimestampSecondsFromClient();\n }\n}\n\nexport async function getBundleId(bundle: Bundle): Promise<string> {\n const opts = getOptions();\n const isValid = await validateBundle(bundle);\n if (!isValid) {\n throw new Error('Bundle selection is invalid.');\n }\n const timestampSeconds = await getTimestampSecondsFromServer();\n const bundleData = toLineItemProperty({\n variantId: bundle.externalVariantId,\n version: timestampSeconds,\n items: bundle.selections.map(item => {\n return {\n collectionId: item.collectionId,\n productId: item.externalProductId,\n variantId: item.externalVariantId,\n quantity: item.quantity,\n sku: '',\n };\n }),\n });\n\n try {\n const payload = await shopifyAppProxyRequest<{ id: string; code: number; message: string }>(\n 'post',\n `${STORE_FRONT_MANAGER_URL}/api/v1/bundles`,\n {\n data: {\n bundle: bundleData,\n },\n headers: {\n Origin: `https://${opts.storeIdentifier}`,\n },\n }\n );\n\n if (!payload.id || payload.code !== 200) {\n throw new Error(`1: failed generating rb_id: ${JSON.stringify(payload)}`);\n }\n\n return payload.id;\n } catch (e) {\n // Handle NetworkError exceptions\n throw new Error(`2: failed generating rb_id ${e}`);\n }\n}\n\nexport async function validateBundle(bundle: Bundle): Promise<boolean> {\n try {\n const bundleSettings = await getCDNBundleSettings(bundle.externalProductId);\n // once we implement this function, we can make it raise an exception\n // we could also have a local store relative to this function so we don't have to pass bundleProduct\n return !!bundle && !!bundleSettings;\n } catch (e) {\n console.error('Error fetching bundle settings');\n return false;\n }\n}\n"],"names":["shopifyAppProxyRequest","getOptions","toLineItemProperty","getCDNBundleSettings"],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var cdn = require('../mappers/cdn.js');
|
|
6
|
+
var request = require('../utils/request.js');
|
|
7
|
+
|
|
8
|
+
const CDN_VERSION = "2020-12";
|
|
9
|
+
const DEFAULT_STORE_SETTINGS = {
|
|
10
|
+
store_currency: {
|
|
11
|
+
currency_code: "USD",
|
|
12
|
+
currency_symbol: "$",
|
|
13
|
+
decimal_separator: ".",
|
|
14
|
+
thousands_separator: ",",
|
|
15
|
+
currency_symbol_location: "left"
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const promiseCache = /* @__PURE__ */ new Map();
|
|
19
|
+
function cacheRequest(cacheKey, request) {
|
|
20
|
+
if (!promiseCache.has(cacheKey)) {
|
|
21
|
+
promiseCache.set(cacheKey, request());
|
|
22
|
+
}
|
|
23
|
+
return promiseCache.get(cacheKey);
|
|
24
|
+
}
|
|
25
|
+
async function getCDNProduct(externalProductId) {
|
|
26
|
+
const { product } = await cacheRequest(`product.${externalProductId}`, () => request.cdnRequest("get", `/product/${CDN_VERSION}/${externalProductId}.json`));
|
|
27
|
+
return cdn.productMapper(product);
|
|
28
|
+
}
|
|
29
|
+
async function getCDNStoreSettings() {
|
|
30
|
+
const storeSettings = await cacheRequest("storeSettings", () => request.cdnRequest("get", `/${CDN_VERSION}/store_settings.json`).catch(() => {
|
|
31
|
+
return DEFAULT_STORE_SETTINGS;
|
|
32
|
+
}));
|
|
33
|
+
return storeSettings;
|
|
34
|
+
}
|
|
35
|
+
async function getCDNWidgetSettings() {
|
|
36
|
+
const { widget_settings } = await cacheRequest("widgetSettings", () => request.cdnRequest("get", `/${CDN_VERSION}/widget_settings.json`));
|
|
37
|
+
const widgetSettings = cdn.widgetSettingsMapper(widget_settings);
|
|
38
|
+
return widgetSettings;
|
|
39
|
+
}
|
|
40
|
+
async function getCDNProductsAndSettings() {
|
|
41
|
+
const { products, widget_settings, store_settings, meta } = await cacheRequest("productsAndSettings", () => request.cdnRequest("get", `/product/${CDN_VERSION}/products.json`));
|
|
42
|
+
if ((meta == null ? void 0 : meta.status) === "error") {
|
|
43
|
+
return Promise.reject(meta.message);
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
products: cdn.productArrayMapper(products),
|
|
47
|
+
widget_settings: cdn.widgetSettingsMapper(widget_settings),
|
|
48
|
+
store_settings: store_settings != null ? store_settings : {}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
async function getCDNProducts() {
|
|
52
|
+
const { products } = await getCDNProductsAndSettings();
|
|
53
|
+
return products;
|
|
54
|
+
}
|
|
55
|
+
async function getCDNProductAndSettings(externalProductId) {
|
|
56
|
+
const [product, store_settings, widget_settings] = await Promise.all([
|
|
57
|
+
getCDNProduct(externalProductId),
|
|
58
|
+
getCDNStoreSettings(),
|
|
59
|
+
getCDNWidgetSettings()
|
|
60
|
+
]);
|
|
61
|
+
return {
|
|
62
|
+
product,
|
|
63
|
+
store_settings,
|
|
64
|
+
widget_settings,
|
|
65
|
+
storeSettings: store_settings,
|
|
66
|
+
widgetSettings: widget_settings
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
async function getCDNBundleSettings(externalProductId) {
|
|
70
|
+
const { bundle_product } = await getCDNProduct(externalProductId);
|
|
71
|
+
return bundle_product;
|
|
72
|
+
}
|
|
73
|
+
async function resetCDNCache() {
|
|
74
|
+
return Array.from(promiseCache.keys()).forEach((key) => promiseCache.delete(key));
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
exports.getCDNBundleSettings = getCDNBundleSettings;
|
|
78
|
+
exports.getCDNProduct = getCDNProduct;
|
|
79
|
+
exports.getCDNProductAndSettings = getCDNProductAndSettings;
|
|
80
|
+
exports.getCDNProducts = getCDNProducts;
|
|
81
|
+
exports.getCDNProductsAndSettings = getCDNProductsAndSettings;
|
|
82
|
+
exports.getCDNStoreSettings = getCDNStoreSettings;
|
|
83
|
+
exports.getCDNWidgetSettings = getCDNWidgetSettings;
|
|
84
|
+
exports.resetCDNCache = resetCDNCache;
|
|
85
|
+
//# sourceMappingURL=cdn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdn.js","sources":["../../../src/api/cdn.ts"],"sourcesContent":["import {\n CDNWidgetSettings,\n CDNStoreSettings,\n CDNWidgetSettingsResource,\n CDNProductsAndSettings,\n CDNProductResource,\n CDNProduct,\n CDNProductAndSettings,\n CDNProductsAndSettingsResource,\n CDNBundleSettings,\n CDNProductKeyObject,\n} from '../types';\nimport { productArrayMapper, productMapper, widgetSettingsMapper } from '../mappers/cdn';\nimport { cdnRequest } from '../utils/request';\n\nconst CDN_VERSION = '2020-12';\n\n// Default store settings if none are provided from the cdn\nconst DEFAULT_STORE_SETTINGS: CDNStoreSettings = {\n store_currency: {\n currency_code: 'USD',\n currency_symbol: '$',\n decimal_separator: '.',\n thousands_separator: ',',\n currency_symbol_location: 'left',\n },\n};\n\nconst promiseCache = new Map();\n\n// This will cache the request and use the same promise anywhere we call this function. This will never make multiple calls and always return the first request\nfunction cacheRequest<T>(cacheKey: string, request: () => T): T {\n if (!promiseCache.has(cacheKey)) {\n promiseCache.set(cacheKey, request());\n }\n return promiseCache.get(cacheKey);\n}\n\nexport async function getCDNProduct(externalProductId: string | number): Promise<CDNProduct> {\n const { product } = await cacheRequest(`product.${externalProductId}`, () =>\n cdnRequest<CDNProductResource>('get', `/product/${CDN_VERSION}/${externalProductId}.json`)\n );\n\n return productMapper(product);\n}\n\nexport async function getCDNStoreSettings(): Promise<CDNStoreSettings> {\n const storeSettings = await cacheRequest('storeSettings', () =>\n cdnRequest<CDNStoreSettings>('get', `/${CDN_VERSION}/store_settings.json`).catch(() => {\n return DEFAULT_STORE_SETTINGS;\n })\n );\n return storeSettings;\n}\n\nexport async function getCDNWidgetSettings(): Promise<CDNWidgetSettings> {\n const { widget_settings } = await cacheRequest('widgetSettings', () =>\n cdnRequest<CDNWidgetSettingsResource>('get', `/${CDN_VERSION}/widget_settings.json`)\n );\n\n const widgetSettings = widgetSettingsMapper(widget_settings);\n\n return widgetSettings;\n}\n\nexport async function getCDNProductsAndSettings(): Promise<CDNProductsAndSettings> {\n const { products, widget_settings, store_settings, meta } = await cacheRequest('productsAndSettings', () =>\n cdnRequest<CDNProductsAndSettingsResource>('get', `/product/${CDN_VERSION}/products.json`)\n );\n\n if (meta?.status === 'error') {\n return Promise.reject(meta.message);\n }\n\n return {\n products: productArrayMapper(products),\n widget_settings: widgetSettingsMapper(widget_settings),\n store_settings: store_settings ?? {},\n };\n}\n\nexport async function getCDNProducts(): Promise<CDNProductKeyObject[]> {\n const { products } = await getCDNProductsAndSettings();\n return products;\n}\n\nexport async function getCDNProductAndSettings(externalProductId: string | number): Promise<CDNProductAndSettings> {\n const [product, store_settings, widget_settings] = await Promise.all([\n getCDNProduct(externalProductId),\n getCDNStoreSettings(),\n getCDNWidgetSettings(),\n ]);\n\n return {\n product,\n store_settings,\n widget_settings,\n storeSettings: store_settings,\n widgetSettings: widget_settings,\n };\n}\n\nexport async function getCDNBundleSettings(\n externalProductId: string | number\n): Promise<CDNBundleSettings | null | undefined> {\n const { bundle_product } = await getCDNProduct(externalProductId);\n\n return bundle_product;\n}\n\nexport async function resetCDNCache() {\n return Array.from(promiseCache.keys()).forEach(key => promiseCache.delete(key));\n}\n"],"names":["cdnRequest","productMapper","widgetSettingsMapper","productArrayMapper"],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var request = require('../utils/request.js');
|
|
6
|
+
|
|
7
|
+
async function getCharge(session, id) {
|
|
8
|
+
const { charge } = await request.rechargeApiRequest("get", `/charges`, { id }, session);
|
|
9
|
+
return charge;
|
|
10
|
+
}
|
|
11
|
+
function listCharges(session, query) {
|
|
12
|
+
return request.rechargeApiRequest("get", `/charges`, { query }, session);
|
|
13
|
+
}
|
|
14
|
+
async function applyDiscount(session, id, applyRequest) {
|
|
15
|
+
const { charge } = await request.rechargeApiRequest("post", `/charges/${id}/apply_discount`, {
|
|
16
|
+
data: applyRequest
|
|
17
|
+
}, session);
|
|
18
|
+
return charge;
|
|
19
|
+
}
|
|
20
|
+
async function removeDiscount(session, id) {
|
|
21
|
+
const { charge } = await request.rechargeApiRequest("post", `/charges/${id}/remove_discount`, {}, session);
|
|
22
|
+
return charge;
|
|
23
|
+
}
|
|
24
|
+
async function skipCharge(session, id) {
|
|
25
|
+
const { charge } = await request.rechargeApiRequest("post", `/charges/${id}/skip`, {}, session);
|
|
26
|
+
return charge;
|
|
27
|
+
}
|
|
28
|
+
async function unskipCharge(session, id) {
|
|
29
|
+
const { charge } = await request.rechargeApiRequest("post", `/charges/${id}/unskip`, {}, session);
|
|
30
|
+
return charge;
|
|
31
|
+
}
|
|
32
|
+
async function processCharge(session, id) {
|
|
33
|
+
const { charge } = await request.rechargeApiRequest("post", `/charges/${id}/process`, {}, session);
|
|
34
|
+
return charge;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
exports.applyDiscount = applyDiscount;
|
|
38
|
+
exports.getCharge = getCharge;
|
|
39
|
+
exports.listCharges = listCharges;
|
|
40
|
+
exports.processCharge = processCharge;
|
|
41
|
+
exports.removeDiscount = removeDiscount;
|
|
42
|
+
exports.skipCharge = skipCharge;
|
|
43
|
+
exports.unskipCharge = unskipCharge;
|
|
44
|
+
//# sourceMappingURL=charge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charge.js","sources":["../../../src/api/charge.ts"],"sourcesContent":["import { ApplyDiscountRequest, ChargeListParams, ChargeListResponse, ChargeResponse } from '../types/charge';\nimport { Session } from '../types/session';\nimport { rechargeApiRequest } from '../utils/request';\n\n/* Retrieve a Charge using the charge_id. */\nexport async function getCharge(session: Session, id: number | string) {\n const { charge } = await rechargeApiRequest<ChargeResponse>('get', `/charges`, { id }, session);\n return charge;\n}\n\n/** Lists charges */\nexport function listCharges(session: Session, query?: ChargeListParams) {\n return rechargeApiRequest<ChargeListResponse>('get', `/charges`, { query }, session);\n}\n\n/**\n * You cannot add a Discount to an existing queued Charge if the Charge or the associated Address already has one.\n * You can provide either discount_id or discount_code. If both parameters are passed, the value for discount_id will take precedence.\n * If a Charge has a Discount and it gets updated, or a regeneration occurs, the Discount will be lost. Regeneration is a process that refreshes the Charge JSON with new data in the case of the Subscription or Address being updated.\n */\nexport async function applyDiscount(session: Session, id: number | string, applyRequest: ApplyDiscountRequest) {\n const { charge } = await rechargeApiRequest<ChargeResponse>(\n 'post',\n `/charges/${id}/apply_discount`,\n {\n data: applyRequest,\n },\n session\n );\n return charge;\n}\n\n/**\n * Remove a Discount from a Charge without destroying the Discount.\n * In most cases the Discount should be removed from the Address. When the Discount is removed from the Address, the Discount is also removed from any future Charges.\n * If the Discount is on the parent Address, you cannot remove it using charge_id.\n * When removing your Discount, it is preferable to pass the address_id so that the Discount stays removed if the Charge is regenerated. Only pass charge_id in edge cases in which there are two or more Charges on a parent Address and you only want to remove the Discount from one Charge.\n * If you pass both parameters, it will remove the Discount from the Address.\n */\nexport async function removeDiscount(session: Session, id: number | string) {\n const { charge } = await rechargeApiRequest<ChargeResponse>('post', `/charges/${id}/remove_discount`, {}, session);\n return charge;\n}\n\n/* Skip a Charge. */\nexport async function skipCharge(session: Session, id: number | string) {\n const { charge } = await rechargeApiRequest<ChargeResponse>('post', `/charges/${id}/skip`, {}, session);\n return charge;\n}\n\n/* Unskip a Charge. */\nexport async function unskipCharge(session: Session, id: number | string) {\n const { charge } = await rechargeApiRequest<ChargeResponse>('post', `/charges/${id}/unskip`, {}, session);\n return charge;\n}\n\n/* Process a Charge. */\nexport async function processCharge(session: Session, id: number | string) {\n const { charge } = await rechargeApiRequest<ChargeResponse>('post', `/charges/${id}/process`, {}, session);\n return charge;\n}\n"],"names":["rechargeApiRequest"],"mappings":";;;;;;AACO,eAAe,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE;AAC7C,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAClF,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACM,SAAS,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE;AAC5C,EAAE,OAAOA,0BAAkB,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AACM,eAAe,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE;AAC/D,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAMA,0BAAkB,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE;AACvF,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACM,eAAe,cAAc,CAAC,OAAO,EAAE,EAAE,EAAE;AAClD,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAMA,0BAAkB,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACrG,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACM,eAAe,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE;AAC9C,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAMA,0BAAkB,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC1F,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACM,eAAe,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE;AAChD,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAMA,0BAAkB,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC5F,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACM,eAAe,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE;AACjD,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAMA,0BAAkB,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7F,EAAE,OAAO,MAAM,CAAC;AAChB;;;;;;;;;;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var request = require('../utils/request.js');
|
|
6
|
+
|
|
7
|
+
async function getCustomer(session, options) {
|
|
8
|
+
const id = session.customerId;
|
|
9
|
+
if (!id) {
|
|
10
|
+
throw new Error("Not logged in.");
|
|
11
|
+
}
|
|
12
|
+
const { customer } = await request.rechargeApiRequest("get", `/customers`, {
|
|
13
|
+
id,
|
|
14
|
+
query: { include: options == null ? void 0 : options.include }
|
|
15
|
+
}, session);
|
|
16
|
+
return customer;
|
|
17
|
+
}
|
|
18
|
+
async function updateCustomer(session, updateRequest) {
|
|
19
|
+
const id = session.customerId;
|
|
20
|
+
if (!id) {
|
|
21
|
+
throw new Error("Not logged in.");
|
|
22
|
+
}
|
|
23
|
+
const { customer } = await request.rechargeApiRequest("put", `/customers`, { id, data: updateRequest }, session);
|
|
24
|
+
return customer;
|
|
25
|
+
}
|
|
26
|
+
async function getDeliverySchedule(session, query) {
|
|
27
|
+
const id = session.customerId;
|
|
28
|
+
if (!id) {
|
|
29
|
+
throw new Error("Not logged in.");
|
|
30
|
+
}
|
|
31
|
+
const { deliveries } = await request.rechargeApiRequest("get", `/customers/${id}/delivery_schedule`, { query }, session);
|
|
32
|
+
return deliveries;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.getCustomer = getCustomer;
|
|
36
|
+
exports.getDeliverySchedule = getDeliverySchedule;
|
|
37
|
+
exports.updateCustomer = updateCustomer;
|
|
38
|
+
//# sourceMappingURL=customer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customer.js","sources":["../../../src/api/customer.ts"],"sourcesContent":["import { Session } from '../types/session';\nimport {\n Customer,\n CustomerDeliveryScheduleParams,\n CustomerDeliveryScheduleResponse,\n Delivery,\n GetCustomerOptions,\n UpdateCustomerRequest,\n} from '../types/customer';\nimport { rechargeApiRequest } from '../utils/request';\n\nexport async function getCustomer(session: Session, options?: GetCustomerOptions): Promise<Customer> {\n const id = session.customerId;\n if (!id) {\n throw new Error('Not logged in.');\n }\n const { customer } = await rechargeApiRequest<{ customer: Customer }>(\n 'get',\n `/customers`,\n {\n id,\n query: { include: options?.include },\n },\n session\n );\n return customer;\n}\n\nexport async function updateCustomer(session: Session, updateRequest: UpdateCustomerRequest): Promise<Customer> {\n const id = session.customerId;\n if (!id) {\n throw new Error('Not logged in.');\n }\n const { customer } = await rechargeApiRequest<{ customer: Customer }>(\n 'put',\n `/customers`,\n { id, data: updateRequest },\n session\n );\n return customer;\n}\n\nexport async function getDeliverySchedule(\n session: Session,\n query?: CustomerDeliveryScheduleParams\n): Promise<Delivery[]> {\n const id = session.customerId;\n if (!id) {\n throw new Error('Not logged in.');\n }\n const { deliveries } = await rechargeApiRequest<CustomerDeliveryScheduleResponse>(\n 'get',\n `/customers/${id}/delivery_schedule`,\n { query },\n session\n );\n return deliveries;\n}\n"],"names":["rechargeApiRequest"],"mappings":";;;;;;AACO,eAAe,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE;AACpD,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;AAChC,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,GAAG;AACH,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE;AACrE,IAAI,EAAE;AACN,IAAI,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE;AAClE,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACM,eAAe,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE;AAC7D,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;AAChC,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,GAAG;AACH,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;AAC3G,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACM,eAAe,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE;AAC1D,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;AAChC,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACtC,GAAG;AACH,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AACnH,EAAE,OAAO,UAAU,CAAC;AACpB;;;;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var request = require('../utils/request.js');
|
|
6
|
+
|
|
7
|
+
async function getMembership(session, id) {
|
|
8
|
+
const { membership } = await request.rechargeApiRequest("get", `/memberships`, { id }, session);
|
|
9
|
+
return membership;
|
|
10
|
+
}
|
|
11
|
+
function listMemberships(session, query) {
|
|
12
|
+
return request.rechargeApiRequest("get", `/memberships`, { query }, session);
|
|
13
|
+
}
|
|
14
|
+
async function cancelMembership(session, id, cancelRequest) {
|
|
15
|
+
const { membership } = await request.rechargeApiRequest("post", `/memberships/${id}/cancel`, {
|
|
16
|
+
data: cancelRequest
|
|
17
|
+
}, session);
|
|
18
|
+
return membership;
|
|
19
|
+
}
|
|
20
|
+
async function activateMembership(session, id, activateRequest) {
|
|
21
|
+
const { membership } = await request.rechargeApiRequest("post", `/memberships/${id}/activate`, {
|
|
22
|
+
data: activateRequest
|
|
23
|
+
}, session);
|
|
24
|
+
return membership;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
exports.activateMembership = activateMembership;
|
|
28
|
+
exports.cancelMembership = cancelMembership;
|
|
29
|
+
exports.getMembership = getMembership;
|
|
30
|
+
exports.listMemberships = listMemberships;
|
|
31
|
+
//# sourceMappingURL=membership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"membership.js","sources":["../../../src/api/membership.ts"],"sourcesContent":["import {\n ActivateMembershipRequest,\n CancelMembershipRequest,\n MembershipListParams,\n MembershipListResponse,\n MembershipResponse,\n} from '../types/membership';\nimport { Session } from '../types/session';\nimport { rechargeApiRequest } from '../utils/request';\n\n/** @internal Retrieves membership information for passed in id */\nexport async function getMembership(session: Session, id: string | number) {\n const { membership } = await rechargeApiRequest<MembershipResponse>('get', `/memberships`, { id }, session);\n return membership;\n}\n\n/** @internal Retrieves a list of memberships */\nexport function listMemberships(session: Session, query?: MembershipListParams) {\n return rechargeApiRequest<MembershipListResponse>('get', `/memberships`, { query }, session);\n}\n\n/** @internal Cancels a membership */\nexport async function cancelMembership(session: Session, id: string | number, cancelRequest: CancelMembershipRequest) {\n const { membership } = await rechargeApiRequest<MembershipResponse>(\n 'post',\n `/memberships/${id}/cancel`,\n {\n data: cancelRequest,\n },\n session\n );\n return membership;\n}\n\n/** @internal Activates a membership */\nexport async function activateMembership(\n session: Session,\n id: string | number,\n activateRequest: ActivateMembershipRequest\n) {\n const { membership } = await rechargeApiRequest<MembershipResponse>(\n 'post',\n `/memberships/${id}/activate`,\n {\n data: activateRequest,\n },\n session\n );\n return membership;\n}\n"],"names":["rechargeApiRequest"],"mappings":";;;;;;AACO,eAAe,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE;AACjD,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC1F,EAAE,OAAO,UAAU,CAAC;AACpB,CAAC;AACM,SAAS,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE;AAChD,EAAE,OAAOA,0BAAkB,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AACM,eAAe,gBAAgB,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE;AACnE,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAMA,0BAAkB,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE;AACvF,IAAI,IAAI,EAAE,aAAa;AACvB,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,UAAU,CAAC;AACpB,CAAC;AACM,eAAe,kBAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE;AACvE,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAMA,0BAAkB,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE;AACzF,IAAI,IAAI,EAAE,eAAe;AACzB,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,UAAU,CAAC;AACpB;;;;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var request = require('../utils/request.js');
|
|
6
|
+
|
|
7
|
+
async function getOnetime(session, id) {
|
|
8
|
+
const { onetime } = await request.rechargeApiRequest("get", `/onetimes`, {
|
|
9
|
+
id
|
|
10
|
+
}, session);
|
|
11
|
+
return onetime;
|
|
12
|
+
}
|
|
13
|
+
function listOnetimes(session, query) {
|
|
14
|
+
return request.rechargeApiRequest("get", `/onetimes`, { query }, session);
|
|
15
|
+
}
|
|
16
|
+
async function createOnetime(session, createRequest) {
|
|
17
|
+
const { onetime } = await request.rechargeApiRequest("post", `/onetimes`, {
|
|
18
|
+
data: createRequest
|
|
19
|
+
}, session);
|
|
20
|
+
return onetime;
|
|
21
|
+
}
|
|
22
|
+
async function updateOnetime(session, id, updateRequest) {
|
|
23
|
+
const { onetime } = await request.rechargeApiRequest("put", `/onetimes`, {
|
|
24
|
+
id,
|
|
25
|
+
data: updateRequest
|
|
26
|
+
}, session);
|
|
27
|
+
return onetime;
|
|
28
|
+
}
|
|
29
|
+
function deleteOnetime(session, id) {
|
|
30
|
+
return request.rechargeApiRequest("delete", `/onetime`, {
|
|
31
|
+
id
|
|
32
|
+
}, session);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.createOnetime = createOnetime;
|
|
36
|
+
exports.deleteOnetime = deleteOnetime;
|
|
37
|
+
exports.getOnetime = getOnetime;
|
|
38
|
+
exports.listOnetimes = listOnetimes;
|
|
39
|
+
exports.updateOnetime = updateOnetime;
|
|
40
|
+
//# sourceMappingURL=onetime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onetime.js","sources":["../../../src/api/onetime.ts"],"sourcesContent":["import {\n CreateOnetimeRequest,\n Onetime,\n OnetimeListParams,\n OnetimesResponse,\n UpdateOnetimeRequest,\n} from '../types/onetime';\nimport { Session } from '../types/session';\nimport { rechargeApiRequest } from '../utils/request';\n\nexport async function getOnetime(session: Session, id: string | number): Promise<Onetime> {\n const { onetime } = await rechargeApiRequest<{ onetime: Onetime }>(\n 'get',\n `/onetimes`,\n {\n id,\n },\n session\n );\n return onetime;\n}\n\nexport function listOnetimes(session: Session, query?: OnetimeListParams): Promise<OnetimesResponse> {\n return rechargeApiRequest<OnetimesResponse>('get', `/onetimes`, { query }, session);\n}\n\nexport async function createOnetime(session: Session, createRequest: CreateOnetimeRequest): Promise<Onetime> {\n const { onetime } = await rechargeApiRequest<{ onetime: Onetime }>(\n 'post',\n `/onetimes`,\n {\n data: createRequest,\n },\n session\n );\n return onetime;\n}\n\nexport async function updateOnetime(\n session: Session,\n id: string | number,\n updateRequest: UpdateOnetimeRequest\n): Promise<Onetime> {\n const { onetime } = await rechargeApiRequest<{ onetime: Onetime }>(\n 'put',\n `/onetimes`,\n {\n id,\n data: updateRequest,\n },\n session\n );\n return onetime;\n}\n\nexport function deleteOnetime(session: Session, id: string | number): Promise<void> {\n return rechargeApiRequest<void>(\n 'delete',\n `/onetime`,\n {\n id,\n },\n session\n );\n}\n"],"names":["rechargeApiRequest"],"mappings":";;;;;;AACO,eAAe,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE;AAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;AACnE,IAAI,EAAE;AACN,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,SAAS,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE;AAC7C,EAAE,OAAOA,0BAAkB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AACM,eAAe,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE;AAC5D,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAMA,0BAAkB,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE;AACpE,IAAI,IAAI,EAAE,aAAa;AACvB,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,eAAe,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE;AAChE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;AACnE,IAAI,EAAE;AACN,IAAI,IAAI,EAAE,aAAa;AACvB,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,SAAS,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE;AAC3C,EAAE,OAAOA,0BAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;AAClD,IAAI,EAAE;AACN,GAAG,EAAE,OAAO,CAAC,CAAC;AACd;;;;;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var request = require('../utils/request.js');
|
|
6
|
+
|
|
7
|
+
async function getOrder(session, id) {
|
|
8
|
+
const { order } = await request.rechargeApiRequest("get", `/orders`, {
|
|
9
|
+
id
|
|
10
|
+
}, session);
|
|
11
|
+
return order;
|
|
12
|
+
}
|
|
13
|
+
function listOrders(session, query) {
|
|
14
|
+
return request.rechargeApiRequest("get", `/orders`, { query }, session);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.getOrder = getOrder;
|
|
18
|
+
exports.listOrders = listOrders;
|
|
19
|
+
//# sourceMappingURL=order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order.js","sources":["../../../src/api/order.ts"],"sourcesContent":["import { Order, OrderListParams, OrdersResponse } from '../types/order';\nimport { Session } from '../types/session';\nimport { rechargeApiRequest } from '../utils/request';\n\nexport async function getOrder(session: Session, id: string | number): Promise<Order> {\n const { order } = await rechargeApiRequest<{ order: Order }>(\n 'get',\n `/orders`,\n {\n id,\n },\n session\n );\n return order;\n}\n\nexport function listOrders(session: Session, query?: OrderListParams): Promise<OrdersResponse> {\n return rechargeApiRequest<OrdersResponse>('get', `/orders`, { query }, session);\n}\n"],"names":["rechargeApiRequest"],"mappings":";;;;;;AACO,eAAe,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE;AAC5C,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE;AAC/D,IAAI,EAAE;AACN,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACM,SAAS,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE;AAC3C,EAAE,OAAOA,0BAAkB,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AAClE;;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var request = require('../utils/request.js');
|
|
6
|
+
|
|
7
|
+
async function getPaymentMethod(session, id) {
|
|
8
|
+
const { payment_method } = await request.rechargeApiRequest("get", `/payment_methods`, {
|
|
9
|
+
id
|
|
10
|
+
}, session);
|
|
11
|
+
return payment_method;
|
|
12
|
+
}
|
|
13
|
+
async function updatePaymentMethod(session, id, updateRequest) {
|
|
14
|
+
const { payment_method } = await request.rechargeApiRequest("put", `/payment_methods`, {
|
|
15
|
+
id,
|
|
16
|
+
data: updateRequest
|
|
17
|
+
}, session);
|
|
18
|
+
return payment_method;
|
|
19
|
+
}
|
|
20
|
+
function listPaymentMethods(session, query) {
|
|
21
|
+
return request.rechargeApiRequest("get", `/payment_methods`, { query }, session);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
exports.getPaymentMethod = getPaymentMethod;
|
|
25
|
+
exports.listPaymentMethods = listPaymentMethods;
|
|
26
|
+
exports.updatePaymentMethod = updatePaymentMethod;
|
|
27
|
+
//# sourceMappingURL=paymentMethod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentMethod.js","sources":["../../../src/api/paymentMethod.ts"],"sourcesContent":["import {\n PaymentMethod,\n PaymentMethodListParams,\n PaymentMethodsResponse,\n UpdatePaymentMethodRequest,\n} from '../types/paymentMethod';\nimport { Session } from '../types/session';\nimport { rechargeApiRequest } from '../utils/request';\n\nexport async function getPaymentMethod(session: Session, id: string | number): Promise<PaymentMethod> {\n const { payment_method } = await rechargeApiRequest<{ payment_method: PaymentMethod }>(\n 'get',\n `/payment_methods`,\n {\n id,\n },\n session\n );\n return payment_method;\n}\n\nexport async function updatePaymentMethod(\n session: Session,\n id: string | number,\n updateRequest: UpdatePaymentMethodRequest\n): Promise<PaymentMethod> {\n const { payment_method } = await rechargeApiRequest<{ payment_method: PaymentMethod }>(\n 'put',\n `/payment_methods`,\n {\n id,\n data: updateRequest,\n },\n session\n );\n return payment_method;\n}\n\nexport function listPaymentMethods(session: Session, query?: PaymentMethodListParams): Promise<PaymentMethodsResponse> {\n return rechargeApiRequest<PaymentMethodsResponse>('get', `/payment_methods`, { query }, session);\n}\n"],"names":["rechargeApiRequest"],"mappings":";;;;;;AACO,eAAe,gBAAgB,CAAC,OAAO,EAAE,EAAE,EAAE;AACpD,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,gBAAgB,CAAC,EAAE;AACjF,IAAI,EAAE;AACN,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,cAAc,CAAC;AACxB,CAAC;AACM,eAAe,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE;AACtE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,gBAAgB,CAAC,EAAE;AACjF,IAAI,EAAE;AACN,IAAI,IAAI,EAAE,aAAa;AACvB,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,cAAc,CAAC;AACxB,CAAC;AACM,SAAS,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE;AACnD,EAAE,OAAOA,0BAAkB,CAAC,KAAK,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AAC3E;;;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var request = require('../utils/request.js');
|
|
6
|
+
|
|
7
|
+
async function getPlan(session, id) {
|
|
8
|
+
const { plan } = await request.rechargeApiRequest("get", `/plans`, {
|
|
9
|
+
id
|
|
10
|
+
}, session);
|
|
11
|
+
return plan;
|
|
12
|
+
}
|
|
13
|
+
function listPlans(session, query) {
|
|
14
|
+
return request.rechargeApiRequest("get", `/plans`, { query }, session);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.getPlan = getPlan;
|
|
18
|
+
exports.listPlans = listPlans;
|
|
19
|
+
//# sourceMappingURL=plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.js","sources":["../../../src/api/plan.ts"],"sourcesContent":["import { Plan, PlanListParams, PlansResponse } from '../types/plan';\nimport { Session } from '../types/session';\nimport { rechargeApiRequest } from '../utils/request';\n\nexport async function getPlan(session: Session, id: string | number): Promise<Plan> {\n const { plan } = await rechargeApiRequest<{ plan: Plan }>(\n 'get',\n `/plans`,\n {\n id,\n },\n session\n );\n return plan;\n}\n\nexport function listPlans(session: Session, query?: PlanListParams): Promise<PlansResponse> {\n return rechargeApiRequest<PlansResponse>('get', `/plans`, { query }, session);\n}\n"],"names":["rechargeApiRequest"],"mappings":";;;;;;AACO,eAAe,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE;AAC3C,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAMA,0BAAkB,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;AAC7D,IAAI,EAAE;AACN,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACM,SAAS,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE;AAC1C,EAAE,OAAOA,0BAAkB,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AACjE;;;;;"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var request = require('../utils/request.js');
|
|
6
|
+
|
|
7
|
+
async function getSubscription(session, id) {
|
|
8
|
+
const { subscription } = await request.rechargeApiRequest("get", `/subscriptions`, {
|
|
9
|
+
id
|
|
10
|
+
}, session);
|
|
11
|
+
return subscription;
|
|
12
|
+
}
|
|
13
|
+
function listSubscriptions(session, query) {
|
|
14
|
+
return request.rechargeApiRequest("get", `/subscriptions`, { query }, session);
|
|
15
|
+
}
|
|
16
|
+
async function createSubscription(session, createRequest) {
|
|
17
|
+
const { subscription } = await request.rechargeApiRequest("post", `/subscriptions`, {
|
|
18
|
+
data: createRequest
|
|
19
|
+
}, session);
|
|
20
|
+
return subscription;
|
|
21
|
+
}
|
|
22
|
+
async function updateSubscription(session, id, updateRequest, query) {
|
|
23
|
+
const { subscription } = await request.rechargeApiRequest("put", `/subscriptions`, {
|
|
24
|
+
id,
|
|
25
|
+
data: updateRequest,
|
|
26
|
+
query
|
|
27
|
+
}, session);
|
|
28
|
+
return subscription;
|
|
29
|
+
}
|
|
30
|
+
async function updateSubscriptionChargeDate(session, id, date) {
|
|
31
|
+
const { subscription } = await request.rechargeApiRequest("post", `/subscriptions/${id}/set_next_charge_date`, {
|
|
32
|
+
data: { date }
|
|
33
|
+
}, session);
|
|
34
|
+
return subscription;
|
|
35
|
+
}
|
|
36
|
+
async function updateSubscriptionAddress(session, id, address_id) {
|
|
37
|
+
const { subscription } = await request.rechargeApiRequest("post", `/subscriptions/${id}/change_address`, {
|
|
38
|
+
data: { address_id }
|
|
39
|
+
}, session);
|
|
40
|
+
return subscription;
|
|
41
|
+
}
|
|
42
|
+
async function cancelSubscription(session, id, cancelRequest) {
|
|
43
|
+
const { subscription } = await request.rechargeApiRequest("post", `/subscriptions/${id}/cancel`, {
|
|
44
|
+
data: cancelRequest
|
|
45
|
+
}, session);
|
|
46
|
+
return subscription;
|
|
47
|
+
}
|
|
48
|
+
async function activateSubscription(session, id) {
|
|
49
|
+
const { subscription } = await request.rechargeApiRequest("post", `/subscriptions/${id}/activate`, {}, session);
|
|
50
|
+
return subscription;
|
|
51
|
+
}
|
|
52
|
+
async function skipSubscriptionCharge(session, id, date) {
|
|
53
|
+
const { charge } = await request.rechargeApiRequest("post", `/subscriptions/${id}/charges/skip`, {
|
|
54
|
+
data: {
|
|
55
|
+
date,
|
|
56
|
+
subscription_id: `${id}`
|
|
57
|
+
}
|
|
58
|
+
}, session);
|
|
59
|
+
return charge;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
exports.activateSubscription = activateSubscription;
|
|
63
|
+
exports.cancelSubscription = cancelSubscription;
|
|
64
|
+
exports.createSubscription = createSubscription;
|
|
65
|
+
exports.getSubscription = getSubscription;
|
|
66
|
+
exports.listSubscriptions = listSubscriptions;
|
|
67
|
+
exports.skipSubscriptionCharge = skipSubscriptionCharge;
|
|
68
|
+
exports.updateSubscription = updateSubscription;
|
|
69
|
+
exports.updateSubscriptionAddress = updateSubscriptionAddress;
|
|
70
|
+
exports.updateSubscriptionChargeDate = updateSubscriptionChargeDate;
|
|
71
|
+
//# sourceMappingURL=subscription.js.map
|