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
|
@@ -37,8 +37,8 @@ __export(ReactAutumnProvider_exports, {
|
|
|
37
37
|
module.exports = __toCommonJS(ReactAutumnProvider_exports);
|
|
38
38
|
|
|
39
39
|
// src/libraries/react/BaseAutumnProvider.tsx
|
|
40
|
+
var import_react3 = require("react");
|
|
40
41
|
var import_react4 = require("react");
|
|
41
|
-
var import_react5 = require("react");
|
|
42
42
|
|
|
43
43
|
// src/libraries/react/hooks/helpers/useDialog.tsx
|
|
44
44
|
var import_react = require("react");
|
|
@@ -57,23 +57,6 @@ var useDialog = (component) => {
|
|
|
57
57
|
|
|
58
58
|
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
59
59
|
var import_swr2 = __toESM(require("swr"));
|
|
60
|
-
var import_react3 = require("react");
|
|
61
|
-
|
|
62
|
-
// src/libraries/react/errorUtils/logAuthError.ts
|
|
63
|
-
var logAuthError = async (response) => {
|
|
64
|
-
if (response.status === 401) {
|
|
65
|
-
let clonedResponse = response.clone();
|
|
66
|
-
let data = await clonedResponse.json();
|
|
67
|
-
if (data.message.includes("Missing authorization header")) {
|
|
68
|
-
console.error(`[Autumn] Missing authorization header.
|
|
69
|
-
|
|
70
|
-
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
71
|
-
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
72
|
-
return true;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return false;
|
|
76
|
-
};
|
|
77
60
|
|
|
78
61
|
// src/sdk/error.ts
|
|
79
62
|
var AutumnError = class _AutumnError extends Error {
|
|
@@ -310,7 +293,8 @@ var productMethods = (instance) => {
|
|
|
310
293
|
return {
|
|
311
294
|
get: (id) => staticWrapper(getProduct, instance, { id }),
|
|
312
295
|
create: (params) => staticWrapper(createProduct, instance, { params }),
|
|
313
|
-
list: (params) => staticWrapper(listProducts, instance, { params })
|
|
296
|
+
list: (params) => staticWrapper(listProducts, instance, { params }),
|
|
297
|
+
delete: (id) => staticWrapper(deleteProduct, instance, { id })
|
|
314
298
|
};
|
|
315
299
|
};
|
|
316
300
|
var listProducts = async ({
|
|
@@ -344,6 +328,14 @@ var createProduct = async ({
|
|
|
344
328
|
}) => {
|
|
345
329
|
return instance.post("/products", params);
|
|
346
330
|
};
|
|
331
|
+
var deleteProduct = async ({
|
|
332
|
+
instance,
|
|
333
|
+
id,
|
|
334
|
+
params
|
|
335
|
+
}) => {
|
|
336
|
+
const path = buildPathWithQuery(`/products/${id}`, params);
|
|
337
|
+
return instance.delete(path);
|
|
338
|
+
};
|
|
347
339
|
|
|
348
340
|
// src/sdk/referrals/referralMethods.ts
|
|
349
341
|
var referralMethods = (instance) => {
|
|
@@ -380,14 +372,6 @@ var toContainerResult = async ({
|
|
|
380
372
|
}
|
|
381
373
|
} catch (error2) {
|
|
382
374
|
throw error2;
|
|
383
|
-
return {
|
|
384
|
-
data: null,
|
|
385
|
-
error: new AutumnError({
|
|
386
|
-
message: "Failed to parse JSON response from Autumn",
|
|
387
|
-
code: "internal_error"
|
|
388
|
-
}),
|
|
389
|
-
statusCode: response.status
|
|
390
|
-
};
|
|
391
375
|
}
|
|
392
376
|
return {
|
|
393
377
|
data: null,
|
|
@@ -399,7 +383,7 @@ var toContainerResult = async ({
|
|
|
399
383
|
};
|
|
400
384
|
}
|
|
401
385
|
try {
|
|
402
|
-
|
|
386
|
+
const data = await response.json();
|
|
403
387
|
return {
|
|
404
388
|
data,
|
|
405
389
|
error: null,
|
|
@@ -407,14 +391,6 @@ var toContainerResult = async ({
|
|
|
407
391
|
};
|
|
408
392
|
} catch (error) {
|
|
409
393
|
throw error;
|
|
410
|
-
return {
|
|
411
|
-
data: null,
|
|
412
|
-
error: new AutumnError({
|
|
413
|
-
message: "Failed to parse Autumn API response",
|
|
414
|
-
code: "internal_error"
|
|
415
|
-
}),
|
|
416
|
-
statusCode: response?.status
|
|
417
|
-
};
|
|
418
394
|
}
|
|
419
395
|
};
|
|
420
396
|
|
|
@@ -458,7 +434,8 @@ var logger = {
|
|
|
458
434
|
// src/sdk/features/featureMethods.ts
|
|
459
435
|
var featureMethods = (instance) => {
|
|
460
436
|
return {
|
|
461
|
-
list: () => staticWrapper(listFeatures, instance, {})
|
|
437
|
+
list: () => staticWrapper(listFeatures, instance, {}),
|
|
438
|
+
get: (id) => staticWrapper(getFeature, instance, { id })
|
|
462
439
|
};
|
|
463
440
|
};
|
|
464
441
|
var listFeatures = async ({
|
|
@@ -480,6 +457,12 @@ var listFeatures = async ({
|
|
|
480
457
|
}
|
|
481
458
|
return instance.get(path);
|
|
482
459
|
};
|
|
460
|
+
var getFeature = async ({
|
|
461
|
+
instance,
|
|
462
|
+
id
|
|
463
|
+
}) => {
|
|
464
|
+
return instance.get(`/features/${id}`);
|
|
465
|
+
};
|
|
483
466
|
|
|
484
467
|
// src/sdk/client.ts
|
|
485
468
|
var LATEST_API_VERSION = "1.2";
|
|
@@ -997,7 +980,7 @@ var CheckoutParamsSchema = import_v47.z.object({
|
|
|
997
980
|
});
|
|
998
981
|
|
|
999
982
|
// src/sdk/features/featureTypes.ts
|
|
1000
|
-
var
|
|
983
|
+
var import_v48 = require("zod/v4");
|
|
1001
984
|
var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
|
|
1002
985
|
FeatureType2["Boolean"] = "boolean";
|
|
1003
986
|
FeatureType2["SingleUse"] = "single_use";
|
|
@@ -1005,22 +988,186 @@ var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
|
|
|
1005
988
|
FeatureType2["CreditSystem"] = "credit_system";
|
|
1006
989
|
return FeatureType2;
|
|
1007
990
|
})(FeatureType || {});
|
|
1008
|
-
var FeatureSchema =
|
|
1009
|
-
id:
|
|
1010
|
-
name:
|
|
1011
|
-
type:
|
|
1012
|
-
display:
|
|
1013
|
-
singular:
|
|
1014
|
-
plural:
|
|
991
|
+
var FeatureSchema = import_v48.z.object({
|
|
992
|
+
id: import_v48.z.string(),
|
|
993
|
+
name: import_v48.z.string(),
|
|
994
|
+
type: import_v48.z.enum(FeatureType),
|
|
995
|
+
display: import_v48.z.object({
|
|
996
|
+
singular: import_v48.z.string(),
|
|
997
|
+
plural: import_v48.z.string()
|
|
1015
998
|
}).nullish(),
|
|
1016
|
-
credit_schema:
|
|
1017
|
-
|
|
1018
|
-
metered_feature_id:
|
|
1019
|
-
credit_cost:
|
|
999
|
+
credit_schema: import_v48.z.array(
|
|
1000
|
+
import_v48.z.object({
|
|
1001
|
+
metered_feature_id: import_v48.z.string(),
|
|
1002
|
+
credit_cost: import_v48.z.number()
|
|
1020
1003
|
})
|
|
1021
|
-
).nullish()
|
|
1004
|
+
).nullish(),
|
|
1005
|
+
archived: import_v48.z.boolean()
|
|
1022
1006
|
});
|
|
1023
1007
|
|
|
1008
|
+
// src/libraries/react/hooks/helpers/handleCheck.ts
|
|
1009
|
+
var getCusFeature = ({
|
|
1010
|
+
customer,
|
|
1011
|
+
featureId,
|
|
1012
|
+
requiredBalance = 1
|
|
1013
|
+
}) => {
|
|
1014
|
+
let cusFeature = customer.features[featureId];
|
|
1015
|
+
if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
|
|
1016
|
+
return {
|
|
1017
|
+
cusFeature,
|
|
1018
|
+
requiredBalance
|
|
1019
|
+
};
|
|
1020
|
+
}
|
|
1021
|
+
let creditSchema = Object.values(customer.features).find(
|
|
1022
|
+
(f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
|
|
1023
|
+
);
|
|
1024
|
+
if (creditSchema) {
|
|
1025
|
+
let schemaItem = creditSchema.credit_schema?.find(
|
|
1026
|
+
(c) => c.feature_id === featureId
|
|
1027
|
+
);
|
|
1028
|
+
return {
|
|
1029
|
+
cusFeature: creditSchema,
|
|
1030
|
+
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1031
|
+
};
|
|
1032
|
+
}
|
|
1033
|
+
return {
|
|
1034
|
+
cusFeature: customer.features[featureId],
|
|
1035
|
+
requiredBalance
|
|
1036
|
+
};
|
|
1037
|
+
};
|
|
1038
|
+
var getFeatureAllowed = ({
|
|
1039
|
+
cusFeature,
|
|
1040
|
+
requiredBalance
|
|
1041
|
+
}) => {
|
|
1042
|
+
if (!cusFeature) return false;
|
|
1043
|
+
if (cusFeature.type == "static") return true;
|
|
1044
|
+
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1045
|
+
if (cusFeature.usage_limit) {
|
|
1046
|
+
let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
|
|
1047
|
+
return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
|
|
1048
|
+
}
|
|
1049
|
+
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1050
|
+
};
|
|
1051
|
+
var handleFeatureCheck = ({
|
|
1052
|
+
customer,
|
|
1053
|
+
isEntity,
|
|
1054
|
+
params
|
|
1055
|
+
}) => {
|
|
1056
|
+
let { cusFeature, requiredBalance } = getCusFeature({
|
|
1057
|
+
customer,
|
|
1058
|
+
featureId: params.featureId,
|
|
1059
|
+
...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
|
|
1060
|
+
});
|
|
1061
|
+
let allowed = getFeatureAllowed({
|
|
1062
|
+
cusFeature,
|
|
1063
|
+
requiredBalance: requiredBalance ?? 1
|
|
1064
|
+
});
|
|
1065
|
+
let result = {
|
|
1066
|
+
allowed,
|
|
1067
|
+
feature_id: cusFeature?.id ?? params.featureId,
|
|
1068
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1069
|
+
required_balance: requiredBalance,
|
|
1070
|
+
...cusFeature
|
|
1071
|
+
};
|
|
1072
|
+
if (isEntity) {
|
|
1073
|
+
result.entity_id = customer.id;
|
|
1074
|
+
}
|
|
1075
|
+
try {
|
|
1076
|
+
return CheckFeatureResultSchema.parse(result);
|
|
1077
|
+
} catch (error) {
|
|
1078
|
+
return result;
|
|
1079
|
+
}
|
|
1080
|
+
};
|
|
1081
|
+
var handleProductCheck = ({
|
|
1082
|
+
customer,
|
|
1083
|
+
isEntity,
|
|
1084
|
+
params
|
|
1085
|
+
}) => {
|
|
1086
|
+
let product = customer.products.find((p) => p.id == params.productId);
|
|
1087
|
+
let allowed = product?.status === "active";
|
|
1088
|
+
let result = {
|
|
1089
|
+
allowed,
|
|
1090
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1091
|
+
product_id: params.productId
|
|
1092
|
+
};
|
|
1093
|
+
if (product) {
|
|
1094
|
+
result.status = product.status;
|
|
1095
|
+
}
|
|
1096
|
+
if (isEntity) {
|
|
1097
|
+
result.entity_id = customer.id;
|
|
1098
|
+
}
|
|
1099
|
+
return result;
|
|
1100
|
+
};
|
|
1101
|
+
var openDialog = ({
|
|
1102
|
+
result,
|
|
1103
|
+
params,
|
|
1104
|
+
context
|
|
1105
|
+
}) => {
|
|
1106
|
+
let open = result?.allowed === false && params.dialog && context;
|
|
1107
|
+
if (!open) return;
|
|
1108
|
+
const isInRenderCycle = (() => {
|
|
1109
|
+
const stack = new Error().stack || "";
|
|
1110
|
+
return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
|
|
1111
|
+
})();
|
|
1112
|
+
if (isInRenderCycle) {
|
|
1113
|
+
context.paywallRef.current = {
|
|
1114
|
+
component: params.dialog,
|
|
1115
|
+
open: true,
|
|
1116
|
+
props: params
|
|
1117
|
+
};
|
|
1118
|
+
} else {
|
|
1119
|
+
context.paywallDialog.setComponent(params.dialog);
|
|
1120
|
+
context.paywallDialog.setProps(params);
|
|
1121
|
+
context.paywallDialog.setOpen(true);
|
|
1122
|
+
}
|
|
1123
|
+
};
|
|
1124
|
+
var handleCheck2 = ({
|
|
1125
|
+
customer,
|
|
1126
|
+
isEntity,
|
|
1127
|
+
params,
|
|
1128
|
+
context
|
|
1129
|
+
}) => {
|
|
1130
|
+
if (!customer) {
|
|
1131
|
+
return {
|
|
1132
|
+
data: {
|
|
1133
|
+
allowed: false,
|
|
1134
|
+
feature_id: "",
|
|
1135
|
+
customer_id: "",
|
|
1136
|
+
required_balance: 0
|
|
1137
|
+
},
|
|
1138
|
+
error: null
|
|
1139
|
+
};
|
|
1140
|
+
}
|
|
1141
|
+
if (!params.featureId && !params.productId) {
|
|
1142
|
+
throw new Error("allowed() requires either featureId or productId");
|
|
1143
|
+
}
|
|
1144
|
+
let result;
|
|
1145
|
+
if (params.featureId)
|
|
1146
|
+
result = handleFeatureCheck({ customer, params, isEntity });
|
|
1147
|
+
if (params.productId)
|
|
1148
|
+
result = handleProductCheck({ customer, params, isEntity });
|
|
1149
|
+
return {
|
|
1150
|
+
data: result,
|
|
1151
|
+
error: null
|
|
1152
|
+
};
|
|
1153
|
+
};
|
|
1154
|
+
|
|
1155
|
+
// src/libraries/react/errorUtils/logAuthError.ts
|
|
1156
|
+
var logAuthError = async (response) => {
|
|
1157
|
+
if (response.status === 401) {
|
|
1158
|
+
let clonedResponse = response.clone();
|
|
1159
|
+
let data = await clonedResponse.json();
|
|
1160
|
+
if (data.message.includes("Missing authorization header")) {
|
|
1161
|
+
console.error(`[Autumn] Missing authorization header.
|
|
1162
|
+
|
|
1163
|
+
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
1164
|
+
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
1165
|
+
return true;
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
return false;
|
|
1169
|
+
};
|
|
1170
|
+
|
|
1024
1171
|
// src/libraries/react/errorUtils/logFetchError.ts
|
|
1025
1172
|
var logFetchError = ({
|
|
1026
1173
|
method,
|
|
@@ -1034,12 +1181,6 @@ var logFetchError = ({
|
|
|
1034
1181
|
2. Check that autumnHandler is correctly registered on your backend.`);
|
|
1035
1182
|
};
|
|
1036
1183
|
|
|
1037
|
-
// src/libraries/react/client/clientCompMethods.ts
|
|
1038
|
-
async function getPricingTableMethod() {
|
|
1039
|
-
const res = await this.get(`${this.prefix}/components/pricing_table`);
|
|
1040
|
-
return res;
|
|
1041
|
-
}
|
|
1042
|
-
|
|
1043
1184
|
// src/libraries/react/client/clientCusMethods.ts
|
|
1044
1185
|
var createCustomerMethod = async ({
|
|
1045
1186
|
client,
|
|
@@ -1049,27 +1190,6 @@ var createCustomerMethod = async ({
|
|
|
1049
1190
|
return result;
|
|
1050
1191
|
};
|
|
1051
1192
|
|
|
1052
|
-
// src/libraries/react/utils/toSnakeCase.ts
|
|
1053
|
-
function stringToSnakeCase(str) {
|
|
1054
|
-
return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase();
|
|
1055
|
-
}
|
|
1056
|
-
var toSnakeCase = (obj, excludeKeys) => {
|
|
1057
|
-
if (Array.isArray(obj)) {
|
|
1058
|
-
return obj.map((item) => toSnakeCase(item, excludeKeys));
|
|
1059
|
-
} else if (obj !== null && typeof obj === "object") {
|
|
1060
|
-
return Object.fromEntries(
|
|
1061
|
-
Object.entries(obj).map(([key, value]) => {
|
|
1062
|
-
const snakeKey = stringToSnakeCase(key);
|
|
1063
|
-
if (excludeKeys && excludeKeys.includes(key)) {
|
|
1064
|
-
return [snakeKey, value];
|
|
1065
|
-
}
|
|
1066
|
-
return [snakeKey, toSnakeCase(value, excludeKeys)];
|
|
1067
|
-
})
|
|
1068
|
-
);
|
|
1069
|
-
}
|
|
1070
|
-
return obj;
|
|
1071
|
-
};
|
|
1072
|
-
|
|
1073
1193
|
// src/utils/entityUtils.tsx
|
|
1074
1194
|
var getEntityExpandStr = (expand) => {
|
|
1075
1195
|
if (!expand) {
|
|
@@ -1080,13 +1200,11 @@ var getEntityExpandStr = (expand) => {
|
|
|
1080
1200
|
|
|
1081
1201
|
// src/libraries/react/client/clientEntityMethods.ts
|
|
1082
1202
|
async function createEntityMethod(params) {
|
|
1083
|
-
|
|
1084
|
-
const res = await this.post(`${this.prefix}/entities`, snakeParams);
|
|
1203
|
+
const res = await this.post(`${this.prefix}/entities`, params);
|
|
1085
1204
|
return res;
|
|
1086
1205
|
}
|
|
1087
1206
|
async function getEntityMethod(entityId, params) {
|
|
1088
|
-
|
|
1089
|
-
let expand = getEntityExpandStr(params?.expand);
|
|
1207
|
+
const expand = getEntityExpandStr(params?.expand);
|
|
1090
1208
|
const res = await this.get(`${this.prefix}/entities/${entityId}?${expand}`);
|
|
1091
1209
|
return res;
|
|
1092
1210
|
}
|
|
@@ -1097,44 +1215,39 @@ async function deleteEntityMethod(entityId) {
|
|
|
1097
1215
|
|
|
1098
1216
|
// src/libraries/react/client/clientGenMethods.ts
|
|
1099
1217
|
async function checkoutMethod(params) {
|
|
1100
|
-
|
|
1101
|
-
const res = await this.post(`${this.prefix}/checkout`, snakeParams);
|
|
1218
|
+
const res = await this.post(`${this.prefix}/checkout`, params);
|
|
1102
1219
|
return res;
|
|
1103
1220
|
}
|
|
1104
1221
|
async function attachMethod(params) {
|
|
1105
|
-
|
|
1106
|
-
const res = await this.post(`${this.prefix}/attach`, snakeParams);
|
|
1222
|
+
const res = await this.post(`${this.prefix}/attach`, params);
|
|
1107
1223
|
return res;
|
|
1108
1224
|
}
|
|
1109
1225
|
async function setupPaymentMethod(params) {
|
|
1110
|
-
|
|
1111
|
-
const res = await this.post(`${this.prefix}/setup_payment`, snakeParams);
|
|
1226
|
+
const res = await this.post(`${this.prefix}/setup_payment`, params);
|
|
1112
1227
|
return res;
|
|
1113
1228
|
}
|
|
1114
1229
|
async function cancelMethod(params) {
|
|
1115
|
-
|
|
1116
|
-
const res = await this.post(`${this.prefix}/cancel`, snakeParams);
|
|
1230
|
+
const res = await this.post(`${this.prefix}/cancel`, params);
|
|
1117
1231
|
return res;
|
|
1118
1232
|
}
|
|
1119
1233
|
async function checkMethod(params) {
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1234
|
+
const noDialogParams = {
|
|
1235
|
+
...params,
|
|
1236
|
+
dialog: void 0
|
|
1237
|
+
};
|
|
1238
|
+
const res = await this.post(`${this.prefix}/check`, noDialogParams);
|
|
1123
1239
|
return res;
|
|
1124
1240
|
}
|
|
1125
1241
|
async function trackMethod(params) {
|
|
1126
|
-
|
|
1127
|
-
const res = await this.post(`${this.prefix}/track`, snakeParams);
|
|
1242
|
+
const res = await this.post(`${this.prefix}/track`, params);
|
|
1128
1243
|
return res;
|
|
1129
1244
|
}
|
|
1130
1245
|
async function openBillingPortalMethod(params) {
|
|
1131
|
-
|
|
1132
|
-
const res = await this.post(`${this.prefix}/billing_portal`, snakeParams);
|
|
1246
|
+
const res = await this.post(`${this.prefix}/billing_portal`, params || {});
|
|
1133
1247
|
return res;
|
|
1134
1248
|
}
|
|
1135
1249
|
async function queryMethod(params) {
|
|
1136
|
-
|
|
1137
|
-
const res = await this.post(`${this.prefix}/query`, snakeParams);
|
|
1250
|
+
const res = await this.post(`${this.prefix}/query`, params);
|
|
1138
1251
|
return res;
|
|
1139
1252
|
}
|
|
1140
1253
|
|
|
@@ -1146,13 +1259,11 @@ async function listProductsMethod() {
|
|
|
1146
1259
|
|
|
1147
1260
|
// src/libraries/react/client/clientReferralMethods.ts
|
|
1148
1261
|
async function createCode(params) {
|
|
1149
|
-
|
|
1150
|
-
const res = await this.post(`${this.prefix}/referrals/code`, snakeParams);
|
|
1262
|
+
const res = await this.post(`${this.prefix}/referrals/code`, params);
|
|
1151
1263
|
return res;
|
|
1152
1264
|
}
|
|
1153
1265
|
async function redeemCode(params) {
|
|
1154
|
-
|
|
1155
|
-
const res = await this.post(`${this.prefix}/referrals/redeem`, snakeParams);
|
|
1266
|
+
const res = await this.post(`${this.prefix}/referrals/redeem`, params);
|
|
1156
1267
|
return res;
|
|
1157
1268
|
}
|
|
1158
1269
|
|
|
@@ -1163,7 +1274,9 @@ var AutumnClient = class {
|
|
|
1163
1274
|
customerData;
|
|
1164
1275
|
includeCredentials;
|
|
1165
1276
|
prefix;
|
|
1277
|
+
camelCase;
|
|
1166
1278
|
headers;
|
|
1279
|
+
framework;
|
|
1167
1280
|
constructor({
|
|
1168
1281
|
backendUrl,
|
|
1169
1282
|
getBearerToken,
|
|
@@ -1177,11 +1290,15 @@ var AutumnClient = class {
|
|
|
1177
1290
|
this.customerData = customerData;
|
|
1178
1291
|
this.includeCredentials = includeCredentials;
|
|
1179
1292
|
this.prefix = "/api/autumn";
|
|
1293
|
+
let camelCase = false;
|
|
1180
1294
|
if (betterAuthUrl) {
|
|
1181
1295
|
this.prefix = "/api/auth/autumn";
|
|
1182
1296
|
this.backendUrl = betterAuthUrl;
|
|
1297
|
+
camelCase = true;
|
|
1183
1298
|
}
|
|
1184
1299
|
this.headers = headers;
|
|
1300
|
+
if (betterAuthUrl) camelCase = true;
|
|
1301
|
+
this.camelCase = camelCase;
|
|
1185
1302
|
}
|
|
1186
1303
|
/**
|
|
1187
1304
|
* Detects if the backend supports CORS credentials by making an OPTIONS request
|
|
@@ -1199,7 +1316,7 @@ var AutumnClient = class {
|
|
|
1199
1316
|
body: JSON.stringify({})
|
|
1200
1317
|
});
|
|
1201
1318
|
return { valid: true, includeCredentials: true };
|
|
1202
|
-
} catch (
|
|
1319
|
+
} catch (_) {
|
|
1203
1320
|
try {
|
|
1204
1321
|
await fetch(testEndpoint, {
|
|
1205
1322
|
method: "POST",
|
|
@@ -1208,7 +1325,7 @@ var AutumnClient = class {
|
|
|
1208
1325
|
body: JSON.stringify({})
|
|
1209
1326
|
});
|
|
1210
1327
|
return { valid: true, includeCredentials: false };
|
|
1211
|
-
} catch (
|
|
1328
|
+
} catch (_2) {
|
|
1212
1329
|
return { valid: false, includeCredentials: void 0 };
|
|
1213
1330
|
}
|
|
1214
1331
|
}
|
|
@@ -1245,9 +1362,9 @@ var AutumnClient = class {
|
|
|
1245
1362
|
};
|
|
1246
1363
|
if (this.getBearerToken) {
|
|
1247
1364
|
try {
|
|
1248
|
-
|
|
1365
|
+
const token = await this.getBearerToken();
|
|
1249
1366
|
headers.Authorization = `Bearer ${token}`;
|
|
1250
|
-
} catch (
|
|
1367
|
+
} catch (_) {
|
|
1251
1368
|
console.error(`Failed to call getToken() in AutumnProvider`);
|
|
1252
1369
|
}
|
|
1253
1370
|
}
|
|
@@ -1261,15 +1378,15 @@ var AutumnClient = class {
|
|
|
1261
1378
|
method,
|
|
1262
1379
|
body
|
|
1263
1380
|
}) {
|
|
1264
|
-
body = method === "POST" ?
|
|
1381
|
+
body = method === "POST" ? {
|
|
1265
1382
|
...body,
|
|
1266
|
-
customer_data: this.customerData || void 0
|
|
1267
|
-
}
|
|
1383
|
+
[this.camelCase ? "customerData" : "customer_data"]: this.customerData || void 0
|
|
1384
|
+
} : void 0;
|
|
1268
1385
|
const includeCredentials = await this.shouldIncludeCredentials();
|
|
1269
1386
|
try {
|
|
1270
1387
|
const response = await fetch(`${this.backendUrl}${path}`, {
|
|
1271
1388
|
method,
|
|
1272
|
-
body,
|
|
1389
|
+
body: body ? JSON.stringify(body) : void 0,
|
|
1273
1390
|
headers: await this.getHeaders(),
|
|
1274
1391
|
credentials: includeCredentials ? "include" : "omit"
|
|
1275
1392
|
});
|
|
@@ -1289,7 +1406,7 @@ var AutumnClient = class {
|
|
|
1289
1406
|
return {
|
|
1290
1407
|
data: null,
|
|
1291
1408
|
error: new AutumnError({
|
|
1292
|
-
message: error.message,
|
|
1409
|
+
message: error instanceof Error ? error.message : JSON.stringify(error),
|
|
1293
1410
|
code: "fetch_failed"
|
|
1294
1411
|
})
|
|
1295
1412
|
};
|
|
@@ -1320,9 +1437,6 @@ var AutumnClient = class {
|
|
|
1320
1437
|
params
|
|
1321
1438
|
});
|
|
1322
1439
|
}
|
|
1323
|
-
async getPricingTable() {
|
|
1324
|
-
return await getPricingTableMethod.bind(this)();
|
|
1325
|
-
}
|
|
1326
1440
|
attach = attachMethod.bind(this);
|
|
1327
1441
|
checkout = checkoutMethod.bind(this);
|
|
1328
1442
|
cancel = cancelMethod.bind(this);
|
|
@@ -1730,153 +1844,6 @@ var useAutumnBase = ({
|
|
|
1730
1844
|
};
|
|
1731
1845
|
};
|
|
1732
1846
|
|
|
1733
|
-
// src/libraries/react/hooks/helpers/handleCheck.ts
|
|
1734
|
-
var getCusFeature = ({
|
|
1735
|
-
customer,
|
|
1736
|
-
featureId,
|
|
1737
|
-
requiredBalance = 1
|
|
1738
|
-
}) => {
|
|
1739
|
-
let cusFeature = customer.features[featureId];
|
|
1740
|
-
if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
|
|
1741
|
-
return {
|
|
1742
|
-
cusFeature,
|
|
1743
|
-
requiredBalance
|
|
1744
|
-
};
|
|
1745
|
-
}
|
|
1746
|
-
let creditSchema = Object.values(customer.features).find(
|
|
1747
|
-
(f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
|
|
1748
|
-
);
|
|
1749
|
-
if (creditSchema) {
|
|
1750
|
-
let schemaItem = creditSchema.credit_schema?.find(
|
|
1751
|
-
(c) => c.feature_id === featureId
|
|
1752
|
-
);
|
|
1753
|
-
return {
|
|
1754
|
-
cusFeature: creditSchema,
|
|
1755
|
-
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1756
|
-
};
|
|
1757
|
-
}
|
|
1758
|
-
return {
|
|
1759
|
-
cusFeature: customer.features[featureId],
|
|
1760
|
-
requiredBalance
|
|
1761
|
-
};
|
|
1762
|
-
};
|
|
1763
|
-
var getFeatureAllowed = ({
|
|
1764
|
-
cusFeature,
|
|
1765
|
-
requiredBalance
|
|
1766
|
-
}) => {
|
|
1767
|
-
if (!cusFeature) return false;
|
|
1768
|
-
if (cusFeature.type == "static") return true;
|
|
1769
|
-
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1770
|
-
if (cusFeature.usage_limit) {
|
|
1771
|
-
let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
|
|
1772
|
-
return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
|
|
1773
|
-
}
|
|
1774
|
-
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1775
|
-
};
|
|
1776
|
-
var handleFeatureCheck = ({
|
|
1777
|
-
customer,
|
|
1778
|
-
isEntity,
|
|
1779
|
-
params
|
|
1780
|
-
}) => {
|
|
1781
|
-
let { cusFeature, requiredBalance } = getCusFeature({
|
|
1782
|
-
customer,
|
|
1783
|
-
featureId: params.featureId,
|
|
1784
|
-
...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
|
|
1785
|
-
});
|
|
1786
|
-
let allowed = getFeatureAllowed({
|
|
1787
|
-
cusFeature,
|
|
1788
|
-
requiredBalance: requiredBalance ?? 1
|
|
1789
|
-
});
|
|
1790
|
-
let result = {
|
|
1791
|
-
allowed,
|
|
1792
|
-
feature_id: cusFeature?.id ?? params.featureId,
|
|
1793
|
-
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1794
|
-
required_balance: requiredBalance,
|
|
1795
|
-
...cusFeature
|
|
1796
|
-
};
|
|
1797
|
-
if (isEntity) {
|
|
1798
|
-
result.entity_id = customer.id;
|
|
1799
|
-
}
|
|
1800
|
-
try {
|
|
1801
|
-
return CheckFeatureResultSchema.parse(result);
|
|
1802
|
-
} catch (error) {
|
|
1803
|
-
return result;
|
|
1804
|
-
}
|
|
1805
|
-
};
|
|
1806
|
-
var handleProductCheck = ({
|
|
1807
|
-
customer,
|
|
1808
|
-
isEntity,
|
|
1809
|
-
params
|
|
1810
|
-
}) => {
|
|
1811
|
-
let product = customer.products.find((p) => p.id == params.productId);
|
|
1812
|
-
let allowed = product?.status === "active";
|
|
1813
|
-
let result = {
|
|
1814
|
-
allowed,
|
|
1815
|
-
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1816
|
-
product_id: params.productId
|
|
1817
|
-
};
|
|
1818
|
-
if (product) {
|
|
1819
|
-
result.status = product.status;
|
|
1820
|
-
}
|
|
1821
|
-
if (isEntity) {
|
|
1822
|
-
result.entity_id = customer.id;
|
|
1823
|
-
}
|
|
1824
|
-
return result;
|
|
1825
|
-
};
|
|
1826
|
-
var openDialog = ({
|
|
1827
|
-
result,
|
|
1828
|
-
params,
|
|
1829
|
-
context
|
|
1830
|
-
}) => {
|
|
1831
|
-
let open = result?.allowed === false && params.dialog && context;
|
|
1832
|
-
if (!open) return;
|
|
1833
|
-
const isInRenderCycle = (() => {
|
|
1834
|
-
const stack = new Error().stack || "";
|
|
1835
|
-
return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
|
|
1836
|
-
})();
|
|
1837
|
-
if (isInRenderCycle) {
|
|
1838
|
-
context.paywallRef.current = {
|
|
1839
|
-
component: params.dialog,
|
|
1840
|
-
open: true,
|
|
1841
|
-
props: params
|
|
1842
|
-
};
|
|
1843
|
-
} else {
|
|
1844
|
-
context.paywallDialog.setComponent(params.dialog);
|
|
1845
|
-
context.paywallDialog.setProps(params);
|
|
1846
|
-
context.paywallDialog.setOpen(true);
|
|
1847
|
-
}
|
|
1848
|
-
};
|
|
1849
|
-
var handleCheck2 = ({
|
|
1850
|
-
customer,
|
|
1851
|
-
isEntity,
|
|
1852
|
-
params,
|
|
1853
|
-
context
|
|
1854
|
-
}) => {
|
|
1855
|
-
if (!customer) {
|
|
1856
|
-
return {
|
|
1857
|
-
data: {
|
|
1858
|
-
allowed: false,
|
|
1859
|
-
feature_id: "",
|
|
1860
|
-
customer_id: "",
|
|
1861
|
-
required_balance: 0
|
|
1862
|
-
},
|
|
1863
|
-
error: null
|
|
1864
|
-
};
|
|
1865
|
-
}
|
|
1866
|
-
if (!params.featureId && !params.productId) {
|
|
1867
|
-
throw new Error("allowed() requires either featureId or productId");
|
|
1868
|
-
}
|
|
1869
|
-
let result;
|
|
1870
|
-
if (params.featureId)
|
|
1871
|
-
result = handleFeatureCheck({ customer, params, isEntity });
|
|
1872
|
-
if (params.productId)
|
|
1873
|
-
result = handleProductCheck({ customer, params, isEntity });
|
|
1874
|
-
return {
|
|
1875
|
-
data: result,
|
|
1876
|
-
error: null
|
|
1877
|
-
};
|
|
1878
|
-
};
|
|
1879
|
-
|
|
1880
1847
|
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
1881
1848
|
var useCustomerBase = ({
|
|
1882
1849
|
params,
|
|
@@ -1893,7 +1860,7 @@ var useCustomerBase = ({
|
|
|
1893
1860
|
if (!client) {
|
|
1894
1861
|
client = context.client;
|
|
1895
1862
|
}
|
|
1896
|
-
|
|
1863
|
+
const baseUrl = client?.backendUrl || "";
|
|
1897
1864
|
const queryKey = ["customer", baseUrl, params?.expand];
|
|
1898
1865
|
const fetchCustomer = async () => {
|
|
1899
1866
|
const { data, error: error2 } = await client.createCustomer({
|
|
@@ -1914,11 +1881,10 @@ var useCustomerBase = ({
|
|
|
1914
1881
|
isLoading,
|
|
1915
1882
|
mutate
|
|
1916
1883
|
} = (0, import_swr2.default)(queryKey, fetchCustomer, {
|
|
1917
|
-
fallbackData: null,
|
|
1918
1884
|
// Default to 5 minutes
|
|
1885
|
+
fallbackData: null,
|
|
1919
1886
|
swrConfig: {
|
|
1920
1887
|
shouldRetryOnError: false,
|
|
1921
|
-
// refreshInterval: 1000 * 60 * 5,
|
|
1922
1888
|
refreshInterval: 0,
|
|
1923
1889
|
...params?.swrConfig
|
|
1924
1890
|
}
|
|
@@ -1928,8 +1894,6 @@ var useCustomerBase = ({
|
|
|
1928
1894
|
client,
|
|
1929
1895
|
refetchCustomer: mutate
|
|
1930
1896
|
});
|
|
1931
|
-
(0, import_react3.useEffect)(() => {
|
|
1932
|
-
}, [context?.paywallRef.current]);
|
|
1933
1897
|
return {
|
|
1934
1898
|
customer: error ? null : customer,
|
|
1935
1899
|
isLoading,
|
|
@@ -1963,7 +1927,7 @@ function BaseAutumnProvider({
|
|
|
1963
1927
|
children,
|
|
1964
1928
|
AutumnContext: AutumnContext2
|
|
1965
1929
|
}) {
|
|
1966
|
-
const [components, setComponents] = (0,
|
|
1930
|
+
const [components, setComponents] = (0, import_react4.useState)({});
|
|
1967
1931
|
const [paywallProps, setPaywallProps, paywallOpen, setPaywallOpen] = useDialog(components.paywallDialog);
|
|
1968
1932
|
const [
|
|
1969
1933
|
productChangeProps,
|
|
@@ -1972,8 +1936,8 @@ function BaseAutumnProvider({
|
|
|
1972
1936
|
setProductChangeOpen
|
|
1973
1937
|
] = useDialog(components.productChangeDialog);
|
|
1974
1938
|
useCustomerBase({ client, params: { errorOnNotFound: false } });
|
|
1975
|
-
const paywallRef = (0,
|
|
1976
|
-
const [refresh, setRefresh] = (0,
|
|
1939
|
+
const paywallRef = (0, import_react3.useRef)(null);
|
|
1940
|
+
const [refresh, setRefresh] = (0, import_react4.useState)(0);
|
|
1977
1941
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
1978
1942
|
AutumnContext2.Provider,
|
|
1979
1943
|
{
|
|
@@ -2104,15 +2068,6 @@ var ConvexAutumnClient = class {
|
|
|
2104
2068
|
};
|
|
2105
2069
|
}
|
|
2106
2070
|
}
|
|
2107
|
-
async getPricingTable() {
|
|
2108
|
-
return {
|
|
2109
|
-
data: null,
|
|
2110
|
-
error: new AutumnError({
|
|
2111
|
-
message: "getPricingTable not yet implemented for Convex",
|
|
2112
|
-
code: "not_implemented"
|
|
2113
|
-
})
|
|
2114
|
-
};
|
|
2115
|
-
}
|
|
2116
2071
|
// Core methods that wrap Convex actions
|
|
2117
2072
|
attach = async (args) => {
|
|
2118
2073
|
try {
|