From f876b3ffa2ece67f2c6947e3ca32860fd4f8648d Mon Sep 17 00:00:00 2001 From: KinfeMichael Tariku <65047246+Kinfe123@users.noreply.github.com> Date: Sun, 4 May 2025 06:29:13 -0700 Subject: [PATCH] fix: core schema model name definition on api-key --- packages/better-auth/src/plugins/api-key/index.ts | 6 ++++-- .../src/plugins/api-key/routes/create-api-key.ts | 4 ++-- .../src/plugins/api-key/routes/delete-api-key.ts | 6 +++--- .../src/plugins/api-key/routes/get-api-key.ts | 4 ++-- .../better-auth/src/plugins/api-key/routes/index.ts | 3 ++- .../src/plugins/api-key/routes/list-api-keys.ts | 4 ++-- .../src/plugins/api-key/routes/update-api-key.ts | 6 +++--- .../src/plugins/api-key/routes/verify-api-key.ts | 10 +++++----- packages/better-auth/src/plugins/api-key/schema.ts | 1 - 9 files changed, 23 insertions(+), 21 deletions(-) diff --git a/packages/better-auth/src/plugins/api-key/index.ts b/packages/better-auth/src/plugins/api-key/index.ts index 99639eccf5..452c4bd8d8 100644 --- a/packages/better-auth/src/plugins/api-key/index.ts +++ b/packages/better-auth/src/plugins/api-key/index.ts @@ -42,6 +42,8 @@ export const ERROR_CODES = { "The property you're trying to set can only be set from the server auth instance only.", }; +export const API_KEY_TABLE_NAME = "apikey"; + export const apiKey = (options?: ApiKeyOptions) => { const opts = { ...options, @@ -156,7 +158,7 @@ export const apiKey = (options?: ApiKeyOptions) => { }); const apiKey = await ctx.context.adapter.findOne({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "key", @@ -226,6 +228,6 @@ export const apiKey = (options?: ApiKeyOptions) => { deleteApiKey: routes.deleteApiKey, listApiKeys: routes.listApiKeys, }, - schema: schema, + schema, } satisfies BetterAuthPlugin; }; diff --git a/packages/better-auth/src/plugins/api-key/routes/create-api-key.ts b/packages/better-auth/src/plugins/api-key/routes/create-api-key.ts index 2cc20e512c..54d16bfe53 100644 --- a/packages/better-auth/src/plugins/api-key/routes/create-api-key.ts +++ b/packages/better-auth/src/plugins/api-key/routes/create-api-key.ts @@ -1,6 +1,6 @@ import { z } from "zod"; import { APIError, createAuthEndpoint, getSessionFromCtx } from "../../../api"; -import { ERROR_CODES } from ".."; +import { API_KEY_TABLE_NAME, ERROR_CODES } from ".."; import { getDate } from "../../../utils/date"; import { apiKeySchema } from "../schema"; import type { ApiKey } from "../types"; @@ -423,7 +423,7 @@ export function createApiKey({ Omit, ApiKey >({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, data: data, }); diff --git a/packages/better-auth/src/plugins/api-key/routes/delete-api-key.ts b/packages/better-auth/src/plugins/api-key/routes/delete-api-key.ts index efdec846cb..150eff090d 100644 --- a/packages/better-auth/src/plugins/api-key/routes/delete-api-key.ts +++ b/packages/better-auth/src/plugins/api-key/routes/delete-api-key.ts @@ -5,7 +5,7 @@ import type { apiKeySchema } from "../schema"; import type { ApiKey } from "../types"; import type { AuthContext } from "../../../types"; import type { PredefinedApiKeyOptions } from "."; - +import { API_KEY_TABLE_NAME } from ".."; export function deleteApiKey({ opts, schema, @@ -79,7 +79,7 @@ export function deleteApiKey({ }); } const apiKey = await ctx.context.adapter.findOne({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "id", @@ -96,7 +96,7 @@ export function deleteApiKey({ try { await ctx.context.adapter.delete({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "id", diff --git a/packages/better-auth/src/plugins/api-key/routes/get-api-key.ts b/packages/better-auth/src/plugins/api-key/routes/get-api-key.ts index a92b06eee9..186a565eb5 100644 --- a/packages/better-auth/src/plugins/api-key/routes/get-api-key.ts +++ b/packages/better-auth/src/plugins/api-key/routes/get-api-key.ts @@ -1,6 +1,6 @@ import { z } from "zod"; import { APIError, createAuthEndpoint, sessionMiddleware } from "../../../api"; -import { ERROR_CODES } from ".."; +import { API_KEY_TABLE_NAME, ERROR_CODES } from ".."; import type { apiKeySchema } from "../schema"; import type { ApiKey } from "../types"; import type { AuthContext } from "../../../types"; @@ -172,7 +172,7 @@ export function getApiKey({ const session = ctx.context.session; let apiKey = await ctx.context.adapter.findOne({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "id", diff --git a/packages/better-auth/src/plugins/api-key/routes/index.ts b/packages/better-auth/src/plugins/api-key/routes/index.ts index 5301003e06..3defa4dabd 100644 --- a/packages/better-auth/src/plugins/api-key/routes/index.ts +++ b/packages/better-auth/src/plugins/api-key/routes/index.ts @@ -8,6 +8,7 @@ import { updateApiKey } from "./update-api-key"; import { verifyApiKey } from "./verify-api-key"; import { listApiKeys } from "./list-api-keys"; import { deleteAllExpiredApiKeysEndpoint } from "./delete-all-expired-api-keys"; +import { API_KEY_TABLE_NAME } from ".."; export type PredefinedApiKeyOptions = ApiKeyOptions & Required< @@ -59,7 +60,7 @@ export function createApiKeyRoutes({ lastChecked = new Date(); try { return ctx.adapter.deleteMany({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "expiresAt" satisfies keyof ApiKey, diff --git a/packages/better-auth/src/plugins/api-key/routes/list-api-keys.ts b/packages/better-auth/src/plugins/api-key/routes/list-api-keys.ts index 174b685c18..805cbacb1d 100644 --- a/packages/better-auth/src/plugins/api-key/routes/list-api-keys.ts +++ b/packages/better-auth/src/plugins/api-key/routes/list-api-keys.ts @@ -4,7 +4,7 @@ import type { ApiKey } from "../types"; import type { AuthContext } from "../../../types"; import type { PredefinedApiKeyOptions } from "."; import { safeJSONParse } from "../../../utils/json"; - +import { API_KEY_TABLE_NAME } from ".."; export function listApiKeys({ opts, schema, @@ -165,7 +165,7 @@ export function listApiKeys({ async (ctx) => { const session = ctx.context.session; let apiKeys = await ctx.context.adapter.findMany({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "userId", diff --git a/packages/better-auth/src/plugins/api-key/routes/update-api-key.ts b/packages/better-auth/src/plugins/api-key/routes/update-api-key.ts index eb80d7ea4b..416a5a56ad 100644 --- a/packages/better-auth/src/plugins/api-key/routes/update-api-key.ts +++ b/packages/better-auth/src/plugins/api-key/routes/update-api-key.ts @@ -7,7 +7,7 @@ import { getDate } from "../../../utils/date"; import type { AuthContext } from "../../../types"; import type { PredefinedApiKeyOptions } from "."; import { safeJSONParse } from "../../../utils/json"; - +import { API_KEY_TABLE_NAME } from ".."; export function updateApiKey({ opts, schema, @@ -272,7 +272,7 @@ export function updateApiKey({ } const apiKey = await ctx.context.adapter.findOne({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "id", @@ -383,7 +383,7 @@ export function updateApiKey({ let newApiKey: ApiKey = apiKey; try { let result = await ctx.context.adapter.update({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "id", diff --git a/packages/better-auth/src/plugins/api-key/routes/verify-api-key.ts b/packages/better-auth/src/plugins/api-key/routes/verify-api-key.ts index b26492bc58..31bfa602e6 100644 --- a/packages/better-auth/src/plugins/api-key/routes/verify-api-key.ts +++ b/packages/better-auth/src/plugins/api-key/routes/verify-api-key.ts @@ -1,6 +1,6 @@ import { z } from "zod"; import { createAuthEndpoint } from "../../../api"; -import { ERROR_CODES } from ".."; +import { API_KEY_TABLE_NAME, ERROR_CODES } from ".."; import type { apiKeySchema } from "../schema"; import type { ApiKey } from "../types"; import { base64Url } from "@better-auth/utils/base64"; @@ -76,7 +76,7 @@ export function verifyApiKey({ }); const apiKey = await ctx.context.adapter.findOne({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "key", @@ -116,7 +116,7 @@ export function verifyApiKey({ if (now > expiresAt) { try { ctx.context.adapter.delete({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "id", @@ -184,7 +184,7 @@ export function verifyApiKey({ // if there is no more remaining requests, and there is no refill amount, than the key is revoked try { ctx.context.adapter.delete({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "id", @@ -244,7 +244,7 @@ export function verifyApiKey({ opts, ); const newApiKey = await ctx.context.adapter.update({ - model: schema.apikey.modelName, + model: API_KEY_TABLE_NAME, where: [ { field: "id", diff --git a/packages/better-auth/src/plugins/api-key/schema.ts b/packages/better-auth/src/plugins/api-key/schema.ts index 590bc44005..17dc24a063 100644 --- a/packages/better-auth/src/plugins/api-key/schema.ts +++ b/packages/better-auth/src/plugins/api-key/schema.ts @@ -7,7 +7,6 @@ export const apiKeySchema = ({ }: { timeWindow: number; rateLimitMax: number }) => ({ apikey: { - modelName: "apikey", fields: { /** * The name of the key.