better-auth-studio 1.0.0
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/README.md +1 -0
- package/dist/auth-adapter.d.ts +24 -0
- package/dist/auth-adapter.d.ts.map +1 -0
- package/dist/auth-adapter.js +481 -0
- package/dist/auth-adapter.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +49 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +25 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +308 -0
- package/dist/config.js.map +1 -0
- package/dist/data.d.ts +38 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +275 -0
- package/dist/data.js.map +1 -0
- package/dist/routes.d.ts +3 -0
- package/dist/routes.d.ts.map +1 -0
- package/dist/routes.js +1490 -0
- package/dist/routes.js.map +1 -0
- package/dist/studio.d.ts +10 -0
- package/dist/studio.d.ts.map +1 -0
- package/dist/studio.js +70 -0
- package/dist/studio.js.map +1 -0
- package/frontend/index.html +13 -0
- package/frontend/package-lock.json +4675 -0
- package/frontend/package.json +52 -0
- package/frontend/pnpm-lock.yaml +4020 -0
- package/frontend/postcss.config.js +6 -0
- package/frontend/src/App.tsx +36 -0
- package/frontend/src/components/CommandPalette.tsx +219 -0
- package/frontend/src/components/Layout.tsx +159 -0
- package/frontend/src/components/ui/badge.tsx +40 -0
- package/frontend/src/components/ui/button.tsx +53 -0
- package/frontend/src/components/ui/card.tsx +78 -0
- package/frontend/src/components/ui/input.tsx +20 -0
- package/frontend/src/components/ui/label.tsx +19 -0
- package/frontend/src/components/ui/select.tsx +71 -0
- package/frontend/src/index.css +130 -0
- package/frontend/src/lib/utils.ts +6 -0
- package/frontend/src/main.tsx +10 -0
- package/frontend/src/pages/Dashboard.tsx +231 -0
- package/frontend/src/pages/OrganizationDetails.tsx +1281 -0
- package/frontend/src/pages/Organizations.tsx +874 -0
- package/frontend/src/pages/Sessions.tsx +623 -0
- package/frontend/src/pages/Settings.tsx +1019 -0
- package/frontend/src/pages/TeamDetails.tsx +666 -0
- package/frontend/src/pages/Users.tsx +728 -0
- package/frontend/tailwind.config.js +75 -0
- package/frontend/tsconfig.json +31 -0
- package/frontend/tsconfig.node.json +10 -0
- package/frontend/vite.config.ts +31 -0
- package/package.json +59 -0
- package/public/assets/main-C-TXCXVW.css +1 -0
- package/public/assets/main-CCzTTP3P.js +296 -0
- package/public/index.html +14 -0
- package/src/auth-adapter.ts +471 -0
- package/src/cli.ts +51 -0
- package/src/config.ts +318 -0
- package/src/data.ts +351 -0
- package/src/routes.ts +1585 -0
- package/src/studio.ts +86 -0
- package/test-project/README.md +0 -0
- package/test-project/better-auth.db +0 -0
- package/test-project/better-auth_migrations/2025-08-27T15-55-04.099Z.sql +7 -0
- package/test-project/better-auth_migrations/2025-09-04T02-33-19.422Z.sql +7 -0
- package/test-project/package.json +29 -0
- package/test-project/pnpm-lock.yaml +1728 -0
- package/test-project/src/auth.ts +47 -0
- package/test-project/src/index.ts +40 -0
- package/tsconfig.json +21 -0
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# better-auth studio
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface AuthAdapter {
|
|
2
|
+
createUser: (data: any) => Promise<any>;
|
|
3
|
+
createSession: (data: any) => Promise<any>;
|
|
4
|
+
createAccount: (data: any) => Promise<any>;
|
|
5
|
+
createVerification: (data: any) => Promise<any>;
|
|
6
|
+
createOrganization: (data: any) => Promise<any>;
|
|
7
|
+
create?: (...args: any[]) => Promise<any>;
|
|
8
|
+
update?: (...args: any[]) => Promise<any>;
|
|
9
|
+
delete?: (...args: any[]) => Promise<any>;
|
|
10
|
+
getUsers?: () => Promise<any[]>;
|
|
11
|
+
getSessions?: () => Promise<any[]>;
|
|
12
|
+
findMany?: (options: {
|
|
13
|
+
model: string;
|
|
14
|
+
where?: any;
|
|
15
|
+
limit?: number;
|
|
16
|
+
offset?: number;
|
|
17
|
+
}) => Promise<any[]>;
|
|
18
|
+
}
|
|
19
|
+
export declare function getAuthAdapter(): Promise<AuthAdapter | null>;
|
|
20
|
+
export declare function createMockUser(adapter: AuthAdapter, index: number): Promise<any>;
|
|
21
|
+
export declare function createMockSession(adapter: AuthAdapter, userId: string, index: number): Promise<any>;
|
|
22
|
+
export declare function createMockAccount(adapter: AuthAdapter, userId: string, index: number): Promise<any>;
|
|
23
|
+
export declare function createMockVerification(adapter: AuthAdapter, userId: string, index: number): Promise<any>;
|
|
24
|
+
//# sourceMappingURL=auth-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-adapter.d.ts","sourceRoot":"","sources":["../src/auth-adapter.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,kBAAkB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,kBAAkB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CACzG;AAKD,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA4OlE;AAyCD,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,gBAWvE;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAU1F;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAkB1F;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAU/F"}
|
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.getAuthAdapter = getAuthAdapter;
|
|
37
|
+
exports.createMockUser = createMockUser;
|
|
38
|
+
exports.createMockSession = createMockSession;
|
|
39
|
+
exports.createMockAccount = createMockAccount;
|
|
40
|
+
exports.createMockVerification = createMockVerification;
|
|
41
|
+
const path_1 = require("path");
|
|
42
|
+
const fs_1 = require("fs");
|
|
43
|
+
let authInstance = null;
|
|
44
|
+
let authAdapter = null;
|
|
45
|
+
async function getAuthAdapter() {
|
|
46
|
+
try {
|
|
47
|
+
const authConfigPath = await findAuthConfigPath();
|
|
48
|
+
if (!authConfigPath) {
|
|
49
|
+
console.warn('No auth config found');
|
|
50
|
+
return await createMockAdapter();
|
|
51
|
+
}
|
|
52
|
+
console.log('Loading auth instance from:', authConfigPath);
|
|
53
|
+
let authModule;
|
|
54
|
+
try {
|
|
55
|
+
authModule = await Promise.resolve(`${authConfigPath}`).then(s => __importStar(require(s)));
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.warn('Error importing auth module:', error);
|
|
59
|
+
return await createMockAdapter();
|
|
60
|
+
}
|
|
61
|
+
const auth = authModule.auth || authModule.default;
|
|
62
|
+
console.log({ auth });
|
|
63
|
+
if (!auth) {
|
|
64
|
+
console.warn('No auth export found in config');
|
|
65
|
+
return await createMockAdapter();
|
|
66
|
+
}
|
|
67
|
+
let adapter;
|
|
68
|
+
try {
|
|
69
|
+
const context = await auth.$context;
|
|
70
|
+
adapter = context?.adapter;
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.warn('Error getting auth context:', error);
|
|
74
|
+
adapter = auth.adapter;
|
|
75
|
+
}
|
|
76
|
+
if (!adapter) {
|
|
77
|
+
console.warn('No adapter found in auth instance');
|
|
78
|
+
console.log('Auth object keys:', Object.keys(auth));
|
|
79
|
+
console.log('Falling back to mock adapter...');
|
|
80
|
+
return await createMockAdapter();
|
|
81
|
+
}
|
|
82
|
+
console.log('Adapter found, checking available methods...');
|
|
83
|
+
console.log('Adapter keys:', Object.keys(adapter));
|
|
84
|
+
console.log('Adapter methods:', Object.getOwnPropertyNames(Object.getPrototypeOf(adapter)));
|
|
85
|
+
if (adapter.options) {
|
|
86
|
+
console.log('Adapter options:', adapter.options);
|
|
87
|
+
}
|
|
88
|
+
if (adapter.createSchema) {
|
|
89
|
+
console.log('Adapter schema:', adapter.createSchema);
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
if (adapter.schema) {
|
|
93
|
+
console.log('Adapter schema models:', Object.keys(adapter.schema));
|
|
94
|
+
}
|
|
95
|
+
if (adapter.models) {
|
|
96
|
+
console.log('Adapter models:', Object.keys(adapter.models));
|
|
97
|
+
}
|
|
98
|
+
if (adapter.tables) {
|
|
99
|
+
console.log('Adapter tables:', Object.keys(adapter.tables));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
console.log('Could not inspect adapter schema:', error);
|
|
104
|
+
}
|
|
105
|
+
console.log('Using real adapter with model names');
|
|
106
|
+
authAdapter = {
|
|
107
|
+
createUser: async (data) => {
|
|
108
|
+
try {
|
|
109
|
+
const user = await adapter.create({
|
|
110
|
+
model: "user",
|
|
111
|
+
data: {
|
|
112
|
+
createdAt: new Date(),
|
|
113
|
+
updatedAt: new Date(),
|
|
114
|
+
emailVerified: false,
|
|
115
|
+
name: data.name,
|
|
116
|
+
email: data.email?.toLowerCase(),
|
|
117
|
+
image: data.image || `https://api.dicebear.com/7.x/avataaars/svg?seed=${data.email}`,
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
if (data.password) {
|
|
121
|
+
try {
|
|
122
|
+
await adapter.create({
|
|
123
|
+
model: "account",
|
|
124
|
+
data: {
|
|
125
|
+
userId: user.id,
|
|
126
|
+
providerId: "credential",
|
|
127
|
+
accountId: user.id,
|
|
128
|
+
password: data.password,
|
|
129
|
+
createdAt: new Date(),
|
|
130
|
+
updatedAt: new Date(),
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
console.log('Credential account created for user:', user.id);
|
|
134
|
+
}
|
|
135
|
+
catch (accountError) {
|
|
136
|
+
console.error('Error creating credential account:', accountError);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
console.log('User created via real adapter:', user);
|
|
140
|
+
return user;
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
console.error('Error creating user via real adapter:', error);
|
|
144
|
+
const mockAdapter = await createMockAdapter();
|
|
145
|
+
return await mockAdapter.createUser(data);
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
createSession: async (data) => {
|
|
149
|
+
try {
|
|
150
|
+
const session = await adapter.create({
|
|
151
|
+
model: "session",
|
|
152
|
+
data: {
|
|
153
|
+
createdAt: new Date(),
|
|
154
|
+
updatedAt: new Date(),
|
|
155
|
+
...data,
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
console.log('Session created via real adapter:', session);
|
|
159
|
+
return session;
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
console.error('Error creating session via real adapter:', error);
|
|
163
|
+
const mockAdapter = await createMockAdapter();
|
|
164
|
+
return await mockAdapter.createSession(data);
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
createAccount: async (data) => {
|
|
168
|
+
try {
|
|
169
|
+
const account = await adapter.create({
|
|
170
|
+
model: "account",
|
|
171
|
+
data: {
|
|
172
|
+
createdAt: new Date(),
|
|
173
|
+
updatedAt: new Date(),
|
|
174
|
+
...data,
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
console.log('Account created via real adapter:', account);
|
|
178
|
+
return account;
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
console.error('Error creating account via real adapter:', error);
|
|
182
|
+
const mockAdapter = await createMockAdapter();
|
|
183
|
+
return await mockAdapter.createAccount(data);
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
createVerification: async (data) => {
|
|
187
|
+
try {
|
|
188
|
+
const verification = await adapter.create({
|
|
189
|
+
model: "verification",
|
|
190
|
+
data: {
|
|
191
|
+
createdAt: new Date(),
|
|
192
|
+
updatedAt: new Date(),
|
|
193
|
+
...data,
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
console.log('Verification created via real adapter:', verification);
|
|
197
|
+
return verification;
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
console.error('Error creating verification via real adapter:', error);
|
|
201
|
+
const mockAdapter = await createMockAdapter();
|
|
202
|
+
return await mockAdapter.createVerification(data);
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
createOrganization: async (data) => {
|
|
206
|
+
try {
|
|
207
|
+
const organization = await adapter.create({
|
|
208
|
+
model: "organization",
|
|
209
|
+
data: {
|
|
210
|
+
createdAt: new Date(),
|
|
211
|
+
updatedAt: new Date(),
|
|
212
|
+
...data,
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
console.log('Organization created via real adapter:', organization);
|
|
216
|
+
return organization;
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
console.error('Error creating organization via real adapter:', error);
|
|
220
|
+
const mockAdapter = await createMockAdapter();
|
|
221
|
+
return await mockAdapter.createOrganization(data);
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
getUsers: async () => {
|
|
225
|
+
try {
|
|
226
|
+
if (typeof adapter.findMany === 'function') {
|
|
227
|
+
const users = await adapter.findMany({ model: 'user' });
|
|
228
|
+
console.log('Found users via findMany:', users?.length || 0);
|
|
229
|
+
return users || [];
|
|
230
|
+
}
|
|
231
|
+
if (typeof adapter.getUsers === 'function') {
|
|
232
|
+
const users = await adapter.getUsers();
|
|
233
|
+
console.log('Found users via getUsers:', users?.length || 0);
|
|
234
|
+
return users || [];
|
|
235
|
+
}
|
|
236
|
+
console.log('No read method available on adapter, returning mock data');
|
|
237
|
+
return [];
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
console.error('Error getting users from adapter:', error);
|
|
241
|
+
return [];
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
getSessions: async () => {
|
|
245
|
+
try {
|
|
246
|
+
if (typeof adapter.findMany === 'function') {
|
|
247
|
+
const sessions = await adapter.findMany({ model: 'session' });
|
|
248
|
+
return sessions || [];
|
|
249
|
+
}
|
|
250
|
+
if (typeof adapter.getSessions === 'function') {
|
|
251
|
+
const sessions = await adapter.getSessions();
|
|
252
|
+
return sessions || [];
|
|
253
|
+
}
|
|
254
|
+
return [];
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
console.error('Error getting sessions from adapter:', error);
|
|
258
|
+
return [];
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
findMany: async (options) => {
|
|
262
|
+
try {
|
|
263
|
+
if (typeof adapter.findMany === 'function') {
|
|
264
|
+
return await adapter.findMany(options);
|
|
265
|
+
}
|
|
266
|
+
return [];
|
|
267
|
+
}
|
|
268
|
+
catch (error) {
|
|
269
|
+
console.error('Error using findMany on adapter:', error);
|
|
270
|
+
return [];
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
const adapters = { ...adapter, ...authAdapter };
|
|
275
|
+
return adapters;
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
console.error('Error loading auth adapter:', error);
|
|
279
|
+
console.log('Falling back to mock adapter due to error...');
|
|
280
|
+
return await createMockAdapter();
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
async function findAuthConfigPath() {
|
|
284
|
+
const possibleConfigFiles = [
|
|
285
|
+
'auth.ts',
|
|
286
|
+
'auth.js',
|
|
287
|
+
'src/auth.ts',
|
|
288
|
+
'src/auth.js',
|
|
289
|
+
'better-auth.config.ts',
|
|
290
|
+
'better-auth.config.js',
|
|
291
|
+
'better-auth.config.json',
|
|
292
|
+
'auth.config.ts',
|
|
293
|
+
'auth.config.js',
|
|
294
|
+
'auth.config.json',
|
|
295
|
+
'studio-config.json' // Move this to the end as fallback
|
|
296
|
+
];
|
|
297
|
+
let currentDir = process.cwd();
|
|
298
|
+
const maxDepth = 10;
|
|
299
|
+
let depth = 0;
|
|
300
|
+
while (currentDir && depth < maxDepth) {
|
|
301
|
+
for (const configFile of possibleConfigFiles) {
|
|
302
|
+
const configPath = (0, path_1.join)(currentDir, configFile);
|
|
303
|
+
if ((0, fs_1.existsSync)(configPath)) {
|
|
304
|
+
return configPath;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
const parentDir = (0, path_1.dirname)(currentDir);
|
|
308
|
+
if (parentDir === currentDir) {
|
|
309
|
+
break;
|
|
310
|
+
}
|
|
311
|
+
currentDir = parentDir;
|
|
312
|
+
depth++;
|
|
313
|
+
}
|
|
314
|
+
return null;
|
|
315
|
+
}
|
|
316
|
+
async function createMockUser(adapter, index) {
|
|
317
|
+
const userData = {
|
|
318
|
+
email: `user${index}@example.com`,
|
|
319
|
+
name: `User ${index}`,
|
|
320
|
+
emailVerified: true,
|
|
321
|
+
image: `https://api.dicebear.com/7.x/avataaars/svg?seed=user${index}`,
|
|
322
|
+
createdAt: new Date(),
|
|
323
|
+
updatedAt: new Date()
|
|
324
|
+
};
|
|
325
|
+
return await adapter.createUser(userData);
|
|
326
|
+
}
|
|
327
|
+
async function createMockSession(adapter, userId, index) {
|
|
328
|
+
const sessionData = {
|
|
329
|
+
userId: userId,
|
|
330
|
+
expires: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000), // 7 days from now
|
|
331
|
+
sessionToken: `session_token_${index}_${Date.now()}`,
|
|
332
|
+
createdAt: new Date(),
|
|
333
|
+
updatedAt: new Date()
|
|
334
|
+
};
|
|
335
|
+
return await adapter.createSession(sessionData);
|
|
336
|
+
}
|
|
337
|
+
async function createMockAccount(adapter, userId, index) {
|
|
338
|
+
const accountData = {
|
|
339
|
+
userId: userId,
|
|
340
|
+
type: 'oauth',
|
|
341
|
+
provider: 'github',
|
|
342
|
+
providerAccountId: `github_${index}`,
|
|
343
|
+
refresh_token: `refresh_token_${index}`,
|
|
344
|
+
access_token: `access_token_${index}`,
|
|
345
|
+
expires_at: Math.floor(Date.now() / 1000) + 3600,
|
|
346
|
+
token_type: 'bearer',
|
|
347
|
+
scope: 'read:user',
|
|
348
|
+
id_token: `id_token_${index}`,
|
|
349
|
+
session_state: `session_state_${index}`,
|
|
350
|
+
createdAt: new Date(),
|
|
351
|
+
updatedAt: new Date()
|
|
352
|
+
};
|
|
353
|
+
return await adapter.createAccount(accountData);
|
|
354
|
+
}
|
|
355
|
+
async function createMockVerification(adapter, userId, index) {
|
|
356
|
+
const verificationData = {
|
|
357
|
+
identifier: `user${index}@example.com`,
|
|
358
|
+
token: `verification_token_${index}_${Date.now()}`,
|
|
359
|
+
expires: new Date(Date.now() + 24 * 60 * 60 * 1000), // 24 hours from now
|
|
360
|
+
createdAt: new Date(),
|
|
361
|
+
updatedAt: new Date()
|
|
362
|
+
};
|
|
363
|
+
return await adapter.createVerification(verificationData);
|
|
364
|
+
}
|
|
365
|
+
async function createMockAdapter() {
|
|
366
|
+
console.log('Creating mock adapter for development/testing');
|
|
367
|
+
return {
|
|
368
|
+
createUser: async (data) => {
|
|
369
|
+
const mockUser = {
|
|
370
|
+
id: `user_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,
|
|
371
|
+
...data,
|
|
372
|
+
createdAt: new Date(),
|
|
373
|
+
updatedAt: new Date()
|
|
374
|
+
};
|
|
375
|
+
console.log('Mock user created:', mockUser);
|
|
376
|
+
return mockUser;
|
|
377
|
+
},
|
|
378
|
+
createSession: async (data) => {
|
|
379
|
+
const mockSession = {
|
|
380
|
+
id: `session_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,
|
|
381
|
+
...data,
|
|
382
|
+
createdAt: new Date(),
|
|
383
|
+
updatedAt: new Date()
|
|
384
|
+
};
|
|
385
|
+
console.log('Mock session created:', mockSession);
|
|
386
|
+
return mockSession;
|
|
387
|
+
},
|
|
388
|
+
createAccount: async (data) => {
|
|
389
|
+
const mockAccount = {
|
|
390
|
+
id: `account_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,
|
|
391
|
+
...data,
|
|
392
|
+
createdAt: new Date(),
|
|
393
|
+
updatedAt: new Date()
|
|
394
|
+
};
|
|
395
|
+
console.log('Mock account created:', mockAccount);
|
|
396
|
+
return mockAccount;
|
|
397
|
+
},
|
|
398
|
+
createVerification: async (data) => {
|
|
399
|
+
const mockVerification = {
|
|
400
|
+
id: `verification_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,
|
|
401
|
+
...data,
|
|
402
|
+
createdAt: new Date(),
|
|
403
|
+
updatedAt: new Date()
|
|
404
|
+
};
|
|
405
|
+
console.log('Mock verification created:', mockVerification);
|
|
406
|
+
return mockVerification;
|
|
407
|
+
},
|
|
408
|
+
createOrganization: async (data) => {
|
|
409
|
+
const mockOrganization = {
|
|
410
|
+
id: `org_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,
|
|
411
|
+
...data,
|
|
412
|
+
createdAt: new Date(),
|
|
413
|
+
updatedAt: new Date()
|
|
414
|
+
};
|
|
415
|
+
console.log('Mock organization created:', mockOrganization);
|
|
416
|
+
return mockOrganization;
|
|
417
|
+
},
|
|
418
|
+
getUsers: async () => {
|
|
419
|
+
const mockUsers = [
|
|
420
|
+
{
|
|
421
|
+
id: 'user_1',
|
|
422
|
+
email: 'user1@example.com',
|
|
423
|
+
name: 'User 1',
|
|
424
|
+
emailVerified: true,
|
|
425
|
+
image: 'https://api.dicebear.com/7.x/avataaars/svg?seed=user1',
|
|
426
|
+
createdAt: new Date().toISOString(),
|
|
427
|
+
updatedAt: new Date().toISOString(),
|
|
428
|
+
provider: 'email',
|
|
429
|
+
lastSignIn: new Date().toISOString(),
|
|
430
|
+
status: 'active'
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
id: 'user_2',
|
|
434
|
+
email: 'user2@example.com',
|
|
435
|
+
name: 'User 2',
|
|
436
|
+
emailVerified: true,
|
|
437
|
+
image: 'https://api.dicebear.com/7.x/avataaars/svg?seed=user2',
|
|
438
|
+
createdAt: new Date().toISOString(),
|
|
439
|
+
updatedAt: new Date().toISOString(),
|
|
440
|
+
provider: 'github',
|
|
441
|
+
lastSignIn: new Date().toISOString(),
|
|
442
|
+
status: 'active'
|
|
443
|
+
}
|
|
444
|
+
];
|
|
445
|
+
return mockUsers;
|
|
446
|
+
},
|
|
447
|
+
getSessions: async () => {
|
|
448
|
+
const mockSessions = [
|
|
449
|
+
{
|
|
450
|
+
id: 'session_1',
|
|
451
|
+
userId: 'user_1',
|
|
452
|
+
expires: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString(),
|
|
453
|
+
createdAt: new Date().toISOString(),
|
|
454
|
+
updatedAt: new Date().toISOString(),
|
|
455
|
+
sessionToken: 'session_token_1'
|
|
456
|
+
}
|
|
457
|
+
];
|
|
458
|
+
return mockSessions;
|
|
459
|
+
},
|
|
460
|
+
findMany: async (options) => {
|
|
461
|
+
if (options.model === 'user') {
|
|
462
|
+
return [
|
|
463
|
+
{
|
|
464
|
+
id: 'user_1',
|
|
465
|
+
email: 'user1@example.com',
|
|
466
|
+
name: 'User 1',
|
|
467
|
+
emailVerified: true,
|
|
468
|
+
image: 'https://api.dicebear.com/7.x/avataaars/svg?seed=user1',
|
|
469
|
+
createdAt: new Date().toISOString(),
|
|
470
|
+
updatedAt: new Date().toISOString(),
|
|
471
|
+
provider: 'email',
|
|
472
|
+
lastSignIn: new Date().toISOString(),
|
|
473
|
+
status: 'active'
|
|
474
|
+
}
|
|
475
|
+
];
|
|
476
|
+
}
|
|
477
|
+
return [];
|
|
478
|
+
}
|
|
479
|
+
};
|
|
480
|
+
}
|
|
481
|
+
//# sourceMappingURL=auth-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-adapter.js","sourceRoot":"","sources":["../src/auth-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const studio_1 = require("./studio");
|
|
10
|
+
const config_1 = require("./config");
|
|
11
|
+
const program = new commander_1.Command();
|
|
12
|
+
program
|
|
13
|
+
.name('better-auth-studio')
|
|
14
|
+
.description('Better Auth Studio - GUI dashboard for Better Auth')
|
|
15
|
+
.version('1.0.0');
|
|
16
|
+
program
|
|
17
|
+
.command('studio')
|
|
18
|
+
.description('Start Better Auth Studio')
|
|
19
|
+
.option('-p, --port <port>', 'Port to run the studio on', '3001')
|
|
20
|
+
.option('-h, --host <host>', 'Host to run the studio on', 'localhost')
|
|
21
|
+
.option('--no-open', 'Do not open browser automatically')
|
|
22
|
+
.action(async (options) => {
|
|
23
|
+
try {
|
|
24
|
+
console.log(chalk_1.default.blue('🔐 Better Auth Studio'));
|
|
25
|
+
console.log(chalk_1.default.gray('Starting Better Auth Studio...\n'));
|
|
26
|
+
const authConfig = await (0, config_1.findAuthConfig)();
|
|
27
|
+
if (!authConfig) {
|
|
28
|
+
console.error(chalk_1.default.red('❌ No Better Auth configuration found.'));
|
|
29
|
+
console.log(chalk_1.default.yellow('Make sure you have a Better Auth configuration file in your project.'));
|
|
30
|
+
console.log(chalk_1.default.yellow('Supported files: auth.ts, auth.js, better-auth.config.ts, etc.'));
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
console.log(chalk_1.default.green('✅ Found Better Auth configuration'));
|
|
34
|
+
console.log(chalk_1.default.gray(`Database: ${authConfig.database?.type || 'Not configured'}`));
|
|
35
|
+
console.log(chalk_1.default.gray(`Providers: ${authConfig.providers?.map(p => p.type).join(', ') || 'None'}\n`));
|
|
36
|
+
await (0, studio_1.startStudio)({
|
|
37
|
+
port: parseInt(options.port),
|
|
38
|
+
host: options.host,
|
|
39
|
+
openBrowser: options.open,
|
|
40
|
+
authConfig
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
console.error(chalk_1.default.red('❌ Failed to start Better Auth Studio:'), error);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
program.parse();
|
|
49
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,qCAAuC;AACvC,qCAA0C;AAE1C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,oBAAoB,CAAC;KAC1B,WAAW,CAAC,oDAAoD,CAAC;KACjE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,WAAW,CAAC;KACrE,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAE5D,MAAM,UAAU,GAAG,MAAM,IAAA,uBAAc,GAAE,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sEAAsE,CAAC,CAAC,CAAC;YAClG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC,CAAC;YAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC;QAEvG,MAAM,IAAA,oBAAW,EAAC;YAChB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,UAAU;SACX,CAAC,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,EAAE,KAAK,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface AuthProvider {
|
|
2
|
+
type: string;
|
|
3
|
+
clientId?: string;
|
|
4
|
+
clientSecret?: string;
|
|
5
|
+
redirectUri?: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}
|
|
8
|
+
export interface AuthDatabase {
|
|
9
|
+
url?: string;
|
|
10
|
+
type?: string;
|
|
11
|
+
dialect?: string;
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}
|
|
14
|
+
export interface AuthConfig {
|
|
15
|
+
database?: AuthDatabase;
|
|
16
|
+
providers?: AuthProvider[];
|
|
17
|
+
socialProviders?: Record<string, any>;
|
|
18
|
+
emailAndPassword?: any;
|
|
19
|
+
session?: any;
|
|
20
|
+
secret?: string;
|
|
21
|
+
rateLimit?: any;
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}
|
|
24
|
+
export declare function findAuthConfig(): Promise<AuthConfig | null>;
|
|
25
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA4CjE"}
|