Skip to content
Snippets Groups Projects
Commit c4f37937 authored by Sebastian Mohr's avatar Sebastian Mohr
Browse files

Fixed small error when user does not exist in database but

session is set.
parent d8a2b7d3
No related branches found
No related tags found
1 merge request!19v1.9.0
Pipeline #544572 passed
......@@ -46,7 +46,7 @@
"scripts": {
"lint": "pnpm eslint .",
"transpile": "tsc --noEmit",
"dev": "pnpm build && pnpm prod",
"dev": "pnpm build && node build/server.js",
"build": "tsup",
"prod": "node --experimental-modules --experimental-json-modules bundle/server.js",
"coverage": "vitest --coverage",
......
......@@ -3,6 +3,7 @@ import { RequestProps } from "lib/route_wrapper/wrapperSession";
import { NextRequest, NextResponse } from "next/server";
import z from "zod";
import { SnipSessionData } from "@snip/auth/session";
import service from "@snip/database";
import { NotFoundError } from "@snip/database/errors";
import {
......@@ -49,6 +50,7 @@ async function GetUserData(
const { config, groups, last_logins } = res.data;
// Create promises we resolve together at the end
const userDataP = service.user.getById(session.user.id);
let userConfigDataP: Promise<UserConfigDataRet> | undefined;
......@@ -104,20 +106,28 @@ async function GetUserData(
}
// Resolve promises
const [userData, userConfigData, groupsData, lastLoginsData] =
await Promise.all([
userDataP,
userConfigDataP,
groupsDataP,
lastLoginsDataP,
]);
const ret: UserRouteResponseReturn = {
user: userData,
userConfig: userConfigData,
groups: groupsData,
lastLogins: lastLoginsData,
};
let ret: UserRouteResponseReturn;
try {
const [userData, userConfigData, groupsData, lastLoginsData] =
await Promise.all([
userDataP,
userConfigDataP,
groupsDataP,
lastLoginsDataP,
]);
ret = {
user: userData,
userConfig: userConfigData,
groups: groupsData,
lastLogins: lastLoginsData,
};
} catch (_e) {
await (session as SnipSessionData).destroy();
return NextResponse.json(
{ error: "Failed to get user data" },
{ status: 500 },
);
}
return NextResponse.json<UserRouteResponseReturn>(ret, { status: 200 });
}
......@@ -52,7 +52,7 @@
"lint": "pnpm eslint .",
"transpile": "tsc --noEmit",
"build": "tsup",
"dev": "pnpm build && pnpm prod",
"dev": "pnpm build && node build/cluster.js",
"prod": "node --experimental-modules --experimental-wasm-modules bundle/cluster.js",
"test": "vitest",
"bundle": "rollup -c"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment