diff --git a/server/index.ts b/server/index.ts index 1c41162d8..5c3d92fc7 100644 --- a/server/index.ts +++ b/server/index.ts @@ -43,7 +43,7 @@ app.use( app.use(morgan("tiny")); -const mockUserFromHTTPCall: { user: LoggedInUser | null } = { user: null }; +const mockUserFromHTTPCall: Record = {}; try { setUpAuth(app); @@ -55,14 +55,10 @@ try { function userToContext(req: Express.Request) { if (process.env.NODE_ENV === "development") { - // @ts-expect-error TODO: check how to set headers types - const mockedUser = req.headers["mock-auth"]; + // @ts-expect-error TODO: express user type + const mockedUser = mockUserFromHTTPCall[req.user?.id]; if (mockedUser) { - return JSON.parse(mockedUser); - } - - if (mockUserFromHTTPCall.user) { - return mockUserFromHTTPCall.user; + return mockedUser; } } return req.user; diff --git a/server/mock-auth.ts b/server/mock-auth.ts index 1bf20d625..94927f520 100644 --- a/server/mock-auth.ts +++ b/server/mock-auth.ts @@ -6,13 +6,16 @@ import type { LoggedInUser } from "~/utils/schemas"; export function setUpMockAuth( app: Express, - userObj: { user: LoggedInUser | null } + usersObj: Record ): void { if (process.env.NODE_ENV !== "development") return; // eslint-disable-next-line @typescript-eslint/no-misused-promises app.post("/mock-auth", async (req, res) => { try { + // @ts-expect-error TODO: express user type + if (!req.user?.id) return res.status(400).end(); + const data = z .object({ username: z.string().nullish(), team: z.string().nullish() }) .parse(req.query); @@ -44,7 +47,9 @@ export function setUpMockAuth( if (!newMockUser) return res.status(400).end(); - userObj.user = { + /* prettier-ignore */ + // @ts-expect-error TODO: express user type + usersObj[req.user.id] = { // eslint-disable-line @typescript-eslint/no-unsafe-member-access discordAvatar: newMockUser.discordAvatar, discordId: newMockUser.discordId, id: newMockUser.id,