autumn-js 0.0.81 → 0.0.82
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.js +18 -2
- package/dist/libraries/backend/better-auth.mjs +7 -7
- package/dist/libraries/backend/{chunk-6YOFMAEQ.mjs → chunk-52OTZ4SQ.mjs} +16 -6
- package/dist/libraries/backend/{chunk-HDGYVYU5.mjs → chunk-A46IKTLH.mjs} +1 -1
- package/dist/libraries/backend/{chunk-7NHMUGUP.mjs → chunk-DG3FZZQH.mjs} +1 -1
- package/dist/libraries/backend/{chunk-MIWNIVVB.mjs → chunk-J3QM5KFT.mjs} +1 -1
- package/dist/libraries/backend/{chunk-PCYIWHGN.mjs → chunk-UJQBHXII.mjs} +1 -1
- package/dist/libraries/backend/{chunk-3VWJMYUQ.mjs → chunk-VCEQ3QBX.mjs} +8 -2
- package/dist/libraries/backend/{chunk-CPLIRBCA.mjs → chunk-WDRHQJKV.mjs} +1 -1
- package/dist/libraries/backend/express.js +18 -2
- package/dist/libraries/backend/express.mjs +7 -7
- package/dist/libraries/backend/fastify.js +18 -2
- package/dist/libraries/backend/fastify.mjs +7 -7
- package/dist/libraries/backend/hono.js +18 -2
- package/dist/libraries/backend/hono.mjs +7 -7
- package/dist/libraries/backend/next.js +18 -2
- package/dist/libraries/backend/next.mjs +7 -7
- package/dist/libraries/backend/react-router.js +18 -2
- package/dist/libraries/backend/react-router.mjs +7 -7
- package/dist/libraries/backend/remix_dep.js +18 -2
- package/dist/libraries/backend/remix_dep.mjs +7 -7
- package/dist/libraries/backend/routes/backendRouter.js +18 -2
- package/dist/libraries/backend/routes/backendRouter.mjs +7 -7
- package/dist/libraries/backend/routes/entityRoutes.js +8 -2
- package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/genRoutes.js +8 -2
- package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/productRoutes.js +8 -2
- package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/referralRoutes.js +8 -2
- package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
- package/dist/libraries/backend/supabase.js +18 -2
- package/dist/libraries/backend/supabase.mjs +7 -7
- package/dist/libraries/backend/tanstack.js +18 -2
- package/dist/libraries/backend/tanstack.mjs +7 -7
- package/dist/libraries/backend/utils/backendRes.js +8 -2
- package/dist/libraries/backend/utils/backendRes.mjs +1 -1
- package/dist/libraries/backend/utils/withAuth.js +8 -2
- package/dist/libraries/backend/utils/withAuth.mjs +2 -2
- package/dist/libraries/react/AutumnContext.d.mts +4 -4
- package/dist/libraries/react/AutumnContext.d.ts +4 -4
- package/dist/libraries/react/AutumnContext.js +83 -5
- package/dist/libraries/react/AutumnContext.mjs +7 -7
- package/dist/libraries/react/BaseAutumnProvider.d.mts +4 -4
- package/dist/libraries/react/BaseAutumnProvider.d.ts +4 -4
- package/dist/libraries/react/BaseAutumnProvider.js +83 -5
- package/dist/libraries/react/BaseAutumnProvider.mjs +11 -11
- package/dist/libraries/react/{ReactAutumnClient-DglSetDZ.d.mts → ReactAutumnClient-Cj2h9TXJ.d.mts} +15 -5
- package/dist/libraries/react/{ReactAutumnClient-CD6wjJoS.d.ts → ReactAutumnClient-DS-MPWXt.d.ts} +15 -5
- package/dist/libraries/react/ReactAutumnProvider.d.mts +1 -1
- package/dist/libraries/react/ReactAutumnProvider.d.ts +1 -1
- package/dist/libraries/react/ReactAutumnProvider.js +84 -13
- package/dist/libraries/react/ReactAutumnProvider.mjs +12 -12
- package/dist/libraries/react/{chunk-6XKT4CR3.mjs → chunk-6ULRUGQO.mjs} +2 -2
- package/dist/libraries/react/{chunk-4DZUJMZF.mjs → chunk-CQMTU2M4.mjs} +2 -2
- package/dist/libraries/react/{chunk-KOX2RKIK.mjs → chunk-EWMKQDQ6.mjs} +2 -2
- package/dist/libraries/react/{chunk-ELPGPLUJ.mjs → chunk-GEIECHWI.mjs} +2 -2
- package/dist/libraries/react/{chunk-XNJDRLWX.mjs → chunk-JOY6LN3M.mjs} +2 -2
- package/dist/libraries/react/chunk-JVCOY7ZL.mjs +22 -0
- package/dist/libraries/react/{chunk-ZLYUPJN5.mjs → chunk-KVGD37VB.mjs} +3 -3
- package/dist/libraries/react/{chunk-DSHLYZWS.mjs → chunk-L55GLFAX.mjs} +1 -1
- package/dist/libraries/react/{chunk-DFKCNRXM.mjs → chunk-MH2YTNJL.mjs} +1 -1
- package/dist/libraries/react/{chunk-LLOLCHBX.mjs → chunk-S4VDT54B.mjs} +2 -2
- package/dist/libraries/react/{chunk-QEYI3IGZ.mjs → chunk-SCT4E6YW.mjs} +2 -2
- package/dist/libraries/react/{chunk-RRXCG32N.mjs → chunk-UDRQNZZS.mjs} +255 -48
- package/dist/libraries/react/{chunk-I2TAKPWB.mjs → chunk-UO2PX7P3.mjs} +4 -11
- package/dist/libraries/react/{chunk-EI2TXOE2.mjs → chunk-W2ZI3EI4.mjs} +7 -7
- package/dist/libraries/react/client/ReactAutumnClient.d.mts +4 -4
- package/dist/libraries/react/client/ReactAutumnClient.d.ts +4 -4
- package/dist/libraries/react/client/ReactAutumnClient.js +83 -5
- package/dist/libraries/react/client/ReactAutumnClient.mjs +6 -6
- package/dist/libraries/react/client/clientCompMethods.d.mts +4 -4
- package/dist/libraries/react/client/clientCompMethods.d.ts +4 -4
- package/dist/libraries/react/client/clientCusMethods.d.mts +4 -4
- package/dist/libraries/react/client/clientCusMethods.d.ts +4 -4
- package/dist/libraries/react/client/clientEntityMethods.d.mts +4 -4
- package/dist/libraries/react/client/clientEntityMethods.d.ts +4 -4
- package/dist/libraries/react/client/clientGenMethods.d.mts +4 -4
- package/dist/libraries/react/client/clientGenMethods.d.ts +4 -4
- package/dist/libraries/react/client/clientProdMethods.d.mts +4 -4
- package/dist/libraries/react/client/clientProdMethods.d.ts +4 -4
- package/dist/libraries/react/client/clientReferralMethods.d.mts +4 -4
- package/dist/libraries/react/client/clientReferralMethods.d.ts +4 -4
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.mts +1 -1
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.ts +1 -1
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.js +94 -17
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.mjs +19 -19
- package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.mts +1 -1
- package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.ts +1 -1
- package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.mts +1 -1
- package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.ts +1 -1
- package/dist/libraries/react/components/check-dialog/lib/check-content.d.mts +1 -1
- package/dist/libraries/react/components/check-dialog/lib/check-content.d.ts +1 -1
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +1 -1
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +1 -1
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +105 -28
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +19 -19
- package/dist/libraries/react/components/ui/button.d.mts +1 -1
- package/dist/libraries/react/components/ui/button.d.ts +1 -1
- package/dist/libraries/react/{cusTypes-JFEvVZLp.d.ts → cusTypes-CO4FwQ_s.d.mts} +1 -1
- package/dist/libraries/react/{cusTypes-JFEvVZLp.d.mts → cusTypes-CO4FwQ_s.d.ts} +1 -1
- package/dist/libraries/react/{entTypes-CIemXnyX.d.mts → entTypes-DPTZOorv.d.mts} +1 -1
- package/dist/libraries/react/{entTypes-CJ3jqOWR.d.ts → entTypes-UxZ5bRqE.d.ts} +1 -1
- package/dist/libraries/react/errorUtils/logAuthError.d.mts +1 -6
- package/dist/libraries/react/errorUtils/logAuthError.d.ts +1 -6
- package/dist/libraries/react/errorUtils/logAuthError.js +10 -490
- package/dist/libraries/react/errorUtils/logAuthError.mjs +2 -15
- package/dist/libraries/react/hooks/handleAllowed.d.mts +2 -2
- package/dist/libraries/react/hooks/handleAllowed.d.ts +2 -2
- package/dist/libraries/react/hooks/useAutumn.d.mts +2 -2
- package/dist/libraries/react/hooks/useAutumn.d.ts +2 -2
- package/dist/libraries/react/hooks/useAutumn.js +83 -5
- package/dist/libraries/react/hooks/useAutumn.mjs +10 -10
- package/dist/libraries/react/hooks/useAutumnBase.d.mts +4 -4
- package/dist/libraries/react/hooks/useAutumnBase.d.ts +4 -4
- package/dist/libraries/react/hooks/useAutumnBase.js +83 -5
- package/dist/libraries/react/hooks/useAutumnBase.mjs +9 -9
- package/dist/libraries/react/hooks/useCustomer.d.mts +4 -4
- package/dist/libraries/react/hooks/useCustomer.d.ts +4 -4
- package/dist/libraries/react/hooks/useCustomer.js +83 -5
- package/dist/libraries/react/hooks/useCustomer.mjs +11 -11
- package/dist/libraries/react/hooks/useCustomerBase.d.mts +4 -4
- package/dist/libraries/react/hooks/useCustomerBase.d.ts +4 -4
- package/dist/libraries/react/hooks/useCustomerBase.js +83 -5
- package/dist/libraries/react/hooks/useCustomerBase.mjs +10 -10
- package/dist/libraries/react/hooks/useEntity.d.mts +3 -3
- package/dist/libraries/react/hooks/useEntity.d.ts +3 -3
- package/dist/libraries/react/hooks/useEntity.js +83 -5
- package/dist/libraries/react/hooks/useEntity.mjs +11 -11
- package/dist/libraries/react/hooks/useEntityBase.d.mts +4 -4
- package/dist/libraries/react/hooks/useEntityBase.d.ts +4 -4
- package/dist/libraries/react/hooks/useEntityBase.js +83 -5
- package/dist/libraries/react/hooks/useEntityBase.mjs +10 -10
- 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 +83 -5
- package/dist/libraries/react/hooks/usePricingTable.mjs +9 -9
- package/dist/libraries/react/hooks/usePricingTableBase.d.mts +4 -4
- package/dist/libraries/react/hooks/usePricingTableBase.d.ts +4 -4
- package/dist/libraries/react/hooks/usePricingTableBase.js +83 -5
- package/dist/libraries/react/hooks/usePricingTableBase.mjs +8 -8
- package/dist/libraries/react/hooks/useProductsBase.js +83 -5
- package/dist/libraries/react/hooks/useProductsBase.mjs +7 -7
- package/dist/libraries/react/index.js +108 -37
- package/dist/libraries/react/index.mjs +86 -15
- package/dist/libraries/react/{response-CCcWrbaE.d.mts → response-CxtkXvb4.d.mts} +2 -2
- package/dist/libraries/react/{response-BIBRaj58.d.ts → response-Z4Yeokd8.d.ts} +2 -2
- package/dist/next/client/NextAutumnClient.d.mts +12 -2
- package/dist/next/client/NextAutumnClient.d.ts +12 -2
- package/dist/next/client/hooks/useAutumn.d.mts +2 -2
- package/dist/next/client/hooks/useAutumn.d.ts +2 -2
- package/dist/next/client/hooks/useEntity.d.mts +1 -1
- package/dist/next/client/hooks/useEntity.d.ts +1 -1
- package/dist/next/index.d.mts +12 -2
- package/dist/next/index.d.ts +12 -2
- package/dist/sdk/index.d.mts +2 -1
- package/dist/sdk/index.d.ts +2 -1
- package/dist/sdk/index.js +8 -2
- package/dist/sdk/index.mjs +8 -2
- package/dist/utils/encryptUtils.js +8 -2
- package/dist/utils/encryptUtils.mjs +8 -2
- package/package.json +1 -1
- package/dist/libraries/react/chunk-ET534E5H.mjs +0 -152
|
@@ -36,6 +36,22 @@ __export(useAutumn_exports, {
|
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(useAutumn_exports);
|
|
38
38
|
|
|
39
|
+
// src/libraries/react/errorUtils/logAuthError.ts
|
|
40
|
+
var logAuthError = async (response) => {
|
|
41
|
+
if (response.status === 401) {
|
|
42
|
+
let clonedResponse = response.clone();
|
|
43
|
+
let data = await clonedResponse.json();
|
|
44
|
+
if (data.message.includes("Missing authorization header")) {
|
|
45
|
+
console.error(`[Autumn] Missing authorization header.
|
|
46
|
+
|
|
47
|
+
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
48
|
+
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
};
|
|
54
|
+
|
|
39
55
|
// src/sdk/error.ts
|
|
40
56
|
var AutumnError = class _AutumnError extends Error {
|
|
41
57
|
message;
|
|
@@ -288,12 +304,18 @@ var redeemReferralCode = async ({
|
|
|
288
304
|
};
|
|
289
305
|
|
|
290
306
|
// src/sdk/response.ts
|
|
291
|
-
var toContainerResult = async ({
|
|
307
|
+
var toContainerResult = async ({
|
|
308
|
+
response,
|
|
309
|
+
logger: logger2,
|
|
310
|
+
logError = true
|
|
311
|
+
}) => {
|
|
292
312
|
if (response.status < 200 || response.status >= 300) {
|
|
293
313
|
let error;
|
|
294
314
|
try {
|
|
295
315
|
error = await response.json();
|
|
296
|
-
|
|
316
|
+
if (logError) {
|
|
317
|
+
logger2.error(`[Autumn] ${error.message}`);
|
|
318
|
+
}
|
|
297
319
|
} catch (error2) {
|
|
298
320
|
throw error2;
|
|
299
321
|
return {
|
|
@@ -639,7 +661,8 @@ var AutumnClient = class {
|
|
|
639
661
|
getBearerToken;
|
|
640
662
|
customerData;
|
|
641
663
|
includeCredentials;
|
|
642
|
-
|
|
664
|
+
corsDetected;
|
|
665
|
+
corsSupportsCredentials;
|
|
643
666
|
constructor({
|
|
644
667
|
backendUrl,
|
|
645
668
|
getBearerToken,
|
|
@@ -651,6 +674,55 @@ var AutumnClient = class {
|
|
|
651
674
|
this.customerData = customerData;
|
|
652
675
|
this.includeCredentials = includeCredentials;
|
|
653
676
|
}
|
|
677
|
+
/**
|
|
678
|
+
* Detects if the backend supports CORS credentials by making an OPTIONS request
|
|
679
|
+
*/
|
|
680
|
+
async detectCors() {
|
|
681
|
+
const testEndpoint = `${this.backendUrl}/api/autumn/cors`;
|
|
682
|
+
try {
|
|
683
|
+
await fetch(testEndpoint, {
|
|
684
|
+
method: "POST",
|
|
685
|
+
credentials: "include",
|
|
686
|
+
headers: { "Content-Type": "application/json" }
|
|
687
|
+
});
|
|
688
|
+
return { valid: true, includeCredentials: true };
|
|
689
|
+
} catch (error) {
|
|
690
|
+
try {
|
|
691
|
+
await fetch(testEndpoint, {
|
|
692
|
+
method: "POST",
|
|
693
|
+
credentials: "omit",
|
|
694
|
+
headers: { "Content-Type": "application/json" }
|
|
695
|
+
});
|
|
696
|
+
return { valid: true, includeCredentials: false };
|
|
697
|
+
} catch (error2) {
|
|
698
|
+
return { valid: false, includeCredentials: void 0 };
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* Automatically determines whether to include credentials based on CORS detection
|
|
704
|
+
*/
|
|
705
|
+
async shouldIncludeCredentials() {
|
|
706
|
+
if (this.includeCredentials !== void 0) {
|
|
707
|
+
return this.includeCredentials;
|
|
708
|
+
}
|
|
709
|
+
try {
|
|
710
|
+
const corsResult = await this.detectCors();
|
|
711
|
+
if (corsResult.valid) {
|
|
712
|
+
console.warn(
|
|
713
|
+
`[Autumn] Detected CORS credentials: ${corsResult.includeCredentials}`
|
|
714
|
+
);
|
|
715
|
+
console.warn(
|
|
716
|
+
`[Autumn] To disable this warning, you can set includeCredentials={${corsResult.includeCredentials ? "true" : "false"}} in <AutumnProvider />`
|
|
717
|
+
);
|
|
718
|
+
this.includeCredentials = corsResult.includeCredentials;
|
|
719
|
+
}
|
|
720
|
+
return corsResult.includeCredentials || false;
|
|
721
|
+
} catch (error) {
|
|
722
|
+
console.error(`[Autumn] Error detecting CORS: ${error.message}`);
|
|
723
|
+
return false;
|
|
724
|
+
}
|
|
725
|
+
}
|
|
654
726
|
async getHeaders() {
|
|
655
727
|
let headers = {
|
|
656
728
|
"Content-Type": "application/json"
|
|
@@ -674,14 +746,20 @@ var AutumnClient = class {
|
|
|
674
746
|
...body,
|
|
675
747
|
customer_data: this.customerData || void 0
|
|
676
748
|
}) : void 0;
|
|
749
|
+
const includeCredentials = await this.shouldIncludeCredentials();
|
|
677
750
|
try {
|
|
678
751
|
const response = await fetch(`${this.backendUrl}${path}`, {
|
|
679
752
|
method,
|
|
680
753
|
body,
|
|
681
754
|
headers: await this.getHeaders(),
|
|
682
|
-
credentials:
|
|
755
|
+
credentials: includeCredentials ? "include" : "omit"
|
|
756
|
+
});
|
|
757
|
+
const loggedError = await logAuthError(response);
|
|
758
|
+
return await toContainerResult({
|
|
759
|
+
response,
|
|
760
|
+
logger: console,
|
|
761
|
+
logError: !loggedError
|
|
683
762
|
});
|
|
684
|
-
return await toContainerResult({ response, logger: console });
|
|
685
763
|
} catch (error) {
|
|
686
764
|
logFetchError({
|
|
687
765
|
method,
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
useAutumn
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-V5PKOA5A.mjs";
|
|
11
|
-
import "../chunk-JNM4BLTM.mjs";
|
|
5
|
+
} from "../chunk-EWMKQDQ6.mjs";
|
|
6
|
+
import "../chunk-CQMTU2M4.mjs";
|
|
7
|
+
import "../chunk-JOY6LN3M.mjs";
|
|
8
|
+
import "../chunk-MH2YTNJL.mjs";
|
|
9
|
+
import "../chunk-UDRQNZZS.mjs";
|
|
12
10
|
import "../chunk-YUV2Y2RW.mjs";
|
|
13
11
|
import "../chunk-3EYF7OI5.mjs";
|
|
14
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-JVCOY7ZL.mjs";
|
|
13
|
+
import "../chunk-CIBQ4BJU.mjs";
|
|
15
14
|
import "../chunk-NZ5PEXT2.mjs";
|
|
16
15
|
import "../chunk-TGX6UKKS.mjs";
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-V5PKOA5A.mjs";
|
|
17
|
+
import "../chunk-JNM4BLTM.mjs";
|
|
18
|
+
import "../chunk-KQT5G3HT.mjs";
|
|
19
19
|
export {
|
|
20
20
|
useAutumn
|
|
21
21
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { R as Result,
|
|
1
|
+
import { R as Result, a as AttachResult, b as CheckResult, A as AutumnPromise, T as TrackResult, C as CancelResult, S as SetupPaymentResult } from '../response-CxtkXvb4.mjs';
|
|
2
2
|
import { A as AutumnError } from '../error-DHbclCVh.mjs';
|
|
3
|
-
import { B as BillingPortalResult } from '../cusTypes-
|
|
3
|
+
import { B as BillingPortalResult } from '../cusTypes-CO4FwQ_s.mjs';
|
|
4
4
|
import { AutumnContextParams } from '../AutumnContext.mjs';
|
|
5
5
|
import { AttachParams, CheckParams, TrackParams, CancelParams, OpenBillingPortalParams, SetupPaymentParams } from '../client/types/clientGenTypes.mjs';
|
|
6
6
|
import 'react';
|
|
7
|
-
import '../ReactAutumnClient-
|
|
7
|
+
import '../ReactAutumnClient-Cj2h9TXJ.mjs';
|
|
8
8
|
import '../client/types/clientReferralTypes.mjs';
|
|
9
9
|
import '../client/types/clientEntTypes.mjs';
|
|
10
|
-
import '../entTypes-
|
|
10
|
+
import '../entTypes-DPTZOorv.mjs';
|
|
11
11
|
|
|
12
12
|
declare const useAutumnBase: ({ AutumnContext, }: {
|
|
13
13
|
AutumnContext: React.Context<AutumnContextParams>;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { R as Result,
|
|
1
|
+
import { R as Result, a as AttachResult, b as CheckResult, A as AutumnPromise, T as TrackResult, C as CancelResult, S as SetupPaymentResult } from '../response-Z4Yeokd8.js';
|
|
2
2
|
import { A as AutumnError } from '../error-DHbclCVh.js';
|
|
3
|
-
import { B as BillingPortalResult } from '../cusTypes-
|
|
3
|
+
import { B as BillingPortalResult } from '../cusTypes-CO4FwQ_s.js';
|
|
4
4
|
import { AutumnContextParams } from '../AutumnContext.js';
|
|
5
5
|
import { AttachParams, CheckParams, TrackParams, CancelParams, OpenBillingPortalParams, SetupPaymentParams } from '../client/types/clientGenTypes.js';
|
|
6
6
|
import 'react';
|
|
7
|
-
import '../ReactAutumnClient-
|
|
7
|
+
import '../ReactAutumnClient-DS-MPWXt.js';
|
|
8
8
|
import '../client/types/clientReferralTypes.js';
|
|
9
9
|
import '../client/types/clientEntTypes.js';
|
|
10
|
-
import '../entTypes-
|
|
10
|
+
import '../entTypes-UxZ5bRqE.js';
|
|
11
11
|
|
|
12
12
|
declare const useAutumnBase: ({ AutumnContext, }: {
|
|
13
13
|
AutumnContext: React.Context<AutumnContextParams>;
|
|
@@ -36,6 +36,22 @@ __export(useAutumnBase_exports, {
|
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(useAutumnBase_exports);
|
|
38
38
|
|
|
39
|
+
// src/libraries/react/errorUtils/logAuthError.ts
|
|
40
|
+
var logAuthError = async (response) => {
|
|
41
|
+
if (response.status === 401) {
|
|
42
|
+
let clonedResponse = response.clone();
|
|
43
|
+
let data = await clonedResponse.json();
|
|
44
|
+
if (data.message.includes("Missing authorization header")) {
|
|
45
|
+
console.error(`[Autumn] Missing authorization header.
|
|
46
|
+
|
|
47
|
+
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
48
|
+
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
};
|
|
54
|
+
|
|
39
55
|
// src/sdk/error.ts
|
|
40
56
|
var AutumnError = class _AutumnError extends Error {
|
|
41
57
|
message;
|
|
@@ -288,12 +304,18 @@ var redeemReferralCode = async ({
|
|
|
288
304
|
};
|
|
289
305
|
|
|
290
306
|
// src/sdk/response.ts
|
|
291
|
-
var toContainerResult = async ({
|
|
307
|
+
var toContainerResult = async ({
|
|
308
|
+
response,
|
|
309
|
+
logger: logger2,
|
|
310
|
+
logError = true
|
|
311
|
+
}) => {
|
|
292
312
|
if (response.status < 200 || response.status >= 300) {
|
|
293
313
|
let error;
|
|
294
314
|
try {
|
|
295
315
|
error = await response.json();
|
|
296
|
-
|
|
316
|
+
if (logError) {
|
|
317
|
+
logger2.error(`[Autumn] ${error.message}`);
|
|
318
|
+
}
|
|
297
319
|
} catch (error2) {
|
|
298
320
|
throw error2;
|
|
299
321
|
return {
|
|
@@ -639,7 +661,8 @@ var AutumnClient = class {
|
|
|
639
661
|
getBearerToken;
|
|
640
662
|
customerData;
|
|
641
663
|
includeCredentials;
|
|
642
|
-
|
|
664
|
+
corsDetected;
|
|
665
|
+
corsSupportsCredentials;
|
|
643
666
|
constructor({
|
|
644
667
|
backendUrl,
|
|
645
668
|
getBearerToken,
|
|
@@ -651,6 +674,55 @@ var AutumnClient = class {
|
|
|
651
674
|
this.customerData = customerData;
|
|
652
675
|
this.includeCredentials = includeCredentials;
|
|
653
676
|
}
|
|
677
|
+
/**
|
|
678
|
+
* Detects if the backend supports CORS credentials by making an OPTIONS request
|
|
679
|
+
*/
|
|
680
|
+
async detectCors() {
|
|
681
|
+
const testEndpoint = `${this.backendUrl}/api/autumn/cors`;
|
|
682
|
+
try {
|
|
683
|
+
await fetch(testEndpoint, {
|
|
684
|
+
method: "POST",
|
|
685
|
+
credentials: "include",
|
|
686
|
+
headers: { "Content-Type": "application/json" }
|
|
687
|
+
});
|
|
688
|
+
return { valid: true, includeCredentials: true };
|
|
689
|
+
} catch (error) {
|
|
690
|
+
try {
|
|
691
|
+
await fetch(testEndpoint, {
|
|
692
|
+
method: "POST",
|
|
693
|
+
credentials: "omit",
|
|
694
|
+
headers: { "Content-Type": "application/json" }
|
|
695
|
+
});
|
|
696
|
+
return { valid: true, includeCredentials: false };
|
|
697
|
+
} catch (error2) {
|
|
698
|
+
return { valid: false, includeCredentials: void 0 };
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* Automatically determines whether to include credentials based on CORS detection
|
|
704
|
+
*/
|
|
705
|
+
async shouldIncludeCredentials() {
|
|
706
|
+
if (this.includeCredentials !== void 0) {
|
|
707
|
+
return this.includeCredentials;
|
|
708
|
+
}
|
|
709
|
+
try {
|
|
710
|
+
const corsResult = await this.detectCors();
|
|
711
|
+
if (corsResult.valid) {
|
|
712
|
+
console.warn(
|
|
713
|
+
`[Autumn] Detected CORS credentials: ${corsResult.includeCredentials}`
|
|
714
|
+
);
|
|
715
|
+
console.warn(
|
|
716
|
+
`[Autumn] To disable this warning, you can set includeCredentials={${corsResult.includeCredentials ? "true" : "false"}} in <AutumnProvider />`
|
|
717
|
+
);
|
|
718
|
+
this.includeCredentials = corsResult.includeCredentials;
|
|
719
|
+
}
|
|
720
|
+
return corsResult.includeCredentials || false;
|
|
721
|
+
} catch (error) {
|
|
722
|
+
console.error(`[Autumn] Error detecting CORS: ${error.message}`);
|
|
723
|
+
return false;
|
|
724
|
+
}
|
|
725
|
+
}
|
|
654
726
|
async getHeaders() {
|
|
655
727
|
let headers = {
|
|
656
728
|
"Content-Type": "application/json"
|
|
@@ -674,14 +746,20 @@ var AutumnClient = class {
|
|
|
674
746
|
...body,
|
|
675
747
|
customer_data: this.customerData || void 0
|
|
676
748
|
}) : void 0;
|
|
749
|
+
const includeCredentials = await this.shouldIncludeCredentials();
|
|
677
750
|
try {
|
|
678
751
|
const response = await fetch(`${this.backendUrl}${path}`, {
|
|
679
752
|
method,
|
|
680
753
|
body,
|
|
681
754
|
headers: await this.getHeaders(),
|
|
682
|
-
credentials:
|
|
755
|
+
credentials: includeCredentials ? "include" : "omit"
|
|
756
|
+
});
|
|
757
|
+
const loggedError = await logAuthError(response);
|
|
758
|
+
return await toContainerResult({
|
|
759
|
+
response,
|
|
760
|
+
logger: console,
|
|
761
|
+
logError: !loggedError
|
|
683
762
|
});
|
|
684
|
-
return await toContainerResult({ response, logger: console });
|
|
685
763
|
} catch (error) {
|
|
686
764
|
logFetchError({
|
|
687
765
|
method,
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
useAutumnBase
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-V5PKOA5A.mjs";
|
|
10
|
-
import "../chunk-JNM4BLTM.mjs";
|
|
5
|
+
} from "../chunk-CQMTU2M4.mjs";
|
|
6
|
+
import "../chunk-JOY6LN3M.mjs";
|
|
7
|
+
import "../chunk-MH2YTNJL.mjs";
|
|
8
|
+
import "../chunk-UDRQNZZS.mjs";
|
|
11
9
|
import "../chunk-YUV2Y2RW.mjs";
|
|
12
10
|
import "../chunk-3EYF7OI5.mjs";
|
|
13
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-JVCOY7ZL.mjs";
|
|
12
|
+
import "../chunk-CIBQ4BJU.mjs";
|
|
14
13
|
import "../chunk-NZ5PEXT2.mjs";
|
|
15
14
|
import "../chunk-TGX6UKKS.mjs";
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-V5PKOA5A.mjs";
|
|
16
|
+
import "../chunk-JNM4BLTM.mjs";
|
|
17
|
+
import "../chunk-KQT5G3HT.mjs";
|
|
18
18
|
export {
|
|
19
19
|
useAutumnBase
|
|
20
20
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { UseCustomerParams, UseCustomerResult } from './useCustomerBase.mjs';
|
|
2
2
|
import '../error-DHbclCVh.mjs';
|
|
3
|
-
import '../response-
|
|
4
|
-
import '../cusTypes-
|
|
5
|
-
import '../entTypes-
|
|
6
|
-
import '../ReactAutumnClient-
|
|
3
|
+
import '../response-CxtkXvb4.mjs';
|
|
4
|
+
import '../cusTypes-CO4FwQ_s.mjs';
|
|
5
|
+
import '../entTypes-DPTZOorv.mjs';
|
|
6
|
+
import '../ReactAutumnClient-Cj2h9TXJ.mjs';
|
|
7
7
|
import '../client/types/clientReferralTypes.mjs';
|
|
8
8
|
import '../client/types/clientEntTypes.mjs';
|
|
9
9
|
import '../client/types/clientGenTypes.mjs';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { UseCustomerParams, UseCustomerResult } from './useCustomerBase.js';
|
|
2
2
|
import '../error-DHbclCVh.js';
|
|
3
|
-
import '../response-
|
|
4
|
-
import '../cusTypes-
|
|
5
|
-
import '../entTypes-
|
|
6
|
-
import '../ReactAutumnClient-
|
|
3
|
+
import '../response-Z4Yeokd8.js';
|
|
4
|
+
import '../cusTypes-CO4FwQ_s.js';
|
|
5
|
+
import '../entTypes-UxZ5bRqE.js';
|
|
6
|
+
import '../ReactAutumnClient-DS-MPWXt.js';
|
|
7
7
|
import '../client/types/clientReferralTypes.js';
|
|
8
8
|
import '../client/types/clientEntTypes.js';
|
|
9
9
|
import '../client/types/clientGenTypes.js';
|
|
@@ -36,6 +36,22 @@ __export(useCustomer_exports, {
|
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(useCustomer_exports);
|
|
38
38
|
|
|
39
|
+
// src/libraries/react/errorUtils/logAuthError.ts
|
|
40
|
+
var logAuthError = async (response) => {
|
|
41
|
+
if (response.status === 401) {
|
|
42
|
+
let clonedResponse = response.clone();
|
|
43
|
+
let data = await clonedResponse.json();
|
|
44
|
+
if (data.message.includes("Missing authorization header")) {
|
|
45
|
+
console.error(`[Autumn] Missing authorization header.
|
|
46
|
+
|
|
47
|
+
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
48
|
+
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
};
|
|
54
|
+
|
|
39
55
|
// src/sdk/error.ts
|
|
40
56
|
var AutumnError = class _AutumnError extends Error {
|
|
41
57
|
message;
|
|
@@ -288,12 +304,18 @@ var redeemReferralCode = async ({
|
|
|
288
304
|
};
|
|
289
305
|
|
|
290
306
|
// src/sdk/response.ts
|
|
291
|
-
var toContainerResult = async ({
|
|
307
|
+
var toContainerResult = async ({
|
|
308
|
+
response,
|
|
309
|
+
logger: logger2,
|
|
310
|
+
logError = true
|
|
311
|
+
}) => {
|
|
292
312
|
if (response.status < 200 || response.status >= 300) {
|
|
293
313
|
let error;
|
|
294
314
|
try {
|
|
295
315
|
error = await response.json();
|
|
296
|
-
|
|
316
|
+
if (logError) {
|
|
317
|
+
logger2.error(`[Autumn] ${error.message}`);
|
|
318
|
+
}
|
|
297
319
|
} catch (error2) {
|
|
298
320
|
throw error2;
|
|
299
321
|
return {
|
|
@@ -639,7 +661,8 @@ var AutumnClient = class {
|
|
|
639
661
|
getBearerToken;
|
|
640
662
|
customerData;
|
|
641
663
|
includeCredentials;
|
|
642
|
-
|
|
664
|
+
corsDetected;
|
|
665
|
+
corsSupportsCredentials;
|
|
643
666
|
constructor({
|
|
644
667
|
backendUrl,
|
|
645
668
|
getBearerToken,
|
|
@@ -651,6 +674,55 @@ var AutumnClient = class {
|
|
|
651
674
|
this.customerData = customerData;
|
|
652
675
|
this.includeCredentials = includeCredentials;
|
|
653
676
|
}
|
|
677
|
+
/**
|
|
678
|
+
* Detects if the backend supports CORS credentials by making an OPTIONS request
|
|
679
|
+
*/
|
|
680
|
+
async detectCors() {
|
|
681
|
+
const testEndpoint = `${this.backendUrl}/api/autumn/cors`;
|
|
682
|
+
try {
|
|
683
|
+
await fetch(testEndpoint, {
|
|
684
|
+
method: "POST",
|
|
685
|
+
credentials: "include",
|
|
686
|
+
headers: { "Content-Type": "application/json" }
|
|
687
|
+
});
|
|
688
|
+
return { valid: true, includeCredentials: true };
|
|
689
|
+
} catch (error) {
|
|
690
|
+
try {
|
|
691
|
+
await fetch(testEndpoint, {
|
|
692
|
+
method: "POST",
|
|
693
|
+
credentials: "omit",
|
|
694
|
+
headers: { "Content-Type": "application/json" }
|
|
695
|
+
});
|
|
696
|
+
return { valid: true, includeCredentials: false };
|
|
697
|
+
} catch (error2) {
|
|
698
|
+
return { valid: false, includeCredentials: void 0 };
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* Automatically determines whether to include credentials based on CORS detection
|
|
704
|
+
*/
|
|
705
|
+
async shouldIncludeCredentials() {
|
|
706
|
+
if (this.includeCredentials !== void 0) {
|
|
707
|
+
return this.includeCredentials;
|
|
708
|
+
}
|
|
709
|
+
try {
|
|
710
|
+
const corsResult = await this.detectCors();
|
|
711
|
+
if (corsResult.valid) {
|
|
712
|
+
console.warn(
|
|
713
|
+
`[Autumn] Detected CORS credentials: ${corsResult.includeCredentials}`
|
|
714
|
+
);
|
|
715
|
+
console.warn(
|
|
716
|
+
`[Autumn] To disable this warning, you can set includeCredentials={${corsResult.includeCredentials ? "true" : "false"}} in <AutumnProvider />`
|
|
717
|
+
);
|
|
718
|
+
this.includeCredentials = corsResult.includeCredentials;
|
|
719
|
+
}
|
|
720
|
+
return corsResult.includeCredentials || false;
|
|
721
|
+
} catch (error) {
|
|
722
|
+
console.error(`[Autumn] Error detecting CORS: ${error.message}`);
|
|
723
|
+
return false;
|
|
724
|
+
}
|
|
725
|
+
}
|
|
654
726
|
async getHeaders() {
|
|
655
727
|
let headers = {
|
|
656
728
|
"Content-Type": "application/json"
|
|
@@ -674,14 +746,20 @@ var AutumnClient = class {
|
|
|
674
746
|
...body,
|
|
675
747
|
customer_data: this.customerData || void 0
|
|
676
748
|
}) : void 0;
|
|
749
|
+
const includeCredentials = await this.shouldIncludeCredentials();
|
|
677
750
|
try {
|
|
678
751
|
const response = await fetch(`${this.backendUrl}${path}`, {
|
|
679
752
|
method,
|
|
680
753
|
body,
|
|
681
754
|
headers: await this.getHeaders(),
|
|
682
|
-
credentials:
|
|
755
|
+
credentials: includeCredentials ? "include" : "omit"
|
|
756
|
+
});
|
|
757
|
+
const loggedError = await logAuthError(response);
|
|
758
|
+
return await toContainerResult({
|
|
759
|
+
response,
|
|
760
|
+
logger: console,
|
|
761
|
+
logError: !loggedError
|
|
683
762
|
});
|
|
684
|
-
return await toContainerResult({ response, logger: console });
|
|
685
763
|
} catch (error) {
|
|
686
764
|
logFetchError({
|
|
687
765
|
method,
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
useCustomer
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-6ULRUGQO.mjs";
|
|
6
|
+
import "../chunk-GEIECHWI.mjs";
|
|
7
7
|
import "../chunk-JFXBUWKA.mjs";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-V5PKOA5A.mjs";
|
|
13
|
-
import "../chunk-JNM4BLTM.mjs";
|
|
8
|
+
import "../chunk-CQMTU2M4.mjs";
|
|
9
|
+
import "../chunk-JOY6LN3M.mjs";
|
|
10
|
+
import "../chunk-MH2YTNJL.mjs";
|
|
11
|
+
import "../chunk-UDRQNZZS.mjs";
|
|
14
12
|
import "../chunk-YUV2Y2RW.mjs";
|
|
15
13
|
import "../chunk-3EYF7OI5.mjs";
|
|
16
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-JVCOY7ZL.mjs";
|
|
15
|
+
import "../chunk-CIBQ4BJU.mjs";
|
|
17
16
|
import "../chunk-NZ5PEXT2.mjs";
|
|
18
17
|
import "../chunk-TGX6UKKS.mjs";
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-V5PKOA5A.mjs";
|
|
19
|
+
import "../chunk-JNM4BLTM.mjs";
|
|
20
|
+
import "../chunk-KQT5G3HT.mjs";
|
|
21
21
|
export {
|
|
22
22
|
useCustomer
|
|
23
23
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { A as AutumnError } from '../error-DHbclCVh.mjs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { E as Entity } from '../entTypes-
|
|
5
|
-
import { C as CreateReferralCodeResult, R as RedeemReferralCodeResult, A as AutumnClient } from '../ReactAutumnClient-
|
|
2
|
+
import { A as AutumnPromise, a as AttachResult, b as CheckResult, T as TrackResult, C as CancelResult, S as SetupPaymentResult } from '../response-CxtkXvb4.mjs';
|
|
3
|
+
import { c as CustomerExpandOption, b as Customer, B as BillingPortalResult } from '../cusTypes-CO4FwQ_s.mjs';
|
|
4
|
+
import { E as Entity } from '../entTypes-DPTZOorv.mjs';
|
|
5
|
+
import { C as CreateReferralCodeResult, R as RedeemReferralCodeResult, A as AutumnClient } from '../ReactAutumnClient-Cj2h9TXJ.mjs';
|
|
6
6
|
import { CreateEntityParams } from '../client/types/clientEntTypes.mjs';
|
|
7
7
|
import { CreateReferralCodeParams, RedeemReferralCodeParams } from '../client/types/clientReferralTypes.mjs';
|
|
8
8
|
import React__default from 'react';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { A as AutumnError } from '../error-DHbclCVh.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { E as Entity } from '../entTypes-
|
|
5
|
-
import { C as CreateReferralCodeResult, R as RedeemReferralCodeResult, A as AutumnClient } from '../ReactAutumnClient-
|
|
2
|
+
import { A as AutumnPromise, a as AttachResult, b as CheckResult, T as TrackResult, C as CancelResult, S as SetupPaymentResult } from '../response-Z4Yeokd8.js';
|
|
3
|
+
import { c as CustomerExpandOption, b as Customer, B as BillingPortalResult } from '../cusTypes-CO4FwQ_s.js';
|
|
4
|
+
import { E as Entity } from '../entTypes-UxZ5bRqE.js';
|
|
5
|
+
import { C as CreateReferralCodeResult, R as RedeemReferralCodeResult, A as AutumnClient } from '../ReactAutumnClient-DS-MPWXt.js';
|
|
6
6
|
import { CreateEntityParams } from '../client/types/clientEntTypes.js';
|
|
7
7
|
import { CreateReferralCodeParams, RedeemReferralCodeParams } from '../client/types/clientReferralTypes.js';
|
|
8
8
|
import React__default from 'react';
|