better-auth 1.2.6-beta.7 → 1.2.7-beta.1
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-adapter/index.cjs +186 -249
- package/dist/adapters/drizzle-adapter/index.d.cts +11 -49
- package/dist/adapters/drizzle-adapter/index.d.mts +11 -49
- package/dist/adapters/drizzle-adapter/index.d.ts +11 -49
- package/dist/adapters/drizzle-adapter/index.mjs +186 -249
- package/dist/adapters/index.cjs +26 -0
- package/dist/adapters/index.d.cts +17 -0
- package/dist/adapters/index.d.mts +17 -0
- package/dist/adapters/index.d.ts +17 -0
- package/dist/adapters/index.mjs +20 -0
- package/dist/adapters/kysely-adapter/index.cjs +7 -7
- package/dist/adapters/kysely-adapter/index.d.cts +17 -49
- package/dist/adapters/kysely-adapter/index.d.mts +17 -49
- package/dist/adapters/kysely-adapter/index.d.ts +17 -49
- package/dist/adapters/kysely-adapter/index.mjs +8 -8
- package/dist/adapters/memory-adapter/index.cjs +7 -8
- package/dist/adapters/memory-adapter/index.d.cts +9 -49
- package/dist/adapters/memory-adapter/index.d.mts +9 -49
- package/dist/adapters/memory-adapter/index.d.ts +9 -49
- package/dist/adapters/memory-adapter/index.mjs +8 -9
- package/dist/adapters/mongodb-adapter/index.cjs +2 -2
- package/dist/adapters/mongodb-adapter/index.d.cts +4 -4
- package/dist/adapters/mongodb-adapter/index.d.mts +4 -4
- package/dist/adapters/mongodb-adapter/index.d.ts +4 -4
- package/dist/adapters/mongodb-adapter/index.mjs +3 -3
- package/dist/adapters/prisma-adapter/index.cjs +130 -203
- package/dist/adapters/prisma-adapter/index.d.cts +17 -49
- package/dist/adapters/prisma-adapter/index.d.mts +17 -49
- package/dist/adapters/prisma-adapter/index.d.ts +17 -49
- package/dist/adapters/prisma-adapter/index.mjs +131 -204
- package/dist/adapters/test.cjs +710 -377
- package/dist/adapters/test.d.cts +64 -5
- package/dist/adapters/test.d.mts +64 -5
- package/dist/adapters/test.d.ts +64 -5
- package/dist/adapters/test.mjs +712 -380
- package/dist/api/index.cjs +61 -25
- package/dist/api/index.d.cts +3 -3
- package/dist/api/index.d.mts +3 -3
- package/dist/api/index.d.ts +3 -3
- package/dist/api/index.mjs +63 -27
- package/dist/client/index.d.cts +3 -3
- package/dist/client/index.d.mts +3 -3
- package/dist/client/index.d.ts +3 -3
- package/dist/client/plugins/index.cjs +13 -15
- package/dist/client/plugins/index.d.cts +80 -19
- package/dist/client/plugins/index.d.mts +80 -19
- package/dist/client/plugins/index.d.ts +80 -19
- package/dist/client/plugins/index.mjs +13 -16
- package/dist/client/react/index.cjs +4 -4
- package/dist/client/react/index.d.cts +3 -3
- package/dist/client/react/index.d.mts +3 -3
- package/dist/client/react/index.d.ts +3 -3
- package/dist/client/solid/index.d.cts +3 -3
- package/dist/client/solid/index.d.mts +3 -3
- package/dist/client/solid/index.d.ts +3 -3
- package/dist/client/svelte/index.d.cts +3 -3
- package/dist/client/svelte/index.d.mts +3 -3
- package/dist/client/svelte/index.d.ts +3 -3
- package/dist/client/vue/index.d.cts +3 -3
- package/dist/client/vue/index.d.mts +3 -3
- package/dist/client/vue/index.d.ts +3 -3
- package/dist/cookies/index.cjs +13 -2
- package/dist/cookies/index.d.cts +3 -3
- package/dist/cookies/index.d.mts +3 -3
- package/dist/cookies/index.d.ts +3 -3
- package/dist/cookies/index.mjs +13 -2
- package/dist/db/index.cjs +6 -5
- package/dist/db/index.d.cts +4 -4
- package/dist/db/index.d.mts +4 -4
- package/dist/db/index.d.ts +4 -4
- package/dist/db/index.mjs +7 -6
- package/dist/index.cjs +11 -7
- package/dist/index.d.cts +4 -4
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.mjs +14 -10
- package/dist/integrations/next-js.cjs +4 -5
- package/dist/integrations/next-js.d.cts +3 -3
- package/dist/integrations/next-js.d.mts +3 -3
- package/dist/integrations/next-js.d.ts +3 -3
- package/dist/integrations/next-js.mjs +5 -6
- package/dist/integrations/node.d.cts +3 -3
- package/dist/integrations/node.d.mts +3 -3
- package/dist/integrations/node.d.ts +3 -3
- package/dist/integrations/react-start.cjs +5 -6
- package/dist/integrations/react-start.d.cts +3 -3
- package/dist/integrations/react-start.d.mts +3 -3
- package/dist/integrations/react-start.d.ts +3 -3
- package/dist/integrations/react-start.mjs +6 -7
- package/dist/integrations/svelte-kit.d.cts +3 -3
- package/dist/integrations/svelte-kit.d.mts +3 -3
- package/dist/integrations/svelte-kit.d.ts +3 -3
- package/dist/oauth2/index.d.cts +5 -5
- package/dist/oauth2/index.d.mts +5 -5
- package/dist/oauth2/index.d.ts +5 -5
- package/dist/plugins/access/index.d.cts +1 -1
- package/dist/plugins/access/index.d.mts +1 -1
- package/dist/plugins/access/index.d.ts +1 -1
- package/dist/plugins/admin/access/index.d.cts +1 -1
- package/dist/plugins/admin/access/index.d.mts +1 -1
- package/dist/plugins/admin/access/index.d.ts +1 -1
- package/dist/plugins/admin/index.cjs +4 -4
- package/dist/plugins/admin/index.d.cts +74 -14
- package/dist/plugins/admin/index.d.mts +74 -14
- package/dist/plugins/admin/index.d.ts +74 -14
- package/dist/plugins/admin/index.mjs +5 -5
- package/dist/plugins/anonymous/index.cjs +4 -5
- package/dist/plugins/anonymous/index.d.cts +3 -3
- package/dist/plugins/anonymous/index.d.mts +3 -3
- package/dist/plugins/anonymous/index.d.ts +3 -3
- package/dist/plugins/anonymous/index.mjs +5 -6
- package/dist/plugins/bearer/index.cjs +2 -2
- package/dist/plugins/bearer/index.d.cts +3 -3
- package/dist/plugins/bearer/index.d.mts +3 -3
- package/dist/plugins/bearer/index.d.ts +3 -3
- package/dist/plugins/bearer/index.mjs +3 -3
- package/dist/plugins/captcha/index.cjs +110 -45
- package/dist/plugins/captcha/index.d.cts +26 -6
- package/dist/plugins/captcha/index.d.mts +26 -6
- package/dist/plugins/captcha/index.d.ts +26 -6
- package/dist/plugins/captcha/index.mjs +110 -45
- package/dist/plugins/custom-session/index.cjs +24 -5
- package/dist/plugins/custom-session/index.d.cts +25 -6
- package/dist/plugins/custom-session/index.d.mts +25 -6
- package/dist/plugins/custom-session/index.d.ts +25 -6
- package/dist/plugins/custom-session/index.mjs +25 -6
- package/dist/plugins/email-otp/index.cjs +96 -30
- package/dist/plugins/email-otp/index.d.cts +33 -10
- package/dist/plugins/email-otp/index.d.mts +33 -10
- package/dist/plugins/email-otp/index.d.ts +33 -10
- package/dist/plugins/email-otp/index.mjs +97 -31
- package/dist/plugins/generic-oauth/index.cjs +81 -20
- package/dist/plugins/generic-oauth/index.d.cts +46 -3
- package/dist/plugins/generic-oauth/index.d.mts +46 -3
- package/dist/plugins/generic-oauth/index.d.ts +46 -3
- package/dist/plugins/generic-oauth/index.mjs +82 -21
- package/dist/plugins/haveibeenpwned/index.cjs +98 -0
- package/dist/plugins/haveibeenpwned/index.d.cts +36 -0
- package/dist/plugins/haveibeenpwned/index.d.mts +36 -0
- package/dist/plugins/haveibeenpwned/index.d.ts +36 -0
- package/dist/plugins/haveibeenpwned/index.mjs +96 -0
- package/dist/plugins/index.cjs +583 -19
- package/dist/plugins/index.d.cts +7 -5
- package/dist/plugins/index.d.mts +7 -5
- package/dist/plugins/index.d.ts +7 -5
- package/dist/plugins/index.mjs +583 -21
- package/dist/plugins/jwt/index.cjs +45 -21
- package/dist/plugins/jwt/index.d.cts +52 -6
- package/dist/plugins/jwt/index.d.mts +52 -6
- package/dist/plugins/jwt/index.d.ts +52 -6
- package/dist/plugins/jwt/index.mjs +46 -22
- package/dist/plugins/magic-link/index.cjs +3 -3
- package/dist/plugins/magic-link/index.mjs +4 -4
- package/dist/plugins/multi-session/index.cjs +3 -3
- package/dist/plugins/multi-session/index.d.cts +3 -3
- package/dist/plugins/multi-session/index.d.mts +3 -3
- package/dist/plugins/multi-session/index.d.ts +3 -3
- package/dist/plugins/multi-session/index.mjs +4 -4
- package/dist/plugins/oauth-proxy/index.cjs +4 -4
- package/dist/plugins/oauth-proxy/index.d.cts +3 -3
- package/dist/plugins/oauth-proxy/index.d.mts +3 -3
- package/dist/plugins/oauth-proxy/index.d.ts +3 -3
- package/dist/plugins/oauth-proxy/index.mjs +5 -5
- package/dist/plugins/oidc-provider/index.cjs +227 -8
- package/dist/plugins/oidc-provider/index.d.cts +215 -3
- package/dist/plugins/oidc-provider/index.d.mts +215 -3
- package/dist/plugins/oidc-provider/index.d.ts +215 -3
- package/dist/plugins/oidc-provider/index.mjs +228 -9
- package/dist/plugins/one-tap/index.cjs +5 -5
- package/dist/plugins/one-tap/index.mjs +6 -6
- package/dist/plugins/one-time-token/index.cjs +119 -0
- package/dist/plugins/one-time-token/index.d.cts +134 -0
- package/dist/plugins/one-time-token/index.d.mts +134 -0
- package/dist/plugins/one-time-token/index.d.ts +134 -0
- package/dist/plugins/one-time-token/index.mjs +117 -0
- package/dist/plugins/open-api/index.cjs +3 -3
- package/dist/plugins/open-api/index.d.cts +3 -3
- package/dist/plugins/open-api/index.d.mts +3 -3
- package/dist/plugins/open-api/index.d.ts +3 -3
- package/dist/plugins/open-api/index.mjs +4 -4
- package/dist/plugins/organization/access/index.d.cts +1 -1
- package/dist/plugins/organization/access/index.d.mts +1 -1
- package/dist/plugins/organization/access/index.d.ts +1 -1
- package/dist/plugins/organization/index.cjs +4 -4
- package/dist/plugins/organization/index.d.cts +708 -55
- package/dist/plugins/organization/index.d.mts +708 -55
- package/dist/plugins/organization/index.d.ts +708 -55
- package/dist/plugins/organization/index.mjs +5 -5
- package/dist/plugins/passkey/index.cjs +82 -8
- package/dist/plugins/passkey/index.d.cts +72 -3
- package/dist/plugins/passkey/index.d.mts +72 -3
- package/dist/plugins/passkey/index.d.ts +72 -3
- package/dist/plugins/passkey/index.mjs +83 -9
- package/dist/plugins/phone-number/index.cjs +194 -26
- package/dist/plugins/phone-number/index.d.cts +132 -8
- package/dist/plugins/phone-number/index.d.mts +132 -8
- package/dist/plugins/phone-number/index.d.ts +132 -8
- package/dist/plugins/phone-number/index.mjs +195 -27
- package/dist/plugins/sso/index.cjs +190 -7
- package/dist/plugins/sso/index.d.cts +181 -15
- package/dist/plugins/sso/index.d.mts +181 -15
- package/dist/plugins/sso/index.d.ts +181 -15
- package/dist/plugins/sso/index.mjs +191 -8
- package/dist/plugins/two-factor/index.cjs +443 -92
- package/dist/plugins/two-factor/index.d.cts +230 -396
- package/dist/plugins/two-factor/index.d.mts +230 -396
- package/dist/plugins/two-factor/index.d.ts +230 -396
- package/dist/plugins/two-factor/index.mjs +431 -80
- package/dist/plugins/username/index.cjs +34 -31
- package/dist/plugins/username/index.d.cts +15 -12
- package/dist/plugins/username/index.d.mts +15 -12
- package/dist/plugins/username/index.d.ts +15 -12
- package/dist/plugins/username/index.mjs +35 -32
- package/dist/shared/better-auth.1DR6suCQ.mjs +307 -0
- package/dist/shared/{better-auth.BSsp73pg.cjs → better-auth.B7cZ2juS.cjs} +15 -14
- package/dist/shared/{better-auth.bKwabe3I.d.mts → better-auth.B88xucNq.d.mts} +529 -39
- package/dist/shared/{better-auth.CApEjVDP.cjs → better-auth.BW8BpneG.cjs} +4 -1
- package/dist/shared/{better-auth.BiQsvaIP.d.cts → better-auth.BcU1Kjyq.d.cts} +2051 -518
- package/dist/shared/better-auth.BfG24BjZ.cjs +118 -0
- package/dist/shared/{better-auth.A3TjrU8G.mjs → better-auth.Bk5IMdhM.mjs} +32 -12
- package/dist/shared/{better-auth.D9VnBkRI.mjs → better-auth.Bm9HxIzE.mjs} +47 -24
- package/dist/shared/{better-auth.BRf6Iynu.d.ts → better-auth.Bwc-6kOr.d.ts} +1 -1
- package/dist/shared/{better-auth.D-oLmHIj.d.mts → better-auth.CA2hFK4N.d.ts} +2051 -518
- package/dist/shared/{better-auth.Dmhe30iW.d.mts → better-auth.CGukGrxT.d.cts} +1 -1
- package/dist/shared/{better-auth.CsSpq0zL.cjs → better-auth.CHUzBidy.cjs} +46 -23
- package/dist/shared/{better-auth.DWRligF8.d.cts → better-auth.CT9J6rD-.d.cts} +539 -7
- package/dist/shared/better-auth.CVCo5Z2T.cjs +310 -0
- package/dist/shared/{better-auth.D4jH-sJA.mjs → better-auth.CWwVo_61.mjs} +458 -118
- package/dist/shared/{better-auth.Bi8FQwDD.d.cts → better-auth.CYegVoq1.d.cts} +1 -1
- package/dist/shared/{better-auth.Bi8FQwDD.d.mts → better-auth.CYegVoq1.d.mts} +1 -1
- package/dist/shared/{better-auth.Bi8FQwDD.d.ts → better-auth.CYegVoq1.d.ts} +1 -1
- package/dist/shared/{better-auth.CepcSj5H.mjs → better-auth.Cc72UxUH.mjs} +1 -2
- package/dist/shared/{better-auth.BWp5dztg.d.ts → better-auth.CmN4mlPh.d.ts} +539 -7
- package/dist/shared/{better-auth.DH3YjMQH.mjs → better-auth.Cqykj82J.mjs} +1 -1
- package/dist/shared/{better-auth.wcdMj2cT.d.mts → better-auth.DIt2e3lu.d.mts} +539 -7
- package/dist/shared/{better-auth.BANAxdkL.d.ts → better-auth.DNTAFSt1.d.ts} +529 -39
- package/dist/shared/{better-auth.DU2QNVc_.d.ts → better-auth.DQ7OSJbI.d.mts} +2051 -518
- package/dist/shared/{better-auth.DLTzKoOS.cjs → better-auth.DSVbLSt7.cjs} +4 -1
- package/dist/shared/{better-auth.B2Fw1vhH.d.cts → better-auth.DTiSPWEk.d.cts} +529 -39
- package/dist/shared/better-auth.DURsStt9.mjs +116 -0
- package/dist/shared/{better-auth.BIjcZ_vt.cjs → better-auth.DYoLD99C.cjs} +31 -11
- package/dist/shared/{better-auth.CV1L7TPV.cjs → better-auth.D_ZIX1O8.cjs} +317 -47
- package/dist/shared/{better-auth.C5H9XEzZ.cjs → better-auth.DcWKCjjf.cjs} +1 -2
- package/dist/shared/{better-auth.BDYXUcLv.cjs → better-auth.Dg0siV5C.cjs} +457 -117
- package/dist/shared/better-auth.DjryM8pE.cjs +760 -0
- package/dist/shared/{better-auth.DPBQN9Fs.mjs → better-auth.Dn_Ms1Uf.mjs} +318 -48
- package/dist/shared/{better-auth.DiG4KL2x.mjs → better-auth.OuYYTHC7.mjs} +4 -1
- package/dist/shared/{better-auth.DtC8i3pf.d.cts → better-auth.S1jimRbX.d.mts} +1 -1
- package/dist/shared/better-auth.SPmq4a4z.d.mts +344 -0
- package/dist/shared/{better-auth.cOCrlspr.mjs → better-auth.bkwPl2G4.mjs} +4 -1
- package/dist/shared/better-auth.cp2rC2iM.d.ts +344 -0
- package/dist/shared/better-auth.eVy4DZvP.d.cts +344 -0
- package/dist/shared/{better-auth.BrOpzmqo.mjs → better-auth.iKoUsdFE.mjs} +15 -14
- package/dist/shared/better-auth.rSYJCd3o.mjs +758 -0
- package/dist/social-providers/index.cjs +75 -3
- package/dist/social-providers/index.d.cts +2 -2
- package/dist/social-providers/index.d.mts +2 -2
- package/dist/social-providers/index.d.ts +2 -2
- package/dist/social-providers/index.mjs +77 -6
- package/dist/types/index.d.cts +4 -4
- package/dist/types/index.d.mts +4 -4
- package/dist/types/index.d.ts +4 -4
- package/package.json +42 -5
- package/dist/chunks/server.cjs +0 -905
- package/dist/chunks/server.mjs +0 -895
- package/dist/shared/better-auth.BcoSd9tC.mjs +0 -10
- package/dist/shared/better-auth.BnRFp-t0.mjs +0 -405
- package/dist/shared/better-auth.C1-vpKly.cjs +0 -12
- package/dist/shared/better-auth.ClTSOgiD.mjs +0 -140
- package/dist/shared/better-auth.DC8JQbiE.mjs +0 -173
- package/dist/shared/better-auth.DWHWPllD.cjs +0 -175
- package/dist/shared/better-auth.DqLjzBlO.cjs +0 -408
- package/dist/shared/better-auth.m575EIBC.cjs +0 -144
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index = require('./better-auth.DjryM8pE.cjs');
|
|
4
|
+
|
|
5
|
+
const memoryAdapter = (db, config) => index.createAdapter({
|
|
6
|
+
config: {
|
|
7
|
+
adapterId: "memory",
|
|
8
|
+
adapterName: "Memory Adapter",
|
|
9
|
+
usePlural: false,
|
|
10
|
+
debugLogs: config?.debugLogs || false,
|
|
11
|
+
customTransformInput(props) {
|
|
12
|
+
if (props.options.advanced?.database?.useNumberId && props.field === "id" && props.action === "create") {
|
|
13
|
+
return db[props.model].length + 1;
|
|
14
|
+
}
|
|
15
|
+
return props.data;
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
adapter: ({ getFieldName, options }) => {
|
|
19
|
+
function convertWhereClause(where, table) {
|
|
20
|
+
return table.filter((record) => {
|
|
21
|
+
return where.every((clause) => {
|
|
22
|
+
let { field, value, operator } = clause;
|
|
23
|
+
if (operator === "in") {
|
|
24
|
+
if (!Array.isArray(value)) {
|
|
25
|
+
throw new Error("Value must be an array");
|
|
26
|
+
}
|
|
27
|
+
return value.includes(record[field]);
|
|
28
|
+
} else if (operator === "contains") {
|
|
29
|
+
return record[field].includes(value);
|
|
30
|
+
} else if (operator === "starts_with") {
|
|
31
|
+
return record[field].startsWith(value);
|
|
32
|
+
} else if (operator === "ends_with") {
|
|
33
|
+
return record[field].endsWith(value);
|
|
34
|
+
} else {
|
|
35
|
+
return record[field] === value;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
create: async ({ model, data }) => {
|
|
42
|
+
if (options.advanced?.database?.useNumberId) {
|
|
43
|
+
data.id = db[model].length + 1;
|
|
44
|
+
}
|
|
45
|
+
db[model].push(data);
|
|
46
|
+
return data;
|
|
47
|
+
},
|
|
48
|
+
findOne: async ({ model, where }) => {
|
|
49
|
+
const table = db[model];
|
|
50
|
+
const res = convertWhereClause(where, table);
|
|
51
|
+
const record = res[0] || null;
|
|
52
|
+
return record;
|
|
53
|
+
},
|
|
54
|
+
findMany: async ({ model, where, sortBy, limit, offset }) => {
|
|
55
|
+
let table = db[model];
|
|
56
|
+
if (where) {
|
|
57
|
+
table = convertWhereClause(where, table);
|
|
58
|
+
}
|
|
59
|
+
if (sortBy) {
|
|
60
|
+
table = table.sort((a, b) => {
|
|
61
|
+
const field = getFieldName({ model, field: sortBy.field });
|
|
62
|
+
if (sortBy.direction === "asc") {
|
|
63
|
+
return a[field] > b[field] ? 1 : -1;
|
|
64
|
+
} else {
|
|
65
|
+
return a[field] < b[field] ? 1 : -1;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (offset !== void 0) {
|
|
70
|
+
table = table.slice(offset);
|
|
71
|
+
}
|
|
72
|
+
if (limit !== void 0) {
|
|
73
|
+
table = table.slice(0, limit);
|
|
74
|
+
}
|
|
75
|
+
return table;
|
|
76
|
+
},
|
|
77
|
+
count: async ({ model }) => {
|
|
78
|
+
return db[model].length;
|
|
79
|
+
},
|
|
80
|
+
update: async ({ model, where, update }) => {
|
|
81
|
+
const table = db[model];
|
|
82
|
+
const res = convertWhereClause(where, table);
|
|
83
|
+
res.forEach((record) => {
|
|
84
|
+
Object.assign(record, update);
|
|
85
|
+
});
|
|
86
|
+
return res[0] || null;
|
|
87
|
+
},
|
|
88
|
+
delete: async ({ model, where }) => {
|
|
89
|
+
const table = db[model];
|
|
90
|
+
const res = convertWhereClause(where, table);
|
|
91
|
+
db[model] = table.filter((record) => !res.includes(record));
|
|
92
|
+
},
|
|
93
|
+
deleteMany: async ({ model, where }) => {
|
|
94
|
+
const table = db[model];
|
|
95
|
+
const res = convertWhereClause(where, table);
|
|
96
|
+
let count = 0;
|
|
97
|
+
db[model] = table.filter((record) => {
|
|
98
|
+
if (res.includes(record)) {
|
|
99
|
+
count++;
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
return !res.includes(record);
|
|
103
|
+
});
|
|
104
|
+
return count;
|
|
105
|
+
},
|
|
106
|
+
updateMany({ model, where, update }) {
|
|
107
|
+
const table = db[model];
|
|
108
|
+
const res = convertWhereClause(where, table);
|
|
109
|
+
res.forEach((record) => {
|
|
110
|
+
Object.assign(record, update);
|
|
111
|
+
});
|
|
112
|
+
return res[0] || null;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
exports.memoryAdapter = memoryAdapter;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { g as getDate } from './better-auth.CW6D9eSx.mjs';
|
|
2
|
-
import { d as parseSessionOutput, b as parseUserOutput } from './better-auth.
|
|
3
|
-
import { g as getIp } from './better-auth.
|
|
2
|
+
import { d as parseSessionOutput, b as parseUserOutput } from './better-auth.Cc72UxUH.mjs';
|
|
3
|
+
import { g as getIp } from './better-auth.iKoUsdFE.mjs';
|
|
4
4
|
import { s as safeJSONParse } from './better-auth.tB5eU6EY.mjs';
|
|
5
5
|
import { g as generateId } from './better-auth.BUPPRXfK.mjs';
|
|
6
6
|
import 'zod';
|
|
@@ -16,13 +16,13 @@ import '@better-auth/utils';
|
|
|
16
16
|
import '@better-auth/utils/hex';
|
|
17
17
|
import '@noble/hashes/utils';
|
|
18
18
|
import './better-auth.B4Qoxdgc.mjs';
|
|
19
|
-
import {
|
|
19
|
+
import { l as logger, c as createLogger } from './better-auth.Cqykj82J.mjs';
|
|
20
20
|
import './better-auth.8zoxzg-F.mjs';
|
|
21
21
|
import '@better-auth/utils/random';
|
|
22
22
|
import { g as getAuthTables } from './better-auth.DORkW_Ge.mjs';
|
|
23
23
|
import { B as BetterAuthError } from './better-auth.DdzSJf-n.mjs';
|
|
24
|
-
import { c as createKyselyAdapter, k as kyselyAdapter } from './better-auth.
|
|
25
|
-
import { m as memoryAdapter } from './better-auth.
|
|
24
|
+
import { c as createKyselyAdapter, k as kyselyAdapter } from './better-auth.1DR6suCQ.mjs';
|
|
25
|
+
import { m as memoryAdapter } from './better-auth.DURsStt9.mjs';
|
|
26
26
|
import 'kysely';
|
|
27
27
|
|
|
28
28
|
function getWithHooks(adapter, ctx) {
|
|
@@ -229,6 +229,9 @@ const createInternalAdapter = (adapter, ctx) => {
|
|
|
229
229
|
model: "user",
|
|
230
230
|
where
|
|
231
231
|
});
|
|
232
|
+
if (typeof total === "string") {
|
|
233
|
+
return parseInt(total);
|
|
234
|
+
}
|
|
232
235
|
return total;
|
|
233
236
|
},
|
|
234
237
|
deleteUser: async (userId) => {
|
|
@@ -729,10 +732,10 @@ const createInternalAdapter = (adapter, ctx) => {
|
|
|
729
732
|
});
|
|
730
733
|
return account;
|
|
731
734
|
},
|
|
732
|
-
updateAccount: async (
|
|
735
|
+
updateAccount: async (id, data, context) => {
|
|
733
736
|
const account = await updateWithHooks(
|
|
734
737
|
data,
|
|
735
|
-
[{ field: "id", value:
|
|
738
|
+
[{ field: "id", value: id }],
|
|
736
739
|
"account",
|
|
737
740
|
void 0,
|
|
738
741
|
context
|
|
@@ -1026,7 +1029,7 @@ async function getMigrations(config) {
|
|
|
1026
1029
|
}
|
|
1027
1030
|
}
|
|
1028
1031
|
const migrations = [];
|
|
1029
|
-
function getType(field) {
|
|
1032
|
+
function getType(field, fieldName) {
|
|
1030
1033
|
const type = field.type;
|
|
1031
1034
|
const typeMap = {
|
|
1032
1035
|
string: {
|
|
@@ -1052,8 +1055,17 @@ async function getMigrations(config) {
|
|
|
1052
1055
|
postgres: "timestamp",
|
|
1053
1056
|
mysql: "datetime",
|
|
1054
1057
|
mssql: "datetime"
|
|
1058
|
+
},
|
|
1059
|
+
id: {
|
|
1060
|
+
postgres: config.advanced?.database?.useNumberId ? "serial" : "text",
|
|
1061
|
+
mysql: config.advanced?.database?.useNumberId ? "integer" : "varchar(36)",
|
|
1062
|
+
mssql: config.advanced?.database?.useNumberId ? "integer" : "varchar(36)",
|
|
1063
|
+
sqlite: config.advanced?.database?.useNumberId ? "integer" : "text"
|
|
1055
1064
|
}
|
|
1056
1065
|
};
|
|
1066
|
+
if (fieldName === "id" || field.references?.field === "id") {
|
|
1067
|
+
return typeMap.id[dbType];
|
|
1068
|
+
}
|
|
1057
1069
|
if (dbType === "sqlite" && (type === "string[]" || type === "number[]")) {
|
|
1058
1070
|
return "text";
|
|
1059
1071
|
}
|
|
@@ -1068,7 +1080,7 @@ async function getMigrations(config) {
|
|
|
1068
1080
|
if (toBeAdded.length) {
|
|
1069
1081
|
for (const table of toBeAdded) {
|
|
1070
1082
|
for (const [fieldName, field] of Object.entries(table.fields)) {
|
|
1071
|
-
const type = getType(field);
|
|
1083
|
+
const type = getType(field, fieldName);
|
|
1072
1084
|
const exec = db.schema.alterTable(table.table).addColumn(fieldName, type, (col) => {
|
|
1073
1085
|
col = field.required !== false ? col.notNull() : col;
|
|
1074
1086
|
if (field.references) {
|
|
@@ -1089,11 +1101,19 @@ async function getMigrations(config) {
|
|
|
1089
1101
|
for (const table of toBeCreated) {
|
|
1090
1102
|
let dbT = db.schema.createTable(table.table).addColumn(
|
|
1091
1103
|
"id",
|
|
1092
|
-
dbType === "mysql" || dbType === "mssql" ? "varchar(36)" : "text",
|
|
1093
|
-
(col) =>
|
|
1104
|
+
config.advanced?.database?.useNumberId ? dbType === "postgres" ? "serial" : "integer" : dbType === "mysql" || dbType === "mssql" ? "varchar(36)" : "text",
|
|
1105
|
+
(col) => {
|
|
1106
|
+
if (config.advanced?.database?.useNumberId) {
|
|
1107
|
+
if (dbType === "postgres") {
|
|
1108
|
+
return col.primaryKey().notNull();
|
|
1109
|
+
}
|
|
1110
|
+
return col.autoIncrement().primaryKey().notNull();
|
|
1111
|
+
}
|
|
1112
|
+
return col.primaryKey().notNull();
|
|
1113
|
+
}
|
|
1094
1114
|
);
|
|
1095
1115
|
for (const [fieldName, field] of Object.entries(table.fields)) {
|
|
1096
|
-
const type = getType(field);
|
|
1116
|
+
const type = getType(field, fieldName);
|
|
1097
1117
|
dbT = dbT.addColumn(fieldName, type, (col) => {
|
|
1098
1118
|
col = field.required !== false ? col.notNull() : col;
|
|
1099
1119
|
if (field.references) {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { APIError } from 'better-call';
|
|
3
|
-
import { c as createAuthMiddleware, g as getSessionFromCtx, a as createAuthEndpoint } from './better-auth.
|
|
3
|
+
import { c as createAuthMiddleware, g as getSessionFromCtx, a as createAuthEndpoint } from './better-auth.CWwVo_61.mjs';
|
|
4
4
|
import { setSessionCookie, deleteSessionCookie } from '../cookies/index.mjs';
|
|
5
|
-
import { m as mergeSchema } from './better-auth.
|
|
5
|
+
import { m as mergeSchema } from './better-auth.Cc72UxUH.mjs';
|
|
6
6
|
import './better-auth.8zoxzg-F.mjs';
|
|
7
|
-
import './better-auth.
|
|
7
|
+
import './better-auth.Cqykj82J.mjs';
|
|
8
8
|
import 'defu';
|
|
9
9
|
import { g as getDate } from './better-auth.CW6D9eSx.mjs';
|
|
10
10
|
import { g as getEndpointResponse } from './better-auth.DQI8AD7d.mjs';
|
|
11
|
-
import { h as hasPermission } from './better-auth.
|
|
11
|
+
import { h as hasPermission } from './better-auth.bkwPl2G4.mjs';
|
|
12
12
|
|
|
13
13
|
const ADMIN_ERROR_CODES = {
|
|
14
14
|
FAILED_TO_CREATE_USER: "Failed to create user",
|
|
@@ -163,7 +163,7 @@ const admin = (options) => {
|
|
|
163
163
|
userId: ctx.context.session.user.id,
|
|
164
164
|
role: ctx.context.session.user.role,
|
|
165
165
|
options: opts,
|
|
166
|
-
|
|
166
|
+
permissions: {
|
|
167
167
|
user: ["set-role"]
|
|
168
168
|
}
|
|
169
169
|
});
|
|
@@ -255,7 +255,7 @@ const admin = (options) => {
|
|
|
255
255
|
userId: session.user.id,
|
|
256
256
|
role: session.user.role,
|
|
257
257
|
options: opts,
|
|
258
|
-
|
|
258
|
+
permissions: {
|
|
259
259
|
user: ["create"]
|
|
260
260
|
}
|
|
261
261
|
});
|
|
@@ -382,7 +382,7 @@ const admin = (options) => {
|
|
|
382
382
|
userId: ctx.context.session.user.id,
|
|
383
383
|
role: session.user.role,
|
|
384
384
|
options: opts,
|
|
385
|
-
|
|
385
|
+
permissions: {
|
|
386
386
|
user: ["list"]
|
|
387
387
|
}
|
|
388
388
|
});
|
|
@@ -477,7 +477,7 @@ const admin = (options) => {
|
|
|
477
477
|
userId: ctx.context.session.user.id,
|
|
478
478
|
role: session.user.role,
|
|
479
479
|
options: opts,
|
|
480
|
-
|
|
480
|
+
permissions: {
|
|
481
481
|
session: ["list"]
|
|
482
482
|
}
|
|
483
483
|
});
|
|
@@ -535,7 +535,7 @@ const admin = (options) => {
|
|
|
535
535
|
userId: ctx.context.session.user.id,
|
|
536
536
|
role: session.user.role,
|
|
537
537
|
options: opts,
|
|
538
|
-
|
|
538
|
+
permissions: {
|
|
539
539
|
user: ["ban"]
|
|
540
540
|
}
|
|
541
541
|
});
|
|
@@ -610,7 +610,7 @@ const admin = (options) => {
|
|
|
610
610
|
userId: ctx.context.session.user.id,
|
|
611
611
|
role: session.user.role,
|
|
612
612
|
options: opts,
|
|
613
|
-
|
|
613
|
+
permissions: {
|
|
614
614
|
user: ["ban"]
|
|
615
615
|
}
|
|
616
616
|
});
|
|
@@ -682,7 +682,7 @@ const admin = (options) => {
|
|
|
682
682
|
userId: ctx.context.session.user.id,
|
|
683
683
|
role: ctx.context.session.user.role,
|
|
684
684
|
options: opts,
|
|
685
|
-
|
|
685
|
+
permissions: {
|
|
686
686
|
user: ["impersonate"]
|
|
687
687
|
}
|
|
688
688
|
});
|
|
@@ -718,9 +718,13 @@ const admin = (options) => {
|
|
|
718
718
|
}
|
|
719
719
|
const authCookies = ctx.context.authCookies;
|
|
720
720
|
deleteSessionCookie(ctx);
|
|
721
|
+
const dontRememberMeCookie = await ctx.getSignedCookie(
|
|
722
|
+
ctx.context.authCookies.dontRememberToken.name,
|
|
723
|
+
ctx.context.secret
|
|
724
|
+
);
|
|
721
725
|
await ctx.setSignedCookie(
|
|
722
726
|
"admin_session",
|
|
723
|
-
ctx.context.session.session.token
|
|
727
|
+
`${ctx.context.session.session.token}:${dontRememberMeCookie || ""}`,
|
|
724
728
|
ctx.context.secret,
|
|
725
729
|
authCookies.sessionToken.options
|
|
726
730
|
);
|
|
@@ -770,13 +774,17 @@ const admin = (options) => {
|
|
|
770
774
|
message: "Failed to find admin session"
|
|
771
775
|
});
|
|
772
776
|
}
|
|
773
|
-
const
|
|
777
|
+
const [adminSessionToken, dontRememberMeCookie] = adminCookie?.split(":");
|
|
778
|
+
const adminSession = await ctx.context.internalAdapter.findSession(adminSessionToken);
|
|
774
779
|
if (!adminSession || adminSession.session.userId !== user.id) {
|
|
775
780
|
throw new APIError("INTERNAL_SERVER_ERROR", {
|
|
776
781
|
message: "Failed to find admin session"
|
|
777
782
|
});
|
|
778
783
|
}
|
|
779
|
-
await
|
|
784
|
+
await ctx.context.internalAdapter.deleteSession(
|
|
785
|
+
session.session.token
|
|
786
|
+
);
|
|
787
|
+
await setSessionCookie(ctx, adminSession, !!dontRememberMeCookie);
|
|
780
788
|
return ctx.json(adminSession);
|
|
781
789
|
}
|
|
782
790
|
),
|
|
@@ -821,7 +829,7 @@ const admin = (options) => {
|
|
|
821
829
|
userId: ctx.context.session.user.id,
|
|
822
830
|
role: session.user.role,
|
|
823
831
|
options: opts,
|
|
824
|
-
|
|
832
|
+
permissions: {
|
|
825
833
|
session: ["revoke"]
|
|
826
834
|
}
|
|
827
835
|
});
|
|
@@ -879,7 +887,7 @@ const admin = (options) => {
|
|
|
879
887
|
userId: ctx.context.session.user.id,
|
|
880
888
|
role: session.user.role,
|
|
881
889
|
options: opts,
|
|
882
|
-
|
|
890
|
+
permissions: {
|
|
883
891
|
session: ["revoke"]
|
|
884
892
|
}
|
|
885
893
|
});
|
|
@@ -935,7 +943,7 @@ const admin = (options) => {
|
|
|
935
943
|
userId: ctx.context.session.user.id,
|
|
936
944
|
role: session.user.role,
|
|
937
945
|
options: opts,
|
|
938
|
-
|
|
946
|
+
permissions: {
|
|
939
947
|
user: ["delete"]
|
|
940
948
|
}
|
|
941
949
|
});
|
|
@@ -993,7 +1001,7 @@ const admin = (options) => {
|
|
|
993
1001
|
userId: ctx.context.session.user.id,
|
|
994
1002
|
role: ctx.context.session.user.role,
|
|
995
1003
|
options: opts,
|
|
996
|
-
|
|
1004
|
+
permissions: {
|
|
997
1005
|
user: ["set-password"]
|
|
998
1006
|
}
|
|
999
1007
|
});
|
|
@@ -1019,10 +1027,20 @@ const admin = (options) => {
|
|
|
1019
1027
|
{
|
|
1020
1028
|
method: "POST",
|
|
1021
1029
|
body: z.object({
|
|
1022
|
-
permission: z.record(z.string(), z.array(z.string())),
|
|
1023
1030
|
userId: z.coerce.string().optional(),
|
|
1024
1031
|
role: z.string().optional()
|
|
1025
|
-
})
|
|
1032
|
+
}).and(
|
|
1033
|
+
z.union([
|
|
1034
|
+
z.object({
|
|
1035
|
+
permission: z.record(z.string(), z.array(z.string())),
|
|
1036
|
+
permissions: z.undefined()
|
|
1037
|
+
}),
|
|
1038
|
+
z.object({
|
|
1039
|
+
permission: z.undefined(),
|
|
1040
|
+
permissions: z.record(z.string(), z.array(z.string()))
|
|
1041
|
+
})
|
|
1042
|
+
])
|
|
1043
|
+
),
|
|
1026
1044
|
metadata: {
|
|
1027
1045
|
openapi: {
|
|
1028
1046
|
description: "Check if the user has permission",
|
|
@@ -1033,11 +1051,16 @@ const admin = (options) => {
|
|
|
1033
1051
|
type: "object",
|
|
1034
1052
|
properties: {
|
|
1035
1053
|
permission: {
|
|
1054
|
+
type: "object",
|
|
1055
|
+
description: "The permission to check",
|
|
1056
|
+
deprecated: true
|
|
1057
|
+
},
|
|
1058
|
+
permissions: {
|
|
1036
1059
|
type: "object",
|
|
1037
1060
|
description: "The permission to check"
|
|
1038
1061
|
}
|
|
1039
1062
|
},
|
|
1040
|
-
required: ["
|
|
1063
|
+
required: ["permissions"]
|
|
1041
1064
|
}
|
|
1042
1065
|
}
|
|
1043
1066
|
}
|
|
@@ -1070,9 +1093,9 @@ const admin = (options) => {
|
|
|
1070
1093
|
}
|
|
1071
1094
|
},
|
|
1072
1095
|
async (ctx) => {
|
|
1073
|
-
if (!ctx.body
|
|
1096
|
+
if (!ctx.body?.permission && !ctx.body?.permissions) {
|
|
1074
1097
|
throw new APIError("BAD_REQUEST", {
|
|
1075
|
-
message: "invalid permission check.
|
|
1098
|
+
message: "invalid permission check. no permission(s) were passed."
|
|
1076
1099
|
});
|
|
1077
1100
|
}
|
|
1078
1101
|
const session = await getSessionFromCtx(ctx);
|
|
@@ -1091,7 +1114,7 @@ const admin = (options) => {
|
|
|
1091
1114
|
userId: user.id,
|
|
1092
1115
|
role: user.role,
|
|
1093
1116
|
options,
|
|
1094
|
-
|
|
1117
|
+
permissions: ctx.body.permissions ?? ctx.body.permission
|
|
1095
1118
|
});
|
|
1096
1119
|
return ctx.json({
|
|
1097
1120
|
error: null,
|