, // Use a separate schema for Better Auth
}),
advanced: {
cookiePrefix: 'app',
database: {
generateId: 'uuid',
},
},
user: {
additionalFields: {
firebaseUid: { type: 'string', required: false },
internalUserId: { type: 'string', required: false },
},
},
plugins: [
admin({
adminRoles: ['admin', 'superadmin'],
adminUserIds: adminUserIds,
}),
bearer(),
expo(),
magicLink({
sendMagicLink: async ({ email, token, url: originalUrl }) => {
const url = new URL(originalUrl);
const params = Object.fromEntries(url.searchParams.entries());
await sendMagicLinkEmail({
email,
token,
urlParams: params,
});
},
expiresIn: 60 * 60, // 1 hour
}),
],
});
, // Use a separate schema for Better Auth
}),
advanced: {
cookiePrefix: 'app',
database: {
generateId: 'uuid',
},
},
user: {
additionalFields: {
firebaseUid: { type: 'string', required: false },
internalUserId: { type: 'string', required: false },
},
},
plugins: [
admin({
adminRoles: ['admin', 'superadmin'],
adminUserIds: adminUserIds,
}),
bearer(),
expo(),
magicLink({
sendMagicLink: async ({ email, token, url: originalUrl }) => {
const url = new URL(originalUrl);
const params = Object.fromEntries(url.searchParams.entries());
await sendMagicLinkEmail({
email,
token,
urlParams: params,
});
},
expiresIn: 60 * 60, // 1 hour
}),
],
});