autumn-js 0.1.33 → 0.1.35
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/libraries/backend/better-auth.d.mts +221 -310
- package/dist/libraries/backend/better-auth.d.ts +221 -310
- package/dist/libraries/backend/better-auth.js +421 -148
- package/dist/libraries/backend/better-auth.mjs +250 -100
- package/dist/libraries/backend/{chunk-66ZEIO2W.mjs → chunk-35N7BIAE.mjs} +45 -1
- package/dist/libraries/backend/{chunk-OF427U7W.mjs → chunk-4MEEJLXG.mjs} +6 -6
- package/dist/libraries/backend/{chunk-FELIWCJB.mjs → chunk-LOSIWWM2.mjs} +1 -1
- package/dist/libraries/backend/{chunk-7HOB6NAU.mjs → chunk-MHIUO3ST.mjs} +1 -1
- package/dist/libraries/backend/{chunk-NTBLGION.mjs → chunk-PO4EL4BW.mjs} +9 -27
- package/dist/libraries/backend/{chunk-CVD6CEVQ.mjs → chunk-QOJMX7ML.mjs} +25 -31
- package/dist/libraries/backend/chunk-SRJD6EXQ.mjs +104 -0
- package/dist/libraries/backend/{chunk-3XTIAF27.mjs → chunk-USQ76FYI.mjs} +1 -1
- package/dist/libraries/backend/convex.js +84 -58
- package/dist/libraries/backend/convex.mjs +7 -7
- package/dist/libraries/backend/elysia.js +85 -77
- package/dist/libraries/backend/elysia.mjs +10 -28
- package/dist/libraries/backend/express.d.mts +1 -2
- package/dist/libraries/backend/express.d.ts +1 -2
- package/dist/libraries/backend/express.js +84 -58
- package/dist/libraries/backend/express.mjs +7 -7
- package/dist/libraries/backend/fastify.js +84 -58
- package/dist/libraries/backend/fastify.mjs +7 -7
- package/dist/libraries/backend/hono.js +85 -59
- package/dist/libraries/backend/hono.mjs +8 -8
- package/dist/libraries/backend/index.d.mts +1 -2
- package/dist/libraries/backend/index.d.ts +1 -2
- package/dist/libraries/backend/index.js +84 -58
- package/dist/libraries/backend/index.mjs +7 -7
- package/dist/libraries/backend/next.js +84 -58
- package/dist/libraries/backend/next.mjs +7 -7
- package/dist/libraries/backend/react-router.js +84 -58
- package/dist/libraries/backend/react-router.mjs +7 -7
- package/dist/libraries/backend/{referralTypes-DebIXtFw.d.ts → referralTypes-8cxTmxXS.d.ts} +49 -15
- package/dist/libraries/backend/{referralTypes-8bo5DSdv.d.mts → referralTypes-BXNyy9z2.d.mts} +49 -15
- package/dist/libraries/backend/remix_dep.js +84 -58
- package/dist/libraries/backend/remix_dep.mjs +7 -7
- package/dist/libraries/backend/routes/backendRouter.js +84 -58
- package/dist/libraries/backend/routes/backendRouter.mjs +7 -7
- package/dist/libraries/backend/routes/entityRoutes.js +76 -32
- package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/genRoutes.js +89 -63
- package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/productRoutes.js +76 -32
- package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/referralRoutes.js +76 -32
- package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
- package/dist/libraries/backend/supabase.js +84 -58
- package/dist/libraries/backend/supabase.mjs +7 -7
- package/dist/libraries/backend/tanstack.js +84 -58
- package/dist/libraries/backend/tanstack.mjs +7 -7
- package/dist/libraries/backend/utils/backendRes.js +33 -32
- package/dist/libraries/backend/utils/backendRes.mjs +1 -1
- package/dist/libraries/backend/utils/betterAuth/middlewares.d.mts +26 -0
- package/dist/libraries/backend/utils/betterAuth/middlewares.d.ts +26 -0
- package/dist/libraries/backend/utils/betterAuth/middlewares.js +130 -0
- package/dist/libraries/backend/utils/betterAuth/middlewares.mjs +10 -0
- package/dist/libraries/backend/utils/betterAuth/types.d.mts +18 -0
- package/dist/libraries/backend/utils/betterAuth/types.d.ts +18 -0
- package/dist/libraries/backend/utils/betterAuth/types.js +18 -0
- package/dist/libraries/backend/utils/betterAuth/types.mjs +0 -0
- package/dist/libraries/backend/utils/withAuth.d.mts +1 -2
- package/dist/libraries/backend/utils/withAuth.d.ts +1 -2
- package/dist/libraries/backend/utils/withAuth.js +76 -32
- package/dist/libraries/backend/utils/withAuth.mjs +2 -2
- package/dist/libraries/react/AutumnContext.d.mts +7 -9
- package/dist/libraries/react/AutumnContext.d.ts +7 -9
- package/dist/libraries/react/AutumnContext.js +64 -96
- package/dist/libraries/react/AutumnContext.mjs +6 -8
- package/dist/libraries/react/BaseAutumnProvider.d.mts +7 -9
- package/dist/libraries/react/BaseAutumnProvider.d.ts +7 -9
- package/dist/libraries/react/BaseAutumnProvider.js +233 -269
- package/dist/libraries/react/BaseAutumnProvider.mjs +11 -13
- package/dist/libraries/react/{ReactAutumnClient-DEHKGBDi.d.ts → ReactAutumnClient-DkAcY1X2.d.ts} +32 -37
- package/dist/libraries/react/{ReactAutumnClient-Zj0UGjxH.d.mts → ReactAutumnClient-DuYr1i4C.d.mts} +32 -37
- package/dist/libraries/react/ReactAutumnProvider.d.mts +2 -2
- package/dist/libraries/react/ReactAutumnProvider.d.ts +2 -2
- package/dist/libraries/react/ReactAutumnProvider.js +233 -278
- package/dist/libraries/react/ReactAutumnProvider.mjs +13 -15
- package/dist/libraries/react/{attachTypes-DVF4f7Hw.d.ts → attachTypes-CKp1KMwX.d.ts} +1 -1
- package/dist/libraries/react/{attachTypes-DJIr5ldB.d.mts → attachTypes-DbuZWzAP.d.mts} +1 -1
- package/dist/libraries/react/{chunk-VYUFW3OD.mjs → chunk-4YM2QKRI.mjs} +5 -9
- package/dist/libraries/react/{chunk-NRR6GSHG.mjs → chunk-5LRBYZUD.mjs} +1 -1
- package/dist/libraries/react/{chunk-2RQO56D3.mjs → chunk-5OBFJVZC.mjs} +19 -19
- package/dist/libraries/react/{chunk-JNFJ3VBI.mjs → chunk-7FMBA5I4.mjs} +2 -2
- package/dist/libraries/react/{chunk-566O6I3M.mjs → chunk-7T7IOMAA.mjs} +2 -2
- package/dist/libraries/react/{chunk-LC75KITX.mjs → chunk-7YNNQGHZ.mjs} +1 -1
- package/dist/libraries/react/{chunk-TL3Q72GK.mjs → chunk-AUZMXLNB.mjs} +1 -1
- package/dist/libraries/react/{chunk-KUHUEZ4E.mjs → chunk-FL4H464X.mjs} +4 -4
- package/dist/libraries/react/{chunk-RHWRL643.mjs → chunk-FW7AQFVX.mjs} +1 -1
- package/dist/libraries/react/{chunk-HWQFNAOP.mjs → chunk-HN7ULWIM.mjs} +1 -1
- package/dist/libraries/react/chunk-LS2RW6JG.mjs +51 -0
- package/dist/libraries/react/{chunk-ZF2HUCN6.mjs → chunk-OYBOLAL5.mjs} +2 -7
- package/dist/libraries/react/{chunk-23P5IQNT.mjs → chunk-P4GHLIEZ.mjs} +19 -19
- package/dist/libraries/react/{chunk-4U4KMWWI.mjs → chunk-Q7LVAQ5K.mjs} +2 -2
- package/dist/libraries/react/{chunk-DIHJNBEP.mjs → chunk-RNIUZGWU.mjs} +2 -2
- package/dist/libraries/react/{chunk-QRCWNK2T.mjs → chunk-SFOIZTAS.mjs} +24 -23
- package/dist/libraries/react/{chunk-ZV4RPZTM.mjs → chunk-SUENW2KS.mjs} +2 -7
- package/dist/libraries/react/{chunk-RMDNPM6H.mjs → chunk-WSX7HWKQ.mjs} +4 -3
- package/dist/libraries/react/{chunk-ICJTAVNU.mjs → chunk-YKJYGNXR.mjs} +1 -1
- package/dist/libraries/react/{chunk-XIBQRZXG.mjs → chunk-ZVGPT54A.mjs} +1 -10
- package/dist/libraries/react/client/ConvexAutumnClient.d.mts +7 -13
- package/dist/libraries/react/client/ConvexAutumnClient.d.ts +7 -13
- package/dist/libraries/react/client/ConvexAutumnClient.js +33 -41
- package/dist/libraries/react/client/ConvexAutumnClient.mjs +2 -2
- package/dist/libraries/react/client/ReactAutumnClient.d.mts +6 -8
- package/dist/libraries/react/client/ReactAutumnClient.d.ts +6 -8
- package/dist/libraries/react/client/ReactAutumnClient.js +64 -96
- package/dist/libraries/react/client/ReactAutumnClient.mjs +5 -7
- package/dist/libraries/react/client/clientCompMethods.d.mts +25 -9
- package/dist/libraries/react/client/clientCompMethods.d.ts +25 -9
- package/dist/libraries/react/client/clientCompMethods.mjs +6 -3
- package/dist/libraries/react/client/clientCusMethods.d.mts +7 -9
- package/dist/libraries/react/client/clientCusMethods.d.ts +7 -9
- package/dist/libraries/react/client/clientEntityMethods.d.mts +6 -7
- package/dist/libraries/react/client/clientEntityMethods.d.ts +6 -7
- package/dist/libraries/react/client/clientEntityMethods.js +2 -25
- package/dist/libraries/react/client/clientEntityMethods.mjs +1 -2
- package/dist/libraries/react/client/clientGenMethods.d.mts +8 -9
- package/dist/libraries/react/client/clientGenMethods.d.ts +8 -9
- package/dist/libraries/react/client/clientGenMethods.js +12 -40
- package/dist/libraries/react/client/clientGenMethods.mjs +1 -2
- package/dist/libraries/react/client/clientProdMethods.d.mts +7 -9
- package/dist/libraries/react/client/clientProdMethods.d.ts +7 -9
- package/dist/libraries/react/client/clientReferralMethods.d.mts +6 -8
- package/dist/libraries/react/client/clientReferralMethods.d.ts +6 -8
- package/dist/libraries/react/client/clientReferralMethods.js +2 -27
- package/dist/libraries/react/client/clientReferralMethods.mjs +1 -2
- package/dist/libraries/react/client/types/clientEntTypes.d.mts +18 -13
- package/dist/libraries/react/client/types/clientEntTypes.d.ts +18 -13
- package/dist/libraries/react/client/types/clientEntTypes.js +28 -0
- package/dist/libraries/react/client/types/clientEntTypes.mjs +20 -0
- package/dist/libraries/react/client/types/clientGenTypes.d.mts +12 -10
- package/dist/libraries/react/client/types/clientGenTypes.d.ts +12 -10
- package/dist/libraries/react/client/types/clientGenTypes.js +70 -56
- package/dist/libraries/react/client/types/clientGenTypes.mjs +12 -1
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.mts +2 -2
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.d.ts +2 -2
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.js +317 -353
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.mjs +26 -28
- package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.mts +2 -2
- package/dist/libraries/react/components/checkout-dialog/lib/checkout-content.d.ts +2 -2
- package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.mts +1 -1
- package/dist/libraries/react/components/paywall-dialog/lib/paywall-content.d.ts +1 -1
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.js +113 -146
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.mjs +26 -28
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +1 -1
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +1 -1
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +1 -1
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +1 -1
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +516 -552
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +26 -28
- package/dist/libraries/react/components/ui/accordion.d.mts +10 -4
- package/dist/libraries/react/components/ui/accordion.d.ts +10 -4
- package/dist/libraries/react/components/ui/dialog.d.mts +15 -7
- package/dist/libraries/react/components/ui/dialog.d.ts +15 -7
- package/dist/libraries/react/components/ui/popover.d.mts +6 -4
- package/dist/libraries/react/components/ui/popover.d.ts +6 -4
- package/dist/libraries/react/components/ui/popover.mjs +2 -2
- package/dist/libraries/react/components/ui/switch.d.mts +3 -1
- package/dist/libraries/react/components/ui/switch.d.ts +3 -1
- package/dist/libraries/react/{cusTypes-CEb_KwPo.d.ts → cusTypes-D3QQXjif.d.ts} +1 -1
- package/dist/libraries/react/{cusTypes-DynqPCZH.d.mts → cusTypes-RU0fmR-t.d.mts} +1 -1
- package/dist/libraries/react/{entTypes-DjasDDYh.d.mts → entTypes-35x0LnYH.d.mts} +1 -1
- package/dist/libraries/react/{entTypes--Y-4T20Y.d.ts → entTypes-n2T2wpRx.d.ts} +1 -1
- package/dist/libraries/react/{genTypes-VKn7hoqQ.d.mts → genTypes-B5_6Pu_4.d.mts} +1 -1
- package/dist/libraries/react/{genTypes-BjHbcZ7E.d.ts → genTypes-CY6GNiAn.d.ts} +1 -1
- package/dist/libraries/react/hooks/helpers/handleCheck.d.mts +6 -7
- package/dist/libraries/react/hooks/helpers/handleCheck.d.ts +6 -7
- package/dist/libraries/react/hooks/helpers/handleCheck.js +33 -32
- package/dist/libraries/react/hooks/helpers/handleCheck.mjs +2 -2
- package/dist/libraries/react/hooks/helpers/useAutumnBase.d.mts +6 -7
- package/dist/libraries/react/hooks/helpers/useAutumnBase.d.ts +6 -7
- package/dist/libraries/react/hooks/helpers/useAutumnBase.js +33 -32
- package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +3 -3
- package/dist/libraries/react/hooks/useAnalytics.d.mts +2 -2
- package/dist/libraries/react/hooks/useAnalytics.d.ts +2 -2
- package/dist/libraries/react/hooks/useAnalytics.js +64 -96
- package/dist/libraries/react/hooks/useAnalytics.mjs +7 -9
- package/dist/libraries/react/hooks/useCustomer.d.mts +10 -10
- package/dist/libraries/react/hooks/useCustomer.d.ts +10 -10
- package/dist/libraries/react/hooks/useCustomer.js +213 -249
- package/dist/libraries/react/hooks/useCustomer.mjs +11 -13
- package/dist/libraries/react/hooks/useCustomerBase.d.mts +10 -10
- package/dist/libraries/react/hooks/useCustomerBase.d.ts +10 -10
- package/dist/libraries/react/hooks/useCustomerBase.js +229 -265
- package/dist/libraries/react/hooks/useCustomerBase.mjs +10 -12
- package/dist/libraries/react/hooks/useEntity.d.mts +4 -4
- package/dist/libraries/react/hooks/useEntity.d.ts +4 -4
- package/dist/libraries/react/hooks/useEntity.js +65 -96
- package/dist/libraries/react/hooks/useEntity.mjs +11 -13
- package/dist/libraries/react/hooks/useEntityBase.d.mts +6 -6
- package/dist/libraries/react/hooks/useEntityBase.d.ts +6 -6
- package/dist/libraries/react/hooks/useEntityBase.js +65 -96
- package/dist/libraries/react/hooks/useEntityBase.mjs +10 -12
- package/dist/libraries/react/hooks/usePaywall.d.mts +1 -1
- package/dist/libraries/react/hooks/usePaywall.d.ts +1 -1
- package/dist/libraries/react/hooks/usePaywall.js +64 -96
- package/dist/libraries/react/hooks/usePaywall.mjs +7 -9
- package/dist/libraries/react/hooks/usePricingTable.d.mts +1 -1
- package/dist/libraries/react/hooks/usePricingTable.d.ts +1 -1
- package/dist/libraries/react/hooks/usePricingTable.js +64 -96
- package/dist/libraries/react/hooks/usePricingTable.mjs +8 -10
- package/dist/libraries/react/hooks/usePricingTableBase.d.mts +6 -8
- package/dist/libraries/react/hooks/usePricingTableBase.d.ts +6 -8
- package/dist/libraries/react/hooks/usePricingTableBase.js +33 -32
- package/dist/libraries/react/hooks/usePricingTableBase.mjs +2 -2
- package/dist/libraries/react/hooks/useProductsBase.d.mts +6 -8
- package/dist/libraries/react/hooks/useProductsBase.d.ts +6 -8
- package/dist/libraries/react/hooks/useProductsBase.js +2 -1
- package/dist/libraries/react/hooks/useProductsBase.mjs +2 -1
- package/dist/libraries/react/index.d.mts +62 -58
- package/dist/libraries/react/index.d.ts +62 -58
- package/dist/libraries/react/index.js +521 -565
- package/dist/libraries/react/index.mjs +484 -528
- package/dist/libraries/react/{prodTypes-C8xRoBP7.d.ts → prodTypes-C4aZSZfO.d.mts} +1 -1
- package/dist/libraries/react/{prodTypes-C8xRoBP7.d.mts → prodTypes-C4aZSZfO.d.ts} +1 -1
- package/dist/next/client/NextAutumnClient.d.mts +31 -34
- package/dist/next/client/NextAutumnClient.d.ts +31 -34
- package/dist/next/client/NextAutumnProvider.d.mts +2 -2
- package/dist/next/client/NextAutumnProvider.d.ts +2 -2
- package/dist/next/client/{clientAttachTypes-BqwjCML1.d.ts → clientAttachTypes-BtZh00uu.d.ts} +12 -10
- package/dist/next/client/{clientAttachTypes-9AXt1E5H.d.mts → clientAttachTypes-yOuJqDWt.d.mts} +12 -10
- package/dist/next/client/{clientEntTypes-CnQkrPEG.d.mts → clientEntTypes-Bsi7ciUF.d.ts} +12 -10
- package/dist/next/client/{clientEntTypes-BhQWlwSW.d.ts → clientEntTypes-aLfa3lyP.d.mts} +12 -10
- package/dist/next/client/clientUtils.d.mts +3 -3
- package/dist/next/client/clientUtils.d.ts +3 -3
- package/dist/next/client/{cusTypes-5W4JVk2C.d.ts → cusTypes-B-rJwpui.d.ts} +2 -2
- package/dist/next/client/{cusTypes-Cb9Peq72.d.mts → cusTypes-CXjHwB-c.d.mts} +2 -2
- package/dist/next/client/{entTypes-R0fGEyG8.d.mts → entTypes-BkN-Puru.d.mts} +1 -1
- package/dist/next/client/{entTypes-B2gnYOgY.d.ts → entTypes-DjKFS-Zk.d.ts} +1 -1
- package/dist/next/client/hooks/useAutumn.d.mts +3 -3
- package/dist/next/client/hooks/useAutumn.d.ts +3 -3
- package/dist/next/client/hooks/useCustomer.d.mts +6 -6
- package/dist/next/client/hooks/useCustomer.d.ts +6 -6
- package/dist/next/client/hooks/useEntity.d.mts +4 -4
- package/dist/next/client/hooks/useEntity.d.ts +4 -4
- package/dist/next/client/hooks/usePricingTable.d.mts +1 -1
- package/dist/next/client/hooks/usePricingTable.d.ts +1 -1
- package/dist/next/client/{prodTypes-BC--Np0p.d.mts → prodTypes-B_VMILpU.d.mts} +1 -1
- package/dist/next/client/{prodTypes-BC--Np0p.d.ts → prodTypes-B_VMILpU.d.ts} +1 -1
- package/dist/next/client/types.d.mts +3 -3
- package/dist/next/client/types.d.ts +3 -3
- package/dist/next/server/cusActions.d.mts +59 -23
- package/dist/next/server/cusActions.d.ts +59 -23
- package/dist/next/server/cusActions.js +3 -3
- package/dist/next/server/cusActions.mjs +3 -3
- package/dist/next/server/genActions.js +5 -5
- package/dist/next/server/genActions.mjs +5 -5
- package/dist/sdk/index.d.mts +53 -16
- package/dist/sdk/index.d.ts +53 -16
- package/dist/sdk/index.js +32 -16
- package/dist/sdk/index.mjs +32 -16
- package/dist/utils/encryptUtils.js +33 -32
- package/dist/utils/encryptUtils.mjs +24 -23
- package/dist/utils/toSnakeCase.d.mts +5 -1
- package/dist/utils/toSnakeCase.d.ts +5 -1
- package/dist/utils/toSnakeCase.js +25 -6
- package/dist/utils/toSnakeCase.mjs +25 -6
- package/package.json +1 -1
- package/dist/libraries/react/chunk-KQT5G3HT.mjs +0 -27
- package/dist/libraries/react/chunk-VTGR7VVK.mjs +0 -12
- package/dist/libraries/react/chunk-YQHZT73Z.mjs +0 -59
- package/dist/libraries/react/utils/toSnakeCase.d.mts +0 -3
- package/dist/libraries/react/utils/toSnakeCase.d.ts +0 -3
- package/dist/libraries/react/utils/toSnakeCase.js +0 -50
- package/dist/libraries/react/utils/toSnakeCase.mjs +0 -8
- package/dist/libraries/react/{chunk-I274Z7T2.mjs → chunk-C3G5RW3Q.mjs} +3 -3
|
@@ -36,8 +36,8 @@ __export(BaseAutumnProvider_exports, {
|
|
|
36
36
|
BaseAutumnProvider: () => BaseAutumnProvider
|
|
37
37
|
});
|
|
38
38
|
module.exports = __toCommonJS(BaseAutumnProvider_exports);
|
|
39
|
+
var import_react3 = require("react");
|
|
39
40
|
var import_react4 = require("react");
|
|
40
|
-
var import_react5 = require("react");
|
|
41
41
|
|
|
42
42
|
// src/libraries/react/hooks/helpers/useDialog.tsx
|
|
43
43
|
var import_react = require("react");
|
|
@@ -56,23 +56,6 @@ var useDialog = (component) => {
|
|
|
56
56
|
|
|
57
57
|
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
58
58
|
var import_swr2 = __toESM(require("swr"));
|
|
59
|
-
var import_react3 = require("react");
|
|
60
|
-
|
|
61
|
-
// src/libraries/react/errorUtils/logAuthError.ts
|
|
62
|
-
var logAuthError = async (response) => {
|
|
63
|
-
if (response.status === 401) {
|
|
64
|
-
let clonedResponse = response.clone();
|
|
65
|
-
let data = await clonedResponse.json();
|
|
66
|
-
if (data.message.includes("Missing authorization header")) {
|
|
67
|
-
console.error(`[Autumn] Missing authorization header.
|
|
68
|
-
|
|
69
|
-
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
70
|
-
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return false;
|
|
75
|
-
};
|
|
76
59
|
|
|
77
60
|
// src/sdk/error.ts
|
|
78
61
|
var AutumnError = class _AutumnError extends Error {
|
|
@@ -309,7 +292,8 @@ var productMethods = (instance) => {
|
|
|
309
292
|
return {
|
|
310
293
|
get: (id) => staticWrapper(getProduct, instance, { id }),
|
|
311
294
|
create: (params) => staticWrapper(createProduct, instance, { params }),
|
|
312
|
-
list: (params) => staticWrapper(listProducts, instance, { params })
|
|
295
|
+
list: (params) => staticWrapper(listProducts, instance, { params }),
|
|
296
|
+
delete: (id) => staticWrapper(deleteProduct, instance, { id })
|
|
313
297
|
};
|
|
314
298
|
};
|
|
315
299
|
var listProducts = async ({
|
|
@@ -343,6 +327,14 @@ var createProduct = async ({
|
|
|
343
327
|
}) => {
|
|
344
328
|
return instance.post("/products", params);
|
|
345
329
|
};
|
|
330
|
+
var deleteProduct = async ({
|
|
331
|
+
instance,
|
|
332
|
+
id,
|
|
333
|
+
params
|
|
334
|
+
}) => {
|
|
335
|
+
const path = buildPathWithQuery(`/products/${id}`, params);
|
|
336
|
+
return instance.delete(path);
|
|
337
|
+
};
|
|
346
338
|
|
|
347
339
|
// src/sdk/referrals/referralMethods.ts
|
|
348
340
|
var referralMethods = (instance) => {
|
|
@@ -379,14 +371,6 @@ var toContainerResult = async ({
|
|
|
379
371
|
}
|
|
380
372
|
} catch (error2) {
|
|
381
373
|
throw error2;
|
|
382
|
-
return {
|
|
383
|
-
data: null,
|
|
384
|
-
error: new AutumnError({
|
|
385
|
-
message: "Failed to parse JSON response from Autumn",
|
|
386
|
-
code: "internal_error"
|
|
387
|
-
}),
|
|
388
|
-
statusCode: response.status
|
|
389
|
-
};
|
|
390
374
|
}
|
|
391
375
|
return {
|
|
392
376
|
data: null,
|
|
@@ -398,7 +382,7 @@ var toContainerResult = async ({
|
|
|
398
382
|
};
|
|
399
383
|
}
|
|
400
384
|
try {
|
|
401
|
-
|
|
385
|
+
const data = await response.json();
|
|
402
386
|
return {
|
|
403
387
|
data,
|
|
404
388
|
error: null,
|
|
@@ -406,14 +390,6 @@ var toContainerResult = async ({
|
|
|
406
390
|
};
|
|
407
391
|
} catch (error) {
|
|
408
392
|
throw error;
|
|
409
|
-
return {
|
|
410
|
-
data: null,
|
|
411
|
-
error: new AutumnError({
|
|
412
|
-
message: "Failed to parse Autumn API response",
|
|
413
|
-
code: "internal_error"
|
|
414
|
-
}),
|
|
415
|
-
statusCode: response?.status
|
|
416
|
-
};
|
|
417
393
|
}
|
|
418
394
|
};
|
|
419
395
|
|
|
@@ -457,7 +433,8 @@ var logger = {
|
|
|
457
433
|
// src/sdk/features/featureMethods.ts
|
|
458
434
|
var featureMethods = (instance) => {
|
|
459
435
|
return {
|
|
460
|
-
list: () => staticWrapper(listFeatures, instance, {})
|
|
436
|
+
list: () => staticWrapper(listFeatures, instance, {}),
|
|
437
|
+
get: (id) => staticWrapper(getFeature, instance, { id })
|
|
461
438
|
};
|
|
462
439
|
};
|
|
463
440
|
var listFeatures = async ({
|
|
@@ -479,6 +456,12 @@ var listFeatures = async ({
|
|
|
479
456
|
}
|
|
480
457
|
return instance.get(path);
|
|
481
458
|
};
|
|
459
|
+
var getFeature = async ({
|
|
460
|
+
instance,
|
|
461
|
+
id
|
|
462
|
+
}) => {
|
|
463
|
+
return instance.get(`/features/${id}`);
|
|
464
|
+
};
|
|
482
465
|
|
|
483
466
|
// src/sdk/client.ts
|
|
484
467
|
var LATEST_API_VERSION = "1.2";
|
|
@@ -996,7 +979,7 @@ var CheckoutParamsSchema = import_v47.z.object({
|
|
|
996
979
|
});
|
|
997
980
|
|
|
998
981
|
// src/sdk/features/featureTypes.ts
|
|
999
|
-
var
|
|
982
|
+
var import_v48 = require("zod/v4");
|
|
1000
983
|
var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
|
|
1001
984
|
FeatureType2["Boolean"] = "boolean";
|
|
1002
985
|
FeatureType2["SingleUse"] = "single_use";
|
|
@@ -1004,22 +987,186 @@ var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
|
|
|
1004
987
|
FeatureType2["CreditSystem"] = "credit_system";
|
|
1005
988
|
return FeatureType2;
|
|
1006
989
|
})(FeatureType || {});
|
|
1007
|
-
var FeatureSchema =
|
|
1008
|
-
id:
|
|
1009
|
-
name:
|
|
1010
|
-
type:
|
|
1011
|
-
display:
|
|
1012
|
-
singular:
|
|
1013
|
-
plural:
|
|
990
|
+
var FeatureSchema = import_v48.z.object({
|
|
991
|
+
id: import_v48.z.string(),
|
|
992
|
+
name: import_v48.z.string(),
|
|
993
|
+
type: import_v48.z.enum(FeatureType),
|
|
994
|
+
display: import_v48.z.object({
|
|
995
|
+
singular: import_v48.z.string(),
|
|
996
|
+
plural: import_v48.z.string()
|
|
1014
997
|
}).nullish(),
|
|
1015
|
-
credit_schema:
|
|
1016
|
-
|
|
1017
|
-
metered_feature_id:
|
|
1018
|
-
credit_cost:
|
|
998
|
+
credit_schema: import_v48.z.array(
|
|
999
|
+
import_v48.z.object({
|
|
1000
|
+
metered_feature_id: import_v48.z.string(),
|
|
1001
|
+
credit_cost: import_v48.z.number()
|
|
1019
1002
|
})
|
|
1020
|
-
).nullish()
|
|
1003
|
+
).nullish(),
|
|
1004
|
+
archived: import_v48.z.boolean()
|
|
1021
1005
|
});
|
|
1022
1006
|
|
|
1007
|
+
// src/libraries/react/hooks/helpers/handleCheck.ts
|
|
1008
|
+
var getCusFeature = ({
|
|
1009
|
+
customer,
|
|
1010
|
+
featureId,
|
|
1011
|
+
requiredBalance = 1
|
|
1012
|
+
}) => {
|
|
1013
|
+
let cusFeature = customer.features[featureId];
|
|
1014
|
+
if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
|
|
1015
|
+
return {
|
|
1016
|
+
cusFeature,
|
|
1017
|
+
requiredBalance
|
|
1018
|
+
};
|
|
1019
|
+
}
|
|
1020
|
+
let creditSchema = Object.values(customer.features).find(
|
|
1021
|
+
(f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
|
|
1022
|
+
);
|
|
1023
|
+
if (creditSchema) {
|
|
1024
|
+
let schemaItem = creditSchema.credit_schema?.find(
|
|
1025
|
+
(c) => c.feature_id === featureId
|
|
1026
|
+
);
|
|
1027
|
+
return {
|
|
1028
|
+
cusFeature: creditSchema,
|
|
1029
|
+
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1030
|
+
};
|
|
1031
|
+
}
|
|
1032
|
+
return {
|
|
1033
|
+
cusFeature: customer.features[featureId],
|
|
1034
|
+
requiredBalance
|
|
1035
|
+
};
|
|
1036
|
+
};
|
|
1037
|
+
var getFeatureAllowed = ({
|
|
1038
|
+
cusFeature,
|
|
1039
|
+
requiredBalance
|
|
1040
|
+
}) => {
|
|
1041
|
+
if (!cusFeature) return false;
|
|
1042
|
+
if (cusFeature.type == "static") return true;
|
|
1043
|
+
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1044
|
+
if (cusFeature.usage_limit) {
|
|
1045
|
+
let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
|
|
1046
|
+
return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
|
|
1047
|
+
}
|
|
1048
|
+
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1049
|
+
};
|
|
1050
|
+
var handleFeatureCheck = ({
|
|
1051
|
+
customer,
|
|
1052
|
+
isEntity,
|
|
1053
|
+
params
|
|
1054
|
+
}) => {
|
|
1055
|
+
let { cusFeature, requiredBalance } = getCusFeature({
|
|
1056
|
+
customer,
|
|
1057
|
+
featureId: params.featureId,
|
|
1058
|
+
...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
|
|
1059
|
+
});
|
|
1060
|
+
let allowed = getFeatureAllowed({
|
|
1061
|
+
cusFeature,
|
|
1062
|
+
requiredBalance: requiredBalance ?? 1
|
|
1063
|
+
});
|
|
1064
|
+
let result = {
|
|
1065
|
+
allowed,
|
|
1066
|
+
feature_id: cusFeature?.id ?? params.featureId,
|
|
1067
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1068
|
+
required_balance: requiredBalance,
|
|
1069
|
+
...cusFeature
|
|
1070
|
+
};
|
|
1071
|
+
if (isEntity) {
|
|
1072
|
+
result.entity_id = customer.id;
|
|
1073
|
+
}
|
|
1074
|
+
try {
|
|
1075
|
+
return CheckFeatureResultSchema.parse(result);
|
|
1076
|
+
} catch (error) {
|
|
1077
|
+
return result;
|
|
1078
|
+
}
|
|
1079
|
+
};
|
|
1080
|
+
var handleProductCheck = ({
|
|
1081
|
+
customer,
|
|
1082
|
+
isEntity,
|
|
1083
|
+
params
|
|
1084
|
+
}) => {
|
|
1085
|
+
let product = customer.products.find((p) => p.id == params.productId);
|
|
1086
|
+
let allowed = product?.status === "active";
|
|
1087
|
+
let result = {
|
|
1088
|
+
allowed,
|
|
1089
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1090
|
+
product_id: params.productId
|
|
1091
|
+
};
|
|
1092
|
+
if (product) {
|
|
1093
|
+
result.status = product.status;
|
|
1094
|
+
}
|
|
1095
|
+
if (isEntity) {
|
|
1096
|
+
result.entity_id = customer.id;
|
|
1097
|
+
}
|
|
1098
|
+
return result;
|
|
1099
|
+
};
|
|
1100
|
+
var openDialog = ({
|
|
1101
|
+
result,
|
|
1102
|
+
params,
|
|
1103
|
+
context
|
|
1104
|
+
}) => {
|
|
1105
|
+
let open = result?.allowed === false && params.dialog && context;
|
|
1106
|
+
if (!open) return;
|
|
1107
|
+
const isInRenderCycle = (() => {
|
|
1108
|
+
const stack = new Error().stack || "";
|
|
1109
|
+
return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
|
|
1110
|
+
})();
|
|
1111
|
+
if (isInRenderCycle) {
|
|
1112
|
+
context.paywallRef.current = {
|
|
1113
|
+
component: params.dialog,
|
|
1114
|
+
open: true,
|
|
1115
|
+
props: params
|
|
1116
|
+
};
|
|
1117
|
+
} else {
|
|
1118
|
+
context.paywallDialog.setComponent(params.dialog);
|
|
1119
|
+
context.paywallDialog.setProps(params);
|
|
1120
|
+
context.paywallDialog.setOpen(true);
|
|
1121
|
+
}
|
|
1122
|
+
};
|
|
1123
|
+
var handleCheck2 = ({
|
|
1124
|
+
customer,
|
|
1125
|
+
isEntity,
|
|
1126
|
+
params,
|
|
1127
|
+
context
|
|
1128
|
+
}) => {
|
|
1129
|
+
if (!customer) {
|
|
1130
|
+
return {
|
|
1131
|
+
data: {
|
|
1132
|
+
allowed: false,
|
|
1133
|
+
feature_id: "",
|
|
1134
|
+
customer_id: "",
|
|
1135
|
+
required_balance: 0
|
|
1136
|
+
},
|
|
1137
|
+
error: null
|
|
1138
|
+
};
|
|
1139
|
+
}
|
|
1140
|
+
if (!params.featureId && !params.productId) {
|
|
1141
|
+
throw new Error("allowed() requires either featureId or productId");
|
|
1142
|
+
}
|
|
1143
|
+
let result;
|
|
1144
|
+
if (params.featureId)
|
|
1145
|
+
result = handleFeatureCheck({ customer, params, isEntity });
|
|
1146
|
+
if (params.productId)
|
|
1147
|
+
result = handleProductCheck({ customer, params, isEntity });
|
|
1148
|
+
return {
|
|
1149
|
+
data: result,
|
|
1150
|
+
error: null
|
|
1151
|
+
};
|
|
1152
|
+
};
|
|
1153
|
+
|
|
1154
|
+
// src/libraries/react/errorUtils/logAuthError.ts
|
|
1155
|
+
var logAuthError = async (response) => {
|
|
1156
|
+
if (response.status === 401) {
|
|
1157
|
+
let clonedResponse = response.clone();
|
|
1158
|
+
let data = await clonedResponse.json();
|
|
1159
|
+
if (data.message.includes("Missing authorization header")) {
|
|
1160
|
+
console.error(`[Autumn] Missing authorization header.
|
|
1161
|
+
|
|
1162
|
+
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
1163
|
+
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
1164
|
+
return true;
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
return false;
|
|
1168
|
+
};
|
|
1169
|
+
|
|
1023
1170
|
// src/libraries/react/errorUtils/logFetchError.ts
|
|
1024
1171
|
var logFetchError = ({
|
|
1025
1172
|
method,
|
|
@@ -1033,12 +1180,6 @@ var logFetchError = ({
|
|
|
1033
1180
|
2. Check that autumnHandler is correctly registered on your backend.`);
|
|
1034
1181
|
};
|
|
1035
1182
|
|
|
1036
|
-
// src/libraries/react/client/clientCompMethods.ts
|
|
1037
|
-
async function getPricingTableMethod() {
|
|
1038
|
-
const res = await this.get(`${this.prefix}/components/pricing_table`);
|
|
1039
|
-
return res;
|
|
1040
|
-
}
|
|
1041
|
-
|
|
1042
1183
|
// src/libraries/react/client/clientCusMethods.ts
|
|
1043
1184
|
var createCustomerMethod = async ({
|
|
1044
1185
|
client,
|
|
@@ -1048,27 +1189,6 @@ var createCustomerMethod = async ({
|
|
|
1048
1189
|
return result;
|
|
1049
1190
|
};
|
|
1050
1191
|
|
|
1051
|
-
// src/libraries/react/utils/toSnakeCase.ts
|
|
1052
|
-
function stringToSnakeCase(str) {
|
|
1053
|
-
return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase();
|
|
1054
|
-
}
|
|
1055
|
-
var toSnakeCase = (obj, excludeKeys) => {
|
|
1056
|
-
if (Array.isArray(obj)) {
|
|
1057
|
-
return obj.map((item) => toSnakeCase(item, excludeKeys));
|
|
1058
|
-
} else if (obj !== null && typeof obj === "object") {
|
|
1059
|
-
return Object.fromEntries(
|
|
1060
|
-
Object.entries(obj).map(([key, value]) => {
|
|
1061
|
-
const snakeKey = stringToSnakeCase(key);
|
|
1062
|
-
if (excludeKeys && excludeKeys.includes(key)) {
|
|
1063
|
-
return [snakeKey, value];
|
|
1064
|
-
}
|
|
1065
|
-
return [snakeKey, toSnakeCase(value, excludeKeys)];
|
|
1066
|
-
})
|
|
1067
|
-
);
|
|
1068
|
-
}
|
|
1069
|
-
return obj;
|
|
1070
|
-
};
|
|
1071
|
-
|
|
1072
1192
|
// src/utils/entityUtils.tsx
|
|
1073
1193
|
var getEntityExpandStr = (expand) => {
|
|
1074
1194
|
if (!expand) {
|
|
@@ -1079,13 +1199,11 @@ var getEntityExpandStr = (expand) => {
|
|
|
1079
1199
|
|
|
1080
1200
|
// src/libraries/react/client/clientEntityMethods.ts
|
|
1081
1201
|
async function createEntityMethod(params) {
|
|
1082
|
-
|
|
1083
|
-
const res = await this.post(`${this.prefix}/entities`, snakeParams);
|
|
1202
|
+
const res = await this.post(`${this.prefix}/entities`, params);
|
|
1084
1203
|
return res;
|
|
1085
1204
|
}
|
|
1086
1205
|
async function getEntityMethod(entityId, params) {
|
|
1087
|
-
|
|
1088
|
-
let expand = getEntityExpandStr(params?.expand);
|
|
1206
|
+
const expand = getEntityExpandStr(params?.expand);
|
|
1089
1207
|
const res = await this.get(`${this.prefix}/entities/${entityId}?${expand}`);
|
|
1090
1208
|
return res;
|
|
1091
1209
|
}
|
|
@@ -1096,44 +1214,39 @@ async function deleteEntityMethod(entityId) {
|
|
|
1096
1214
|
|
|
1097
1215
|
// src/libraries/react/client/clientGenMethods.ts
|
|
1098
1216
|
async function checkoutMethod(params) {
|
|
1099
|
-
|
|
1100
|
-
const res = await this.post(`${this.prefix}/checkout`, snakeParams);
|
|
1217
|
+
const res = await this.post(`${this.prefix}/checkout`, params);
|
|
1101
1218
|
return res;
|
|
1102
1219
|
}
|
|
1103
1220
|
async function attachMethod(params) {
|
|
1104
|
-
|
|
1105
|
-
const res = await this.post(`${this.prefix}/attach`, snakeParams);
|
|
1221
|
+
const res = await this.post(`${this.prefix}/attach`, params);
|
|
1106
1222
|
return res;
|
|
1107
1223
|
}
|
|
1108
1224
|
async function setupPaymentMethod(params) {
|
|
1109
|
-
|
|
1110
|
-
const res = await this.post(`${this.prefix}/setup_payment`, snakeParams);
|
|
1225
|
+
const res = await this.post(`${this.prefix}/setup_payment`, params);
|
|
1111
1226
|
return res;
|
|
1112
1227
|
}
|
|
1113
1228
|
async function cancelMethod(params) {
|
|
1114
|
-
|
|
1115
|
-
const res = await this.post(`${this.prefix}/cancel`, snakeParams);
|
|
1229
|
+
const res = await this.post(`${this.prefix}/cancel`, params);
|
|
1116
1230
|
return res;
|
|
1117
1231
|
}
|
|
1118
1232
|
async function checkMethod(params) {
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1233
|
+
const noDialogParams = {
|
|
1234
|
+
...params,
|
|
1235
|
+
dialog: void 0
|
|
1236
|
+
};
|
|
1237
|
+
const res = await this.post(`${this.prefix}/check`, noDialogParams);
|
|
1122
1238
|
return res;
|
|
1123
1239
|
}
|
|
1124
1240
|
async function trackMethod(params) {
|
|
1125
|
-
|
|
1126
|
-
const res = await this.post(`${this.prefix}/track`, snakeParams);
|
|
1241
|
+
const res = await this.post(`${this.prefix}/track`, params);
|
|
1127
1242
|
return res;
|
|
1128
1243
|
}
|
|
1129
1244
|
async function openBillingPortalMethod(params) {
|
|
1130
|
-
|
|
1131
|
-
const res = await this.post(`${this.prefix}/billing_portal`, snakeParams);
|
|
1245
|
+
const res = await this.post(`${this.prefix}/billing_portal`, params || {});
|
|
1132
1246
|
return res;
|
|
1133
1247
|
}
|
|
1134
1248
|
async function queryMethod(params) {
|
|
1135
|
-
|
|
1136
|
-
const res = await this.post(`${this.prefix}/query`, snakeParams);
|
|
1249
|
+
const res = await this.post(`${this.prefix}/query`, params);
|
|
1137
1250
|
return res;
|
|
1138
1251
|
}
|
|
1139
1252
|
|
|
@@ -1145,13 +1258,11 @@ async function listProductsMethod() {
|
|
|
1145
1258
|
|
|
1146
1259
|
// src/libraries/react/client/clientReferralMethods.ts
|
|
1147
1260
|
async function createCode(params) {
|
|
1148
|
-
|
|
1149
|
-
const res = await this.post(`${this.prefix}/referrals/code`, snakeParams);
|
|
1261
|
+
const res = await this.post(`${this.prefix}/referrals/code`, params);
|
|
1150
1262
|
return res;
|
|
1151
1263
|
}
|
|
1152
1264
|
async function redeemCode(params) {
|
|
1153
|
-
|
|
1154
|
-
const res = await this.post(`${this.prefix}/referrals/redeem`, snakeParams);
|
|
1265
|
+
const res = await this.post(`${this.prefix}/referrals/redeem`, params);
|
|
1155
1266
|
return res;
|
|
1156
1267
|
}
|
|
1157
1268
|
|
|
@@ -1162,7 +1273,9 @@ var AutumnClient = class {
|
|
|
1162
1273
|
customerData;
|
|
1163
1274
|
includeCredentials;
|
|
1164
1275
|
prefix;
|
|
1276
|
+
camelCase;
|
|
1165
1277
|
headers;
|
|
1278
|
+
framework;
|
|
1166
1279
|
constructor({
|
|
1167
1280
|
backendUrl,
|
|
1168
1281
|
getBearerToken,
|
|
@@ -1176,11 +1289,15 @@ var AutumnClient = class {
|
|
|
1176
1289
|
this.customerData = customerData;
|
|
1177
1290
|
this.includeCredentials = includeCredentials;
|
|
1178
1291
|
this.prefix = "/api/autumn";
|
|
1292
|
+
let camelCase = false;
|
|
1179
1293
|
if (betterAuthUrl) {
|
|
1180
1294
|
this.prefix = "/api/auth/autumn";
|
|
1181
1295
|
this.backendUrl = betterAuthUrl;
|
|
1296
|
+
camelCase = true;
|
|
1182
1297
|
}
|
|
1183
1298
|
this.headers = headers;
|
|
1299
|
+
if (betterAuthUrl) camelCase = true;
|
|
1300
|
+
this.camelCase = camelCase;
|
|
1184
1301
|
}
|
|
1185
1302
|
/**
|
|
1186
1303
|
* Detects if the backend supports CORS credentials by making an OPTIONS request
|
|
@@ -1198,7 +1315,7 @@ var AutumnClient = class {
|
|
|
1198
1315
|
body: JSON.stringify({})
|
|
1199
1316
|
});
|
|
1200
1317
|
return { valid: true, includeCredentials: true };
|
|
1201
|
-
} catch (
|
|
1318
|
+
} catch (_) {
|
|
1202
1319
|
try {
|
|
1203
1320
|
await fetch(testEndpoint, {
|
|
1204
1321
|
method: "POST",
|
|
@@ -1207,7 +1324,7 @@ var AutumnClient = class {
|
|
|
1207
1324
|
body: JSON.stringify({})
|
|
1208
1325
|
});
|
|
1209
1326
|
return { valid: true, includeCredentials: false };
|
|
1210
|
-
} catch (
|
|
1327
|
+
} catch (_2) {
|
|
1211
1328
|
return { valid: false, includeCredentials: void 0 };
|
|
1212
1329
|
}
|
|
1213
1330
|
}
|
|
@@ -1244,9 +1361,9 @@ var AutumnClient = class {
|
|
|
1244
1361
|
};
|
|
1245
1362
|
if (this.getBearerToken) {
|
|
1246
1363
|
try {
|
|
1247
|
-
|
|
1364
|
+
const token = await this.getBearerToken();
|
|
1248
1365
|
headers.Authorization = `Bearer ${token}`;
|
|
1249
|
-
} catch (
|
|
1366
|
+
} catch (_) {
|
|
1250
1367
|
console.error(`Failed to call getToken() in AutumnProvider`);
|
|
1251
1368
|
}
|
|
1252
1369
|
}
|
|
@@ -1260,15 +1377,15 @@ var AutumnClient = class {
|
|
|
1260
1377
|
method,
|
|
1261
1378
|
body
|
|
1262
1379
|
}) {
|
|
1263
|
-
body = method === "POST" ?
|
|
1380
|
+
body = method === "POST" ? {
|
|
1264
1381
|
...body,
|
|
1265
|
-
customer_data: this.customerData || void 0
|
|
1266
|
-
}
|
|
1382
|
+
[this.camelCase ? "customerData" : "customer_data"]: this.customerData || void 0
|
|
1383
|
+
} : void 0;
|
|
1267
1384
|
const includeCredentials = await this.shouldIncludeCredentials();
|
|
1268
1385
|
try {
|
|
1269
1386
|
const response = await fetch(`${this.backendUrl}${path}`, {
|
|
1270
1387
|
method,
|
|
1271
|
-
body,
|
|
1388
|
+
body: body ? JSON.stringify(body) : void 0,
|
|
1272
1389
|
headers: await this.getHeaders(),
|
|
1273
1390
|
credentials: includeCredentials ? "include" : "omit"
|
|
1274
1391
|
});
|
|
@@ -1288,7 +1405,7 @@ var AutumnClient = class {
|
|
|
1288
1405
|
return {
|
|
1289
1406
|
data: null,
|
|
1290
1407
|
error: new AutumnError({
|
|
1291
|
-
message: error.message,
|
|
1408
|
+
message: error instanceof Error ? error.message : JSON.stringify(error),
|
|
1292
1409
|
code: "fetch_failed"
|
|
1293
1410
|
})
|
|
1294
1411
|
};
|
|
@@ -1319,9 +1436,6 @@ var AutumnClient = class {
|
|
|
1319
1436
|
params
|
|
1320
1437
|
});
|
|
1321
1438
|
}
|
|
1322
|
-
async getPricingTable() {
|
|
1323
|
-
return await getPricingTableMethod.bind(this)();
|
|
1324
|
-
}
|
|
1325
1439
|
attach = attachMethod.bind(this);
|
|
1326
1440
|
checkout = checkoutMethod.bind(this);
|
|
1327
1441
|
cancel = cancelMethod.bind(this);
|
|
@@ -1729,153 +1843,6 @@ var useAutumnBase = ({
|
|
|
1729
1843
|
};
|
|
1730
1844
|
};
|
|
1731
1845
|
|
|
1732
|
-
// src/libraries/react/hooks/helpers/handleCheck.ts
|
|
1733
|
-
var getCusFeature = ({
|
|
1734
|
-
customer,
|
|
1735
|
-
featureId,
|
|
1736
|
-
requiredBalance = 1
|
|
1737
|
-
}) => {
|
|
1738
|
-
let cusFeature = customer.features[featureId];
|
|
1739
|
-
if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
|
|
1740
|
-
return {
|
|
1741
|
-
cusFeature,
|
|
1742
|
-
requiredBalance
|
|
1743
|
-
};
|
|
1744
|
-
}
|
|
1745
|
-
let creditSchema = Object.values(customer.features).find(
|
|
1746
|
-
(f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
|
|
1747
|
-
);
|
|
1748
|
-
if (creditSchema) {
|
|
1749
|
-
let schemaItem = creditSchema.credit_schema?.find(
|
|
1750
|
-
(c) => c.feature_id === featureId
|
|
1751
|
-
);
|
|
1752
|
-
return {
|
|
1753
|
-
cusFeature: creditSchema,
|
|
1754
|
-
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1755
|
-
};
|
|
1756
|
-
}
|
|
1757
|
-
return {
|
|
1758
|
-
cusFeature: customer.features[featureId],
|
|
1759
|
-
requiredBalance
|
|
1760
|
-
};
|
|
1761
|
-
};
|
|
1762
|
-
var getFeatureAllowed = ({
|
|
1763
|
-
cusFeature,
|
|
1764
|
-
requiredBalance
|
|
1765
|
-
}) => {
|
|
1766
|
-
if (!cusFeature) return false;
|
|
1767
|
-
if (cusFeature.type == "static") return true;
|
|
1768
|
-
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1769
|
-
if (cusFeature.usage_limit) {
|
|
1770
|
-
let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
|
|
1771
|
-
return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
|
|
1772
|
-
}
|
|
1773
|
-
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1774
|
-
};
|
|
1775
|
-
var handleFeatureCheck = ({
|
|
1776
|
-
customer,
|
|
1777
|
-
isEntity,
|
|
1778
|
-
params
|
|
1779
|
-
}) => {
|
|
1780
|
-
let { cusFeature, requiredBalance } = getCusFeature({
|
|
1781
|
-
customer,
|
|
1782
|
-
featureId: params.featureId,
|
|
1783
|
-
...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
|
|
1784
|
-
});
|
|
1785
|
-
let allowed = getFeatureAllowed({
|
|
1786
|
-
cusFeature,
|
|
1787
|
-
requiredBalance: requiredBalance ?? 1
|
|
1788
|
-
});
|
|
1789
|
-
let result = {
|
|
1790
|
-
allowed,
|
|
1791
|
-
feature_id: cusFeature?.id ?? params.featureId,
|
|
1792
|
-
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1793
|
-
required_balance: requiredBalance,
|
|
1794
|
-
...cusFeature
|
|
1795
|
-
};
|
|
1796
|
-
if (isEntity) {
|
|
1797
|
-
result.entity_id = customer.id;
|
|
1798
|
-
}
|
|
1799
|
-
try {
|
|
1800
|
-
return CheckFeatureResultSchema.parse(result);
|
|
1801
|
-
} catch (error) {
|
|
1802
|
-
return result;
|
|
1803
|
-
}
|
|
1804
|
-
};
|
|
1805
|
-
var handleProductCheck = ({
|
|
1806
|
-
customer,
|
|
1807
|
-
isEntity,
|
|
1808
|
-
params
|
|
1809
|
-
}) => {
|
|
1810
|
-
let product = customer.products.find((p) => p.id == params.productId);
|
|
1811
|
-
let allowed = product?.status === "active";
|
|
1812
|
-
let result = {
|
|
1813
|
-
allowed,
|
|
1814
|
-
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1815
|
-
product_id: params.productId
|
|
1816
|
-
};
|
|
1817
|
-
if (product) {
|
|
1818
|
-
result.status = product.status;
|
|
1819
|
-
}
|
|
1820
|
-
if (isEntity) {
|
|
1821
|
-
result.entity_id = customer.id;
|
|
1822
|
-
}
|
|
1823
|
-
return result;
|
|
1824
|
-
};
|
|
1825
|
-
var openDialog = ({
|
|
1826
|
-
result,
|
|
1827
|
-
params,
|
|
1828
|
-
context
|
|
1829
|
-
}) => {
|
|
1830
|
-
let open = result?.allowed === false && params.dialog && context;
|
|
1831
|
-
if (!open) return;
|
|
1832
|
-
const isInRenderCycle = (() => {
|
|
1833
|
-
const stack = new Error().stack || "";
|
|
1834
|
-
return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
|
|
1835
|
-
})();
|
|
1836
|
-
if (isInRenderCycle) {
|
|
1837
|
-
context.paywallRef.current = {
|
|
1838
|
-
component: params.dialog,
|
|
1839
|
-
open: true,
|
|
1840
|
-
props: params
|
|
1841
|
-
};
|
|
1842
|
-
} else {
|
|
1843
|
-
context.paywallDialog.setComponent(params.dialog);
|
|
1844
|
-
context.paywallDialog.setProps(params);
|
|
1845
|
-
context.paywallDialog.setOpen(true);
|
|
1846
|
-
}
|
|
1847
|
-
};
|
|
1848
|
-
var handleCheck2 = ({
|
|
1849
|
-
customer,
|
|
1850
|
-
isEntity,
|
|
1851
|
-
params,
|
|
1852
|
-
context
|
|
1853
|
-
}) => {
|
|
1854
|
-
if (!customer) {
|
|
1855
|
-
return {
|
|
1856
|
-
data: {
|
|
1857
|
-
allowed: false,
|
|
1858
|
-
feature_id: "",
|
|
1859
|
-
customer_id: "",
|
|
1860
|
-
required_balance: 0
|
|
1861
|
-
},
|
|
1862
|
-
error: null
|
|
1863
|
-
};
|
|
1864
|
-
}
|
|
1865
|
-
if (!params.featureId && !params.productId) {
|
|
1866
|
-
throw new Error("allowed() requires either featureId or productId");
|
|
1867
|
-
}
|
|
1868
|
-
let result;
|
|
1869
|
-
if (params.featureId)
|
|
1870
|
-
result = handleFeatureCheck({ customer, params, isEntity });
|
|
1871
|
-
if (params.productId)
|
|
1872
|
-
result = handleProductCheck({ customer, params, isEntity });
|
|
1873
|
-
return {
|
|
1874
|
-
data: result,
|
|
1875
|
-
error: null
|
|
1876
|
-
};
|
|
1877
|
-
};
|
|
1878
|
-
|
|
1879
1846
|
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
1880
1847
|
var useCustomerBase = ({
|
|
1881
1848
|
params,
|
|
@@ -1892,7 +1859,7 @@ var useCustomerBase = ({
|
|
|
1892
1859
|
if (!client) {
|
|
1893
1860
|
client = context.client;
|
|
1894
1861
|
}
|
|
1895
|
-
|
|
1862
|
+
const baseUrl = client?.backendUrl || "";
|
|
1896
1863
|
const queryKey = ["customer", baseUrl, params?.expand];
|
|
1897
1864
|
const fetchCustomer = async () => {
|
|
1898
1865
|
const { data, error: error2 } = await client.createCustomer({
|
|
@@ -1913,11 +1880,10 @@ var useCustomerBase = ({
|
|
|
1913
1880
|
isLoading,
|
|
1914
1881
|
mutate
|
|
1915
1882
|
} = (0, import_swr2.default)(queryKey, fetchCustomer, {
|
|
1916
|
-
fallbackData: null,
|
|
1917
1883
|
// Default to 5 minutes
|
|
1884
|
+
fallbackData: null,
|
|
1918
1885
|
swrConfig: {
|
|
1919
1886
|
shouldRetryOnError: false,
|
|
1920
|
-
// refreshInterval: 1000 * 60 * 5,
|
|
1921
1887
|
refreshInterval: 0,
|
|
1922
1888
|
...params?.swrConfig
|
|
1923
1889
|
}
|
|
@@ -1927,8 +1893,6 @@ var useCustomerBase = ({
|
|
|
1927
1893
|
client,
|
|
1928
1894
|
refetchCustomer: mutate
|
|
1929
1895
|
});
|
|
1930
|
-
(0, import_react3.useEffect)(() => {
|
|
1931
|
-
}, [context?.paywallRef.current]);
|
|
1932
1896
|
return {
|
|
1933
1897
|
customer: error ? null : customer,
|
|
1934
1898
|
isLoading,
|
|
@@ -1962,7 +1926,7 @@ function BaseAutumnProvider({
|
|
|
1962
1926
|
children,
|
|
1963
1927
|
AutumnContext: AutumnContext2
|
|
1964
1928
|
}) {
|
|
1965
|
-
const [components, setComponents] = (0,
|
|
1929
|
+
const [components, setComponents] = (0, import_react4.useState)({});
|
|
1966
1930
|
const [paywallProps, setPaywallProps, paywallOpen, setPaywallOpen] = useDialog(components.paywallDialog);
|
|
1967
1931
|
const [
|
|
1968
1932
|
productChangeProps,
|
|
@@ -1971,8 +1935,8 @@ function BaseAutumnProvider({
|
|
|
1971
1935
|
setProductChangeOpen
|
|
1972
1936
|
] = useDialog(components.productChangeDialog);
|
|
1973
1937
|
useCustomerBase({ client, params: { errorOnNotFound: false } });
|
|
1974
|
-
const paywallRef = (0,
|
|
1975
|
-
const [refresh, setRefresh] = (0,
|
|
1938
|
+
const paywallRef = (0, import_react3.useRef)(null);
|
|
1939
|
+
const [refresh, setRefresh] = (0, import_react4.useState)(0);
|
|
1976
1940
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
1977
1941
|
AutumnContext2.Provider,
|
|
1978
1942
|
{
|