import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "@callmelater/core/drizzle";
import { apiKey, oneTap } from "better-auth/plugins";
import { polar, checkout, portal, usage } from "@polar-sh/better-auth";
import { Polar } from "@polar-sh/sdk";
import { nextCookies } from "better-auth/next-js";
import { Resource } from "sst";
// import { Resend } from "resend";
const polarClient = new Polar({
accessToken: Resource.POLAR_ACCESS_TOKEN_DEV.value,
server: "sandbox",
});
export const auth = betterAuth({
database: drizzleAdapter(db, {
provider: "pg",
}),
logger: {
level: "info",
},
socialProviders: {
google: {
clientId: Resource.GOOGLE_CLIENT_ID.value,
clientSecret: Resource.GOOGLE_CLIENT_SECRET.value,
},
},
plugins: [
apiKey(),
polar({
client: polarClient,
createCustomerOnSignUp: true,
use: [
checkout({
products: [
{
productId: "08a8582e-c70b-4a00-b962-f9cf91460a68", // ID of Product from Polar Dashboard
slug: "credits", // Custom slug for easy reference in Checkout URL, e.g. /checkout/credits
},
],
}),
portal(),
usage(),
// webhooks({
// secret: process.env.POLAR_WEBHOOK_SECRET!,
// }),
],
}),
nextCookies(),
],
});
import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "@callmelater/core/drizzle";
import { apiKey, oneTap } from "better-auth/plugins";
import { polar, checkout, portal, usage } from "@polar-sh/better-auth";
import { Polar } from "@polar-sh/sdk";
import { nextCookies } from "better-auth/next-js";
import { Resource } from "sst";
// import { Resend } from "resend";
const polarClient = new Polar({
accessToken: Resource.POLAR_ACCESS_TOKEN_DEV.value,
server: "sandbox",
});
export const auth = betterAuth({
database: drizzleAdapter(db, {
provider: "pg",
}),
logger: {
level: "info",
},
socialProviders: {
google: {
clientId: Resource.GOOGLE_CLIENT_ID.value,
clientSecret: Resource.GOOGLE_CLIENT_SECRET.value,
},
},
plugins: [
apiKey(),
polar({
client: polarClient,
createCustomerOnSignUp: true,
use: [
checkout({
products: [
{
productId: "08a8582e-c70b-4a00-b962-f9cf91460a68", // ID of Product from Polar Dashboard
slug: "credits", // Custom slug for easy reference in Checkout URL, e.g. /checkout/credits
},
],
}),
portal(),
usage(),
// webhooks({
// secret: process.env.POLAR_WEBHOOK_SECRET!,
// }),
],
}),
nextCookies(),
],
});