add auth anonymous plugin
This commit is contained in:
@@ -1,3 +1,6 @@
|
|||||||
import { createAuthClient } from "better-auth/react";
|
import { createAuthClient } from "better-auth/react";
|
||||||
|
import { anonymousClient } from "better-auth/client/plugins";
|
||||||
|
|
||||||
export const authClient = createAuthClient({});
|
export const authClient = createAuthClient({
|
||||||
|
plugins: [anonymousClient()],
|
||||||
|
});
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { db } from "@zendegi/db";
|
|||||||
import * as schema from "@zendegi/db/schema/auth";
|
import * as schema from "@zendegi/db/schema/auth";
|
||||||
import { env } from "@zendegi/env/server";
|
import { env } from "@zendegi/env/server";
|
||||||
import { betterAuth } from "better-auth";
|
import { betterAuth } from "better-auth";
|
||||||
|
import { anonymous } from "better-auth/plugins";
|
||||||
import { drizzleAdapter } from "better-auth/adapters/drizzle";
|
import { drizzleAdapter } from "better-auth/adapters/drizzle";
|
||||||
import { tanstackStartCookies } from "better-auth/tanstack-start";
|
import { tanstackStartCookies } from "better-auth/tanstack-start";
|
||||||
|
|
||||||
@@ -15,7 +16,7 @@ export const auth = betterAuth({
|
|||||||
emailAndPassword: {
|
emailAndPassword: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
},
|
},
|
||||||
plugins: [tanstackStartCookies()],
|
plugins: [tanstackStartCookies(), anonymous()],
|
||||||
advanced: {
|
advanced: {
|
||||||
database: {
|
database: {
|
||||||
generateId: "uuid",
|
generateId: "uuid",
|
||||||
|
|||||||
@@ -16,11 +16,14 @@ export const user = pgTable("user", {
|
|||||||
email: text("email").notNull().unique(),
|
email: text("email").notNull().unique(),
|
||||||
emailVerified: boolean("email_verified").default(false).notNull(),
|
emailVerified: boolean("email_verified").default(false).notNull(),
|
||||||
image: text("image"),
|
image: text("image"),
|
||||||
createdAt: timestamp("created_at").defaultNow().notNull(),
|
createdAt: timestamp("created_at", { withTimezone: true })
|
||||||
updatedAt: timestamp("updated_at")
|
.defaultNow()
|
||||||
|
.notNull(),
|
||||||
|
updatedAt: timestamp("updated_at", { withTimezone: true })
|
||||||
.defaultNow()
|
.defaultNow()
|
||||||
.$onUpdate(() => /* @__PURE__ */ new Date())
|
.$onUpdate(() => /* @__PURE__ */ new Date())
|
||||||
.notNull(),
|
.notNull(),
|
||||||
|
isAnonymous: boolean("is_anonymous").default(false),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const session = pgTable(
|
export const session = pgTable(
|
||||||
@@ -29,10 +32,12 @@ export const session = pgTable(
|
|||||||
id: uuid("id")
|
id: uuid("id")
|
||||||
.default(sql`pg_catalog.gen_random_uuid()`)
|
.default(sql`pg_catalog.gen_random_uuid()`)
|
||||||
.primaryKey(),
|
.primaryKey(),
|
||||||
expiresAt: timestamp("expires_at").notNull(),
|
expiresAt: timestamp("expires_at", { withTimezone: true }).notNull(),
|
||||||
token: text("token").notNull().unique(),
|
token: text("token").notNull().unique(),
|
||||||
createdAt: timestamp("created_at").defaultNow().notNull(),
|
createdAt: timestamp("created_at", { withTimezone: true })
|
||||||
updatedAt: timestamp("updated_at")
|
.defaultNow()
|
||||||
|
.notNull(),
|
||||||
|
updatedAt: timestamp("updated_at", { withTimezone: true })
|
||||||
.$onUpdate(() => /* @__PURE__ */ new Date())
|
.$onUpdate(() => /* @__PURE__ */ new Date())
|
||||||
.notNull(),
|
.notNull(),
|
||||||
ipAddress: text("ip_address"),
|
ipAddress: text("ip_address"),
|
||||||
@@ -58,12 +63,18 @@ export const account = pgTable(
|
|||||||
accessToken: text("access_token"),
|
accessToken: text("access_token"),
|
||||||
refreshToken: text("refresh_token"),
|
refreshToken: text("refresh_token"),
|
||||||
idToken: text("id_token"),
|
idToken: text("id_token"),
|
||||||
accessTokenExpiresAt: timestamp("access_token_expires_at"),
|
accessTokenExpiresAt: timestamp("access_token_expires_at", {
|
||||||
refreshTokenExpiresAt: timestamp("refresh_token_expires_at"),
|
withTimezone: true,
|
||||||
|
}),
|
||||||
|
refreshTokenExpiresAt: timestamp("refresh_token_expires_at", {
|
||||||
|
withTimezone: true,
|
||||||
|
}),
|
||||||
scope: text("scope"),
|
scope: text("scope"),
|
||||||
password: text("password"),
|
password: text("password"),
|
||||||
createdAt: timestamp("created_at").defaultNow().notNull(),
|
createdAt: timestamp("created_at", { withTimezone: true })
|
||||||
updatedAt: timestamp("updated_at")
|
.defaultNow()
|
||||||
|
.notNull(),
|
||||||
|
updatedAt: timestamp("updated_at", { withTimezone: true })
|
||||||
.$onUpdate(() => /* @__PURE__ */ new Date())
|
.$onUpdate(() => /* @__PURE__ */ new Date())
|
||||||
.notNull(),
|
.notNull(),
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user