better-auth 1.2.0-beta.5 → 1.2.0-beta.6
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/adapters/drizzle.cjs +3 -3
- package/dist/adapters/drizzle.d.cts +1 -1
- package/dist/adapters/drizzle.d.ts +1 -1
- package/dist/adapters/drizzle.js +1 -1
- package/dist/adapters/kysely.cjs +3 -3
- package/dist/adapters/kysely.d.cts +1 -1
- package/dist/adapters/kysely.d.ts +1 -1
- package/dist/adapters/kysely.js +1 -1
- package/dist/adapters/memory.cjs +2 -2
- package/dist/adapters/memory.d.cts +1 -1
- package/dist/adapters/memory.d.ts +1 -1
- package/dist/adapters/memory.js +1 -1
- package/dist/adapters/mongodb.cjs +3 -3
- package/dist/adapters/mongodb.d.cts +1 -1
- package/dist/adapters/mongodb.d.ts +1 -1
- package/dist/adapters/mongodb.js +1 -1
- package/dist/adapters/prisma.cjs +3 -3
- package/dist/adapters/prisma.d.cts +1 -1
- package/dist/adapters/prisma.d.ts +1 -1
- package/dist/adapters/prisma.js +1 -1
- package/dist/adapters/test.d.cts +1 -1
- package/dist/adapters/test.d.ts +1 -1
- package/dist/api.cjs +41 -41
- package/dist/api.d.cts +1 -1
- package/dist/api.d.ts +1 -1
- package/dist/api.js +1 -1
- package/dist/{auth-BIKkqX3w.d.ts → auth-BfbTouIV.d.ts} +5 -5
- package/dist/{auth-DYJ8ix3G.d.cts → auth-CC4kpwks.d.cts} +5 -5
- package/dist/{chunk-7P2P7Y35.js → chunk-2F3IX7O2.js} +1 -1
- package/dist/{chunk-VG5Y5QXC.js → chunk-4KMR5H5T.js} +1 -1
- package/dist/{chunk-XXGFGD3E.js → chunk-52TDJNDX.js} +11 -10
- package/dist/{chunk-YTMPZIP7.js → chunk-5AOJMBJI.js} +25 -3
- package/dist/{chunk-HQFWDJO3.cjs → chunk-5ECP2UE2.cjs} +5 -5
- package/dist/{chunk-VLA6IUW4.js → chunk-5G6XUCMS.js} +51 -2
- package/dist/{chunk-7H42DKFN.cjs → chunk-5KTUVZ3H.cjs} +5 -5
- package/dist/{chunk-QBBUTLKA.cjs → chunk-5RR5WN52.cjs} +5 -5
- package/dist/{chunk-XWK7ZOPU.cjs → chunk-75SPUXMY.cjs} +8 -8
- package/dist/{chunk-5LTLUS6A.js → chunk-BZOIXJ2Q.js} +1 -1
- package/dist/{chunk-SOFKSYNA.js → chunk-CG2CK6HR.js} +1 -1
- package/dist/{chunk-YZFX73MG.cjs → chunk-DURU7ZRA.cjs} +20 -20
- package/dist/{chunk-CLHJAEU2.js → chunk-EQYRCOOF.js} +5 -2
- package/dist/{chunk-IBIVHEIM.js → chunk-FX2ZHENM.js} +1 -1
- package/dist/{chunk-G6W6UQWJ.js → chunk-GWJDRQJ3.js} +2 -2
- package/dist/{chunk-C5LREWPU.cjs → chunk-HUDPJXOF.cjs} +24 -24
- package/dist/{chunk-DSB4P3WF.cjs → chunk-IUGQVFPG.cjs} +6 -6
- package/dist/{chunk-K46S33M5.cjs → chunk-K6WRBJAV.cjs} +3 -3
- package/dist/{chunk-C37NPGBI.cjs → chunk-KAEQXMEV.cjs} +46 -46
- package/dist/{chunk-CV5JTF37.cjs → chunk-KAR56MJZ.cjs} +5 -2
- package/dist/{chunk-6FRITF4C.cjs → chunk-LIGJVOZ4.cjs} +4 -4
- package/dist/{chunk-WKBV4PRW.cjs → chunk-MKNDCNWD.cjs} +3 -3
- package/dist/{chunk-WKXM7XUV.cjs → chunk-N7UWN6ND.cjs} +16 -4
- package/dist/{chunk-TV24P5IW.cjs → chunk-OALLKKNX.cjs} +52 -30
- package/dist/{chunk-3BXU3Z5H.js → chunk-QKCLO6S5.js} +1 -1
- package/dist/{chunk-E3CHTKRP.js → chunk-QLKU77BF.js} +1 -1
- package/dist/{chunk-CYI7H6T2.js → chunk-RMPI2YZ3.js} +1 -1
- package/dist/{chunk-R62AOMGV.js → chunk-SCXZXQTZ.js} +16 -4
- package/dist/{chunk-G365UCY7.js → chunk-ST2CQ4A2.js} +2 -2
- package/dist/{chunk-5RIBF22K.cjs → chunk-U44XLDNH.cjs} +22 -21
- package/dist/{chunk-OLGASOBP.cjs → chunk-UZNKBUDH.cjs} +11 -11
- package/dist/{chunk-7S7YLBK4.js → chunk-V56HFQQX.js} +1 -1
- package/dist/{chunk-HCHSHY7R.cjs → chunk-WD65CNWK.cjs} +77 -28
- package/dist/{chunk-H4A3GCFC.cjs → chunk-XKCN2VRG.cjs} +5 -5
- package/dist/{chunk-QG2HKEKG.js → chunk-XREMX2NV.js} +1 -1
- package/dist/{chunk-MHZNWING.js → chunk-ZDYKAJ67.js} +110 -2
- package/dist/{chunk-6QI5735F.js → chunk-ZKMUJOIP.js} +1 -1
- package/dist/{chunk-LHWLPZ6K.cjs → chunk-ZUUQ3FFY.cjs} +113 -5
- package/dist/client/plugins.d.cts +2 -2
- package/dist/client/plugins.d.ts +2 -2
- package/dist/client.d.cts +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/cookies.d.cts +1 -1
- package/dist/cookies.d.ts +1 -1
- package/dist/db.cjs +12 -12
- package/dist/db.d.cts +2 -2
- package/dist/db.d.ts +2 -2
- package/dist/db.js +1 -1
- package/dist/{index-DOB91DVD.d.ts → index-CtbEb8Ls.d.ts} +107 -1
- package/dist/{index-BL6paKGE.d.cts → index-F5NLq5XF.d.cts} +107 -1
- package/dist/index.cjs +11 -11
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -4
- package/dist/next-js.cjs +20 -20
- package/dist/next-js.d.cts +1 -1
- package/dist/next-js.d.ts +1 -1
- package/dist/next-js.js +19 -19
- package/dist/node.d.cts +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/oauth2.d.cts +2 -2
- package/dist/oauth2.d.ts +2 -2
- package/dist/plugins/admin.cjs +3 -3
- package/dist/plugins/admin.d.cts +64 -8
- package/dist/plugins/admin.d.ts +64 -8
- package/dist/plugins/admin.js +2 -2
- package/dist/plugins/anonymous.cjs +3 -3
- package/dist/plugins/anonymous.d.cts +1 -1
- package/dist/plugins/anonymous.d.ts +1 -1
- package/dist/plugins/anonymous.js +2 -2
- package/dist/plugins/bearer.cjs +3 -3
- package/dist/plugins/bearer.d.cts +1 -1
- package/dist/plugins/bearer.d.ts +1 -1
- package/dist/plugins/bearer.js +2 -2
- package/dist/plugins/custom-session.cjs +3 -3
- package/dist/plugins/custom-session.d.cts +1 -1
- package/dist/plugins/custom-session.d.ts +1 -1
- package/dist/plugins/custom-session.js +2 -2
- package/dist/plugins/email-otp.cjs +3 -3
- package/dist/plugins/email-otp.d.cts +1 -1
- package/dist/plugins/email-otp.d.ts +1 -1
- package/dist/plugins/email-otp.js +2 -2
- package/dist/plugins/generic-oauth.cjs +3 -3
- package/dist/plugins/generic-oauth.d.cts +74 -1
- package/dist/plugins/generic-oauth.d.ts +74 -1
- package/dist/plugins/generic-oauth.js +2 -2
- package/dist/plugins/jwt.cjs +3 -3
- package/dist/plugins/jwt.d.cts +1 -1
- package/dist/plugins/jwt.d.ts +1 -1
- package/dist/plugins/jwt.js +2 -2
- package/dist/plugins/magic-link.cjs +3 -3
- package/dist/plugins/magic-link.d.cts +4 -0
- package/dist/plugins/magic-link.d.ts +4 -0
- package/dist/plugins/magic-link.js +2 -2
- package/dist/plugins/multi-session.cjs +3 -3
- package/dist/plugins/multi-session.d.cts +1 -1
- package/dist/plugins/multi-session.d.ts +1 -1
- package/dist/plugins/multi-session.js +2 -2
- package/dist/plugins/oidc-provider.cjs +3 -3
- package/dist/plugins/oidc-provider.js +2 -2
- package/dist/plugins/one-tap.cjs +3 -3
- package/dist/plugins/one-tap.js +2 -2
- package/dist/plugins/open-api.cjs +4 -4
- package/dist/plugins/open-api.d.cts +1 -1
- package/dist/plugins/open-api.d.ts +1 -1
- package/dist/plugins/open-api.js +3 -3
- package/dist/plugins/organization.cjs +3 -3
- package/dist/plugins/organization.d.cts +2 -2
- package/dist/plugins/organization.d.ts +2 -2
- package/dist/plugins/organization.js +2 -2
- package/dist/plugins/passkey.cjs +14 -14
- package/dist/plugins/passkey.d.cts +1 -1
- package/dist/plugins/passkey.d.ts +1 -1
- package/dist/plugins/passkey.js +1 -1
- package/dist/plugins/phone-number.cjs +3 -3
- package/dist/plugins/phone-number.d.cts +2 -2
- package/dist/plugins/phone-number.d.ts +2 -2
- package/dist/plugins/phone-number.js +2 -2
- package/dist/plugins/sso.cjs +9 -9
- package/dist/plugins/sso.d.cts +1 -1
- package/dist/plugins/sso.d.ts +1 -1
- package/dist/plugins/sso.js +1 -1
- package/dist/plugins/two-factor.cjs +3 -3
- package/dist/plugins/two-factor.d.cts +1 -1
- package/dist/plugins/two-factor.d.ts +1 -1
- package/dist/plugins/two-factor.js +2 -2
- package/dist/plugins/username.cjs +3 -3
- package/dist/plugins/username.d.cts +1 -1
- package/dist/plugins/username.d.ts +1 -1
- package/dist/plugins/username.js +2 -2
- package/dist/plugins.cjs +39 -39
- package/dist/plugins.d.cts +3 -3
- package/dist/plugins.d.ts +3 -3
- package/dist/plugins.js +19 -19
- package/dist/react.d.cts +2 -3
- package/dist/react.d.ts +2 -3
- package/dist/solid.d.cts +1 -1
- package/dist/solid.d.ts +1 -1
- package/dist/{state-DXzHe8jb.d.ts → state-BlyN0kTT.d.ts} +1 -1
- package/dist/{state-CEqdZ_y_.d.cts → state-ClV1x8my.d.cts} +1 -1
- package/dist/svelte-kit.d.cts +1 -1
- package/dist/svelte-kit.d.ts +1 -1
- package/dist/svelte.d.cts +1 -1
- package/dist/svelte.d.ts +1 -1
- package/dist/types.d.cts +3 -3
- package/dist/types.d.ts +3 -3
- package/dist/vue.d.cts +1 -1
- package/dist/vue.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkN7UWN6ND_cjs = require('./chunk-N7UWN6ND.cjs');
|
|
4
4
|
var chunkV6HE2MP7_cjs = require('./chunk-V6HE2MP7.cjs');
|
|
5
5
|
var zod = require('zod');
|
|
6
6
|
|
|
@@ -16,7 +16,7 @@ var multiSession = (options) => {
|
|
|
16
16
|
return {
|
|
17
17
|
id: "multi-session",
|
|
18
18
|
endpoints: {
|
|
19
|
-
listDeviceSessions:
|
|
19
|
+
listDeviceSessions: chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
20
20
|
"/multi-session/list-device-sessions",
|
|
21
21
|
{
|
|
22
22
|
method: "GET",
|
|
@@ -39,7 +39,7 @@ var multiSession = (options) => {
|
|
|
39
39
|
return ctx.json(validSessions);
|
|
40
40
|
}
|
|
41
41
|
),
|
|
42
|
-
setActiveSession:
|
|
42
|
+
setActiveSession: chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
43
43
|
"/multi-session/set-active",
|
|
44
44
|
{
|
|
45
45
|
method: "POST",
|
|
@@ -49,7 +49,7 @@ var multiSession = (options) => {
|
|
|
49
49
|
})
|
|
50
50
|
}),
|
|
51
51
|
requireHeaders: true,
|
|
52
|
-
use: [
|
|
52
|
+
use: [chunkN7UWN6ND_cjs.sessionMiddleware],
|
|
53
53
|
metadata: {
|
|
54
54
|
openapi: {
|
|
55
55
|
description: "Set the active session",
|
|
@@ -81,7 +81,7 @@ var multiSession = (options) => {
|
|
|
81
81
|
ctx.context.secret
|
|
82
82
|
);
|
|
83
83
|
if (!sessionCookie) {
|
|
84
|
-
throw new
|
|
84
|
+
throw new chunkN7UWN6ND_cjs.APIError("UNAUTHORIZED", {
|
|
85
85
|
message: ERROR_CODES.INVALID_SESSION_TOKEN
|
|
86
86
|
});
|
|
87
87
|
}
|
|
@@ -91,7 +91,7 @@ var multiSession = (options) => {
|
|
|
91
91
|
...ctx.context.authCookies.sessionToken.options,
|
|
92
92
|
maxAge: 0
|
|
93
93
|
});
|
|
94
|
-
throw new
|
|
94
|
+
throw new chunkN7UWN6ND_cjs.APIError("UNAUTHORIZED", {
|
|
95
95
|
message: ERROR_CODES.INVALID_SESSION_TOKEN
|
|
96
96
|
});
|
|
97
97
|
}
|
|
@@ -99,7 +99,7 @@ var multiSession = (options) => {
|
|
|
99
99
|
return ctx.json(session);
|
|
100
100
|
}
|
|
101
101
|
),
|
|
102
|
-
revokeDeviceSession:
|
|
102
|
+
revokeDeviceSession: chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
103
103
|
"/multi-session/revoke",
|
|
104
104
|
{
|
|
105
105
|
method: "POST",
|
|
@@ -109,7 +109,7 @@ var multiSession = (options) => {
|
|
|
109
109
|
})
|
|
110
110
|
}),
|
|
111
111
|
requireHeaders: true,
|
|
112
|
-
use: [
|
|
112
|
+
use: [chunkN7UWN6ND_cjs.sessionMiddleware],
|
|
113
113
|
metadata: {
|
|
114
114
|
openapi: {
|
|
115
115
|
description: "Revoke a device session",
|
|
@@ -141,7 +141,7 @@ var multiSession = (options) => {
|
|
|
141
141
|
ctx.context.secret
|
|
142
142
|
);
|
|
143
143
|
if (!sessionCookie) {
|
|
144
|
-
throw new
|
|
144
|
+
throw new chunkN7UWN6ND_cjs.APIError("UNAUTHORIZED", {
|
|
145
145
|
message: ERROR_CODES.INVALID_SESSION_TOKEN
|
|
146
146
|
});
|
|
147
147
|
}
|
|
@@ -188,7 +188,7 @@ var multiSession = (options) => {
|
|
|
188
188
|
after: [
|
|
189
189
|
{
|
|
190
190
|
matcher: () => true,
|
|
191
|
-
handler:
|
|
191
|
+
handler: chunkN7UWN6ND_cjs.createAuthMiddleware(async (ctx) => {
|
|
192
192
|
const cookieString = ctx.context.responseHeaders?.get("set-cookie");
|
|
193
193
|
if (!cookieString) return;
|
|
194
194
|
const setCookies = chunkV6HE2MP7_cjs.parseSetCookieHeader(cookieString);
|
|
@@ -220,7 +220,7 @@ var multiSession = (options) => {
|
|
|
220
220
|
},
|
|
221
221
|
{
|
|
222
222
|
matcher: (context) => context.path === "/sign-out",
|
|
223
|
-
handler:
|
|
223
|
+
handler: chunkN7UWN6ND_cjs.createAuthMiddleware(async (ctx) => {
|
|
224
224
|
const cookieHeader = ctx.headers?.get("cookie");
|
|
225
225
|
if (!cookieHeader) return;
|
|
226
226
|
const cookies = Object.fromEntries(chunkV6HE2MP7_cjs.parseCookies(cookieHeader));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createAuthEndpoint, APIError } from './chunk-
|
|
1
|
+
import { createAuthEndpoint, APIError } from './chunk-SCXZXQTZ.js';
|
|
2
2
|
import { setSessionCookie } from './chunk-QQGZ3XGI.js';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { betterFetch } from '@better-fetch/fetch';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk2X5G64P2_cjs = require('./chunk-2X5G64P2.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunkN7UWN6ND_cjs = require('./chunk-N7UWN6ND.cjs');
|
|
5
5
|
var chunkU4I57HJ4_cjs = require('./chunk-U4I57HJ4.cjs');
|
|
6
6
|
var chunkV6HE2MP7_cjs = require('./chunk-V6HE2MP7.cjs');
|
|
7
7
|
var chunkH74YRRNV_cjs = require('./chunk-H74YRRNV.cjs');
|
|
@@ -453,12 +453,12 @@ var getOrgAdapter = (context, options) => {
|
|
|
453
453
|
};
|
|
454
454
|
|
|
455
455
|
// src/plugins/organization/call.ts
|
|
456
|
-
var orgMiddleware =
|
|
456
|
+
var orgMiddleware = chunkN7UWN6ND_cjs.createAuthMiddleware(async (ctx) => {
|
|
457
457
|
return {};
|
|
458
458
|
});
|
|
459
|
-
var orgSessionMiddleware =
|
|
459
|
+
var orgSessionMiddleware = chunkN7UWN6ND_cjs.createAuthMiddleware(
|
|
460
460
|
{
|
|
461
|
-
use: [
|
|
461
|
+
use: [chunkN7UWN6ND_cjs.sessionMiddleware]
|
|
462
462
|
},
|
|
463
463
|
async (ctx) => {
|
|
464
464
|
const session = ctx.context.session;
|
|
@@ -536,7 +536,7 @@ var hasPermission = (input) => {
|
|
|
536
536
|
};
|
|
537
537
|
|
|
538
538
|
// src/plugins/organization/routes/crud-invites.ts
|
|
539
|
-
var createInvitation = (option) =>
|
|
539
|
+
var createInvitation = (option) => chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
540
540
|
"/organization/invite-member",
|
|
541
541
|
{
|
|
542
542
|
method: "POST",
|
|
@@ -697,7 +697,7 @@ var createInvitation = (option) => chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
697
697
|
return ctx.json(invitation);
|
|
698
698
|
}
|
|
699
699
|
);
|
|
700
|
-
var acceptInvitation =
|
|
700
|
+
var acceptInvitation = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
701
701
|
"/organization/accept-invitation",
|
|
702
702
|
{
|
|
703
703
|
method: "POST",
|
|
@@ -775,7 +775,7 @@ var acceptInvitation = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
775
775
|
});
|
|
776
776
|
}
|
|
777
777
|
);
|
|
778
|
-
var rejectInvitation =
|
|
778
|
+
var rejectInvitation = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
779
779
|
"/organization/reject-invitation",
|
|
780
780
|
{
|
|
781
781
|
method: "POST",
|
|
@@ -835,7 +835,7 @@ var rejectInvitation = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
835
835
|
});
|
|
836
836
|
}
|
|
837
837
|
);
|
|
838
|
-
var cancelInvitation =
|
|
838
|
+
var cancelInvitation = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
839
839
|
"/organization/cancel-invitation",
|
|
840
840
|
{
|
|
841
841
|
method: "POST",
|
|
@@ -903,7 +903,7 @@ var cancelInvitation = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
903
903
|
return ctx.json(canceledI);
|
|
904
904
|
}
|
|
905
905
|
);
|
|
906
|
-
var getInvitation =
|
|
906
|
+
var getInvitation = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
907
907
|
"/organization/get-invitation",
|
|
908
908
|
{
|
|
909
909
|
method: "GET",
|
|
@@ -977,7 +977,7 @@ var getInvitation = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
977
977
|
}
|
|
978
978
|
},
|
|
979
979
|
async (ctx) => {
|
|
980
|
-
const session = await
|
|
980
|
+
const session = await chunkN7UWN6ND_cjs.getSessionFromCtx(ctx);
|
|
981
981
|
if (!session) {
|
|
982
982
|
throw new betterCall.APIError("UNAUTHORIZED", {
|
|
983
983
|
message: "Not authenticated"
|
|
@@ -1020,7 +1020,7 @@ var getInvitation = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1020
1020
|
});
|
|
1021
1021
|
}
|
|
1022
1022
|
);
|
|
1023
|
-
var addMember = () =>
|
|
1023
|
+
var addMember = () => chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1024
1024
|
"/organization/add-member",
|
|
1025
1025
|
{
|
|
1026
1026
|
method: "POST",
|
|
@@ -1035,7 +1035,7 @@ var addMember = () => chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1035
1035
|
}
|
|
1036
1036
|
},
|
|
1037
1037
|
async (ctx) => {
|
|
1038
|
-
const session = ctx.body.userId ? await
|
|
1038
|
+
const session = ctx.body.userId ? await chunkN7UWN6ND_cjs.getSessionFromCtx(ctx).catch((e) => null) : null;
|
|
1039
1039
|
const orgId = ctx.body.organizationId || session?.session.activeOrganizationId;
|
|
1040
1040
|
if (!orgId) {
|
|
1041
1041
|
return ctx.json(null, {
|
|
@@ -1051,7 +1051,7 @@ var addMember = () => chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1051
1051
|
);
|
|
1052
1052
|
if (!user) {
|
|
1053
1053
|
throw new betterCall.APIError("BAD_REQUEST", {
|
|
1054
|
-
message:
|
|
1054
|
+
message: chunkN7UWN6ND_cjs.BASE_ERROR_CODES.USER_NOT_FOUND
|
|
1055
1055
|
});
|
|
1056
1056
|
}
|
|
1057
1057
|
const alreadyMember = await adapter.findMemberByEmail({
|
|
@@ -1073,7 +1073,7 @@ var addMember = () => chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1073
1073
|
return ctx.json(createdMember);
|
|
1074
1074
|
}
|
|
1075
1075
|
);
|
|
1076
|
-
var removeMember =
|
|
1076
|
+
var removeMember = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1077
1077
|
"/organization/remove-member",
|
|
1078
1078
|
{
|
|
1079
1079
|
method: "POST",
|
|
@@ -1192,7 +1192,7 @@ var removeMember = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1192
1192
|
});
|
|
1193
1193
|
}
|
|
1194
1194
|
);
|
|
1195
|
-
var updateMemberRole = (option) =>
|
|
1195
|
+
var updateMemberRole = (option) => chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1196
1196
|
"/organization/update-member-role",
|
|
1197
1197
|
{
|
|
1198
1198
|
method: "POST",
|
|
@@ -1301,7 +1301,7 @@ var updateMemberRole = (option) => chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1301
1301
|
return ctx.json(updatedMember);
|
|
1302
1302
|
}
|
|
1303
1303
|
);
|
|
1304
|
-
var getActiveMember =
|
|
1304
|
+
var getActiveMember = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1305
1305
|
"/organization/get-active-member",
|
|
1306
1306
|
{
|
|
1307
1307
|
method: "GET",
|
|
@@ -1366,7 +1366,55 @@ var getActiveMember = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1366
1366
|
return ctx.json(member);
|
|
1367
1367
|
}
|
|
1368
1368
|
);
|
|
1369
|
-
var
|
|
1369
|
+
var leaveOrganization = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1370
|
+
"/organization/leave",
|
|
1371
|
+
{
|
|
1372
|
+
method: "POST",
|
|
1373
|
+
body: zod.z.object({
|
|
1374
|
+
organizationId: zod.z.string()
|
|
1375
|
+
}),
|
|
1376
|
+
use: [chunkN7UWN6ND_cjs.sessionMiddleware, orgMiddleware]
|
|
1377
|
+
},
|
|
1378
|
+
async (ctx) => {
|
|
1379
|
+
const session = ctx.context.session;
|
|
1380
|
+
const adapter = getOrgAdapter(ctx.context);
|
|
1381
|
+
const member = await adapter.findMemberByOrgId({
|
|
1382
|
+
userId: session.user.id,
|
|
1383
|
+
organizationId: ctx.body.organizationId
|
|
1384
|
+
});
|
|
1385
|
+
if (!member) {
|
|
1386
|
+
throw new betterCall.APIError("BAD_REQUEST", {
|
|
1387
|
+
message: ORGANIZATION_ERROR_CODES.MEMBER_NOT_FOUND
|
|
1388
|
+
});
|
|
1389
|
+
}
|
|
1390
|
+
const isOwnerLeaving = member.role === (ctx.context.orgOptions?.creatorRole || "owner");
|
|
1391
|
+
if (isOwnerLeaving) {
|
|
1392
|
+
const members = await ctx.context.adapter.findMany({
|
|
1393
|
+
model: "member",
|
|
1394
|
+
where: [
|
|
1395
|
+
{
|
|
1396
|
+
field: "organizationId",
|
|
1397
|
+
value: ctx.body.organizationId
|
|
1398
|
+
}
|
|
1399
|
+
]
|
|
1400
|
+
});
|
|
1401
|
+
const owners = members.filter(
|
|
1402
|
+
(member2) => member2.role === (ctx.context.orgOptions?.creatorRole || "owner")
|
|
1403
|
+
);
|
|
1404
|
+
if (owners.length <= 1) {
|
|
1405
|
+
throw new betterCall.APIError("BAD_REQUEST", {
|
|
1406
|
+
message: ORGANIZATION_ERROR_CODES.YOU_CANNOT_LEAVE_THE_ORGANIZATION_AS_THE_ONLY_OWNER
|
|
1407
|
+
});
|
|
1408
|
+
}
|
|
1409
|
+
}
|
|
1410
|
+
await adapter.deleteMember(member.id);
|
|
1411
|
+
if (session.session.activeOrganizationId === ctx.body.organizationId) {
|
|
1412
|
+
await adapter.setActiveOrganization(session.session.token, null);
|
|
1413
|
+
}
|
|
1414
|
+
return ctx.json(member);
|
|
1415
|
+
}
|
|
1416
|
+
);
|
|
1417
|
+
var createOrganization = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1370
1418
|
"/organization/create",
|
|
1371
1419
|
{
|
|
1372
1420
|
method: "POST",
|
|
@@ -1409,7 +1457,7 @@ var createOrganization = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1409
1457
|
}
|
|
1410
1458
|
},
|
|
1411
1459
|
async (ctx) => {
|
|
1412
|
-
const session = await
|
|
1460
|
+
const session = await chunkN7UWN6ND_cjs.getSessionFromCtx(ctx);
|
|
1413
1461
|
console.log(ctx.request, ctx.headers);
|
|
1414
1462
|
if (!session && (ctx.request || ctx.headers)) {
|
|
1415
1463
|
throw new betterCall.APIError("UNAUTHORIZED");
|
|
@@ -1469,14 +1517,14 @@ var createOrganization = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1469
1517
|
return ctx.json(organization2);
|
|
1470
1518
|
}
|
|
1471
1519
|
);
|
|
1472
|
-
var checkOrganizationSlug =
|
|
1520
|
+
var checkOrganizationSlug = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1473
1521
|
"/organization/check-slug",
|
|
1474
1522
|
{
|
|
1475
1523
|
method: "POST",
|
|
1476
1524
|
body: zod.z.object({
|
|
1477
1525
|
slug: zod.z.string()
|
|
1478
1526
|
}),
|
|
1479
|
-
use: [
|
|
1527
|
+
use: [chunkN7UWN6ND_cjs.requestOnlySessionMiddleware, orgMiddleware]
|
|
1480
1528
|
},
|
|
1481
1529
|
async (ctx) => {
|
|
1482
1530
|
const orgAdapter = getOrgAdapter(ctx.context);
|
|
@@ -1491,7 +1539,7 @@ var checkOrganizationSlug = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1491
1539
|
});
|
|
1492
1540
|
}
|
|
1493
1541
|
);
|
|
1494
|
-
var updateOrganization =
|
|
1542
|
+
var updateOrganization = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1495
1543
|
"/organization/update",
|
|
1496
1544
|
{
|
|
1497
1545
|
method: "POST",
|
|
@@ -1585,7 +1633,7 @@ var updateOrganization = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1585
1633
|
return ctx.json(updatedOrg);
|
|
1586
1634
|
}
|
|
1587
1635
|
);
|
|
1588
|
-
var deleteOrganization =
|
|
1636
|
+
var deleteOrganization = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1589
1637
|
"/organization/delete",
|
|
1590
1638
|
{
|
|
1591
1639
|
method: "POST",
|
|
@@ -1683,7 +1731,7 @@ var deleteOrganization = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1683
1731
|
return ctx.json(org);
|
|
1684
1732
|
}
|
|
1685
1733
|
);
|
|
1686
|
-
var getFullOrganization =
|
|
1734
|
+
var getFullOrganization = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1687
1735
|
"/organization/get-full-organization",
|
|
1688
1736
|
{
|
|
1689
1737
|
method: "GET",
|
|
@@ -1748,7 +1796,7 @@ var getFullOrganization = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1748
1796
|
return ctx.json(organization2);
|
|
1749
1797
|
}
|
|
1750
1798
|
);
|
|
1751
|
-
var setActiveOrganization =
|
|
1799
|
+
var setActiveOrganization = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1752
1800
|
"/organization/set-active",
|
|
1753
1801
|
{
|
|
1754
1802
|
method: "POST",
|
|
@@ -1836,7 +1884,7 @@ var setActiveOrganization = chunkWKXM7XUV_cjs.createAuthEndpoint(
|
|
|
1836
1884
|
return ctx.json(organization2);
|
|
1837
1885
|
}
|
|
1838
1886
|
);
|
|
1839
|
-
var listOrganizations =
|
|
1887
|
+
var listOrganizations = chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1840
1888
|
"/organization/list",
|
|
1841
1889
|
{
|
|
1842
1890
|
method: "GET",
|
|
@@ -1889,7 +1937,8 @@ var organization = (options) => {
|
|
|
1889
1937
|
addMember: addMember(),
|
|
1890
1938
|
removeMember,
|
|
1891
1939
|
updateMemberRole: updateMemberRole(),
|
|
1892
|
-
getActiveMember
|
|
1940
|
+
getActiveMember,
|
|
1941
|
+
leaveOrganization
|
|
1893
1942
|
};
|
|
1894
1943
|
const roles = {
|
|
1895
1944
|
...chunk2X5G64P2_cjs.defaultRoles,
|
|
@@ -1899,14 +1948,14 @@ var organization = (options) => {
|
|
|
1899
1948
|
orgOptions: options || {},
|
|
1900
1949
|
roles,
|
|
1901
1950
|
getSession: async (context) => {
|
|
1902
|
-
return await
|
|
1951
|
+
return await chunkN7UWN6ND_cjs.getSessionFromCtx(context);
|
|
1903
1952
|
}
|
|
1904
1953
|
});
|
|
1905
1954
|
return {
|
|
1906
1955
|
id: "organization",
|
|
1907
1956
|
endpoints: {
|
|
1908
1957
|
...api,
|
|
1909
|
-
hasPermission:
|
|
1958
|
+
hasPermission: chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
1910
1959
|
"/organization/has-permission",
|
|
1911
1960
|
{
|
|
1912
1961
|
method: "POST",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkZBKCS3KP_cjs = require('./chunk-ZBKCS3KP.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunkN7UWN6ND_cjs = require('./chunk-N7UWN6ND.cjs');
|
|
5
5
|
var chunkV6HE2MP7_cjs = require('./chunk-V6HE2MP7.cjs');
|
|
6
6
|
var chunkB5UCLTPZ_cjs = require('./chunk-B5UCLTPZ.cjs');
|
|
7
7
|
var zod = require('zod');
|
|
@@ -42,7 +42,7 @@ var username = (options) => {
|
|
|
42
42
|
return {
|
|
43
43
|
id: "username",
|
|
44
44
|
endpoints: {
|
|
45
|
-
signInUsername:
|
|
45
|
+
signInUsername: chunkN7UWN6ND_cjs.createAuthEndpoint(
|
|
46
46
|
"/sign-in/username",
|
|
47
47
|
{
|
|
48
48
|
method: "POST",
|
|
@@ -102,7 +102,7 @@ var username = (options) => {
|
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
104
|
if (!user.emailVerified && ctx.context.options.emailAndPassword?.requireEmailVerification) {
|
|
105
|
-
await
|
|
105
|
+
await chunkN7UWN6ND_cjs.sendVerificationEmailFn(ctx, user);
|
|
106
106
|
throw new betterCall.APIError("FORBIDDEN", {
|
|
107
107
|
message: ERROR_CODES.EMAIL_NOT_VERIFIED
|
|
108
108
|
});
|
|
@@ -151,7 +151,7 @@ var username = (options) => {
|
|
|
151
151
|
return ctx.json(null, {
|
|
152
152
|
status: 500,
|
|
153
153
|
body: {
|
|
154
|
-
message:
|
|
154
|
+
message: chunkN7UWN6ND_cjs.BASE_ERROR_CODES.FAILED_TO_CREATE_SESSION
|
|
155
155
|
}
|
|
156
156
|
});
|
|
157
157
|
}
|
|
@@ -182,7 +182,7 @@ var username = (options) => {
|
|
|
182
182
|
matcher(context) {
|
|
183
183
|
return context.path === "/sign-up/email";
|
|
184
184
|
},
|
|
185
|
-
handler:
|
|
185
|
+
handler: chunkN7UWN6ND_cjs.createAuthMiddleware(async (ctx) => {
|
|
186
186
|
const username2 = ctx.body.username;
|
|
187
187
|
if (username2) {
|
|
188
188
|
const user = await ctx.context.adapter.findOne({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createAuthEndpoint, sessionMiddleware, APIError, createAuthMiddleware } from './chunk-
|
|
1
|
+
import { createAuthEndpoint, sessionMiddleware, APIError, createAuthMiddleware } from './chunk-SCXZXQTZ.js';
|
|
2
2
|
import { parseCookies, setSessionCookie, deleteSessionCookie, parseSetCookieHeader } from './chunk-QQGZ3XGI.js';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createAuthEndpoint, handleOAuthUserInfo } from './chunk-
|
|
1
|
+
import { createAuthEndpoint, handleOAuthUserInfo, sessionMiddleware, BASE_ERROR_CODES } from './chunk-SCXZXQTZ.js';
|
|
2
2
|
import { createAuthorizationURL, validateAuthorizationCode } from './chunk-R42K7GPF.js';
|
|
3
3
|
import { setSessionCookie } from './chunk-QQGZ3XGI.js';
|
|
4
4
|
import { generateState, parseState } from './chunk-ZFUBVSZD.js';
|
|
@@ -309,7 +309,7 @@ var genericOAuth = (options) => {
|
|
|
309
309
|
}
|
|
310
310
|
let tokens = void 0;
|
|
311
311
|
const parsedState = await parseState(ctx);
|
|
312
|
-
const { callbackURL, codeVerifier, errorURL, newUserURL } = parsedState;
|
|
312
|
+
const { callbackURL, codeVerifier, errorURL, newUserURL, link } = parsedState;
|
|
313
313
|
const code = ctx.query.code;
|
|
314
314
|
let finalTokenUrl = provider.tokenUrl;
|
|
315
315
|
let finalUserInfoUrl = provider.userInfoUrl;
|
|
@@ -361,6 +361,27 @@ var genericOAuth = (options) => {
|
|
|
361
361
|
);
|
|
362
362
|
}
|
|
363
363
|
const mapUser = provider.mapProfileToUser ? await provider.mapProfileToUser(userInfo) : null;
|
|
364
|
+
if (link) {
|
|
365
|
+
if (link.email !== userInfo.email.toLowerCase()) {
|
|
366
|
+
return redirectOnError("email_doesn't_match");
|
|
367
|
+
}
|
|
368
|
+
const newAccount = await ctx.context.internalAdapter.createAccount({
|
|
369
|
+
userId: link.userId,
|
|
370
|
+
providerId: provider.providerId,
|
|
371
|
+
accountId: userInfo.id
|
|
372
|
+
});
|
|
373
|
+
if (!newAccount) {
|
|
374
|
+
return redirectOnError("unable_to_link_account");
|
|
375
|
+
}
|
|
376
|
+
let toRedirectTo2;
|
|
377
|
+
try {
|
|
378
|
+
const url = callbackURL;
|
|
379
|
+
toRedirectTo2 = url.toString();
|
|
380
|
+
} catch {
|
|
381
|
+
toRedirectTo2 = callbackURL;
|
|
382
|
+
}
|
|
383
|
+
throw ctx.redirect(toRedirectTo2);
|
|
384
|
+
}
|
|
364
385
|
const result = await handleOAuthUserInfo(ctx, {
|
|
365
386
|
userInfo: {
|
|
366
387
|
...userInfo,
|
|
@@ -395,6 +416,93 @@ var genericOAuth = (options) => {
|
|
|
395
416
|
}
|
|
396
417
|
throw ctx.redirect(toRedirectTo);
|
|
397
418
|
}
|
|
419
|
+
),
|
|
420
|
+
oAuth2LinkAccount: createAuthEndpoint(
|
|
421
|
+
"/oauth2/link",
|
|
422
|
+
{
|
|
423
|
+
method: "POST",
|
|
424
|
+
body: z.object({
|
|
425
|
+
providerId: z.string(),
|
|
426
|
+
callbackURL: z.string()
|
|
427
|
+
}),
|
|
428
|
+
use: [sessionMiddleware]
|
|
429
|
+
},
|
|
430
|
+
async (c) => {
|
|
431
|
+
const session = c.context.session;
|
|
432
|
+
const account = await c.context.internalAdapter.findAccounts(
|
|
433
|
+
session.user.id
|
|
434
|
+
);
|
|
435
|
+
const existingAccount = account.find(
|
|
436
|
+
(a) => a.providerId === c.body.providerId
|
|
437
|
+
);
|
|
438
|
+
if (existingAccount) {
|
|
439
|
+
throw new APIError("BAD_REQUEST", {
|
|
440
|
+
message: BASE_ERROR_CODES.SOCIAL_ACCOUNT_ALREADY_LINKED
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
const provider = options.config.find(
|
|
444
|
+
(p) => p.providerId === c.body.providerId
|
|
445
|
+
);
|
|
446
|
+
if (!provider) {
|
|
447
|
+
throw new APIError("NOT_FOUND", {
|
|
448
|
+
message: BASE_ERROR_CODES.PROVIDER_NOT_FOUND
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
const {
|
|
452
|
+
providerId,
|
|
453
|
+
clientId,
|
|
454
|
+
clientSecret,
|
|
455
|
+
redirectURI,
|
|
456
|
+
authorizationUrl,
|
|
457
|
+
discoveryUrl,
|
|
458
|
+
pkce,
|
|
459
|
+
scopes
|
|
460
|
+
} = provider;
|
|
461
|
+
let finalAuthUrl = authorizationUrl;
|
|
462
|
+
if (!finalAuthUrl) {
|
|
463
|
+
if (!discoveryUrl) {
|
|
464
|
+
throw new APIError("BAD_REQUEST", {
|
|
465
|
+
message: ERROR_CODES.INVALID_OAUTH_CONFIGURATION
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
const discovery = await betterFetch(discoveryUrl, {
|
|
469
|
+
onError(context) {
|
|
470
|
+
c.context.logger.error(context.error.message, context.error, {
|
|
471
|
+
discoveryUrl
|
|
472
|
+
});
|
|
473
|
+
}
|
|
474
|
+
});
|
|
475
|
+
if (discovery.data) {
|
|
476
|
+
finalAuthUrl = discovery.data.authorization_endpoint;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
if (!finalAuthUrl) {
|
|
480
|
+
throw new APIError("BAD_REQUEST", {
|
|
481
|
+
message: ERROR_CODES.INVALID_OAUTH_CONFIGURATION
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
const state = await generateState(c, {
|
|
485
|
+
userId: session.user.id,
|
|
486
|
+
email: session.user.email
|
|
487
|
+
});
|
|
488
|
+
const url = await createAuthorizationURL({
|
|
489
|
+
id: providerId,
|
|
490
|
+
options: {
|
|
491
|
+
clientId,
|
|
492
|
+
clientSecret,
|
|
493
|
+
redirectURI: redirectURI || `${c.context.baseURL}/oauth2/callback`
|
|
494
|
+
},
|
|
495
|
+
authorizationEndpoint: finalAuthUrl,
|
|
496
|
+
state: state.state,
|
|
497
|
+
codeVerifier: pkce ? state.codeVerifier : void 0,
|
|
498
|
+
scopes: scopes || [],
|
|
499
|
+
redirectURI: `${c.context.baseURL}/oauth2/callback/${providerId}`
|
|
500
|
+
});
|
|
501
|
+
return c.json({
|
|
502
|
+
url: url.toString(),
|
|
503
|
+
redirect: true
|
|
504
|
+
});
|
|
505
|
+
}
|
|
398
506
|
)
|
|
399
507
|
},
|
|
400
508
|
$ERROR_CODES: ERROR_CODES
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createAuthEndpoint, createAuthMiddleware, getSessionFromCtx, APIError } from './chunk-
|
|
1
|
+
import { createAuthEndpoint, createAuthMiddleware, getSessionFromCtx, APIError } from './chunk-SCXZXQTZ.js';
|
|
2
2
|
import { getOrigin } from './chunk-XFCIANZX.js';
|
|
3
3
|
import { setSessionCookie, parseSetCookieHeader } from './chunk-QQGZ3XGI.js';
|
|
4
4
|
import { mergeSchema } from './chunk-HZBNUY7E.js';
|