autumn-js 0.1.53 → 0.1.56
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 +323 -332
- package/dist/libraries/backend/better-auth.mjs +135 -148
- package/dist/libraries/backend/{chunk-ZDGVHVDZ.mjs → chunk-ABXR5LZJ.mjs} +1 -1
- package/dist/libraries/backend/{chunk-NCUEPWFJ.mjs → chunk-DMVFEWDM.mjs} +7 -7
- package/dist/libraries/backend/{chunk-DUTH4YIQ.mjs → chunk-EGTNCWHG.mjs} +198 -194
- package/dist/libraries/backend/{chunk-IUUFQ3OI.mjs → chunk-IVO6PRCK.mjs} +2 -2
- package/dist/libraries/backend/{chunk-PLADIABP.mjs → chunk-L4HVOC7A.mjs} +1 -1
- package/dist/libraries/backend/{chunk-M3WWSFNX.mjs → chunk-NK3RQBHK.mjs} +1 -1
- package/dist/libraries/backend/{chunk-2TEL6LR5.mjs → chunk-SGEUXFOF.mjs} +1 -1
- package/dist/libraries/backend/{chunk-GUY7BZZ4.mjs → chunk-VSBNSHZS.mjs} +1 -1
- package/dist/libraries/backend/{chunk-OWJBOQNO.mjs → chunk-Z3GRABBZ.mjs} +1 -1
- package/dist/libraries/backend/convex.js +197 -193
- package/dist/libraries/backend/convex.mjs +9 -9
- package/dist/libraries/backend/elysia.js +197 -193
- package/dist/libraries/backend/elysia.mjs +9 -9
- package/dist/libraries/backend/express.d.mts +1 -1
- package/dist/libraries/backend/express.d.ts +1 -1
- package/dist/libraries/backend/express.js +197 -193
- package/dist/libraries/backend/express.mjs +9 -9
- package/dist/libraries/backend/fastify.js +197 -193
- package/dist/libraries/backend/fastify.mjs +9 -9
- package/dist/libraries/backend/hono.js +197 -193
- package/dist/libraries/backend/hono.mjs +9 -9
- package/dist/libraries/backend/index.d.mts +1 -1
- package/dist/libraries/backend/index.d.ts +1 -1
- package/dist/libraries/backend/index.js +197 -193
- package/dist/libraries/backend/index.mjs +9 -9
- package/dist/libraries/backend/next.js +197 -193
- package/dist/libraries/backend/next.mjs +9 -9
- package/dist/libraries/backend/react-router.js +197 -193
- package/dist/libraries/backend/react-router.mjs +9 -9
- 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 +197 -193
- package/dist/libraries/backend/remix_dep.mjs +9 -9
- package/dist/libraries/backend/routes/analyticsRoutes.js +176 -172
- package/dist/libraries/backend/routes/analyticsRoutes.mjs +4 -4
- package/dist/libraries/backend/routes/backendRouter.js +197 -193
- package/dist/libraries/backend/routes/backendRouter.mjs +9 -9
- package/dist/libraries/backend/routes/entityRoutes.js +173 -169
- package/dist/libraries/backend/routes/entityRoutes.mjs +4 -4
- package/dist/libraries/backend/routes/genRoutes.js +173 -169
- package/dist/libraries/backend/routes/genRoutes.mjs +4 -4
- package/dist/libraries/backend/routes/productRoutes.js +173 -169
- package/dist/libraries/backend/routes/productRoutes.mjs +4 -4
- package/dist/libraries/backend/routes/referralRoutes.js +173 -169
- package/dist/libraries/backend/routes/referralRoutes.mjs +4 -4
- package/dist/libraries/backend/supabase.js +197 -193
- package/dist/libraries/backend/supabase.mjs +9 -9
- package/dist/libraries/backend/tanstack.js +197 -193
- package/dist/libraries/backend/tanstack.mjs +9 -9
- package/dist/libraries/backend/utils/backendRes.js +173 -169
- package/dist/libraries/backend/utils/backendRes.mjs +2 -2
- package/dist/libraries/backend/utils/logBackendErrors.js +1 -1
- package/dist/libraries/backend/utils/logBackendErrors.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 +173 -169
- package/dist/libraries/backend/utils/withAuth.mjs +3 -3
- 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 -179
- package/dist/libraries/react/AutumnContext.mjs +5 -5
- package/dist/libraries/react/BaseAutumnProvider.d.mts +3 -3
- package/dist/libraries/react/BaseAutumnProvider.d.ts +3 -3
- package/dist/libraries/react/BaseAutumnProvider.js +350 -343
- package/dist/libraries/react/BaseAutumnProvider.mjs +10 -10
- 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 +350 -343
- package/dist/libraries/react/ReactAutumnProvider.mjs +12 -12
- 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-QCGPJ5QU.mjs → chunk-3J4DYJET.mjs} +1 -1
- package/dist/libraries/react/{chunk-YGXSVTYJ.mjs → chunk-4J4Y5AAU.mjs} +6 -5
- 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-3HGWHP3P.mjs → chunk-5TLRC3ED.mjs} +2 -2
- package/dist/libraries/react/{chunk-Y3AJHLDS.mjs → chunk-5YRCYEG5.mjs} +1 -1
- package/dist/libraries/react/{chunk-FO7GCPGQ.mjs → chunk-6XHXGLPY.mjs} +1 -1
- package/dist/libraries/react/{chunk-O4KFMQ34.mjs → chunk-CDWIZ4FK.mjs} +1 -1
- package/dist/libraries/react/{chunk-OQMAGWNJ.mjs → chunk-E27FVCYB.mjs} +2 -2
- package/dist/libraries/react/{chunk-XMJFBTHX.mjs → chunk-ESF5JUVR.mjs} +231 -227
- package/dist/libraries/react/chunk-FZEXI65Y.mjs +64 -0
- package/dist/libraries/react/{chunk-G3FR7GFT.mjs → chunk-G75EJQHU.mjs} +7 -7
- package/dist/libraries/react/{chunk-VMRN7YTJ.mjs → chunk-HGURN5SI.mjs} +17 -11
- package/dist/libraries/react/{chunk-MM4LTFTB.mjs → chunk-I274Z7T2.mjs} +11 -11
- package/dist/libraries/react/{chunk-VFYARVJM.mjs → chunk-I4WOYOTA.mjs} +2 -2
- package/dist/libraries/react/{chunk-3NVSJPCH.mjs → chunk-KHXGA6KQ.mjs} +1 -1
- package/dist/libraries/react/{chunk-ARG7A7DZ.mjs → chunk-KZ7KACBC.mjs} +2 -2
- package/dist/libraries/react/{chunk-74TUFYHU.mjs → chunk-MHAXHLX4.mjs} +7 -7
- package/dist/libraries/react/{chunk-GWG6ISTT.mjs → chunk-O6TLUOYG.mjs} +5 -5
- package/dist/libraries/react/{chunk-VCTI23H4.mjs → chunk-OIFXT3AO.mjs} +6 -4
- package/dist/libraries/react/{chunk-ZOXTGPMK.mjs → chunk-OQUXN5ST.mjs} +1 -1
- package/dist/libraries/react/{chunk-OK35S3KG.mjs → chunk-QAXLT5FQ.mjs} +4 -4
- package/dist/libraries/react/{chunk-2CIFBRPG.mjs → chunk-QEWVBDWJ.mjs} +1 -1
- package/dist/libraries/react/{chunk-UOCXSRR2.mjs → chunk-RVEGBFYS.mjs} +21 -21
- package/dist/libraries/react/chunk-RWPPMNTA.mjs +88 -0
- 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 +173 -169
- 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 -179
- package/dist/libraries/react/client/ReactAutumnClient.mjs +4 -4
- 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/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 +173 -169
- package/dist/libraries/react/client/types/clientGenTypes.mjs +1 -1
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.js +423 -418
- package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.mjs +31 -31
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.js +320 -316
- package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.mjs +31 -31
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +694 -689
- 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 +173 -169
- 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 +173 -169
- package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +3 -3
- package/dist/libraries/react/hooks/useAggregateEvents.d.mts +4 -1
- package/dist/libraries/react/hooks/useAggregateEvents.d.ts +4 -1
- package/dist/libraries/react/hooks/useAggregateEvents.js +229 -206
- package/dist/libraries/react/hooks/useAggregateEvents.mjs +6 -6
- 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 -205
- package/dist/libraries/react/hooks/useAnalytics.mjs +6 -6
- 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 +184 -179
- package/dist/libraries/react/hooks/useCustomer.mjs +10 -10
- 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 +344 -339
- package/dist/libraries/react/hooks/useCustomerBase.mjs +9 -9
- 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 -179
- package/dist/libraries/react/hooks/useEntity.mjs +10 -10
- 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 -179
- package/dist/libraries/react/hooks/useEntityBase.mjs +9 -9
- package/dist/libraries/react/hooks/useListEvents.d.mts +15 -5
- package/dist/libraries/react/hooks/useListEvents.d.ts +15 -5
- package/dist/libraries/react/hooks/useListEvents.js +257 -211
- package/dist/libraries/react/hooks/useListEvents.mjs +6 -6
- package/dist/libraries/react/hooks/usePaywall.js +183 -179
- package/dist/libraries/react/hooks/usePaywall.mjs +6 -6
- 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 -179
- package/dist/libraries/react/hooks/usePricingTable.mjs +7 -7
- 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 +173 -169
- 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 +265 -256
- package/dist/libraries/react/index.d.ts +265 -256
- package/dist/libraries/react/index.js +1160 -1088
- package/dist/libraries/react/index.mjs +1177 -1105
- 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 +194 -190
- package/dist/sdk/index.mjs +192 -188
- package/dist/utils/{chunk-WNUBT3GZ.mjs → chunk-EG37DNU2.mjs} +1 -1
- package/dist/utils/encryptUtils.js +173 -169
- package/dist/utils/encryptUtils.mjs +173 -169
- package/dist/utils/logger.js +1 -1
- package/dist/utils/logger.mjs +1 -1
- 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
|
@@ -38,7 +38,6 @@ module.exports = __toCommonJS(ReactAutumnProvider_exports);
|
|
|
38
38
|
|
|
39
39
|
// src/libraries/react/BaseAutumnProvider.tsx
|
|
40
40
|
var import_react3 = require("react");
|
|
41
|
-
var import_react4 = require("react");
|
|
42
41
|
|
|
43
42
|
// src/libraries/react/hooks/helpers/useDialog.tsx
|
|
44
43
|
var import_react = require("react");
|
|
@@ -58,30 +57,20 @@ var useDialog = (component) => {
|
|
|
58
57
|
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
59
58
|
var import_swr2 = __toESM(require("swr"));
|
|
60
59
|
|
|
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
|
-
};
|
|
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
|
+
}
|
|
84
72
|
}
|
|
73
|
+
return false;
|
|
85
74
|
};
|
|
86
75
|
|
|
87
76
|
// src/sdk/general/genMethods.ts
|
|
@@ -169,6 +158,32 @@ var buildPathWithQuery = (basePath, params) => {
|
|
|
169
158
|
return query ? `${basePath}?${query}` : basePath;
|
|
170
159
|
};
|
|
171
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
|
+
|
|
172
187
|
// src/sdk/customers/cusMethods.ts
|
|
173
188
|
var customerMethods = (instance) => {
|
|
174
189
|
return {
|
|
@@ -412,7 +427,7 @@ var toContainerResult = async ({
|
|
|
412
427
|
|
|
413
428
|
// src/utils/logger.ts
|
|
414
429
|
var getTime = () => {
|
|
415
|
-
|
|
430
|
+
const timeString = (/* @__PURE__ */ new Date()).toISOString();
|
|
416
431
|
return `[${timeString.split("T")[1].split(".")[0]}]`;
|
|
417
432
|
};
|
|
418
433
|
var greaterThanLevel = (level) => {
|
|
@@ -793,6 +808,17 @@ var Autumn = class {
|
|
|
793
808
|
}
|
|
794
809
|
};
|
|
795
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
|
+
|
|
796
822
|
// src/sdk/products/prodEnums.ts
|
|
797
823
|
var ProductItemInterval = /* @__PURE__ */ ((ProductItemInterval2) => {
|
|
798
824
|
ProductItemInterval2["Minute"] = "minute";
|
|
@@ -807,17 +833,6 @@ var ProductItemInterval = /* @__PURE__ */ ((ProductItemInterval2) => {
|
|
|
807
833
|
return ProductItemInterval2;
|
|
808
834
|
})(ProductItemInterval || {});
|
|
809
835
|
|
|
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
836
|
// src/sdk/customers/cusTypes.ts
|
|
822
837
|
var import_v42 = require("zod/v4");
|
|
823
838
|
var CoreCusFeatureSchema = import_v42.z.object({
|
|
@@ -885,80 +900,103 @@ var ListCustomersParamsSchema = import_v42.z.object({
|
|
|
885
900
|
offset: import_v42.z.number().optional()
|
|
886
901
|
});
|
|
887
902
|
|
|
888
|
-
// src/sdk/
|
|
903
|
+
// src/sdk/customers/entities/entTypes.ts
|
|
889
904
|
var import_v43 = require("zod/v4");
|
|
890
|
-
var
|
|
891
|
-
|
|
892
|
-
feature_id: import_v43.z.string()
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
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
|
+
});
|
|
897
914
|
|
|
898
|
-
// src/sdk/
|
|
915
|
+
// src/sdk/general/pageTypes.ts
|
|
899
916
|
var import_v44 = require("zod/v4");
|
|
900
|
-
var
|
|
901
|
-
|
|
902
|
-
|
|
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
|
+
)
|
|
903
926
|
});
|
|
904
|
-
var
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
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")
|
|
908
933
|
});
|
|
909
934
|
|
|
910
|
-
// src/sdk/
|
|
935
|
+
// src/sdk/events/eventTypes.ts
|
|
911
936
|
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({
|
|
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({
|
|
924
948
|
customer_id: import_v45.z.string(),
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
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()
|
|
933
957
|
});
|
|
934
|
-
var
|
|
935
|
-
id: import_v45.z.string(),
|
|
936
|
-
code: import_v45.z.string(),
|
|
958
|
+
var EventsListParamsSchema = PagePaginationQuerySchema.extend({
|
|
937
959
|
customer_id: import_v45.z.string(),
|
|
938
|
-
feature_id: import_v45.z.string().
|
|
939
|
-
|
|
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()
|
|
940
965
|
});
|
|
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()
|
|
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)")
|
|
951
973
|
});
|
|
974
|
+
var EventsListResponseSchema = createPagePaginatedResponseSchema(EventsListItemSchema);
|
|
952
975
|
|
|
953
|
-
// src/sdk/
|
|
976
|
+
// src/sdk/features/featureTypes.ts
|
|
954
977
|
var import_v46 = require("zod/v4");
|
|
955
|
-
var
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
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()
|
|
962
1000
|
});
|
|
963
1001
|
|
|
964
1002
|
// src/sdk/general/attachTypes.ts
|
|
@@ -1015,251 +1053,69 @@ var CheckoutParamsSchema = import_v47.z.object({
|
|
|
1015
1053
|
new_billing_subscription: import_v47.z.boolean().optional()
|
|
1016
1054
|
});
|
|
1017
1055
|
|
|
1018
|
-
// src/sdk/general/
|
|
1056
|
+
// src/sdk/general/checkTypes.ts
|
|
1019
1057
|
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
|
-
});
|
|
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);
|
|
1033
1065
|
|
|
1034
|
-
// src/sdk/
|
|
1066
|
+
// src/sdk/general/genTypes.ts
|
|
1035
1067
|
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({
|
|
1068
|
+
var CancelParamsSchema = import_v49.z.object({
|
|
1047
1069
|
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()
|
|
1070
|
+
product_id: import_v49.z.string(),
|
|
1071
|
+
entity_id: import_v49.z.string().optional(),
|
|
1072
|
+
cancel_immediately: import_v49.z.boolean().optional()
|
|
1056
1073
|
});
|
|
1057
|
-
var
|
|
1074
|
+
var CancelResultSchema = import_v49.z.object({
|
|
1075
|
+
success: import_v49.z.boolean(),
|
|
1058
1076
|
customer_id: import_v49.z.string(),
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1077
|
+
product_id: import_v49.z.string()
|
|
1078
|
+
});
|
|
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()
|
|
1064
1096
|
});
|
|
1065
|
-
var
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
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()
|
|
1072
1107
|
});
|
|
1073
|
-
var EventListResponseSchema = createCursorPaginatedResponseSchema(EventListItemSchema);
|
|
1074
1108
|
|
|
1075
|
-
// src/sdk/
|
|
1109
|
+
// src/sdk/referrals/referralTypes.ts
|
|
1076
1110
|
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()
|
|
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()
|
|
1099
1118
|
});
|
|
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
1119
|
|
|
1264
1120
|
// src/libraries/react/errorUtils/logFetchError.ts
|
|
1265
1121
|
var logFetchError = ({
|
|
@@ -1274,6 +1130,16 @@ var logFetchError = ({
|
|
|
1274
1130
|
2. Check that autumnHandler is correctly registered on your backend.`);
|
|
1275
1131
|
};
|
|
1276
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
|
+
return res;
|
|
1137
|
+
}
|
|
1138
|
+
async function eventAggregateMethod(params) {
|
|
1139
|
+
const res = await this.post(`${this.prefix}/events/aggregate`, params);
|
|
1140
|
+
return res;
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1277
1143
|
// src/libraries/react/client/clientCusMethods.ts
|
|
1278
1144
|
var createCustomerMethod = async ({
|
|
1279
1145
|
client,
|
|
@@ -1376,16 +1242,6 @@ async function redeemCode(params) {
|
|
|
1376
1242
|
return res;
|
|
1377
1243
|
}
|
|
1378
1244
|
|
|
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
1245
|
// src/libraries/react/client/ReactAutumnClient.tsx
|
|
1390
1246
|
var AutumnClient = class {
|
|
1391
1247
|
backendUrl;
|
|
@@ -1631,6 +1487,153 @@ var useAutumnContext = ({
|
|
|
1631
1487
|
return context;
|
|
1632
1488
|
};
|
|
1633
1489
|
|
|
1490
|
+
// src/libraries/react/hooks/helpers/handleCheck.ts
|
|
1491
|
+
var getCusFeature = ({
|
|
1492
|
+
customer,
|
|
1493
|
+
featureId,
|
|
1494
|
+
requiredBalance = 1
|
|
1495
|
+
}) => {
|
|
1496
|
+
let cusFeature = customer.features[featureId];
|
|
1497
|
+
if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
|
|
1498
|
+
return {
|
|
1499
|
+
cusFeature,
|
|
1500
|
+
requiredBalance
|
|
1501
|
+
};
|
|
1502
|
+
}
|
|
1503
|
+
let creditSchema = Object.values(customer.features).find(
|
|
1504
|
+
(f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
|
|
1505
|
+
);
|
|
1506
|
+
if (creditSchema) {
|
|
1507
|
+
let schemaItem = creditSchema.credit_schema?.find(
|
|
1508
|
+
(c) => c.feature_id === featureId
|
|
1509
|
+
);
|
|
1510
|
+
return {
|
|
1511
|
+
cusFeature: creditSchema,
|
|
1512
|
+
requiredBalance: schemaItem.credit_amount * requiredBalance
|
|
1513
|
+
};
|
|
1514
|
+
}
|
|
1515
|
+
return {
|
|
1516
|
+
cusFeature: customer.features[featureId],
|
|
1517
|
+
requiredBalance
|
|
1518
|
+
};
|
|
1519
|
+
};
|
|
1520
|
+
var getFeatureAllowed = ({
|
|
1521
|
+
cusFeature,
|
|
1522
|
+
requiredBalance
|
|
1523
|
+
}) => {
|
|
1524
|
+
if (!cusFeature) return false;
|
|
1525
|
+
if (cusFeature.type == "static") return true;
|
|
1526
|
+
if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
|
|
1527
|
+
if (cusFeature.usage_limit) {
|
|
1528
|
+
let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
|
|
1529
|
+
return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
|
|
1530
|
+
}
|
|
1531
|
+
return (cusFeature.balance || 0) >= requiredBalance;
|
|
1532
|
+
};
|
|
1533
|
+
var handleFeatureCheck = ({
|
|
1534
|
+
customer,
|
|
1535
|
+
isEntity,
|
|
1536
|
+
params
|
|
1537
|
+
}) => {
|
|
1538
|
+
let { cusFeature, requiredBalance } = getCusFeature({
|
|
1539
|
+
customer,
|
|
1540
|
+
featureId: params.featureId,
|
|
1541
|
+
...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
|
|
1542
|
+
});
|
|
1543
|
+
let allowed = getFeatureAllowed({
|
|
1544
|
+
cusFeature,
|
|
1545
|
+
requiredBalance: requiredBalance ?? 1
|
|
1546
|
+
});
|
|
1547
|
+
let result = {
|
|
1548
|
+
allowed,
|
|
1549
|
+
feature_id: cusFeature?.id ?? params.featureId,
|
|
1550
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1551
|
+
required_balance: requiredBalance,
|
|
1552
|
+
...cusFeature
|
|
1553
|
+
};
|
|
1554
|
+
if (isEntity) {
|
|
1555
|
+
result.entity_id = customer.id;
|
|
1556
|
+
}
|
|
1557
|
+
try {
|
|
1558
|
+
return CheckFeatureResultSchema.parse(result);
|
|
1559
|
+
} catch (error) {
|
|
1560
|
+
return result;
|
|
1561
|
+
}
|
|
1562
|
+
};
|
|
1563
|
+
var handleProductCheck = ({
|
|
1564
|
+
customer,
|
|
1565
|
+
isEntity,
|
|
1566
|
+
params
|
|
1567
|
+
}) => {
|
|
1568
|
+
let product = customer.products.find((p) => p.id == params.productId);
|
|
1569
|
+
let allowed = product?.status === "active" || product?.status === "trialing";
|
|
1570
|
+
let result = {
|
|
1571
|
+
allowed,
|
|
1572
|
+
customer_id: isEntity ? customer.customer_id : customer.id,
|
|
1573
|
+
product_id: params.productId
|
|
1574
|
+
};
|
|
1575
|
+
if (product) {
|
|
1576
|
+
result.status = product.status;
|
|
1577
|
+
}
|
|
1578
|
+
if (isEntity) {
|
|
1579
|
+
result.entity_id = customer.id;
|
|
1580
|
+
}
|
|
1581
|
+
return result;
|
|
1582
|
+
};
|
|
1583
|
+
var openDialog = ({
|
|
1584
|
+
result,
|
|
1585
|
+
params,
|
|
1586
|
+
context
|
|
1587
|
+
}) => {
|
|
1588
|
+
let open = result?.allowed === false && params.dialog && context;
|
|
1589
|
+
if (!open) return;
|
|
1590
|
+
const isInRenderCycle = (() => {
|
|
1591
|
+
const stack = new Error().stack || "";
|
|
1592
|
+
return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
|
|
1593
|
+
})();
|
|
1594
|
+
if (isInRenderCycle) {
|
|
1595
|
+
context.paywallRef.current = {
|
|
1596
|
+
component: params.dialog,
|
|
1597
|
+
open: true,
|
|
1598
|
+
props: params
|
|
1599
|
+
};
|
|
1600
|
+
} else {
|
|
1601
|
+
context.paywallDialog.setComponent(params.dialog);
|
|
1602
|
+
context.paywallDialog.setProps(params);
|
|
1603
|
+
context.paywallDialog.setOpen(true);
|
|
1604
|
+
}
|
|
1605
|
+
};
|
|
1606
|
+
var handleCheck2 = ({
|
|
1607
|
+
customer,
|
|
1608
|
+
isEntity,
|
|
1609
|
+
params,
|
|
1610
|
+
context
|
|
1611
|
+
}) => {
|
|
1612
|
+
if (!customer) {
|
|
1613
|
+
return {
|
|
1614
|
+
data: {
|
|
1615
|
+
allowed: false,
|
|
1616
|
+
feature_id: "",
|
|
1617
|
+
customer_id: "",
|
|
1618
|
+
required_balance: 0
|
|
1619
|
+
},
|
|
1620
|
+
error: null
|
|
1621
|
+
};
|
|
1622
|
+
}
|
|
1623
|
+
if (!params.featureId && !params.productId) {
|
|
1624
|
+
throw new Error("allowed() requires either featureId or productId");
|
|
1625
|
+
}
|
|
1626
|
+
let result;
|
|
1627
|
+
if (params.featureId)
|
|
1628
|
+
result = handleFeatureCheck({ customer, params, isEntity });
|
|
1629
|
+
if (params.productId)
|
|
1630
|
+
result = handleProductCheck({ customer, params, isEntity });
|
|
1631
|
+
return {
|
|
1632
|
+
data: result,
|
|
1633
|
+
error: null
|
|
1634
|
+
};
|
|
1635
|
+
};
|
|
1636
|
+
|
|
1634
1637
|
// src/libraries/react/hooks/usePricingTableBase.tsx
|
|
1635
1638
|
var import_swr = __toESM(require("swr"));
|
|
1636
1639
|
var mergeProductDetails = (products, productDetails) => {
|
|
@@ -2018,6 +2021,7 @@ var useCustomerBase = ({
|
|
|
2018
2021
|
swrConfig: {
|
|
2019
2022
|
shouldRetryOnError: false,
|
|
2020
2023
|
refreshInterval: 0,
|
|
2024
|
+
dedupingInterval: 2e3,
|
|
2021
2025
|
...params?.swrConfig
|
|
2022
2026
|
}
|
|
2023
2027
|
});
|
|
@@ -2059,7 +2063,7 @@ function BaseAutumnProvider({
|
|
|
2059
2063
|
children,
|
|
2060
2064
|
AutumnContext: AutumnContext2
|
|
2061
2065
|
}) {
|
|
2062
|
-
const [components, setComponents] = (0,
|
|
2066
|
+
const [components, setComponents] = (0, import_react3.useState)({});
|
|
2063
2067
|
const [paywallProps, setPaywallProps, paywallOpen, setPaywallOpen] = useDialog(components.paywallDialog);
|
|
2064
2068
|
const [
|
|
2065
2069
|
productChangeProps,
|
|
@@ -2067,9 +2071,12 @@ function BaseAutumnProvider({
|
|
|
2067
2071
|
productChangeOpen,
|
|
2068
2072
|
setProductChangeOpen
|
|
2069
2073
|
] = useDialog(components.productChangeDialog);
|
|
2070
|
-
useCustomerBase({
|
|
2074
|
+
useCustomerBase({
|
|
2075
|
+
client,
|
|
2076
|
+
params: { errorOnNotFound: false }
|
|
2077
|
+
});
|
|
2071
2078
|
const paywallRef = (0, import_react3.useRef)(null);
|
|
2072
|
-
const [refresh, setRefresh] = (0,
|
|
2079
|
+
const [refresh, setRefresh] = (0, import_react3.useState)(0);
|
|
2073
2080
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
2074
2081
|
AutumnContext2.Provider,
|
|
2075
2082
|
{
|