autumn-js 0.1.53 → 0.1.54
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 +30 -34
- package/dist/libraries/backend/better-auth.d.ts +30 -34
- package/dist/libraries/backend/better-auth.js +322 -331
- package/dist/libraries/backend/better-auth.mjs +134 -147
- package/dist/libraries/backend/{chunk-IUUFQ3OI.mjs → chunk-EQJAZ5SS.mjs} +1 -1
- package/dist/libraries/backend/{chunk-OWJBOQNO.mjs → chunk-OCFEFXEK.mjs} +1 -1
- package/dist/libraries/backend/{chunk-NCUEPWFJ.mjs → chunk-PXKGEXEM.mjs} +7 -7
- package/dist/libraries/backend/{chunk-M3WWSFNX.mjs → chunk-RYSW6BBS.mjs} +1 -1
- package/dist/libraries/backend/{chunk-DUTH4YIQ.mjs → chunk-T52GEWE4.mjs} +197 -193
- package/dist/libraries/backend/{chunk-PLADIABP.mjs → chunk-U32IGAQR.mjs} +1 -1
- package/dist/libraries/backend/{chunk-GUY7BZZ4.mjs → chunk-Z5RWGXIJ.mjs} +1 -1
- package/dist/libraries/backend/{chunk-ZDGVHVDZ.mjs → chunk-ZNIP5BSL.mjs} +1 -1
- package/dist/libraries/backend/convex.js +196 -192
- package/dist/libraries/backend/convex.mjs +8 -8
- package/dist/libraries/backend/elysia.js +196 -192
- package/dist/libraries/backend/elysia.mjs +8 -8
- package/dist/libraries/backend/express.d.mts +1 -1
- package/dist/libraries/backend/express.d.ts +1 -1
- package/dist/libraries/backend/express.js +196 -192
- package/dist/libraries/backend/express.mjs +8 -8
- package/dist/libraries/backend/fastify.js +196 -192
- package/dist/libraries/backend/fastify.mjs +8 -8
- package/dist/libraries/backend/hono.js +196 -192
- package/dist/libraries/backend/hono.mjs +8 -8
- package/dist/libraries/backend/index.d.mts +1 -1
- package/dist/libraries/backend/index.d.ts +1 -1
- package/dist/libraries/backend/index.js +196 -192
- package/dist/libraries/backend/index.mjs +8 -8
- package/dist/libraries/backend/next.js +196 -192
- package/dist/libraries/backend/next.mjs +8 -8
- package/dist/libraries/backend/react-router.js +196 -192
- package/dist/libraries/backend/react-router.mjs +8 -8
- package/dist/libraries/backend/{referralTypes-CrOWHkir.d.ts → referralTypes-DFoyaks_.d.ts} +2 -35
- package/dist/libraries/backend/{referralTypes-DUfnhwYC.d.mts → referralTypes-DQvRryhI.d.mts} +2 -35
- package/dist/libraries/backend/remix_dep.js +196 -192
- package/dist/libraries/backend/remix_dep.mjs +8 -8
- package/dist/libraries/backend/routes/analyticsRoutes.js +175 -171
- package/dist/libraries/backend/routes/analyticsRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/backendRouter.js +196 -192
- package/dist/libraries/backend/routes/backendRouter.mjs +8 -8
- package/dist/libraries/backend/routes/entityRoutes.js +172 -168
- package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/genRoutes.js +172 -168
- package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/productRoutes.js +172 -168
- package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/referralRoutes.js +172 -168
- package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
- package/dist/libraries/backend/supabase.js +196 -192
- package/dist/libraries/backend/supabase.mjs +8 -8
- package/dist/libraries/backend/tanstack.js +196 -192
- package/dist/libraries/backend/tanstack.mjs +8 -8
- package/dist/libraries/backend/utils/backendRes.js +172 -168
- package/dist/libraries/backend/utils/backendRes.mjs +1 -1
- package/dist/libraries/backend/utils/withAuth.d.mts +1 -1
- package/dist/libraries/backend/utils/withAuth.d.ts +1 -1
- package/dist/libraries/backend/utils/withAuth.js +172 -168
- package/dist/libraries/backend/utils/withAuth.mjs +2 -2
- package/dist/libraries/react/AutumnContext.d.mts +3 -3
- package/dist/libraries/react/AutumnContext.d.ts +3 -3
- package/dist/libraries/react/AutumnContext.js +183 -178
- package/dist/libraries/react/AutumnContext.mjs +4 -4
- package/dist/libraries/react/BaseAutumnProvider.d.mts +3 -3
- package/dist/libraries/react/BaseAutumnProvider.d.ts +3 -3
- package/dist/libraries/react/BaseAutumnProvider.js +345 -339
- package/dist/libraries/react/BaseAutumnProvider.mjs +9 -9
- package/dist/libraries/react/{ReactAutumnClient-DBRxtvI5.d.mts → ReactAutumnClient-Cmh9bCXD.d.mts} +14 -14
- package/dist/libraries/react/{ReactAutumnClient-CgvqoNfl.d.ts → ReactAutumnClient-DgCDKkGy.d.ts} +14 -14
- package/dist/libraries/react/ReactAutumnProvider.js +345 -339
- package/dist/libraries/react/ReactAutumnProvider.mjs +11 -11
- package/dist/libraries/react/{chunk-YJ66CCNM.mjs → chunk-2GEDBGON.mjs} +1 -1
- package/dist/libraries/react/{chunk-OCLWLKH7.mjs → chunk-2LZIBRD4.mjs} +4 -4
- package/dist/libraries/react/{chunk-XMJFBTHX.mjs → chunk-36CHQZJY.mjs} +230 -226
- package/dist/libraries/react/chunk-44B5W37R.mjs +87 -0
- package/dist/libraries/react/{chunk-OQMAGWNJ.mjs → chunk-44QHJGA6.mjs} +2 -2
- package/dist/libraries/react/{chunk-OGDFDSBE.mjs → chunk-4KLTPVNG.mjs} +6 -6
- package/dist/libraries/react/{chunk-RZVWBOKP.mjs → chunk-4QVAJKUF.mjs} +5 -5
- package/dist/libraries/react/{chunk-Y3AJHLDS.mjs → chunk-4VSQWJS4.mjs} +1 -1
- package/dist/libraries/react/{chunk-3HGWHP3P.mjs → chunk-5TLRC3ED.mjs} +2 -2
- package/dist/libraries/react/{chunk-ZOXTGPMK.mjs → chunk-BGTIKB6A.mjs} +1 -1
- package/dist/libraries/react/chunk-DBPPVPZJ.mjs +64 -0
- package/dist/libraries/react/{chunk-VFYARVJM.mjs → chunk-DNESIAHJ.mjs} +2 -2
- package/dist/libraries/react/{chunk-VMRN7YTJ.mjs → chunk-HFFUO3H4.mjs} +17 -11
- package/dist/libraries/react/{chunk-MM4LTFTB.mjs → chunk-I274Z7T2.mjs} +11 -11
- package/dist/libraries/react/{chunk-3NVSJPCH.mjs → chunk-KBQOXOZI.mjs} +1 -1
- package/dist/libraries/react/{chunk-74TUFYHU.mjs → chunk-MHAXHLX4.mjs} +7 -7
- package/dist/libraries/react/{chunk-VCTI23H4.mjs → chunk-OONW6MUW.mjs} +1 -1
- package/dist/libraries/react/{chunk-O4KFMQ34.mjs → chunk-PN7IQYUI.mjs} +1 -1
- package/dist/libraries/react/{chunk-2CIFBRPG.mjs → chunk-QEWVBDWJ.mjs} +1 -1
- package/dist/libraries/react/{chunk-ARG7A7DZ.mjs → chunk-QNMARYYM.mjs} +2 -2
- package/dist/libraries/react/{chunk-OK35S3KG.mjs → chunk-QP7QNCAD.mjs} +4 -4
- package/dist/libraries/react/{chunk-G3FR7GFT.mjs → chunk-RCAZVNHB.mjs} +2 -2
- package/dist/libraries/react/{chunk-FO7GCPGQ.mjs → chunk-RW5WXCY5.mjs} +1 -1
- package/dist/libraries/react/{chunk-GWG6ISTT.mjs → chunk-SHJ473YA.mjs} +5 -5
- package/dist/libraries/react/{chunk-XDQLJ7QR.mjs → chunk-TMTPHD2I.mjs} +1 -0
- package/dist/libraries/react/{chunk-UOCXSRR2.mjs → chunk-UO57XQQF.mjs} +19 -19
- package/dist/libraries/react/{chunk-QCGPJ5QU.mjs → chunk-XES6NX2O.mjs} +1 -1
- package/dist/libraries/react/{chunk-YGXSVTYJ.mjs → chunk-ZC2IBKQ6.mjs} +7 -6
- package/dist/libraries/react/client/ConvexAutumnClient.d.mts +5 -5
- package/dist/libraries/react/client/ConvexAutumnClient.d.ts +5 -5
- package/dist/libraries/react/client/ConvexAutumnClient.js +172 -168
- package/dist/libraries/react/client/ConvexAutumnClient.mjs +2 -2
- package/dist/libraries/react/client/ReactAutumnClient.d.mts +3 -3
- package/dist/libraries/react/client/ReactAutumnClient.d.ts +3 -3
- package/dist/libraries/react/client/ReactAutumnClient.js +183 -178
- package/dist/libraries/react/client/ReactAutumnClient.mjs +3 -3
- package/dist/libraries/react/client/clientAnalyticsMethods.d.mts +6 -6
- package/dist/libraries/react/client/clientAnalyticsMethods.d.ts +6 -6
- package/dist/libraries/react/client/clientAnalyticsMethods.js +1 -0
- package/dist/libraries/react/client/clientAnalyticsMethods.mjs +1 -1
- package/dist/libraries/react/client/clientCompMethods.d.mts +3 -3
- package/dist/libraries/react/client/clientCompMethods.d.ts +3 -3
- package/dist/libraries/react/client/clientCusMethods.d.mts +3 -3
- package/dist/libraries/react/client/clientCusMethods.d.ts +3 -3
- package/dist/libraries/react/client/clientEntityMethods.d.mts +3 -3
- package/dist/libraries/react/client/clientEntityMethods.d.ts +3 -3
- package/dist/libraries/react/client/clientGenMethods.d.mts +2 -2
- package/dist/libraries/react/client/clientGenMethods.d.ts +2 -2
- package/dist/libraries/react/client/clientProdMethods.d.mts +3 -3
- package/dist/libraries/react/client/clientProdMethods.d.ts +3 -3
- package/dist/libraries/react/client/clientReferralMethods.d.mts +3 -3
- package/dist/libraries/react/client/clientReferralMethods.d.ts +3 -3
- package/dist/libraries/react/client/types/clientAnalyticsTypes.d.mts +13 -37
- package/dist/libraries/react/client/types/clientAnalyticsTypes.d.ts +13 -37
- package/dist/libraries/react/client/types/clientAnalyticsTypes.js +20 -37
- package/dist/libraries/react/client/types/clientAnalyticsTypes.mjs +17 -32
- package/dist/libraries/react/client/types/clientGenTypes.js +172 -168
- package/dist/libraries/react/client/types/clientGenTypes.mjs +1 -1
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.js +424 -417
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.mjs +31 -31
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.js +264 -258
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.mjs +31 -31
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +453 -446
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +31 -31
- package/dist/libraries/react/components/ui/accordion.js +8 -8
- package/dist/libraries/react/components/ui/accordion.mjs +3 -3
- package/dist/libraries/react/components/ui/dialog.js +9 -9
- package/dist/libraries/react/components/ui/dialog.mjs +4 -4
- package/dist/libraries/react/components/ui/popover.js +12 -12
- package/dist/libraries/react/components/ui/popover.mjs +5 -5
- package/dist/libraries/react/components/ui/switch.js +4 -4
- package/dist/libraries/react/components/ui/switch.mjs +3 -3
- package/dist/libraries/react/eventTypes-5iJYcv30.d.mts +26 -0
- package/dist/libraries/react/eventTypes-5iJYcv30.d.ts +26 -0
- package/dist/libraries/react/hooks/helpers/handleCheck.d.mts +3 -3
- package/dist/libraries/react/hooks/helpers/handleCheck.d.ts +3 -3
- package/dist/libraries/react/hooks/helpers/handleCheck.js +172 -168
- package/dist/libraries/react/hooks/helpers/handleCheck.mjs +2 -2
- package/dist/libraries/react/hooks/helpers/useAutumnBase.d.mts +3 -3
- package/dist/libraries/react/hooks/helpers/useAutumnBase.d.ts +3 -3
- package/dist/libraries/react/hooks/helpers/useAutumnBase.js +172 -168
- package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +3 -3
- package/dist/libraries/react/hooks/useAggregateEvents.js +229 -205
- package/dist/libraries/react/hooks/useAggregateEvents.mjs +5 -5
- 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 +217 -204
- package/dist/libraries/react/hooks/useAnalytics.mjs +5 -5
- package/dist/libraries/react/hooks/useCustomer.d.mts +5 -5
- package/dist/libraries/react/hooks/useCustomer.d.ts +5 -5
- package/dist/libraries/react/hooks/useCustomer.js +185 -179
- package/dist/libraries/react/hooks/useCustomer.mjs +9 -9
- package/dist/libraries/react/hooks/useCustomerBase.d.mts +5 -5
- package/dist/libraries/react/hooks/useCustomerBase.d.ts +5 -5
- package/dist/libraries/react/hooks/useCustomerBase.js +345 -339
- package/dist/libraries/react/hooks/useCustomerBase.mjs +8 -8
- package/dist/libraries/react/hooks/useEntity.d.mts +1 -1
- package/dist/libraries/react/hooks/useEntity.d.ts +1 -1
- package/dist/libraries/react/hooks/useEntity.js +183 -178
- package/dist/libraries/react/hooks/useEntity.mjs +9 -9
- package/dist/libraries/react/hooks/useEntityBase.d.mts +3 -3
- package/dist/libraries/react/hooks/useEntityBase.d.ts +3 -3
- package/dist/libraries/react/hooks/useEntityBase.js +183 -178
- package/dist/libraries/react/hooks/useEntityBase.mjs +8 -8
- package/dist/libraries/react/hooks/useListEvents.d.mts +12 -5
- package/dist/libraries/react/hooks/useListEvents.d.ts +12 -5
- package/dist/libraries/react/hooks/useListEvents.js +256 -210
- package/dist/libraries/react/hooks/useListEvents.mjs +5 -5
- package/dist/libraries/react/hooks/usePaywall.js +183 -178
- package/dist/libraries/react/hooks/usePaywall.mjs +5 -5
- 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 +183 -178
- package/dist/libraries/react/hooks/usePricingTable.mjs +6 -6
- package/dist/libraries/react/hooks/usePricingTableBase.d.mts +3 -3
- package/dist/libraries/react/hooks/usePricingTableBase.d.ts +3 -3
- package/dist/libraries/react/hooks/usePricingTableBase.js +172 -168
- package/dist/libraries/react/hooks/usePricingTableBase.mjs +2 -2
- package/dist/libraries/react/hooks/useProductsBase.d.mts +3 -3
- package/dist/libraries/react/hooks/useProductsBase.d.ts +3 -3
- package/dist/libraries/react/index.d.mts +262 -257
- package/dist/libraries/react/index.d.ts +262 -257
- package/dist/libraries/react/index.js +758 -688
- package/dist/libraries/react/index.mjs +777 -707
- package/dist/next/client/NextAutumnClient.d.mts +32 -32
- package/dist/next/client/NextAutumnClient.d.ts +32 -32
- package/dist/next/client/hooks/useCustomer.d.mts +1 -1
- package/dist/next/client/hooks/useCustomer.d.ts +1 -1
- package/dist/next/client/hooks/usePricingTable.d.mts +1 -1
- package/dist/next/client/hooks/usePricingTable.d.ts +1 -1
- package/dist/next/server/cusActions.d.mts +2 -35
- package/dist/next/server/cusActions.d.ts +2 -35
- package/dist/sdk/index.d.mts +34 -51
- package/dist/sdk/index.d.ts +34 -51
- package/dist/sdk/index.js +193 -189
- package/dist/sdk/index.mjs +191 -187
- package/dist/utils/encryptUtils.js +172 -168
- package/dist/utils/encryptUtils.mjs +172 -168
- package/package.json +1 -1
- package/dist/libraries/react/chunk-AEWKNTLD.mjs +0 -48
- package/dist/libraries/react/chunk-VTZUF5OC.mjs +0 -47
- package/dist/libraries/react/eventTypes-MwzIb0X5.d.mts +0 -9
- package/dist/libraries/react/eventTypes-MwzIb0X5.d.ts +0 -9
|
@@ -58,30 +58,20 @@ var useDialog = (component) => {
|
|
|
58
58
|
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
59
59
|
var import_swr2 = __toESM(require("swr"));
|
|
60
60
|
|
|
61
|
-
// src/
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
code: error.code || "unknown_error"
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
toString() {
|
|
77
|
-
return `${this.message} (code: ${this.code})`;
|
|
78
|
-
}
|
|
79
|
-
toJSON() {
|
|
80
|
-
return {
|
|
81
|
-
message: this.message,
|
|
82
|
-
code: this.code
|
|
83
|
-
};
|
|
61
|
+
// src/libraries/react/errorUtils/logAuthError.ts
|
|
62
|
+
var logAuthError = async (response) => {
|
|
63
|
+
if (response.status === 401) {
|
|
64
|
+
let clonedResponse = response.clone();
|
|
65
|
+
let data = await clonedResponse.json();
|
|
66
|
+
if (data.message.includes("Missing authorization header")) {
|
|
67
|
+
console.error(`[Autumn] Missing authorization header.
|
|
68
|
+
|
|
69
|
+
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
70
|
+
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
84
73
|
}
|
|
74
|
+
return false;
|
|
85
75
|
};
|
|
86
76
|
|
|
87
77
|
// src/sdk/general/genMethods.ts
|
|
@@ -169,6 +159,32 @@ var buildPathWithQuery = (basePath, params) => {
|
|
|
169
159
|
return query ? `${basePath}?${query}` : basePath;
|
|
170
160
|
};
|
|
171
161
|
|
|
162
|
+
// src/sdk/error.ts
|
|
163
|
+
var AutumnError = class _AutumnError extends Error {
|
|
164
|
+
message;
|
|
165
|
+
code;
|
|
166
|
+
constructor(response) {
|
|
167
|
+
super(response.message);
|
|
168
|
+
this.message = response.message;
|
|
169
|
+
this.code = response.code;
|
|
170
|
+
}
|
|
171
|
+
static fromError(error) {
|
|
172
|
+
return new _AutumnError({
|
|
173
|
+
message: error.message || "Unknown error",
|
|
174
|
+
code: error.code || "unknown_error"
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
toString() {
|
|
178
|
+
return `${this.message} (code: ${this.code})`;
|
|
179
|
+
}
|
|
180
|
+
toJSON() {
|
|
181
|
+
return {
|
|
182
|
+
message: this.message,
|
|
183
|
+
code: this.code
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
|
|
172
188
|
// src/sdk/customers/cusMethods.ts
|
|
173
189
|
var customerMethods = (instance) => {
|
|
174
190
|
return {
|
|
@@ -793,6 +809,17 @@ var Autumn = class {
|
|
|
793
809
|
}
|
|
794
810
|
};
|
|
795
811
|
|
|
812
|
+
// src/sdk/customers/cusEnums.ts
|
|
813
|
+
var import_v4 = require("zod/v4");
|
|
814
|
+
var CustomerExpandEnum = import_v4.z.enum([
|
|
815
|
+
"invoices",
|
|
816
|
+
"rewards",
|
|
817
|
+
"trials_used",
|
|
818
|
+
"entities",
|
|
819
|
+
"referrals",
|
|
820
|
+
"payment_method"
|
|
821
|
+
]);
|
|
822
|
+
|
|
796
823
|
// src/sdk/products/prodEnums.ts
|
|
797
824
|
var ProductItemInterval = /* @__PURE__ */ ((ProductItemInterval2) => {
|
|
798
825
|
ProductItemInterval2["Minute"] = "minute";
|
|
@@ -807,17 +834,6 @@ var ProductItemInterval = /* @__PURE__ */ ((ProductItemInterval2) => {
|
|
|
807
834
|
return ProductItemInterval2;
|
|
808
835
|
})(ProductItemInterval || {});
|
|
809
836
|
|
|
810
|
-
// src/sdk/customers/cusEnums.ts
|
|
811
|
-
var import_v4 = require("zod/v4");
|
|
812
|
-
var CustomerExpandEnum = import_v4.z.enum([
|
|
813
|
-
"invoices",
|
|
814
|
-
"rewards",
|
|
815
|
-
"trials_used",
|
|
816
|
-
"entities",
|
|
817
|
-
"referrals",
|
|
818
|
-
"payment_method"
|
|
819
|
-
]);
|
|
820
|
-
|
|
821
837
|
// src/sdk/customers/cusTypes.ts
|
|
822
838
|
var import_v42 = require("zod/v4");
|
|
823
839
|
var CoreCusFeatureSchema = import_v42.z.object({
|
|
@@ -885,80 +901,103 @@ var ListCustomersParamsSchema = import_v42.z.object({
|
|
|
885
901
|
offset: import_v42.z.number().optional()
|
|
886
902
|
});
|
|
887
903
|
|
|
888
|
-
// src/sdk/
|
|
904
|
+
// src/sdk/customers/entities/entTypes.ts
|
|
889
905
|
var import_v43 = require("zod/v4");
|
|
890
|
-
var
|
|
891
|
-
|
|
892
|
-
feature_id: import_v43.z.string()
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
906
|
+
var EntityDataSchema = import_v43.z.object({
|
|
907
|
+
name: import_v43.z.string().optional(),
|
|
908
|
+
feature_id: import_v43.z.string()
|
|
909
|
+
});
|
|
910
|
+
var TransferProductParamsSchema = import_v43.z.object({
|
|
911
|
+
from_entity_id: import_v43.z.string(),
|
|
912
|
+
to_entity_id: import_v43.z.string(),
|
|
913
|
+
product_id: import_v43.z.string()
|
|
914
|
+
});
|
|
897
915
|
|
|
898
|
-
// src/sdk/
|
|
916
|
+
// src/sdk/general/pageTypes.ts
|
|
899
917
|
var import_v44 = require("zod/v4");
|
|
900
|
-
var
|
|
901
|
-
|
|
902
|
-
|
|
918
|
+
var PagePaginationDefaults = {
|
|
919
|
+
Limit: 100,
|
|
920
|
+
MaxLimit: 1e3
|
|
921
|
+
};
|
|
922
|
+
var PagePaginationQuerySchema = import_v44.z.object({
|
|
923
|
+
offset: import_v44.z.coerce.number().int().min(0).default(0).describe("Number of items to skip"),
|
|
924
|
+
limit: import_v44.z.coerce.number().int().min(1).max(PagePaginationDefaults.MaxLimit).default(PagePaginationDefaults.Limit).describe(
|
|
925
|
+
`Number of items to return. Default ${PagePaginationDefaults.Limit}, max ${PagePaginationDefaults.MaxLimit}.`
|
|
926
|
+
)
|
|
903
927
|
});
|
|
904
|
-
var
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
928
|
+
var createPagePaginatedResponseSchema = (itemSchema) => import_v44.z.object({
|
|
929
|
+
list: import_v44.z.array(itemSchema).describe("Array of items for current page"),
|
|
930
|
+
has_more: import_v44.z.boolean().describe("Whether more results exist after this page"),
|
|
931
|
+
offset: import_v44.z.number().describe("Current offset position"),
|
|
932
|
+
limit: import_v44.z.number().describe("Limit passed in the request"),
|
|
933
|
+
total: import_v44.z.number().describe("Total number of items returned in the current page")
|
|
908
934
|
});
|
|
909
935
|
|
|
910
|
-
// src/sdk/
|
|
936
|
+
// src/sdk/events/eventTypes.ts
|
|
911
937
|
var import_v45 = require("zod/v4");
|
|
912
|
-
var
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
var TrackParamsSchema = import_v45.z.object({
|
|
938
|
+
var QueryRangeEnum = import_v45.z.enum([
|
|
939
|
+
"24h",
|
|
940
|
+
"7d",
|
|
941
|
+
"30d",
|
|
942
|
+
"90d",
|
|
943
|
+
"last_cycle",
|
|
944
|
+
"1bc",
|
|
945
|
+
"3bc"
|
|
946
|
+
]);
|
|
947
|
+
var BinSizeEnum = import_v45.z.enum(["day", "hour"]);
|
|
948
|
+
var QueryParamsSchema = import_v45.z.object({
|
|
924
949
|
customer_id: import_v45.z.string(),
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
950
|
+
feature_id: import_v45.z.string().or(import_v45.z.array(import_v45.z.string())),
|
|
951
|
+
range: QueryRangeEnum.optional(),
|
|
952
|
+
group_by: import_v45.z.string().startsWith("properties.").optional(),
|
|
953
|
+
bin_size: BinSizeEnum.optional(),
|
|
954
|
+
custom_range: import_v45.z.object({
|
|
955
|
+
start: import_v45.z.number(),
|
|
956
|
+
end: import_v45.z.number()
|
|
957
|
+
}).optional()
|
|
933
958
|
});
|
|
934
|
-
var
|
|
935
|
-
id: import_v45.z.string(),
|
|
936
|
-
code: import_v45.z.string(),
|
|
959
|
+
var EventsListParamsSchema = PagePaginationQuerySchema.extend({
|
|
937
960
|
customer_id: import_v45.z.string(),
|
|
938
|
-
feature_id: import_v45.z.string().
|
|
939
|
-
|
|
961
|
+
feature_id: import_v45.z.string().or(import_v45.z.array(import_v45.z.string())),
|
|
962
|
+
custom_range: import_v45.z.object({
|
|
963
|
+
start: import_v45.z.coerce.number().optional(),
|
|
964
|
+
end: import_v45.z.coerce.number().optional()
|
|
965
|
+
}).optional()
|
|
940
966
|
});
|
|
941
|
-
var
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
send_event: import_v45.z.boolean().optional(),
|
|
949
|
-
with_preview: import_v45.z.boolean().optional(),
|
|
950
|
-
entity_data: EntityDataSchema.optional()
|
|
967
|
+
var EventsListItemSchema = import_v45.z.object({
|
|
968
|
+
id: import_v45.z.string().describe("Event ID (KSUID)"),
|
|
969
|
+
timestamp: import_v45.z.number().describe("Event timestamp (epoch milliseconds)"),
|
|
970
|
+
feature_id: import_v45.z.string().describe("Name of the event"),
|
|
971
|
+
customer_id: import_v45.z.string().describe("Customer identifier"),
|
|
972
|
+
value: import_v45.z.number().describe("Event value/count"),
|
|
973
|
+
properties: import_v45.z.object({}).describe("Event properties (JSONB)")
|
|
951
974
|
});
|
|
975
|
+
var EventsListResponseSchema = createPagePaginatedResponseSchema(EventsListItemSchema);
|
|
952
976
|
|
|
953
|
-
// src/sdk/
|
|
977
|
+
// src/sdk/features/featureTypes.ts
|
|
954
978
|
var import_v46 = require("zod/v4");
|
|
955
|
-
var
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
979
|
+
var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
|
|
980
|
+
FeatureType2["Boolean"] = "boolean";
|
|
981
|
+
FeatureType2["SingleUse"] = "single_use";
|
|
982
|
+
FeatureType2["ContinuousUse"] = "continuous_use";
|
|
983
|
+
FeatureType2["CreditSystem"] = "credit_system";
|
|
984
|
+
return FeatureType2;
|
|
985
|
+
})(FeatureType || {});
|
|
986
|
+
var FeatureSchema = import_v46.z.object({
|
|
987
|
+
id: import_v46.z.string(),
|
|
988
|
+
name: import_v46.z.string(),
|
|
989
|
+
type: import_v46.z.enum(FeatureType),
|
|
990
|
+
display: import_v46.z.object({
|
|
991
|
+
singular: import_v46.z.string(),
|
|
992
|
+
plural: import_v46.z.string()
|
|
993
|
+
}).nullish(),
|
|
994
|
+
credit_schema: import_v46.z.array(
|
|
995
|
+
import_v46.z.object({
|
|
996
|
+
metered_feature_id: import_v46.z.string(),
|
|
997
|
+
credit_cost: import_v46.z.number()
|
|
998
|
+
})
|
|
999
|
+
).nullish(),
|
|
1000
|
+
archived: import_v46.z.boolean()
|
|
962
1001
|
});
|
|
963
1002
|
|
|
964
1003
|
// src/sdk/general/attachTypes.ts
|
|
@@ -1015,251 +1054,69 @@ var CheckoutParamsSchema = import_v47.z.object({
|
|
|
1015
1054
|
new_billing_subscription: import_v47.z.boolean().optional()
|
|
1016
1055
|
});
|
|
1017
1056
|
|
|
1018
|
-
// src/sdk/general/
|
|
1057
|
+
// src/sdk/general/checkTypes.ts
|
|
1019
1058
|
var import_v48 = require("zod/v4");
|
|
1020
|
-
var
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
});
|
|
1028
|
-
var createCursorPaginatedResponseSchema = (itemSchema) => import_v48.z.object({
|
|
1029
|
-
list: import_v48.z.array(itemSchema),
|
|
1030
|
-
has_more: import_v48.z.boolean(),
|
|
1031
|
-
next_cursor: import_v48.z.string().nullable()
|
|
1032
|
-
});
|
|
1059
|
+
var CheckFeatureResultSchema = import_v48.z.object({
|
|
1060
|
+
allowed: import_v48.z.boolean(),
|
|
1061
|
+
feature_id: import_v48.z.string(),
|
|
1062
|
+
customer_id: import_v48.z.string(),
|
|
1063
|
+
entity_id: import_v48.z.string().optional(),
|
|
1064
|
+
required_balance: import_v48.z.number()
|
|
1065
|
+
}).extend(CoreCusFeatureSchema.shape);
|
|
1033
1066
|
|
|
1034
|
-
// src/sdk/
|
|
1067
|
+
// src/sdk/general/genTypes.ts
|
|
1035
1068
|
var import_v49 = require("zod/v4");
|
|
1036
|
-
var
|
|
1037
|
-
"24h",
|
|
1038
|
-
"7d",
|
|
1039
|
-
"30d",
|
|
1040
|
-
"90d",
|
|
1041
|
-
"last_cycle",
|
|
1042
|
-
"1bc",
|
|
1043
|
-
"3bc"
|
|
1044
|
-
]);
|
|
1045
|
-
var BinSizeEnum = import_v49.z.enum(["day", "hour"]);
|
|
1046
|
-
var QueryParamsSchema = import_v49.z.object({
|
|
1069
|
+
var CancelParamsSchema = import_v49.z.object({
|
|
1047
1070
|
customer_id: import_v49.z.string(),
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
bin_size: BinSizeEnum.optional(),
|
|
1052
|
-
custom_range: import_v49.z.object({
|
|
1053
|
-
start: import_v49.z.number(),
|
|
1054
|
-
end: import_v49.z.number()
|
|
1055
|
-
}).optional()
|
|
1071
|
+
product_id: import_v49.z.string(),
|
|
1072
|
+
entity_id: import_v49.z.string().optional(),
|
|
1073
|
+
cancel_immediately: import_v49.z.boolean().optional()
|
|
1056
1074
|
});
|
|
1057
|
-
var
|
|
1075
|
+
var CancelResultSchema = import_v49.z.object({
|
|
1076
|
+
success: import_v49.z.boolean(),
|
|
1058
1077
|
customer_id: import_v49.z.string(),
|
|
1059
|
-
|
|
1060
|
-
time_range: import_v49.z.object({
|
|
1061
|
-
start: import_v49.z.coerce.number().optional(),
|
|
1062
|
-
end: import_v49.z.coerce.number().optional()
|
|
1063
|
-
}).optional()
|
|
1078
|
+
product_id: import_v49.z.string()
|
|
1064
1079
|
});
|
|
1065
|
-
var
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
feature_id: import_v49.z.string().
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1080
|
+
var TrackParamsSchema = import_v49.z.object({
|
|
1081
|
+
customer_id: import_v49.z.string(),
|
|
1082
|
+
value: import_v49.z.number().optional(),
|
|
1083
|
+
feature_id: import_v49.z.string().optional(),
|
|
1084
|
+
event_name: import_v49.z.string().optional(),
|
|
1085
|
+
entity_id: import_v49.z.string().optional(),
|
|
1086
|
+
customer_data: import_v49.z.any().optional(),
|
|
1087
|
+
idempotency_key: import_v49.z.string().optional(),
|
|
1088
|
+
entity_data: import_v49.z.any().optional(),
|
|
1089
|
+
properties: import_v49.z.record(import_v49.z.string(), import_v49.z.any()).optional()
|
|
1090
|
+
});
|
|
1091
|
+
var TrackResultSchema = import_v49.z.object({
|
|
1092
|
+
id: import_v49.z.string(),
|
|
1093
|
+
code: import_v49.z.string(),
|
|
1094
|
+
customer_id: import_v49.z.string(),
|
|
1095
|
+
feature_id: import_v49.z.string().optional(),
|
|
1096
|
+
event_name: import_v49.z.string().optional()
|
|
1097
|
+
});
|
|
1098
|
+
var CheckParamsSchema = import_v49.z.object({
|
|
1099
|
+
customer_id: import_v49.z.string(),
|
|
1100
|
+
feature_id: import_v49.z.string().optional(),
|
|
1101
|
+
product_id: import_v49.z.string().optional(),
|
|
1102
|
+
entity_id: import_v49.z.string().optional(),
|
|
1103
|
+
customer_data: import_v49.z.any().optional(),
|
|
1104
|
+
required_balance: import_v49.z.number().optional(),
|
|
1105
|
+
send_event: import_v49.z.boolean().optional(),
|
|
1106
|
+
with_preview: import_v49.z.boolean().optional(),
|
|
1107
|
+
entity_data: EntityDataSchema.optional()
|
|
1072
1108
|
});
|
|
1073
|
-
var EventListResponseSchema = createCursorPaginatedResponseSchema(EventListItemSchema);
|
|
1074
1109
|
|
|
1075
|
-
// src/sdk/
|
|
1110
|
+
// src/sdk/referrals/referralTypes.ts
|
|
1076
1111
|
var import_v410 = require("zod/v4");
|
|
1077
|
-
var
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
var FeatureSchema = import_v410.z.object({
|
|
1085
|
-
id: import_v410.z.string(),
|
|
1086
|
-
name: import_v410.z.string(),
|
|
1087
|
-
type: import_v410.z.enum(FeatureType),
|
|
1088
|
-
display: import_v410.z.object({
|
|
1089
|
-
singular: import_v410.z.string(),
|
|
1090
|
-
plural: import_v410.z.string()
|
|
1091
|
-
}).nullish(),
|
|
1092
|
-
credit_schema: import_v410.z.array(
|
|
1093
|
-
import_v410.z.object({
|
|
1094
|
-
metered_feature_id: import_v410.z.string(),
|
|
1095
|
-
credit_cost: import_v410.z.number()
|
|
1096
|
-
})
|
|
1097
|
-
).nullish(),
|
|
1098
|
-
archived: import_v410.z.boolean()
|
|
1112
|
+
var CreateReferralCodeParamsSchema = import_v410.z.object({
|
|
1113
|
+
customer_id: import_v410.z.string(),
|
|
1114
|
+
program_id: import_v410.z.string()
|
|
1115
|
+
});
|
|
1116
|
+
var RedeemReferralCodeParamsSchema = import_v410.z.object({
|
|
1117
|
+
code: import_v410.z.string(),
|
|
1118
|
+
customer_id: import_v410.z.string()
|
|
1099
1119
|
});
|
|
1100
|
-
|
|
1101
|
-
// src/libraries/react/hooks/helpers/handleCheck.ts
|
|
1102
|
-
var getCusFeature = ({
|
|
1103
|
-
customer,
|
|
1104
|
-
featureId,
|
|
1105
|
-
requiredBalance = 1
|
|
1106
|
-
}) => {
|
|
1107
|
-
let cusFeature = customer.features[featureId];
|
|
1108
|
-
if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
|
|
1109
|
-
return {
|
|
1110
|
-
cusFeature,
|
|
1111
|
-
requiredBalance
|
|
1112
|
-
};
|
|
1113
|
-
}
|
|
1114
|
-
let creditSchema = Object.values(customer.features).find(
|
|
1115
|
-
(f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
|
|
1116
|
-
);
|
|
1117
|
-
if (creditSchema) {
|
|
1118
|
-
let schemaItem = creditSchema.credit_schema?.find(
|
|
1119
|
-
(c) => c.feature_id === featureId
|
|
1120
|
-
);
|
|
1121
|
-
return {
|
|
1122
|
-
cusFeature: creditSchema,
|
|
1123
|
-
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1124
|
-
};
|
|
1125
|
-
}
|
|
1126
|
-
return {
|
|
1127
|
-
cusFeature: customer.features[featureId],
|
|
1128
|
-
requiredBalance
|
|
1129
|
-
};
|
|
1130
|
-
};
|
|
1131
|
-
var getFeatureAllowed = ({
|
|
1132
|
-
cusFeature,
|
|
1133
|
-
requiredBalance
|
|
1134
|
-
}) => {
|
|
1135
|
-
if (!cusFeature) return false;
|
|
1136
|
-
if (cusFeature.type == "static") return true;
|
|
1137
|
-
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1138
|
-
if (cusFeature.usage_limit) {
|
|
1139
|
-
let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
|
|
1140
|
-
return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
|
|
1141
|
-
}
|
|
1142
|
-
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1143
|
-
};
|
|
1144
|
-
var handleFeatureCheck = ({
|
|
1145
|
-
customer,
|
|
1146
|
-
isEntity,
|
|
1147
|
-
params
|
|
1148
|
-
}) => {
|
|
1149
|
-
let { cusFeature, requiredBalance } = getCusFeature({
|
|
1150
|
-
customer,
|
|
1151
|
-
featureId: params.featureId,
|
|
1152
|
-
...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
|
|
1153
|
-
});
|
|
1154
|
-
let allowed = getFeatureAllowed({
|
|
1155
|
-
cusFeature,
|
|
1156
|
-
requiredBalance: requiredBalance ?? 1
|
|
1157
|
-
});
|
|
1158
|
-
let result = {
|
|
1159
|
-
allowed,
|
|
1160
|
-
feature_id: cusFeature?.id ?? params.featureId,
|
|
1161
|
-
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1162
|
-
required_balance: requiredBalance,
|
|
1163
|
-
...cusFeature
|
|
1164
|
-
};
|
|
1165
|
-
if (isEntity) {
|
|
1166
|
-
result.entity_id = customer.id;
|
|
1167
|
-
}
|
|
1168
|
-
try {
|
|
1169
|
-
return CheckFeatureResultSchema.parse(result);
|
|
1170
|
-
} catch (error) {
|
|
1171
|
-
return result;
|
|
1172
|
-
}
|
|
1173
|
-
};
|
|
1174
|
-
var handleProductCheck = ({
|
|
1175
|
-
customer,
|
|
1176
|
-
isEntity,
|
|
1177
|
-
params
|
|
1178
|
-
}) => {
|
|
1179
|
-
let product = customer.products.find((p) => p.id == params.productId);
|
|
1180
|
-
let allowed = product?.status === "active" || product?.status === "trialing";
|
|
1181
|
-
let result = {
|
|
1182
|
-
allowed,
|
|
1183
|
-
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1184
|
-
product_id: params.productId
|
|
1185
|
-
};
|
|
1186
|
-
if (product) {
|
|
1187
|
-
result.status = product.status;
|
|
1188
|
-
}
|
|
1189
|
-
if (isEntity) {
|
|
1190
|
-
result.entity_id = customer.id;
|
|
1191
|
-
}
|
|
1192
|
-
return result;
|
|
1193
|
-
};
|
|
1194
|
-
var openDialog = ({
|
|
1195
|
-
result,
|
|
1196
|
-
params,
|
|
1197
|
-
context
|
|
1198
|
-
}) => {
|
|
1199
|
-
let open = result?.allowed === false && params.dialog && context;
|
|
1200
|
-
if (!open) return;
|
|
1201
|
-
const isInRenderCycle = (() => {
|
|
1202
|
-
const stack = new Error().stack || "";
|
|
1203
|
-
return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
|
|
1204
|
-
})();
|
|
1205
|
-
if (isInRenderCycle) {
|
|
1206
|
-
context.paywallRef.current = {
|
|
1207
|
-
component: params.dialog,
|
|
1208
|
-
open: true,
|
|
1209
|
-
props: params
|
|
1210
|
-
};
|
|
1211
|
-
} else {
|
|
1212
|
-
context.paywallDialog.setComponent(params.dialog);
|
|
1213
|
-
context.paywallDialog.setProps(params);
|
|
1214
|
-
context.paywallDialog.setOpen(true);
|
|
1215
|
-
}
|
|
1216
|
-
};
|
|
1217
|
-
var handleCheck2 = ({
|
|
1218
|
-
customer,
|
|
1219
|
-
isEntity,
|
|
1220
|
-
params,
|
|
1221
|
-
context
|
|
1222
|
-
}) => {
|
|
1223
|
-
if (!customer) {
|
|
1224
|
-
return {
|
|
1225
|
-
data: {
|
|
1226
|
-
allowed: false,
|
|
1227
|
-
feature_id: "",
|
|
1228
|
-
customer_id: "",
|
|
1229
|
-
required_balance: 0
|
|
1230
|
-
},
|
|
1231
|
-
error: null
|
|
1232
|
-
};
|
|
1233
|
-
}
|
|
1234
|
-
if (!params.featureId && !params.productId) {
|
|
1235
|
-
throw new Error("allowed() requires either featureId or productId");
|
|
1236
|
-
}
|
|
1237
|
-
let result;
|
|
1238
|
-
if (params.featureId)
|
|
1239
|
-
result = handleFeatureCheck({ customer, params, isEntity });
|
|
1240
|
-
if (params.productId)
|
|
1241
|
-
result = handleProductCheck({ customer, params, isEntity });
|
|
1242
|
-
return {
|
|
1243
|
-
data: result,
|
|
1244
|
-
error: null
|
|
1245
|
-
};
|
|
1246
|
-
};
|
|
1247
|
-
|
|
1248
|
-
// src/libraries/react/errorUtils/logAuthError.ts
|
|
1249
|
-
var logAuthError = async (response) => {
|
|
1250
|
-
if (response.status === 401) {
|
|
1251
|
-
let clonedResponse = response.clone();
|
|
1252
|
-
let data = await clonedResponse.json();
|
|
1253
|
-
if (data.message.includes("Missing authorization header")) {
|
|
1254
|
-
console.error(`[Autumn] Missing authorization header.
|
|
1255
|
-
|
|
1256
|
-
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
1257
|
-
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
1258
|
-
return true;
|
|
1259
|
-
}
|
|
1260
|
-
}
|
|
1261
|
-
return false;
|
|
1262
|
-
};
|
|
1263
1120
|
|
|
1264
1121
|
// src/libraries/react/errorUtils/logFetchError.ts
|
|
1265
1122
|
var logFetchError = ({
|
|
@@ -1274,6 +1131,17 @@ var logFetchError = ({
|
|
|
1274
1131
|
2. Check that autumnHandler is correctly registered on your backend.`);
|
|
1275
1132
|
};
|
|
1276
1133
|
|
|
1134
|
+
// src/libraries/react/client/clientAnalyticsMethods.ts
|
|
1135
|
+
async function eventListMethod(params) {
|
|
1136
|
+
const res = await this.post(`${this.prefix}/events/list`, params);
|
|
1137
|
+
console.log("res", res);
|
|
1138
|
+
return res;
|
|
1139
|
+
}
|
|
1140
|
+
async function eventAggregateMethod(params) {
|
|
1141
|
+
const res = await this.post(`${this.prefix}/events/aggregate`, params);
|
|
1142
|
+
return res;
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1277
1145
|
// src/libraries/react/client/clientCusMethods.ts
|
|
1278
1146
|
var createCustomerMethod = async ({
|
|
1279
1147
|
client,
|
|
@@ -1376,16 +1244,6 @@ async function redeemCode(params) {
|
|
|
1376
1244
|
return res;
|
|
1377
1245
|
}
|
|
1378
1246
|
|
|
1379
|
-
// src/libraries/react/client/clientAnalyticsMethods.ts
|
|
1380
|
-
async function eventListMethod(params) {
|
|
1381
|
-
const res = await this.post(`${this.prefix}/events/list`, params);
|
|
1382
|
-
return res;
|
|
1383
|
-
}
|
|
1384
|
-
async function eventAggregateMethod(params) {
|
|
1385
|
-
const res = await this.post(`${this.prefix}/events/aggregate`, params);
|
|
1386
|
-
return res;
|
|
1387
|
-
}
|
|
1388
|
-
|
|
1389
1247
|
// src/libraries/react/client/ReactAutumnClient.tsx
|
|
1390
1248
|
var AutumnClient = class {
|
|
1391
1249
|
backendUrl;
|
|
@@ -1631,6 +1489,153 @@ var useAutumnContext = ({
|
|
|
1631
1489
|
return context;
|
|
1632
1490
|
};
|
|
1633
1491
|
|
|
1492
|
+
// src/libraries/react/hooks/helpers/handleCheck.ts
|
|
1493
|
+
var getCusFeature = ({
|
|
1494
|
+
customer,
|
|
1495
|
+
featureId,
|
|
1496
|
+
requiredBalance = 1
|
|
1497
|
+
}) => {
|
|
1498
|
+
let cusFeature = customer.features[featureId];
|
|
1499
|
+
if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
|
|
1500
|
+
return {
|
|
1501
|
+
cusFeature,
|
|
1502
|
+
requiredBalance
|
|
1503
|
+
};
|
|
1504
|
+
}
|
|
1505
|
+
let creditSchema = Object.values(customer.features).find(
|
|
1506
|
+
(f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
|
|
1507
|
+
);
|
|
1508
|
+
if (creditSchema) {
|
|
1509
|
+
let schemaItem = creditSchema.credit_schema?.find(
|
|
1510
|
+
(c) => c.feature_id === featureId
|
|
1511
|
+
);
|
|
1512
|
+
return {
|
|
1513
|
+
cusFeature: creditSchema,
|
|
1514
|
+
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1515
|
+
};
|
|
1516
|
+
}
|
|
1517
|
+
return {
|
|
1518
|
+
cusFeature: customer.features[featureId],
|
|
1519
|
+
requiredBalance
|
|
1520
|
+
};
|
|
1521
|
+
};
|
|
1522
|
+
var getFeatureAllowed = ({
|
|
1523
|
+
cusFeature,
|
|
1524
|
+
requiredBalance
|
|
1525
|
+
}) => {
|
|
1526
|
+
if (!cusFeature) return false;
|
|
1527
|
+
if (cusFeature.type == "static") return true;
|
|
1528
|
+
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1529
|
+
if (cusFeature.usage_limit) {
|
|
1530
|
+
let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
|
|
1531
|
+
return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
|
|
1532
|
+
}
|
|
1533
|
+
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1534
|
+
};
|
|
1535
|
+
var handleFeatureCheck = ({
|
|
1536
|
+
customer,
|
|
1537
|
+
isEntity,
|
|
1538
|
+
params
|
|
1539
|
+
}) => {
|
|
1540
|
+
let { cusFeature, requiredBalance } = getCusFeature({
|
|
1541
|
+
customer,
|
|
1542
|
+
featureId: params.featureId,
|
|
1543
|
+
...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
|
|
1544
|
+
});
|
|
1545
|
+
let allowed = getFeatureAllowed({
|
|
1546
|
+
cusFeature,
|
|
1547
|
+
requiredBalance: requiredBalance ?? 1
|
|
1548
|
+
});
|
|
1549
|
+
let result = {
|
|
1550
|
+
allowed,
|
|
1551
|
+
feature_id: cusFeature?.id ?? params.featureId,
|
|
1552
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1553
|
+
required_balance: requiredBalance,
|
|
1554
|
+
...cusFeature
|
|
1555
|
+
};
|
|
1556
|
+
if (isEntity) {
|
|
1557
|
+
result.entity_id = customer.id;
|
|
1558
|
+
}
|
|
1559
|
+
try {
|
|
1560
|
+
return CheckFeatureResultSchema.parse(result);
|
|
1561
|
+
} catch (error) {
|
|
1562
|
+
return result;
|
|
1563
|
+
}
|
|
1564
|
+
};
|
|
1565
|
+
var handleProductCheck = ({
|
|
1566
|
+
customer,
|
|
1567
|
+
isEntity,
|
|
1568
|
+
params
|
|
1569
|
+
}) => {
|
|
1570
|
+
let product = customer.products.find((p) => p.id == params.productId);
|
|
1571
|
+
let allowed = product?.status === "active" || product?.status === "trialing";
|
|
1572
|
+
let result = {
|
|
1573
|
+
allowed,
|
|
1574
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1575
|
+
product_id: params.productId
|
|
1576
|
+
};
|
|
1577
|
+
if (product) {
|
|
1578
|
+
result.status = product.status;
|
|
1579
|
+
}
|
|
1580
|
+
if (isEntity) {
|
|
1581
|
+
result.entity_id = customer.id;
|
|
1582
|
+
}
|
|
1583
|
+
return result;
|
|
1584
|
+
};
|
|
1585
|
+
var openDialog = ({
|
|
1586
|
+
result,
|
|
1587
|
+
params,
|
|
1588
|
+
context
|
|
1589
|
+
}) => {
|
|
1590
|
+
let open = result?.allowed === false && params.dialog && context;
|
|
1591
|
+
if (!open) return;
|
|
1592
|
+
const isInRenderCycle = (() => {
|
|
1593
|
+
const stack = new Error().stack || "";
|
|
1594
|
+
return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
|
|
1595
|
+
})();
|
|
1596
|
+
if (isInRenderCycle) {
|
|
1597
|
+
context.paywallRef.current = {
|
|
1598
|
+
component: params.dialog,
|
|
1599
|
+
open: true,
|
|
1600
|
+
props: params
|
|
1601
|
+
};
|
|
1602
|
+
} else {
|
|
1603
|
+
context.paywallDialog.setComponent(params.dialog);
|
|
1604
|
+
context.paywallDialog.setProps(params);
|
|
1605
|
+
context.paywallDialog.setOpen(true);
|
|
1606
|
+
}
|
|
1607
|
+
};
|
|
1608
|
+
var handleCheck2 = ({
|
|
1609
|
+
customer,
|
|
1610
|
+
isEntity,
|
|
1611
|
+
params,
|
|
1612
|
+
context
|
|
1613
|
+
}) => {
|
|
1614
|
+
if (!customer) {
|
|
1615
|
+
return {
|
|
1616
|
+
data: {
|
|
1617
|
+
allowed: false,
|
|
1618
|
+
feature_id: "",
|
|
1619
|
+
customer_id: "",
|
|
1620
|
+
required_balance: 0
|
|
1621
|
+
},
|
|
1622
|
+
error: null
|
|
1623
|
+
};
|
|
1624
|
+
}
|
|
1625
|
+
if (!params.featureId && !params.productId) {
|
|
1626
|
+
throw new Error("allowed() requires either featureId or productId");
|
|
1627
|
+
}
|
|
1628
|
+
let result;
|
|
1629
|
+
if (params.featureId)
|
|
1630
|
+
result = handleFeatureCheck({ customer, params, isEntity });
|
|
1631
|
+
if (params.productId)
|
|
1632
|
+
result = handleProductCheck({ customer, params, isEntity });
|
|
1633
|
+
return {
|
|
1634
|
+
data: result,
|
|
1635
|
+
error: null
|
|
1636
|
+
};
|
|
1637
|
+
};
|
|
1638
|
+
|
|
1634
1639
|
// src/libraries/react/hooks/usePricingTableBase.tsx
|
|
1635
1640
|
var import_swr = __toESM(require("swr"));
|
|
1636
1641
|
var mergeProductDetails = (products, productDetails) => {
|
|
@@ -2018,7 +2023,8 @@ var useCustomerBase = ({
|
|
|
2018
2023
|
swrConfig: {
|
|
2019
2024
|
shouldRetryOnError: false,
|
|
2020
2025
|
refreshInterval: 0,
|
|
2021
|
-
...params?.swrConfig
|
|
2026
|
+
...params?.swrConfig,
|
|
2027
|
+
dedupingInterval: 2e3
|
|
2022
2028
|
}
|
|
2023
2029
|
});
|
|
2024
2030
|
const autumnFunctions = useAutumnBase({
|