25 lines
689 B
TypeScript
25 lines
689 B
TypeScript
import { betterAuth } from "better-auth";
|
|
import { drizzleAdapter } from "better-auth/adapters/drizzle";
|
|
import { db } from "./db";
|
|
import { status, type Context } from "elysia";
|
|
|
|
export const auth = betterAuth({
|
|
database: drizzleAdapter(db, {
|
|
provider: "pg",
|
|
}),
|
|
socialProviders: {
|
|
spotify: {
|
|
clientId: process.env.SPOTIFY_CLIENT_ID!,
|
|
clientSecret: process.env.SPOTIFY_CLIENT_SECRET!,
|
|
},
|
|
},
|
|
});
|
|
|
|
export const betterAuthView = (context: Context) => {
|
|
const BETTER_AUTH_ACCEPT_METHODS = ["POST", "GET"];
|
|
if (BETTER_AUTH_ACCEPT_METHODS.includes(context.request.method)) {
|
|
return auth.handler(context.request);
|
|
} else {
|
|
throw status(405);
|
|
}
|
|
};
|