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
|
@@ -287,7 +287,8 @@ var productMethods = (instance) => {
|
|
|
287
287
|
return {
|
|
288
288
|
get: (id) => staticWrapper(getProduct, instance, { id }),
|
|
289
289
|
create: (params) => staticWrapper(createProduct, instance, { params }),
|
|
290
|
-
list: (params) => staticWrapper(listProducts, instance, { params })
|
|
290
|
+
list: (params) => staticWrapper(listProducts, instance, { params }),
|
|
291
|
+
delete: (id) => staticWrapper(deleteProduct, instance, { id })
|
|
291
292
|
};
|
|
292
293
|
};
|
|
293
294
|
var listProducts = async ({
|
|
@@ -321,6 +322,14 @@ var createProduct = async ({
|
|
|
321
322
|
}) => {
|
|
322
323
|
return instance.post("/products", params);
|
|
323
324
|
};
|
|
325
|
+
var deleteProduct = async ({
|
|
326
|
+
instance,
|
|
327
|
+
id,
|
|
328
|
+
params
|
|
329
|
+
}) => {
|
|
330
|
+
const path = buildPathWithQuery(`/products/${id}`, params);
|
|
331
|
+
return instance.delete(path);
|
|
332
|
+
};
|
|
324
333
|
|
|
325
334
|
// src/sdk/referrals/referralMethods.ts
|
|
326
335
|
var referralMethods = (instance) => {
|
|
@@ -357,14 +366,6 @@ var toContainerResult = async ({
|
|
|
357
366
|
}
|
|
358
367
|
} catch (error2) {
|
|
359
368
|
throw error2;
|
|
360
|
-
return {
|
|
361
|
-
data: null,
|
|
362
|
-
error: new AutumnError({
|
|
363
|
-
message: "Failed to parse JSON response from Autumn",
|
|
364
|
-
code: "internal_error"
|
|
365
|
-
}),
|
|
366
|
-
statusCode: response.status
|
|
367
|
-
};
|
|
368
369
|
}
|
|
369
370
|
return {
|
|
370
371
|
data: null,
|
|
@@ -376,7 +377,7 @@ var toContainerResult = async ({
|
|
|
376
377
|
};
|
|
377
378
|
}
|
|
378
379
|
try {
|
|
379
|
-
|
|
380
|
+
const data = await response.json();
|
|
380
381
|
return {
|
|
381
382
|
data,
|
|
382
383
|
error: null,
|
|
@@ -384,14 +385,6 @@ var toContainerResult = async ({
|
|
|
384
385
|
};
|
|
385
386
|
} catch (error) {
|
|
386
387
|
throw error;
|
|
387
|
-
return {
|
|
388
|
-
data: null,
|
|
389
|
-
error: new AutumnError({
|
|
390
|
-
message: "Failed to parse Autumn API response",
|
|
391
|
-
code: "internal_error"
|
|
392
|
-
}),
|
|
393
|
-
statusCode: response?.status
|
|
394
|
-
};
|
|
395
388
|
}
|
|
396
389
|
};
|
|
397
390
|
|
|
@@ -435,7 +428,8 @@ var logger = {
|
|
|
435
428
|
// src/sdk/features/featureMethods.ts
|
|
436
429
|
var featureMethods = (instance) => {
|
|
437
430
|
return {
|
|
438
|
-
list: () => staticWrapper(listFeatures, instance, {})
|
|
431
|
+
list: () => staticWrapper(listFeatures, instance, {}),
|
|
432
|
+
get: (id) => staticWrapper(getFeature, instance, { id })
|
|
439
433
|
};
|
|
440
434
|
};
|
|
441
435
|
var listFeatures = async ({
|
|
@@ -457,6 +451,12 @@ var listFeatures = async ({
|
|
|
457
451
|
}
|
|
458
452
|
return instance.get(path);
|
|
459
453
|
};
|
|
454
|
+
var getFeature = async ({
|
|
455
|
+
instance,
|
|
456
|
+
id
|
|
457
|
+
}) => {
|
|
458
|
+
return instance.get(`/features/${id}`);
|
|
459
|
+
};
|
|
460
460
|
|
|
461
461
|
// src/sdk/client.ts
|
|
462
462
|
var LATEST_API_VERSION = "1.2";
|
|
@@ -974,7 +974,7 @@ var CheckoutParamsSchema = import_v47.z.object({
|
|
|
974
974
|
});
|
|
975
975
|
|
|
976
976
|
// src/sdk/features/featureTypes.ts
|
|
977
|
-
var
|
|
977
|
+
var import_v48 = require("zod/v4");
|
|
978
978
|
var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
|
|
979
979
|
FeatureType2["Boolean"] = "boolean";
|
|
980
980
|
FeatureType2["SingleUse"] = "single_use";
|
|
@@ -982,20 +982,21 @@ var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
|
|
|
982
982
|
FeatureType2["CreditSystem"] = "credit_system";
|
|
983
983
|
return FeatureType2;
|
|
984
984
|
})(FeatureType || {});
|
|
985
|
-
var FeatureSchema =
|
|
986
|
-
id:
|
|
987
|
-
name:
|
|
988
|
-
type:
|
|
989
|
-
display:
|
|
990
|
-
singular:
|
|
991
|
-
plural:
|
|
985
|
+
var FeatureSchema = import_v48.z.object({
|
|
986
|
+
id: import_v48.z.string(),
|
|
987
|
+
name: import_v48.z.string(),
|
|
988
|
+
type: import_v48.z.enum(FeatureType),
|
|
989
|
+
display: import_v48.z.object({
|
|
990
|
+
singular: import_v48.z.string(),
|
|
991
|
+
plural: import_v48.z.string()
|
|
992
992
|
}).nullish(),
|
|
993
|
-
credit_schema:
|
|
994
|
-
|
|
995
|
-
metered_feature_id:
|
|
996
|
-
credit_cost:
|
|
993
|
+
credit_schema: import_v48.z.array(
|
|
994
|
+
import_v48.z.object({
|
|
995
|
+
metered_feature_id: import_v48.z.string(),
|
|
996
|
+
credit_cost: import_v48.z.number()
|
|
997
997
|
})
|
|
998
|
-
).nullish()
|
|
998
|
+
).nullish(),
|
|
999
|
+
archived: import_v48.z.boolean()
|
|
999
1000
|
});
|
|
1000
1001
|
|
|
1001
1002
|
// src/libraries/react/errorUtils/logFetchError.ts
|
|
@@ -1011,12 +1012,6 @@ var logFetchError = ({
|
|
|
1011
1012
|
2. Check that autumnHandler is correctly registered on your backend.`);
|
|
1012
1013
|
};
|
|
1013
1014
|
|
|
1014
|
-
// src/libraries/react/client/clientCompMethods.ts
|
|
1015
|
-
async function getPricingTableMethod() {
|
|
1016
|
-
const res = await this.get(`${this.prefix}/components/pricing_table`);
|
|
1017
|
-
return res;
|
|
1018
|
-
}
|
|
1019
|
-
|
|
1020
1015
|
// src/libraries/react/client/clientCusMethods.ts
|
|
1021
1016
|
var createCustomerMethod = async ({
|
|
1022
1017
|
client,
|
|
@@ -1026,27 +1021,6 @@ var createCustomerMethod = async ({
|
|
|
1026
1021
|
return result;
|
|
1027
1022
|
};
|
|
1028
1023
|
|
|
1029
|
-
// src/libraries/react/utils/toSnakeCase.ts
|
|
1030
|
-
function stringToSnakeCase(str) {
|
|
1031
|
-
return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase();
|
|
1032
|
-
}
|
|
1033
|
-
var toSnakeCase = (obj, excludeKeys) => {
|
|
1034
|
-
if (Array.isArray(obj)) {
|
|
1035
|
-
return obj.map((item) => toSnakeCase(item, excludeKeys));
|
|
1036
|
-
} else if (obj !== null && typeof obj === "object") {
|
|
1037
|
-
return Object.fromEntries(
|
|
1038
|
-
Object.entries(obj).map(([key, value]) => {
|
|
1039
|
-
const snakeKey = stringToSnakeCase(key);
|
|
1040
|
-
if (excludeKeys && excludeKeys.includes(key)) {
|
|
1041
|
-
return [snakeKey, value];
|
|
1042
|
-
}
|
|
1043
|
-
return [snakeKey, toSnakeCase(value, excludeKeys)];
|
|
1044
|
-
})
|
|
1045
|
-
);
|
|
1046
|
-
}
|
|
1047
|
-
return obj;
|
|
1048
|
-
};
|
|
1049
|
-
|
|
1050
1024
|
// src/utils/entityUtils.tsx
|
|
1051
1025
|
var getEntityExpandStr = (expand) => {
|
|
1052
1026
|
if (!expand) {
|
|
@@ -1057,13 +1031,11 @@ var getEntityExpandStr = (expand) => {
|
|
|
1057
1031
|
|
|
1058
1032
|
// src/libraries/react/client/clientEntityMethods.ts
|
|
1059
1033
|
async function createEntityMethod(params) {
|
|
1060
|
-
|
|
1061
|
-
const res = await this.post(`${this.prefix}/entities`, snakeParams);
|
|
1034
|
+
const res = await this.post(`${this.prefix}/entities`, params);
|
|
1062
1035
|
return res;
|
|
1063
1036
|
}
|
|
1064
1037
|
async function getEntityMethod(entityId, params) {
|
|
1065
|
-
|
|
1066
|
-
let expand = getEntityExpandStr(params?.expand);
|
|
1038
|
+
const expand = getEntityExpandStr(params?.expand);
|
|
1067
1039
|
const res = await this.get(`${this.prefix}/entities/${entityId}?${expand}`);
|
|
1068
1040
|
return res;
|
|
1069
1041
|
}
|
|
@@ -1074,44 +1046,39 @@ async function deleteEntityMethod(entityId) {
|
|
|
1074
1046
|
|
|
1075
1047
|
// src/libraries/react/client/clientGenMethods.ts
|
|
1076
1048
|
async function checkoutMethod(params) {
|
|
1077
|
-
|
|
1078
|
-
const res = await this.post(`${this.prefix}/checkout`, snakeParams);
|
|
1049
|
+
const res = await this.post(`${this.prefix}/checkout`, params);
|
|
1079
1050
|
return res;
|
|
1080
1051
|
}
|
|
1081
1052
|
async function attachMethod(params) {
|
|
1082
|
-
|
|
1083
|
-
const res = await this.post(`${this.prefix}/attach`, snakeParams);
|
|
1053
|
+
const res = await this.post(`${this.prefix}/attach`, params);
|
|
1084
1054
|
return res;
|
|
1085
1055
|
}
|
|
1086
1056
|
async function setupPaymentMethod(params) {
|
|
1087
|
-
|
|
1088
|
-
const res = await this.post(`${this.prefix}/setup_payment`, snakeParams);
|
|
1057
|
+
const res = await this.post(`${this.prefix}/setup_payment`, params);
|
|
1089
1058
|
return res;
|
|
1090
1059
|
}
|
|
1091
1060
|
async function cancelMethod(params) {
|
|
1092
|
-
|
|
1093
|
-
const res = await this.post(`${this.prefix}/cancel`, snakeParams);
|
|
1061
|
+
const res = await this.post(`${this.prefix}/cancel`, params);
|
|
1094
1062
|
return res;
|
|
1095
1063
|
}
|
|
1096
1064
|
async function checkMethod(params) {
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1065
|
+
const noDialogParams = {
|
|
1066
|
+
...params,
|
|
1067
|
+
dialog: void 0
|
|
1068
|
+
};
|
|
1069
|
+
const res = await this.post(`${this.prefix}/check`, noDialogParams);
|
|
1100
1070
|
return res;
|
|
1101
1071
|
}
|
|
1102
1072
|
async function trackMethod(params) {
|
|
1103
|
-
|
|
1104
|
-
const res = await this.post(`${this.prefix}/track`, snakeParams);
|
|
1073
|
+
const res = await this.post(`${this.prefix}/track`, params);
|
|
1105
1074
|
return res;
|
|
1106
1075
|
}
|
|
1107
1076
|
async function openBillingPortalMethod(params) {
|
|
1108
|
-
|
|
1109
|
-
const res = await this.post(`${this.prefix}/billing_portal`, snakeParams);
|
|
1077
|
+
const res = await this.post(`${this.prefix}/billing_portal`, params || {});
|
|
1110
1078
|
return res;
|
|
1111
1079
|
}
|
|
1112
1080
|
async function queryMethod(params) {
|
|
1113
|
-
|
|
1114
|
-
const res = await this.post(`${this.prefix}/query`, snakeParams);
|
|
1081
|
+
const res = await this.post(`${this.prefix}/query`, params);
|
|
1115
1082
|
return res;
|
|
1116
1083
|
}
|
|
1117
1084
|
|
|
@@ -1123,13 +1090,11 @@ async function listProductsMethod() {
|
|
|
1123
1090
|
|
|
1124
1091
|
// src/libraries/react/client/clientReferralMethods.ts
|
|
1125
1092
|
async function createCode(params) {
|
|
1126
|
-
|
|
1127
|
-
const res = await this.post(`${this.prefix}/referrals/code`, snakeParams);
|
|
1093
|
+
const res = await this.post(`${this.prefix}/referrals/code`, params);
|
|
1128
1094
|
return res;
|
|
1129
1095
|
}
|
|
1130
1096
|
async function redeemCode(params) {
|
|
1131
|
-
|
|
1132
|
-
const res = await this.post(`${this.prefix}/referrals/redeem`, snakeParams);
|
|
1097
|
+
const res = await this.post(`${this.prefix}/referrals/redeem`, params);
|
|
1133
1098
|
return res;
|
|
1134
1099
|
}
|
|
1135
1100
|
|
|
@@ -1140,7 +1105,9 @@ var AutumnClient = class {
|
|
|
1140
1105
|
customerData;
|
|
1141
1106
|
includeCredentials;
|
|
1142
1107
|
prefix;
|
|
1108
|
+
camelCase;
|
|
1143
1109
|
headers;
|
|
1110
|
+
framework;
|
|
1144
1111
|
constructor({
|
|
1145
1112
|
backendUrl,
|
|
1146
1113
|
getBearerToken,
|
|
@@ -1154,11 +1121,15 @@ var AutumnClient = class {
|
|
|
1154
1121
|
this.customerData = customerData;
|
|
1155
1122
|
this.includeCredentials = includeCredentials;
|
|
1156
1123
|
this.prefix = "/api/autumn";
|
|
1124
|
+
let camelCase = false;
|
|
1157
1125
|
if (betterAuthUrl) {
|
|
1158
1126
|
this.prefix = "/api/auth/autumn";
|
|
1159
1127
|
this.backendUrl = betterAuthUrl;
|
|
1128
|
+
camelCase = true;
|
|
1160
1129
|
}
|
|
1161
1130
|
this.headers = headers;
|
|
1131
|
+
if (betterAuthUrl) camelCase = true;
|
|
1132
|
+
this.camelCase = camelCase;
|
|
1162
1133
|
}
|
|
1163
1134
|
/**
|
|
1164
1135
|
* Detects if the backend supports CORS credentials by making an OPTIONS request
|
|
@@ -1176,7 +1147,7 @@ var AutumnClient = class {
|
|
|
1176
1147
|
body: JSON.stringify({})
|
|
1177
1148
|
});
|
|
1178
1149
|
return { valid: true, includeCredentials: true };
|
|
1179
|
-
} catch (
|
|
1150
|
+
} catch (_) {
|
|
1180
1151
|
try {
|
|
1181
1152
|
await fetch(testEndpoint, {
|
|
1182
1153
|
method: "POST",
|
|
@@ -1185,7 +1156,7 @@ var AutumnClient = class {
|
|
|
1185
1156
|
body: JSON.stringify({})
|
|
1186
1157
|
});
|
|
1187
1158
|
return { valid: true, includeCredentials: false };
|
|
1188
|
-
} catch (
|
|
1159
|
+
} catch (_2) {
|
|
1189
1160
|
return { valid: false, includeCredentials: void 0 };
|
|
1190
1161
|
}
|
|
1191
1162
|
}
|
|
@@ -1222,9 +1193,9 @@ var AutumnClient = class {
|
|
|
1222
1193
|
};
|
|
1223
1194
|
if (this.getBearerToken) {
|
|
1224
1195
|
try {
|
|
1225
|
-
|
|
1196
|
+
const token = await this.getBearerToken();
|
|
1226
1197
|
headers.Authorization = `Bearer ${token}`;
|
|
1227
|
-
} catch (
|
|
1198
|
+
} catch (_) {
|
|
1228
1199
|
console.error(`Failed to call getToken() in AutumnProvider`);
|
|
1229
1200
|
}
|
|
1230
1201
|
}
|
|
@@ -1238,15 +1209,15 @@ var AutumnClient = class {
|
|
|
1238
1209
|
method,
|
|
1239
1210
|
body
|
|
1240
1211
|
}) {
|
|
1241
|
-
body = method === "POST" ?
|
|
1212
|
+
body = method === "POST" ? {
|
|
1242
1213
|
...body,
|
|
1243
|
-
customer_data: this.customerData || void 0
|
|
1244
|
-
}
|
|
1214
|
+
[this.camelCase ? "customerData" : "customer_data"]: this.customerData || void 0
|
|
1215
|
+
} : void 0;
|
|
1245
1216
|
const includeCredentials = await this.shouldIncludeCredentials();
|
|
1246
1217
|
try {
|
|
1247
1218
|
const response = await fetch(`${this.backendUrl}${path}`, {
|
|
1248
1219
|
method,
|
|
1249
|
-
body,
|
|
1220
|
+
body: body ? JSON.stringify(body) : void 0,
|
|
1250
1221
|
headers: await this.getHeaders(),
|
|
1251
1222
|
credentials: includeCredentials ? "include" : "omit"
|
|
1252
1223
|
});
|
|
@@ -1266,7 +1237,7 @@ var AutumnClient = class {
|
|
|
1266
1237
|
return {
|
|
1267
1238
|
data: null,
|
|
1268
1239
|
error: new AutumnError({
|
|
1269
|
-
message: error.message,
|
|
1240
|
+
message: error instanceof Error ? error.message : JSON.stringify(error),
|
|
1270
1241
|
code: "fetch_failed"
|
|
1271
1242
|
})
|
|
1272
1243
|
};
|
|
@@ -1297,9 +1268,6 @@ var AutumnClient = class {
|
|
|
1297
1268
|
params
|
|
1298
1269
|
});
|
|
1299
1270
|
}
|
|
1300
|
-
async getPricingTable() {
|
|
1301
|
-
return await getPricingTableMethod.bind(this)();
|
|
1302
|
-
}
|
|
1303
1271
|
attach = attachMethod.bind(this);
|
|
1304
1272
|
checkout = checkoutMethod.bind(this);
|
|
1305
1273
|
cancel = cancelMethod.bind(this);
|
|
@@ -1364,7 +1332,153 @@ var useAutumnContext = ({
|
|
|
1364
1332
|
|
|
1365
1333
|
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
1366
1334
|
var import_swr2 = __toESM(require("swr"));
|
|
1367
|
-
|
|
1335
|
+
|
|
1336
|
+
// src/libraries/react/hooks/helpers/handleCheck.ts
|
|
1337
|
+
var getCusFeature = ({
|
|
1338
|
+
customer,
|
|
1339
|
+
featureId,
|
|
1340
|
+
requiredBalance = 1
|
|
1341
|
+
}) => {
|
|
1342
|
+
let cusFeature = customer.features[featureId];
|
|
1343
|
+
if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
|
|
1344
|
+
return {
|
|
1345
|
+
cusFeature,
|
|
1346
|
+
requiredBalance
|
|
1347
|
+
};
|
|
1348
|
+
}
|
|
1349
|
+
let creditSchema = Object.values(customer.features).find(
|
|
1350
|
+
(f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
|
|
1351
|
+
);
|
|
1352
|
+
if (creditSchema) {
|
|
1353
|
+
let schemaItem = creditSchema.credit_schema?.find(
|
|
1354
|
+
(c) => c.feature_id === featureId
|
|
1355
|
+
);
|
|
1356
|
+
return {
|
|
1357
|
+
cusFeature: creditSchema,
|
|
1358
|
+
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1359
|
+
};
|
|
1360
|
+
}
|
|
1361
|
+
return {
|
|
1362
|
+
cusFeature: customer.features[featureId],
|
|
1363
|
+
requiredBalance
|
|
1364
|
+
};
|
|
1365
|
+
};
|
|
1366
|
+
var getFeatureAllowed = ({
|
|
1367
|
+
cusFeature,
|
|
1368
|
+
requiredBalance
|
|
1369
|
+
}) => {
|
|
1370
|
+
if (!cusFeature) return false;
|
|
1371
|
+
if (cusFeature.type == "static") return true;
|
|
1372
|
+
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1373
|
+
if (cusFeature.usage_limit) {
|
|
1374
|
+
let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
|
|
1375
|
+
return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
|
|
1376
|
+
}
|
|
1377
|
+
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1378
|
+
};
|
|
1379
|
+
var handleFeatureCheck = ({
|
|
1380
|
+
customer,
|
|
1381
|
+
isEntity,
|
|
1382
|
+
params
|
|
1383
|
+
}) => {
|
|
1384
|
+
let { cusFeature, requiredBalance } = getCusFeature({
|
|
1385
|
+
customer,
|
|
1386
|
+
featureId: params.featureId,
|
|
1387
|
+
...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
|
|
1388
|
+
});
|
|
1389
|
+
let allowed = getFeatureAllowed({
|
|
1390
|
+
cusFeature,
|
|
1391
|
+
requiredBalance: requiredBalance ?? 1
|
|
1392
|
+
});
|
|
1393
|
+
let result = {
|
|
1394
|
+
allowed,
|
|
1395
|
+
feature_id: cusFeature?.id ?? params.featureId,
|
|
1396
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1397
|
+
required_balance: requiredBalance,
|
|
1398
|
+
...cusFeature
|
|
1399
|
+
};
|
|
1400
|
+
if (isEntity) {
|
|
1401
|
+
result.entity_id = customer.id;
|
|
1402
|
+
}
|
|
1403
|
+
try {
|
|
1404
|
+
return CheckFeatureResultSchema.parse(result);
|
|
1405
|
+
} catch (error) {
|
|
1406
|
+
return result;
|
|
1407
|
+
}
|
|
1408
|
+
};
|
|
1409
|
+
var handleProductCheck = ({
|
|
1410
|
+
customer,
|
|
1411
|
+
isEntity,
|
|
1412
|
+
params
|
|
1413
|
+
}) => {
|
|
1414
|
+
let product = customer.products.find((p) => p.id == params.productId);
|
|
1415
|
+
let allowed = product?.status === "active";
|
|
1416
|
+
let result = {
|
|
1417
|
+
allowed,
|
|
1418
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1419
|
+
product_id: params.productId
|
|
1420
|
+
};
|
|
1421
|
+
if (product) {
|
|
1422
|
+
result.status = product.status;
|
|
1423
|
+
}
|
|
1424
|
+
if (isEntity) {
|
|
1425
|
+
result.entity_id = customer.id;
|
|
1426
|
+
}
|
|
1427
|
+
return result;
|
|
1428
|
+
};
|
|
1429
|
+
var openDialog = ({
|
|
1430
|
+
result,
|
|
1431
|
+
params,
|
|
1432
|
+
context
|
|
1433
|
+
}) => {
|
|
1434
|
+
let open = result?.allowed === false && params.dialog && context;
|
|
1435
|
+
if (!open) return;
|
|
1436
|
+
const isInRenderCycle = (() => {
|
|
1437
|
+
const stack = new Error().stack || "";
|
|
1438
|
+
return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
|
|
1439
|
+
})();
|
|
1440
|
+
if (isInRenderCycle) {
|
|
1441
|
+
context.paywallRef.current = {
|
|
1442
|
+
component: params.dialog,
|
|
1443
|
+
open: true,
|
|
1444
|
+
props: params
|
|
1445
|
+
};
|
|
1446
|
+
} else {
|
|
1447
|
+
context.paywallDialog.setComponent(params.dialog);
|
|
1448
|
+
context.paywallDialog.setProps(params);
|
|
1449
|
+
context.paywallDialog.setOpen(true);
|
|
1450
|
+
}
|
|
1451
|
+
};
|
|
1452
|
+
var handleCheck2 = ({
|
|
1453
|
+
customer,
|
|
1454
|
+
isEntity,
|
|
1455
|
+
params,
|
|
1456
|
+
context
|
|
1457
|
+
}) => {
|
|
1458
|
+
if (!customer) {
|
|
1459
|
+
return {
|
|
1460
|
+
data: {
|
|
1461
|
+
allowed: false,
|
|
1462
|
+
feature_id: "",
|
|
1463
|
+
customer_id: "",
|
|
1464
|
+
required_balance: 0
|
|
1465
|
+
},
|
|
1466
|
+
error: null
|
|
1467
|
+
};
|
|
1468
|
+
}
|
|
1469
|
+
if (!params.featureId && !params.productId) {
|
|
1470
|
+
throw new Error("allowed() requires either featureId or productId");
|
|
1471
|
+
}
|
|
1472
|
+
let result;
|
|
1473
|
+
if (params.featureId)
|
|
1474
|
+
result = handleFeatureCheck({ customer, params, isEntity });
|
|
1475
|
+
if (params.productId)
|
|
1476
|
+
result = handleProductCheck({ customer, params, isEntity });
|
|
1477
|
+
return {
|
|
1478
|
+
data: result,
|
|
1479
|
+
error: null
|
|
1480
|
+
};
|
|
1481
|
+
};
|
|
1368
1482
|
|
|
1369
1483
|
// src/libraries/react/hooks/usePricingTableBase.tsx
|
|
1370
1484
|
var import_swr = __toESM(require("swr"));
|
|
@@ -1711,153 +1825,6 @@ var useAutumnBase = ({
|
|
|
1711
1825
|
};
|
|
1712
1826
|
};
|
|
1713
1827
|
|
|
1714
|
-
// src/libraries/react/hooks/helpers/handleCheck.ts
|
|
1715
|
-
var getCusFeature = ({
|
|
1716
|
-
customer,
|
|
1717
|
-
featureId,
|
|
1718
|
-
requiredBalance = 1
|
|
1719
|
-
}) => {
|
|
1720
|
-
let cusFeature = customer.features[featureId];
|
|
1721
|
-
if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
|
|
1722
|
-
return {
|
|
1723
|
-
cusFeature,
|
|
1724
|
-
requiredBalance
|
|
1725
|
-
};
|
|
1726
|
-
}
|
|
1727
|
-
let creditSchema = Object.values(customer.features).find(
|
|
1728
|
-
(f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
|
|
1729
|
-
);
|
|
1730
|
-
if (creditSchema) {
|
|
1731
|
-
let schemaItem = creditSchema.credit_schema?.find(
|
|
1732
|
-
(c) => c.feature_id === featureId
|
|
1733
|
-
);
|
|
1734
|
-
return {
|
|
1735
|
-
cusFeature: creditSchema,
|
|
1736
|
-
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1737
|
-
};
|
|
1738
|
-
}
|
|
1739
|
-
return {
|
|
1740
|
-
cusFeature: customer.features[featureId],
|
|
1741
|
-
requiredBalance
|
|
1742
|
-
};
|
|
1743
|
-
};
|
|
1744
|
-
var getFeatureAllowed = ({
|
|
1745
|
-
cusFeature,
|
|
1746
|
-
requiredBalance
|
|
1747
|
-
}) => {
|
|
1748
|
-
if (!cusFeature) return false;
|
|
1749
|
-
if (cusFeature.type == "static") return true;
|
|
1750
|
-
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1751
|
-
if (cusFeature.usage_limit) {
|
|
1752
|
-
let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
|
|
1753
|
-
return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
|
|
1754
|
-
}
|
|
1755
|
-
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1756
|
-
};
|
|
1757
|
-
var handleFeatureCheck = ({
|
|
1758
|
-
customer,
|
|
1759
|
-
isEntity,
|
|
1760
|
-
params
|
|
1761
|
-
}) => {
|
|
1762
|
-
let { cusFeature, requiredBalance } = getCusFeature({
|
|
1763
|
-
customer,
|
|
1764
|
-
featureId: params.featureId,
|
|
1765
|
-
...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
|
|
1766
|
-
});
|
|
1767
|
-
let allowed = getFeatureAllowed({
|
|
1768
|
-
cusFeature,
|
|
1769
|
-
requiredBalance: requiredBalance ?? 1
|
|
1770
|
-
});
|
|
1771
|
-
let result = {
|
|
1772
|
-
allowed,
|
|
1773
|
-
feature_id: cusFeature?.id ?? params.featureId,
|
|
1774
|
-
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1775
|
-
required_balance: requiredBalance,
|
|
1776
|
-
...cusFeature
|
|
1777
|
-
};
|
|
1778
|
-
if (isEntity) {
|
|
1779
|
-
result.entity_id = customer.id;
|
|
1780
|
-
}
|
|
1781
|
-
try {
|
|
1782
|
-
return CheckFeatureResultSchema.parse(result);
|
|
1783
|
-
} catch (error) {
|
|
1784
|
-
return result;
|
|
1785
|
-
}
|
|
1786
|
-
};
|
|
1787
|
-
var handleProductCheck = ({
|
|
1788
|
-
customer,
|
|
1789
|
-
isEntity,
|
|
1790
|
-
params
|
|
1791
|
-
}) => {
|
|
1792
|
-
let product = customer.products.find((p) => p.id == params.productId);
|
|
1793
|
-
let allowed = product?.status === "active";
|
|
1794
|
-
let result = {
|
|
1795
|
-
allowed,
|
|
1796
|
-
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1797
|
-
product_id: params.productId
|
|
1798
|
-
};
|
|
1799
|
-
if (product) {
|
|
1800
|
-
result.status = product.status;
|
|
1801
|
-
}
|
|
1802
|
-
if (isEntity) {
|
|
1803
|
-
result.entity_id = customer.id;
|
|
1804
|
-
}
|
|
1805
|
-
return result;
|
|
1806
|
-
};
|
|
1807
|
-
var openDialog = ({
|
|
1808
|
-
result,
|
|
1809
|
-
params,
|
|
1810
|
-
context
|
|
1811
|
-
}) => {
|
|
1812
|
-
let open = result?.allowed === false && params.dialog && context;
|
|
1813
|
-
if (!open) return;
|
|
1814
|
-
const isInRenderCycle = (() => {
|
|
1815
|
-
const stack = new Error().stack || "";
|
|
1816
|
-
return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
|
|
1817
|
-
})();
|
|
1818
|
-
if (isInRenderCycle) {
|
|
1819
|
-
context.paywallRef.current = {
|
|
1820
|
-
component: params.dialog,
|
|
1821
|
-
open: true,
|
|
1822
|
-
props: params
|
|
1823
|
-
};
|
|
1824
|
-
} else {
|
|
1825
|
-
context.paywallDialog.setComponent(params.dialog);
|
|
1826
|
-
context.paywallDialog.setProps(params);
|
|
1827
|
-
context.paywallDialog.setOpen(true);
|
|
1828
|
-
}
|
|
1829
|
-
};
|
|
1830
|
-
var handleCheck2 = ({
|
|
1831
|
-
customer,
|
|
1832
|
-
isEntity,
|
|
1833
|
-
params,
|
|
1834
|
-
context
|
|
1835
|
-
}) => {
|
|
1836
|
-
if (!customer) {
|
|
1837
|
-
return {
|
|
1838
|
-
data: {
|
|
1839
|
-
allowed: false,
|
|
1840
|
-
feature_id: "",
|
|
1841
|
-
customer_id: "",
|
|
1842
|
-
required_balance: 0
|
|
1843
|
-
},
|
|
1844
|
-
error: null
|
|
1845
|
-
};
|
|
1846
|
-
}
|
|
1847
|
-
if (!params.featureId && !params.productId) {
|
|
1848
|
-
throw new Error("allowed() requires either featureId or productId");
|
|
1849
|
-
}
|
|
1850
|
-
let result;
|
|
1851
|
-
if (params.featureId)
|
|
1852
|
-
result = handleFeatureCheck({ customer, params, isEntity });
|
|
1853
|
-
if (params.productId)
|
|
1854
|
-
result = handleProductCheck({ customer, params, isEntity });
|
|
1855
|
-
return {
|
|
1856
|
-
data: result,
|
|
1857
|
-
error: null
|
|
1858
|
-
};
|
|
1859
|
-
};
|
|
1860
|
-
|
|
1861
1828
|
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
1862
1829
|
var useCustomerBase = ({
|
|
1863
1830
|
params,
|
|
@@ -1874,7 +1841,7 @@ var useCustomerBase = ({
|
|
|
1874
1841
|
if (!client) {
|
|
1875
1842
|
client = context.client;
|
|
1876
1843
|
}
|
|
1877
|
-
|
|
1844
|
+
const baseUrl = client?.backendUrl || "";
|
|
1878
1845
|
const queryKey = ["customer", baseUrl, params?.expand];
|
|
1879
1846
|
const fetchCustomer = async () => {
|
|
1880
1847
|
const { data, error: error2 } = await client.createCustomer({
|
|
@@ -1895,11 +1862,10 @@ var useCustomerBase = ({
|
|
|
1895
1862
|
isLoading,
|
|
1896
1863
|
mutate
|
|
1897
1864
|
} = (0, import_swr2.default)(queryKey, fetchCustomer, {
|
|
1898
|
-
fallbackData: null,
|
|
1899
1865
|
// Default to 5 minutes
|
|
1866
|
+
fallbackData: null,
|
|
1900
1867
|
swrConfig: {
|
|
1901
1868
|
shouldRetryOnError: false,
|
|
1902
|
-
// refreshInterval: 1000 * 60 * 5,
|
|
1903
1869
|
refreshInterval: 0,
|
|
1904
1870
|
...params?.swrConfig
|
|
1905
1871
|
}
|
|
@@ -1909,8 +1875,6 @@ var useCustomerBase = ({
|
|
|
1909
1875
|
client,
|
|
1910
1876
|
refetchCustomer: mutate
|
|
1911
1877
|
});
|
|
1912
|
-
(0, import_react2.useEffect)(() => {
|
|
1913
|
-
}, [context?.paywallRef.current]);
|
|
1914
1878
|
return {
|
|
1915
1879
|
customer: error ? null : customer,
|
|
1916
1880
|
isLoading,
|