autumn-js 0.1.34 → 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 +389 -133
- package/dist/libraries/backend/better-auth.mjs +250 -100
- package/dist/libraries/backend/{chunk-F3S66STP.mjs → chunk-35N7BIAE.mjs} +45 -1
- package/dist/libraries/backend/{chunk-WBHGLFLE.mjs → chunk-4MEEJLXG.mjs} +6 -6
- package/dist/libraries/backend/{chunk-SVTPC45F.mjs → chunk-LOSIWWM2.mjs} +1 -1
- package/dist/libraries/backend/{chunk-7OEFNFGZ.mjs → chunk-MHIUO3ST.mjs} +1 -1
- package/dist/libraries/backend/{chunk-SRHT6RDB.mjs → chunk-PO4EL4BW.mjs} +9 -27
- package/dist/libraries/backend/{chunk-ENRZQDOT.mjs → chunk-QOJMX7ML.mjs} +2 -25
- package/dist/libraries/backend/chunk-SRJD6EXQ.mjs +104 -0
- package/dist/libraries/backend/{chunk-D5C5Q5FZ.mjs → chunk-USQ76FYI.mjs} +1 -1
- package/dist/libraries/backend/convex.js +52 -43
- package/dist/libraries/backend/convex.mjs +7 -7
- package/dist/libraries/backend/elysia.js +53 -62
- package/dist/libraries/backend/elysia.mjs +10 -28
- package/dist/libraries/backend/express.js +52 -43
- package/dist/libraries/backend/express.mjs +7 -7
- package/dist/libraries/backend/fastify.js +52 -43
- package/dist/libraries/backend/fastify.mjs +7 -7
- package/dist/libraries/backend/hono.js +52 -43
- package/dist/libraries/backend/hono.mjs +7 -7
- package/dist/libraries/backend/index.js +52 -43
- package/dist/libraries/backend/index.mjs +7 -7
- package/dist/libraries/backend/next.js +52 -43
- package/dist/libraries/backend/next.mjs +7 -7
- package/dist/libraries/backend/react-router.js +52 -43
- package/dist/libraries/backend/react-router.mjs +7 -7
- package/dist/libraries/backend/remix_dep.js +52 -43
- package/dist/libraries/backend/remix_dep.mjs +7 -7
- package/dist/libraries/backend/routes/backendRouter.js +52 -43
- package/dist/libraries/backend/routes/backendRouter.mjs +7 -7
- package/dist/libraries/backend/routes/entityRoutes.js +44 -17
- package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/genRoutes.js +57 -48
- package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/productRoutes.js +44 -17
- package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/referralRoutes.js +44 -17
- package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
- package/dist/libraries/backend/supabase.js +52 -43
- package/dist/libraries/backend/supabase.mjs +7 -7
- package/dist/libraries/backend/tanstack.js +52 -43
- package/dist/libraries/backend/tanstack.mjs +7 -7
- package/dist/libraries/backend/utils/backendRes.js +1 -17
- 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.js +44 -17
- 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 +32 -81
- 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 +201 -254
- 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 +201 -263
- 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-NPPSXTRQ.mjs → chunk-2LZIBRD4.mjs} +2 -2
- package/dist/libraries/react/{chunk-FAG5HHVM.mjs → chunk-4KLTPVNG.mjs} +2 -2
- package/dist/libraries/react/{chunk-HNWWFCOW.mjs → chunk-4QVAJKUF.mjs} +1 -1
- package/dist/libraries/react/{chunk-GM7LHHFX.mjs → chunk-4YM2QKRI.mjs} +5 -9
- package/dist/libraries/react/{chunk-IMAERZCR.mjs → chunk-5LRBYZUD.mjs} +1 -1
- package/dist/libraries/react/{chunk-OLMAXT44.mjs → chunk-5OBFJVZC.mjs} +19 -19
- package/dist/libraries/react/{chunk-AHIEANFE.mjs → chunk-5TLRC3ED.mjs} +17 -17
- package/dist/libraries/react/{chunk-R6KU3V35.mjs → chunk-7FMBA5I4.mjs} +2 -2
- package/dist/libraries/react/{chunk-MJGGWQ7J.mjs → chunk-7T7IOMAA.mjs} +2 -2
- package/dist/libraries/react/{chunk-QUXQNE4G.mjs → chunk-7YNNQGHZ.mjs} +1 -1
- package/dist/libraries/react/{chunk-QTDNLHRG.mjs → chunk-AUZMXLNB.mjs} +1 -1
- package/dist/libraries/react/{chunk-QFOYSJQW.mjs → chunk-C3G5RW3Q.mjs} +6 -6
- package/dist/libraries/react/{chunk-CM5UZD2G.mjs → chunk-FL4H464X.mjs} +4 -4
- package/dist/libraries/react/{chunk-SIYKVK6T.mjs → chunk-FW7AQFVX.mjs} +1 -1
- package/dist/libraries/react/{chunk-RQFIIPL2.mjs → chunk-HN7ULWIM.mjs} +1 -1
- package/dist/libraries/react/chunk-LS2RW6JG.mjs +51 -0
- package/dist/libraries/react/{chunk-KCO4V65K.mjs → chunk-MHAXHLX4.mjs} +6 -6
- package/dist/libraries/react/{chunk-ZF2HUCN6.mjs → chunk-OYBOLAL5.mjs} +2 -7
- package/dist/libraries/react/{chunk-L2DI44KG.mjs → chunk-P4GHLIEZ.mjs} +450 -452
- package/dist/libraries/react/{chunk-YLBFGNCO.mjs → chunk-Q7LVAQ5K.mjs} +2 -2
- package/dist/libraries/react/{chunk-ATGLJHUN.mjs → chunk-QEWVBDWJ.mjs} +1 -1
- package/dist/libraries/react/{chunk-C4Z4C6RL.mjs → chunk-RNIUZGWU.mjs} +2 -2
- package/dist/libraries/react/{chunk-5LYLN4C2.mjs → chunk-SFOIZTAS.mjs} +1 -17
- package/dist/libraries/react/{chunk-ZV4RPZTM.mjs → chunk-SUENW2KS.mjs} +2 -7
- package/dist/libraries/react/{chunk-RMTUAI3D.mjs → chunk-WSX7HWKQ.mjs} +4 -3
- package/dist/libraries/react/{chunk-SJKUKNBU.mjs → chunk-YKJYGNXR.mjs} +1 -1
- package/dist/libraries/react/{chunk-P4QKFNVY.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 +1 -26
- 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 +32 -81
- 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 +14 -17
- 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 +285 -338
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.mjs +32 -34
- 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 +81 -131
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.mjs +32 -34
- 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 +484 -537
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +32 -34
- 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/accordion.mjs +3 -3
- 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/dialog.mjs +4 -4
- 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 +5 -5
- 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/components/ui/switch.mjs +3 -3
- 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 +1 -17
- 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 +1 -17
- 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 +32 -81
- 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 +181 -234
- 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 +197 -250
- 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 +33 -81
- 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 +33 -81
- 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 +32 -81
- 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 +32 -81
- 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 +1 -17
- 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 +489 -550
- package/dist/libraries/react/index.mjs +461 -522
- 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 +10 -8
- package/dist/next/server/cusActions.d.ts +10 -8
- 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.js +1 -1
- package/dist/sdk/index.mjs +1 -1
- package/dist/utils/encryptUtils.js +1 -17
- package/dist/utils/encryptUtils.mjs +1 -17
- 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-4XU63W7I.mjs → chunk-2GEDBGON.mjs} +11 -11
|
@@ -36,23 +36,6 @@ __export(useCustomerBase_exports, {
|
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(useCustomerBase_exports);
|
|
38
38
|
var import_swr2 = __toESM(require("swr"));
|
|
39
|
-
var import_react2 = require("react");
|
|
40
|
-
|
|
41
|
-
// src/libraries/react/errorUtils/logAuthError.ts
|
|
42
|
-
var logAuthError = async (response) => {
|
|
43
|
-
if (response.status === 401) {
|
|
44
|
-
let clonedResponse = response.clone();
|
|
45
|
-
let data = await clonedResponse.json();
|
|
46
|
-
if (data.message.includes("Missing authorization header")) {
|
|
47
|
-
console.error(`[Autumn] Missing authorization header.
|
|
48
|
-
|
|
49
|
-
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
50
|
-
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return false;
|
|
55
|
-
};
|
|
56
39
|
|
|
57
40
|
// src/sdk/error.ts
|
|
58
41
|
var AutumnError = class _AutumnError extends Error {
|
|
@@ -368,14 +351,6 @@ var toContainerResult = async ({
|
|
|
368
351
|
}
|
|
369
352
|
} catch (error2) {
|
|
370
353
|
throw error2;
|
|
371
|
-
return {
|
|
372
|
-
data: null,
|
|
373
|
-
error: new AutumnError({
|
|
374
|
-
message: "Failed to parse JSON response from Autumn",
|
|
375
|
-
code: "internal_error"
|
|
376
|
-
}),
|
|
377
|
-
statusCode: response.status
|
|
378
|
-
};
|
|
379
354
|
}
|
|
380
355
|
return {
|
|
381
356
|
data: null,
|
|
@@ -387,7 +362,7 @@ var toContainerResult = async ({
|
|
|
387
362
|
};
|
|
388
363
|
}
|
|
389
364
|
try {
|
|
390
|
-
|
|
365
|
+
const data = await response.json();
|
|
391
366
|
return {
|
|
392
367
|
data,
|
|
393
368
|
error: null,
|
|
@@ -395,14 +370,6 @@ var toContainerResult = async ({
|
|
|
395
370
|
};
|
|
396
371
|
} catch (error) {
|
|
397
372
|
throw error;
|
|
398
|
-
return {
|
|
399
|
-
data: null,
|
|
400
|
-
error: new AutumnError({
|
|
401
|
-
message: "Failed to parse Autumn API response",
|
|
402
|
-
code: "internal_error"
|
|
403
|
-
}),
|
|
404
|
-
statusCode: response?.status
|
|
405
|
-
};
|
|
406
373
|
}
|
|
407
374
|
};
|
|
408
375
|
|
|
@@ -1017,6 +984,169 @@ var FeatureSchema = import_v48.z.object({
|
|
|
1017
984
|
archived: import_v48.z.boolean()
|
|
1018
985
|
});
|
|
1019
986
|
|
|
987
|
+
// src/libraries/react/hooks/helpers/handleCheck.ts
|
|
988
|
+
var getCusFeature = ({
|
|
989
|
+
customer,
|
|
990
|
+
featureId,
|
|
991
|
+
requiredBalance = 1
|
|
992
|
+
}) => {
|
|
993
|
+
let cusFeature = customer.features[featureId];
|
|
994
|
+
if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
|
|
995
|
+
return {
|
|
996
|
+
cusFeature,
|
|
997
|
+
requiredBalance
|
|
998
|
+
};
|
|
999
|
+
}
|
|
1000
|
+
let creditSchema = Object.values(customer.features).find(
|
|
1001
|
+
(f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
|
|
1002
|
+
);
|
|
1003
|
+
if (creditSchema) {
|
|
1004
|
+
let schemaItem = creditSchema.credit_schema?.find(
|
|
1005
|
+
(c) => c.feature_id === featureId
|
|
1006
|
+
);
|
|
1007
|
+
return {
|
|
1008
|
+
cusFeature: creditSchema,
|
|
1009
|
+
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1010
|
+
};
|
|
1011
|
+
}
|
|
1012
|
+
return {
|
|
1013
|
+
cusFeature: customer.features[featureId],
|
|
1014
|
+
requiredBalance
|
|
1015
|
+
};
|
|
1016
|
+
};
|
|
1017
|
+
var getFeatureAllowed = ({
|
|
1018
|
+
cusFeature,
|
|
1019
|
+
requiredBalance
|
|
1020
|
+
}) => {
|
|
1021
|
+
if (!cusFeature) return false;
|
|
1022
|
+
if (cusFeature.type == "static") return true;
|
|
1023
|
+
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1024
|
+
if (cusFeature.usage_limit) {
|
|
1025
|
+
let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
|
|
1026
|
+
return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
|
|
1027
|
+
}
|
|
1028
|
+
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1029
|
+
};
|
|
1030
|
+
var handleFeatureCheck = ({
|
|
1031
|
+
customer,
|
|
1032
|
+
isEntity,
|
|
1033
|
+
params
|
|
1034
|
+
}) => {
|
|
1035
|
+
let { cusFeature, requiredBalance } = getCusFeature({
|
|
1036
|
+
customer,
|
|
1037
|
+
featureId: params.featureId,
|
|
1038
|
+
...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
|
|
1039
|
+
});
|
|
1040
|
+
let allowed = getFeatureAllowed({
|
|
1041
|
+
cusFeature,
|
|
1042
|
+
requiredBalance: requiredBalance ?? 1
|
|
1043
|
+
});
|
|
1044
|
+
let result = {
|
|
1045
|
+
allowed,
|
|
1046
|
+
feature_id: cusFeature?.id ?? params.featureId,
|
|
1047
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1048
|
+
required_balance: requiredBalance,
|
|
1049
|
+
...cusFeature
|
|
1050
|
+
};
|
|
1051
|
+
if (isEntity) {
|
|
1052
|
+
result.entity_id = customer.id;
|
|
1053
|
+
}
|
|
1054
|
+
try {
|
|
1055
|
+
return CheckFeatureResultSchema.parse(result);
|
|
1056
|
+
} catch (error) {
|
|
1057
|
+
return result;
|
|
1058
|
+
}
|
|
1059
|
+
};
|
|
1060
|
+
var handleProductCheck = ({
|
|
1061
|
+
customer,
|
|
1062
|
+
isEntity,
|
|
1063
|
+
params
|
|
1064
|
+
}) => {
|
|
1065
|
+
let product = customer.products.find((p) => p.id == params.productId);
|
|
1066
|
+
let allowed = product?.status === "active";
|
|
1067
|
+
let result = {
|
|
1068
|
+
allowed,
|
|
1069
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1070
|
+
product_id: params.productId
|
|
1071
|
+
};
|
|
1072
|
+
if (product) {
|
|
1073
|
+
result.status = product.status;
|
|
1074
|
+
}
|
|
1075
|
+
if (isEntity) {
|
|
1076
|
+
result.entity_id = customer.id;
|
|
1077
|
+
}
|
|
1078
|
+
return result;
|
|
1079
|
+
};
|
|
1080
|
+
var openDialog = ({
|
|
1081
|
+
result,
|
|
1082
|
+
params,
|
|
1083
|
+
context
|
|
1084
|
+
}) => {
|
|
1085
|
+
let open = result?.allowed === false && params.dialog && context;
|
|
1086
|
+
if (!open) return;
|
|
1087
|
+
const isInRenderCycle = (() => {
|
|
1088
|
+
const stack = new Error().stack || "";
|
|
1089
|
+
return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
|
|
1090
|
+
})();
|
|
1091
|
+
if (isInRenderCycle) {
|
|
1092
|
+
context.paywallRef.current = {
|
|
1093
|
+
component: params.dialog,
|
|
1094
|
+
open: true,
|
|
1095
|
+
props: params
|
|
1096
|
+
};
|
|
1097
|
+
} else {
|
|
1098
|
+
context.paywallDialog.setComponent(params.dialog);
|
|
1099
|
+
context.paywallDialog.setProps(params);
|
|
1100
|
+
context.paywallDialog.setOpen(true);
|
|
1101
|
+
}
|
|
1102
|
+
};
|
|
1103
|
+
var handleCheck2 = ({
|
|
1104
|
+
customer,
|
|
1105
|
+
isEntity,
|
|
1106
|
+
params,
|
|
1107
|
+
context
|
|
1108
|
+
}) => {
|
|
1109
|
+
if (!customer) {
|
|
1110
|
+
return {
|
|
1111
|
+
data: {
|
|
1112
|
+
allowed: false,
|
|
1113
|
+
feature_id: "",
|
|
1114
|
+
customer_id: "",
|
|
1115
|
+
required_balance: 0
|
|
1116
|
+
},
|
|
1117
|
+
error: null
|
|
1118
|
+
};
|
|
1119
|
+
}
|
|
1120
|
+
if (!params.featureId && !params.productId) {
|
|
1121
|
+
throw new Error("allowed() requires either featureId or productId");
|
|
1122
|
+
}
|
|
1123
|
+
let result;
|
|
1124
|
+
if (params.featureId)
|
|
1125
|
+
result = handleFeatureCheck({ customer, params, isEntity });
|
|
1126
|
+
if (params.productId)
|
|
1127
|
+
result = handleProductCheck({ customer, params, isEntity });
|
|
1128
|
+
return {
|
|
1129
|
+
data: result,
|
|
1130
|
+
error: null
|
|
1131
|
+
};
|
|
1132
|
+
};
|
|
1133
|
+
|
|
1134
|
+
// src/libraries/react/errorUtils/logAuthError.ts
|
|
1135
|
+
var logAuthError = async (response) => {
|
|
1136
|
+
if (response.status === 401) {
|
|
1137
|
+
let clonedResponse = response.clone();
|
|
1138
|
+
let data = await clonedResponse.json();
|
|
1139
|
+
if (data.message.includes("Missing authorization header")) {
|
|
1140
|
+
console.error(`[Autumn] Missing authorization header.
|
|
1141
|
+
|
|
1142
|
+
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
1143
|
+
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
1144
|
+
return true;
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
return false;
|
|
1148
|
+
};
|
|
1149
|
+
|
|
1020
1150
|
// src/libraries/react/errorUtils/logFetchError.ts
|
|
1021
1151
|
var logFetchError = ({
|
|
1022
1152
|
method,
|
|
@@ -1030,12 +1160,6 @@ var logFetchError = ({
|
|
|
1030
1160
|
2. Check that autumnHandler is correctly registered on your backend.`);
|
|
1031
1161
|
};
|
|
1032
1162
|
|
|
1033
|
-
// src/libraries/react/client/clientCompMethods.ts
|
|
1034
|
-
async function getPricingTableMethod() {
|
|
1035
|
-
const res = await this.get(`${this.prefix}/components/pricing_table`);
|
|
1036
|
-
return res;
|
|
1037
|
-
}
|
|
1038
|
-
|
|
1039
1163
|
// src/libraries/react/client/clientCusMethods.ts
|
|
1040
1164
|
var createCustomerMethod = async ({
|
|
1041
1165
|
client,
|
|
@@ -1045,27 +1169,6 @@ var createCustomerMethod = async ({
|
|
|
1045
1169
|
return result;
|
|
1046
1170
|
};
|
|
1047
1171
|
|
|
1048
|
-
// src/libraries/react/utils/toSnakeCase.ts
|
|
1049
|
-
function stringToSnakeCase(str) {
|
|
1050
|
-
return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase();
|
|
1051
|
-
}
|
|
1052
|
-
var toSnakeCase = (obj, excludeKeys) => {
|
|
1053
|
-
if (Array.isArray(obj)) {
|
|
1054
|
-
return obj.map((item) => toSnakeCase(item, excludeKeys));
|
|
1055
|
-
} else if (obj !== null && typeof obj === "object") {
|
|
1056
|
-
return Object.fromEntries(
|
|
1057
|
-
Object.entries(obj).map(([key, value]) => {
|
|
1058
|
-
const snakeKey = stringToSnakeCase(key);
|
|
1059
|
-
if (excludeKeys && excludeKeys.includes(key)) {
|
|
1060
|
-
return [snakeKey, value];
|
|
1061
|
-
}
|
|
1062
|
-
return [snakeKey, toSnakeCase(value, excludeKeys)];
|
|
1063
|
-
})
|
|
1064
|
-
);
|
|
1065
|
-
}
|
|
1066
|
-
return obj;
|
|
1067
|
-
};
|
|
1068
|
-
|
|
1069
1172
|
// src/utils/entityUtils.tsx
|
|
1070
1173
|
var getEntityExpandStr = (expand) => {
|
|
1071
1174
|
if (!expand) {
|
|
@@ -1076,13 +1179,11 @@ var getEntityExpandStr = (expand) => {
|
|
|
1076
1179
|
|
|
1077
1180
|
// src/libraries/react/client/clientEntityMethods.ts
|
|
1078
1181
|
async function createEntityMethod(params) {
|
|
1079
|
-
|
|
1080
|
-
const res = await this.post(`${this.prefix}/entities`, snakeParams);
|
|
1182
|
+
const res = await this.post(`${this.prefix}/entities`, params);
|
|
1081
1183
|
return res;
|
|
1082
1184
|
}
|
|
1083
1185
|
async function getEntityMethod(entityId, params) {
|
|
1084
|
-
|
|
1085
|
-
let expand = getEntityExpandStr(params?.expand);
|
|
1186
|
+
const expand = getEntityExpandStr(params?.expand);
|
|
1086
1187
|
const res = await this.get(`${this.prefix}/entities/${entityId}?${expand}`);
|
|
1087
1188
|
return res;
|
|
1088
1189
|
}
|
|
@@ -1093,44 +1194,39 @@ async function deleteEntityMethod(entityId) {
|
|
|
1093
1194
|
|
|
1094
1195
|
// src/libraries/react/client/clientGenMethods.ts
|
|
1095
1196
|
async function checkoutMethod(params) {
|
|
1096
|
-
|
|
1097
|
-
const res = await this.post(`${this.prefix}/checkout`, snakeParams);
|
|
1197
|
+
const res = await this.post(`${this.prefix}/checkout`, params);
|
|
1098
1198
|
return res;
|
|
1099
1199
|
}
|
|
1100
1200
|
async function attachMethod(params) {
|
|
1101
|
-
|
|
1102
|
-
const res = await this.post(`${this.prefix}/attach`, snakeParams);
|
|
1201
|
+
const res = await this.post(`${this.prefix}/attach`, params);
|
|
1103
1202
|
return res;
|
|
1104
1203
|
}
|
|
1105
1204
|
async function setupPaymentMethod(params) {
|
|
1106
|
-
|
|
1107
|
-
const res = await this.post(`${this.prefix}/setup_payment`, snakeParams);
|
|
1205
|
+
const res = await this.post(`${this.prefix}/setup_payment`, params);
|
|
1108
1206
|
return res;
|
|
1109
1207
|
}
|
|
1110
1208
|
async function cancelMethod(params) {
|
|
1111
|
-
|
|
1112
|
-
const res = await this.post(`${this.prefix}/cancel`, snakeParams);
|
|
1209
|
+
const res = await this.post(`${this.prefix}/cancel`, params);
|
|
1113
1210
|
return res;
|
|
1114
1211
|
}
|
|
1115
1212
|
async function checkMethod(params) {
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1213
|
+
const noDialogParams = {
|
|
1214
|
+
...params,
|
|
1215
|
+
dialog: void 0
|
|
1216
|
+
};
|
|
1217
|
+
const res = await this.post(`${this.prefix}/check`, noDialogParams);
|
|
1119
1218
|
return res;
|
|
1120
1219
|
}
|
|
1121
1220
|
async function trackMethod(params) {
|
|
1122
|
-
|
|
1123
|
-
const res = await this.post(`${this.prefix}/track`, snakeParams);
|
|
1221
|
+
const res = await this.post(`${this.prefix}/track`, params);
|
|
1124
1222
|
return res;
|
|
1125
1223
|
}
|
|
1126
1224
|
async function openBillingPortalMethod(params) {
|
|
1127
|
-
|
|
1128
|
-
const res = await this.post(`${this.prefix}/billing_portal`, snakeParams);
|
|
1225
|
+
const res = await this.post(`${this.prefix}/billing_portal`, params || {});
|
|
1129
1226
|
return res;
|
|
1130
1227
|
}
|
|
1131
1228
|
async function queryMethod(params) {
|
|
1132
|
-
|
|
1133
|
-
const res = await this.post(`${this.prefix}/query`, snakeParams);
|
|
1229
|
+
const res = await this.post(`${this.prefix}/query`, params);
|
|
1134
1230
|
return res;
|
|
1135
1231
|
}
|
|
1136
1232
|
|
|
@@ -1142,13 +1238,11 @@ async function listProductsMethod() {
|
|
|
1142
1238
|
|
|
1143
1239
|
// src/libraries/react/client/clientReferralMethods.ts
|
|
1144
1240
|
async function createCode(params) {
|
|
1145
|
-
|
|
1146
|
-
const res = await this.post(`${this.prefix}/referrals/code`, snakeParams);
|
|
1241
|
+
const res = await this.post(`${this.prefix}/referrals/code`, params);
|
|
1147
1242
|
return res;
|
|
1148
1243
|
}
|
|
1149
1244
|
async function redeemCode(params) {
|
|
1150
|
-
|
|
1151
|
-
const res = await this.post(`${this.prefix}/referrals/redeem`, snakeParams);
|
|
1245
|
+
const res = await this.post(`${this.prefix}/referrals/redeem`, params);
|
|
1152
1246
|
return res;
|
|
1153
1247
|
}
|
|
1154
1248
|
|
|
@@ -1159,7 +1253,9 @@ var AutumnClient = class {
|
|
|
1159
1253
|
customerData;
|
|
1160
1254
|
includeCredentials;
|
|
1161
1255
|
prefix;
|
|
1256
|
+
camelCase;
|
|
1162
1257
|
headers;
|
|
1258
|
+
framework;
|
|
1163
1259
|
constructor({
|
|
1164
1260
|
backendUrl,
|
|
1165
1261
|
getBearerToken,
|
|
@@ -1173,11 +1269,15 @@ var AutumnClient = class {
|
|
|
1173
1269
|
this.customerData = customerData;
|
|
1174
1270
|
this.includeCredentials = includeCredentials;
|
|
1175
1271
|
this.prefix = "/api/autumn";
|
|
1272
|
+
let camelCase = false;
|
|
1176
1273
|
if (betterAuthUrl) {
|
|
1177
1274
|
this.prefix = "/api/auth/autumn";
|
|
1178
1275
|
this.backendUrl = betterAuthUrl;
|
|
1276
|
+
camelCase = true;
|
|
1179
1277
|
}
|
|
1180
1278
|
this.headers = headers;
|
|
1279
|
+
if (betterAuthUrl) camelCase = true;
|
|
1280
|
+
this.camelCase = camelCase;
|
|
1181
1281
|
}
|
|
1182
1282
|
/**
|
|
1183
1283
|
* Detects if the backend supports CORS credentials by making an OPTIONS request
|
|
@@ -1195,7 +1295,7 @@ var AutumnClient = class {
|
|
|
1195
1295
|
body: JSON.stringify({})
|
|
1196
1296
|
});
|
|
1197
1297
|
return { valid: true, includeCredentials: true };
|
|
1198
|
-
} catch (
|
|
1298
|
+
} catch (_) {
|
|
1199
1299
|
try {
|
|
1200
1300
|
await fetch(testEndpoint, {
|
|
1201
1301
|
method: "POST",
|
|
@@ -1204,7 +1304,7 @@ var AutumnClient = class {
|
|
|
1204
1304
|
body: JSON.stringify({})
|
|
1205
1305
|
});
|
|
1206
1306
|
return { valid: true, includeCredentials: false };
|
|
1207
|
-
} catch (
|
|
1307
|
+
} catch (_2) {
|
|
1208
1308
|
return { valid: false, includeCredentials: void 0 };
|
|
1209
1309
|
}
|
|
1210
1310
|
}
|
|
@@ -1241,9 +1341,9 @@ var AutumnClient = class {
|
|
|
1241
1341
|
};
|
|
1242
1342
|
if (this.getBearerToken) {
|
|
1243
1343
|
try {
|
|
1244
|
-
|
|
1344
|
+
const token = await this.getBearerToken();
|
|
1245
1345
|
headers.Authorization = `Bearer ${token}`;
|
|
1246
|
-
} catch (
|
|
1346
|
+
} catch (_) {
|
|
1247
1347
|
console.error(`Failed to call getToken() in AutumnProvider`);
|
|
1248
1348
|
}
|
|
1249
1349
|
}
|
|
@@ -1257,15 +1357,15 @@ var AutumnClient = class {
|
|
|
1257
1357
|
method,
|
|
1258
1358
|
body
|
|
1259
1359
|
}) {
|
|
1260
|
-
body = method === "POST" ?
|
|
1360
|
+
body = method === "POST" ? {
|
|
1261
1361
|
...body,
|
|
1262
|
-
customer_data: this.customerData || void 0
|
|
1263
|
-
}
|
|
1362
|
+
[this.camelCase ? "customerData" : "customer_data"]: this.customerData || void 0
|
|
1363
|
+
} : void 0;
|
|
1264
1364
|
const includeCredentials = await this.shouldIncludeCredentials();
|
|
1265
1365
|
try {
|
|
1266
1366
|
const response = await fetch(`${this.backendUrl}${path}`, {
|
|
1267
1367
|
method,
|
|
1268
|
-
body,
|
|
1368
|
+
body: body ? JSON.stringify(body) : void 0,
|
|
1269
1369
|
headers: await this.getHeaders(),
|
|
1270
1370
|
credentials: includeCredentials ? "include" : "omit"
|
|
1271
1371
|
});
|
|
@@ -1285,7 +1385,7 @@ var AutumnClient = class {
|
|
|
1285
1385
|
return {
|
|
1286
1386
|
data: null,
|
|
1287
1387
|
error: new AutumnError({
|
|
1288
|
-
message: error.message,
|
|
1388
|
+
message: error instanceof Error ? error.message : JSON.stringify(error),
|
|
1289
1389
|
code: "fetch_failed"
|
|
1290
1390
|
})
|
|
1291
1391
|
};
|
|
@@ -1316,9 +1416,6 @@ var AutumnClient = class {
|
|
|
1316
1416
|
params
|
|
1317
1417
|
});
|
|
1318
1418
|
}
|
|
1319
|
-
async getPricingTable() {
|
|
1320
|
-
return await getPricingTableMethod.bind(this)();
|
|
1321
|
-
}
|
|
1322
1419
|
attach = attachMethod.bind(this);
|
|
1323
1420
|
checkout = checkoutMethod.bind(this);
|
|
1324
1421
|
cancel = cancelMethod.bind(this);
|
|
@@ -1726,153 +1823,6 @@ var useAutumnBase = ({
|
|
|
1726
1823
|
};
|
|
1727
1824
|
};
|
|
1728
1825
|
|
|
1729
|
-
// src/libraries/react/hooks/helpers/handleCheck.ts
|
|
1730
|
-
var getCusFeature = ({
|
|
1731
|
-
customer,
|
|
1732
|
-
featureId,
|
|
1733
|
-
requiredBalance = 1
|
|
1734
|
-
}) => {
|
|
1735
|
-
let cusFeature = customer.features[featureId];
|
|
1736
|
-
if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
|
|
1737
|
-
return {
|
|
1738
|
-
cusFeature,
|
|
1739
|
-
requiredBalance
|
|
1740
|
-
};
|
|
1741
|
-
}
|
|
1742
|
-
let creditSchema = Object.values(customer.features).find(
|
|
1743
|
-
(f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
|
|
1744
|
-
);
|
|
1745
|
-
if (creditSchema) {
|
|
1746
|
-
let schemaItem = creditSchema.credit_schema?.find(
|
|
1747
|
-
(c) => c.feature_id === featureId
|
|
1748
|
-
);
|
|
1749
|
-
return {
|
|
1750
|
-
cusFeature: creditSchema,
|
|
1751
|
-
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1752
|
-
};
|
|
1753
|
-
}
|
|
1754
|
-
return {
|
|
1755
|
-
cusFeature: customer.features[featureId],
|
|
1756
|
-
requiredBalance
|
|
1757
|
-
};
|
|
1758
|
-
};
|
|
1759
|
-
var getFeatureAllowed = ({
|
|
1760
|
-
cusFeature,
|
|
1761
|
-
requiredBalance
|
|
1762
|
-
}) => {
|
|
1763
|
-
if (!cusFeature) return false;
|
|
1764
|
-
if (cusFeature.type == "static") return true;
|
|
1765
|
-
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1766
|
-
if (cusFeature.usage_limit) {
|
|
1767
|
-
let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
|
|
1768
|
-
return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
|
|
1769
|
-
}
|
|
1770
|
-
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1771
|
-
};
|
|
1772
|
-
var handleFeatureCheck = ({
|
|
1773
|
-
customer,
|
|
1774
|
-
isEntity,
|
|
1775
|
-
params
|
|
1776
|
-
}) => {
|
|
1777
|
-
let { cusFeature, requiredBalance } = getCusFeature({
|
|
1778
|
-
customer,
|
|
1779
|
-
featureId: params.featureId,
|
|
1780
|
-
...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
|
|
1781
|
-
});
|
|
1782
|
-
let allowed = getFeatureAllowed({
|
|
1783
|
-
cusFeature,
|
|
1784
|
-
requiredBalance: requiredBalance ?? 1
|
|
1785
|
-
});
|
|
1786
|
-
let result = {
|
|
1787
|
-
allowed,
|
|
1788
|
-
feature_id: cusFeature?.id ?? params.featureId,
|
|
1789
|
-
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1790
|
-
required_balance: requiredBalance,
|
|
1791
|
-
...cusFeature
|
|
1792
|
-
};
|
|
1793
|
-
if (isEntity) {
|
|
1794
|
-
result.entity_id = customer.id;
|
|
1795
|
-
}
|
|
1796
|
-
try {
|
|
1797
|
-
return CheckFeatureResultSchema.parse(result);
|
|
1798
|
-
} catch (error) {
|
|
1799
|
-
return result;
|
|
1800
|
-
}
|
|
1801
|
-
};
|
|
1802
|
-
var handleProductCheck = ({
|
|
1803
|
-
customer,
|
|
1804
|
-
isEntity,
|
|
1805
|
-
params
|
|
1806
|
-
}) => {
|
|
1807
|
-
let product = customer.products.find((p) => p.id == params.productId);
|
|
1808
|
-
let allowed = product?.status === "active";
|
|
1809
|
-
let result = {
|
|
1810
|
-
allowed,
|
|
1811
|
-
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1812
|
-
product_id: params.productId
|
|
1813
|
-
};
|
|
1814
|
-
if (product) {
|
|
1815
|
-
result.status = product.status;
|
|
1816
|
-
}
|
|
1817
|
-
if (isEntity) {
|
|
1818
|
-
result.entity_id = customer.id;
|
|
1819
|
-
}
|
|
1820
|
-
return result;
|
|
1821
|
-
};
|
|
1822
|
-
var openDialog = ({
|
|
1823
|
-
result,
|
|
1824
|
-
params,
|
|
1825
|
-
context
|
|
1826
|
-
}) => {
|
|
1827
|
-
let open = result?.allowed === false && params.dialog && context;
|
|
1828
|
-
if (!open) return;
|
|
1829
|
-
const isInRenderCycle = (() => {
|
|
1830
|
-
const stack = new Error().stack || "";
|
|
1831
|
-
return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
|
|
1832
|
-
})();
|
|
1833
|
-
if (isInRenderCycle) {
|
|
1834
|
-
context.paywallRef.current = {
|
|
1835
|
-
component: params.dialog,
|
|
1836
|
-
open: true,
|
|
1837
|
-
props: params
|
|
1838
|
-
};
|
|
1839
|
-
} else {
|
|
1840
|
-
context.paywallDialog.setComponent(params.dialog);
|
|
1841
|
-
context.paywallDialog.setProps(params);
|
|
1842
|
-
context.paywallDialog.setOpen(true);
|
|
1843
|
-
}
|
|
1844
|
-
};
|
|
1845
|
-
var handleCheck2 = ({
|
|
1846
|
-
customer,
|
|
1847
|
-
isEntity,
|
|
1848
|
-
params,
|
|
1849
|
-
context
|
|
1850
|
-
}) => {
|
|
1851
|
-
if (!customer) {
|
|
1852
|
-
return {
|
|
1853
|
-
data: {
|
|
1854
|
-
allowed: false,
|
|
1855
|
-
feature_id: "",
|
|
1856
|
-
customer_id: "",
|
|
1857
|
-
required_balance: 0
|
|
1858
|
-
},
|
|
1859
|
-
error: null
|
|
1860
|
-
};
|
|
1861
|
-
}
|
|
1862
|
-
if (!params.featureId && !params.productId) {
|
|
1863
|
-
throw new Error("allowed() requires either featureId or productId");
|
|
1864
|
-
}
|
|
1865
|
-
let result;
|
|
1866
|
-
if (params.featureId)
|
|
1867
|
-
result = handleFeatureCheck({ customer, params, isEntity });
|
|
1868
|
-
if (params.productId)
|
|
1869
|
-
result = handleProductCheck({ customer, params, isEntity });
|
|
1870
|
-
return {
|
|
1871
|
-
data: result,
|
|
1872
|
-
error: null
|
|
1873
|
-
};
|
|
1874
|
-
};
|
|
1875
|
-
|
|
1876
1826
|
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
1877
1827
|
var useCustomerBase = ({
|
|
1878
1828
|
params,
|
|
@@ -1889,7 +1839,7 @@ var useCustomerBase = ({
|
|
|
1889
1839
|
if (!client) {
|
|
1890
1840
|
client = context.client;
|
|
1891
1841
|
}
|
|
1892
|
-
|
|
1842
|
+
const baseUrl = client?.backendUrl || "";
|
|
1893
1843
|
const queryKey = ["customer", baseUrl, params?.expand];
|
|
1894
1844
|
const fetchCustomer = async () => {
|
|
1895
1845
|
const { data, error: error2 } = await client.createCustomer({
|
|
@@ -1910,11 +1860,10 @@ var useCustomerBase = ({
|
|
|
1910
1860
|
isLoading,
|
|
1911
1861
|
mutate
|
|
1912
1862
|
} = (0, import_swr2.default)(queryKey, fetchCustomer, {
|
|
1913
|
-
fallbackData: null,
|
|
1914
1863
|
// Default to 5 minutes
|
|
1864
|
+
fallbackData: null,
|
|
1915
1865
|
swrConfig: {
|
|
1916
1866
|
shouldRetryOnError: false,
|
|
1917
|
-
// refreshInterval: 1000 * 60 * 5,
|
|
1918
1867
|
refreshInterval: 0,
|
|
1919
1868
|
...params?.swrConfig
|
|
1920
1869
|
}
|
|
@@ -1924,8 +1873,6 @@ var useCustomerBase = ({
|
|
|
1924
1873
|
client,
|
|
1925
1874
|
refetchCustomer: mutate
|
|
1926
1875
|
});
|
|
1927
|
-
(0, import_react2.useEffect)(() => {
|
|
1928
|
-
}, [context?.paywallRef.current]);
|
|
1929
1876
|
return {
|
|
1930
1877
|
customer: error ? null : customer,
|
|
1931
1878
|
isLoading,
|
|
@@ -2,22 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
useCustomerBase
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-4YM2QKRI.mjs";
|
|
6
|
+
import "../chunk-7YNNQGHZ.mjs";
|
|
7
|
+
import "../chunk-AUZMXLNB.mjs";
|
|
8
|
+
import "../chunk-5LRBYZUD.mjs";
|
|
9
|
+
import "../chunk-YKJYGNXR.mjs";
|
|
10
|
+
import "../chunk-5OBFJVZC.mjs";
|
|
11
11
|
import "../chunk-JVCOY7ZL.mjs";
|
|
12
12
|
import "../chunk-CIBQ4BJU.mjs";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-LS2RW6JG.mjs";
|
|
14
14
|
import "../chunk-V575SGOW.mjs";
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-VTGR7VVK.mjs";
|
|
15
|
+
import "../chunk-SUENW2KS.mjs";
|
|
16
|
+
import "../chunk-SFOIZTAS.mjs";
|
|
18
17
|
import "../chunk-WFFVOEUG.mjs";
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-KQT5G3HT.mjs";
|
|
18
|
+
import "../chunk-OYBOLAL5.mjs";
|
|
21
19
|
export {
|
|
22
20
|
useCustomerBase
|
|
23
21
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { AttachParams } from '../client/types/clientAttachTypes.mjs';
|
|
2
2
|
import { CheckParams, CancelParams, TrackParams } from '../client/types/clientGenTypes.mjs';
|
|
3
3
|
import * as swr from 'swr';
|
|
4
|
-
import { a as CheckResult } from '../genTypes-
|
|
5
|
-
import { E as Entity, A as AutumnPromise } from '../entTypes-
|
|
4
|
+
import { a as CheckResult } from '../genTypes-B5_6Pu_4.mjs';
|
|
5
|
+
import { E as Entity, A as AutumnPromise } from '../entTypes-35x0LnYH.mjs';
|
|
6
6
|
import { GetEntityParams } from '../client/types/clientEntTypes.mjs';
|
|
7
7
|
import 'zod/v4';
|
|
8
|
-
import '../prodTypes-
|
|
8
|
+
import '../prodTypes-C4aZSZfO.mjs';
|
|
9
9
|
import '../error-DHbclCVh.mjs';
|
|
10
|
-
import '../cusTypes-
|
|
10
|
+
import '../cusTypes-RU0fmR-t.mjs';
|
|
11
11
|
|
|
12
12
|
declare const useEntity: (entityId: string | null, params?: GetEntityParams) => {
|
|
13
13
|
entity: Entity | null;
|