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