diff --git a/website/src/lib/oasst_api_client.ts b/website/src/lib/oasst_api_client.ts index f745f4cb..d7ca8281 100644 --- a/website/src/lib/oasst_api_client.ts +++ b/website/src/lib/oasst_api_client.ts @@ -1,11 +1,8 @@ -import { JWT } from "next-auth/jwt"; import type { EmojiOp, Message } from "src/types/Conversation"; import { LeaderboardReply, LeaderboardTimeFrame } from "src/types/Leaderboard"; import type { AvailableTasks } from "src/types/Task"; import type { BackendUser, BackendUserCore, FetchUsersParams, FetchUsersResponse } from "src/types/Users"; -import { getBackendUserCore } from "./users"; - export class OasstError { message: string; errorCode: number; @@ -249,10 +246,3 @@ export class OasstApiClient { return await resp.json(); } } - -export const createApiClientFromUser = (user: BackendUserCore) => - new OasstApiClient(process.env.FASTAPI_URL, process.env.FASTAPI_KEY, user); - -export const createApiClient = async (token: JWT) => createApiClientFromUser(await getBackendUserCore(token.sub)); - -export const userlessApiClient = new OasstApiClient(process.env.FASTAPI_URL, process.env.FASTAPI_KEY); diff --git a/website/src/lib/oasst_client_factory.ts b/website/src/lib/oasst_client_factory.ts new file mode 100644 index 00000000..9f9bd657 --- /dev/null +++ b/website/src/lib/oasst_client_factory.ts @@ -0,0 +1,11 @@ +import { JWT } from "next-auth/jwt"; +import { OasstApiClient } from "src/lib/oasst_api_client"; +import { getBackendUserCore } from "src/lib/users"; +import { BackendUserCore } from "src/types/Users"; + +export const createApiClientFromUser = (user: BackendUserCore) => + new OasstApiClient(process.env.FASTAPI_URL, process.env.FASTAPI_KEY, user); + +export const createApiClient = async (token: JWT) => createApiClientFromUser(await getBackendUserCore(token.sub)); + +export const userlessApiClient = new OasstApiClient(process.env.FASTAPI_URL, process.env.FASTAPI_KEY); diff --git a/website/src/lib/prismadb.ts b/website/src/lib/prismadb.ts index 296eda8b..336d782e 100644 --- a/website/src/lib/prismadb.ts +++ b/website/src/lib/prismadb.ts @@ -3,7 +3,7 @@ declare global { // eslint-disable-next-line no-var var prisma: PrismaClient | undefined; } - +console.trace() const client = globalThis.prisma || new PrismaClient(); if (process.env.NODE_ENV !== "production") { globalThis.prisma = client; diff --git a/website/src/pages/api/admin/status.ts b/website/src/pages/api/admin/status.ts index b496b813..956ad2cb 100644 --- a/website/src/pages/api/admin/status.ts +++ b/website/src/pages/api/admin/status.ts @@ -1,5 +1,5 @@ import { withRole } from "src/lib/auth"; -import { createApiClientFromUser } from "src/lib/oasst_api_client"; +import { createApiClientFromUser } from "src/lib/oasst_client_factory"; /** * Returns tasks availability, stats, and tree manager stats. diff --git a/website/src/pages/api/admin/update_user.ts b/website/src/pages/api/admin/update_user.ts index ca44b7b5..c71159ad 100644 --- a/website/src/pages/api/admin/update_user.ts +++ b/website/src/pages/api/admin/update_user.ts @@ -1,5 +1,5 @@ import { withRole } from "src/lib/auth"; -import { createApiClient } from "src/lib/oasst_api_client"; +import { createApiClient } from "src/lib/oasst_client_factory"; import prisma from "src/lib/prismadb"; /** diff --git a/website/src/pages/api/admin/user_messages.ts b/website/src/pages/api/admin/user_messages.ts index fdde2e5f..0223e8e3 100644 --- a/website/src/pages/api/admin/user_messages.ts +++ b/website/src/pages/api/admin/user_messages.ts @@ -1,5 +1,5 @@ import { withRole } from "src/lib/auth"; -import { createApiClient } from "src/lib/oasst_api_client"; +import { createApiClient } from "src/lib/oasst_client_factory"; import type { Message } from "src/types/Conversation"; /** diff --git a/website/src/pages/api/admin/users.ts b/website/src/pages/api/admin/users.ts index e6f05d61..eae0f072 100644 --- a/website/src/pages/api/admin/users.ts +++ b/website/src/pages/api/admin/users.ts @@ -1,5 +1,5 @@ import { withRole } from "src/lib/auth"; -import { createApiClient } from "src/lib/oasst_api_client"; +import { createApiClient } from "src/lib/oasst_client_factory"; import prisma from "src/lib/prismadb"; import { FetchUsersParams } from "src/types/Users"; diff --git a/website/src/pages/api/available_tasks.ts b/website/src/pages/api/available_tasks.ts index 74630dd6..218e3864 100644 --- a/website/src/pages/api/available_tasks.ts +++ b/website/src/pages/api/available_tasks.ts @@ -1,5 +1,5 @@ import { withoutRole } from "src/lib/auth"; -import { createApiClientFromUser } from "src/lib/oasst_api_client"; +import { createApiClientFromUser } from "src/lib/oasst_client_factory"; import { getBackendUserCore, getUserLanguage } from "src/lib/users"; const handler = withoutRole("banned", async (req, res, token) => { diff --git a/website/src/pages/api/leaderboard.ts b/website/src/pages/api/leaderboard.ts index fc07a3b2..fad1d8a6 100644 --- a/website/src/pages/api/leaderboard.ts +++ b/website/src/pages/api/leaderboard.ts @@ -1,5 +1,5 @@ import { withoutRole } from "src/lib/auth"; -import { createApiClient } from "src/lib/oasst_api_client"; +import { createApiClient } from "src/lib/oasst_client_factory"; import { LeaderboardTimeFrame } from "src/types/Leaderboard"; /** diff --git a/website/src/pages/api/new_task/[task_type].ts b/website/src/pages/api/new_task/[task_type].ts index cd964312..34993f4f 100644 --- a/website/src/pages/api/new_task/[task_type].ts +++ b/website/src/pages/api/new_task/[task_type].ts @@ -1,5 +1,5 @@ import { withoutRole } from "src/lib/auth"; -import { createApiClientFromUser } from "src/lib/oasst_api_client"; +import { createApiClientFromUser } from "src/lib/oasst_client_factory"; import prisma from "src/lib/prismadb"; import { getBackendUserCore, getUserLanguage } from "src/lib/users"; diff --git a/website/src/pages/api/reject_task.ts b/website/src/pages/api/reject_task.ts index 190b94ba..2e3f4fa1 100644 --- a/website/src/pages/api/reject_task.ts +++ b/website/src/pages/api/reject_task.ts @@ -1,6 +1,6 @@ import { Prisma } from "@prisma/client"; import { withoutRole } from "src/lib/auth"; -import { createApiClient } from "src/lib/oasst_api_client"; +import { createApiClient } from "src/lib/oasst_client_factory"; import prisma from "src/lib/prismadb"; const handler = withoutRole("banned", async (req, res, token) => { diff --git a/website/src/pages/api/report.ts b/website/src/pages/api/report.ts index 36252cad..9b904df4 100644 --- a/website/src/pages/api/report.ts +++ b/website/src/pages/api/report.ts @@ -1,5 +1,5 @@ import { withoutRole } from "src/lib/auth"; -import { oasstApiClient } from "src/lib/oasst_api_client"; +import { createApiClientFromUser } from "src/lib/oasst_client_factory"; import { getBackendUserCore } from "src/lib/users"; /** @@ -11,6 +11,7 @@ const handler = withoutRole("banned", async (req, res, token) => { const { message_id, text } = req.body; const user = await getBackendUserCore(token.sub); + const oasstApiClient = createApiClientFromUser(user); try { await oasstApiClient.send_report(message_id, user, text); } catch (err) { diff --git a/website/src/pages/api/update_task.ts b/website/src/pages/api/update_task.ts index 524e6b7a..1b4f2eda 100644 --- a/website/src/pages/api/update_task.ts +++ b/website/src/pages/api/update_task.ts @@ -1,6 +1,6 @@ import { Prisma } from "@prisma/client"; import { withoutRole } from "src/lib/auth"; -import { createApiClient } from "src/lib/oasst_api_client"; +import { createApiClient } from "src/lib/oasst_client_factory"; import prisma from "src/lib/prismadb"; import { getBackendUserCore, getUserLanguage } from "src/lib/users"; diff --git a/website/src/pages/api/valid_labels.ts b/website/src/pages/api/valid_labels.ts index 0fa54e5b..dca92d90 100644 --- a/website/src/pages/api/valid_labels.ts +++ b/website/src/pages/api/valid_labels.ts @@ -1,5 +1,5 @@ import { withoutRole } from "src/lib/auth"; -import { createApiClient } from "src/lib/oasst_api_client"; +import { createApiClient } from "src/lib/oasst_client_factory"; /** * Returns the set of valid labels that can be applied to messages.