// SPDX-License-Identifier: LicenseRef-ConusAI-Template-1.0 // Generated from ./options.ts by the @convex-dev/better-auth schema generator: do not edit it by hand. // After a change of the Better Auth options, regenerate it with // pnpm exec vitest run test/better-auth.test.ts -u // (the "local install" of @convex-dev/better-auth, which is how the admin plugin's fields get here). import { defineSchema, defineTable } from "convex/server"; import { v } from "convex/values"; export const tables = { user: defineTable({ name: v.string(), email: v.string(), emailVerified: v.boolean(), image: v.optional(v.union(v.null(), v.string())), createdAt: v.number(), updatedAt: v.number(), userId: v.optional(v.union(v.null(), v.string())), role: v.optional(v.union(v.null(), v.string())), banned: v.optional(v.union(v.null(), v.boolean())), banReason: v.optional(v.union(v.null(), v.string())), banExpires: v.optional(v.union(v.null(), v.number())), }) .index("email_name", ["email","name"]) .index("name", ["name"]) .index("userId", ["userId"]), session: defineTable({ expiresAt: v.number(), token: v.string(), createdAt: v.number(), updatedAt: v.number(), ipAddress: v.optional(v.union(v.null(), v.string())), userAgent: v.optional(v.union(v.null(), v.string())), userId: v.string(), impersonatedBy: v.optional(v.union(v.null(), v.string())), }) .index("expiresAt", ["expiresAt"]) .index("expiresAt_userId", ["expiresAt","userId"]) .index("token", ["token"]) .index("userId", ["userId"]), account: defineTable({ accountId: v.string(), providerId: v.string(), userId: v.string(), accessToken: v.optional(v.union(v.null(), v.string())), refreshToken: v.optional(v.union(v.null(), v.string())), idToken: v.optional(v.union(v.null(), v.string())), accessTokenExpiresAt: v.optional(v.union(v.null(), v.number())), refreshTokenExpiresAt: v.optional(v.union(v.null(), v.number())), scope: v.optional(v.union(v.null(), v.string())), password: v.optional(v.union(v.null(), v.string())), createdAt: v.number(), updatedAt: v.number(), }) .index("accountId", ["accountId"]) .index("accountId_providerId", ["accountId","providerId"]) .index("providerId_userId", ["providerId","userId"]) .index("userId", ["userId"]), verification: defineTable({ identifier: v.string(), value: v.string(), expiresAt: v.number(), createdAt: v.number(), updatedAt: v.number(), }) .index("expiresAt", ["expiresAt"]) .index("identifier", ["identifier"]), jwks: defineTable({ publicKey: v.string(), privateKey: v.string(), createdAt: v.number(), expiresAt: v.optional(v.union(v.null(), v.number())), }), rateLimit: defineTable({ key: v.string(), count: v.number(), lastRequest: v.number(), }) .index("key", ["key"]), }; const schema = defineSchema(tables); export default schema;