Skip to content

Commit 8062e16

Browse files
committed
Fix for ensuring a DB change updates the availble duration options
1 parent 287f566 commit 8062e16

2 files changed

Lines changed: 7 additions & 17 deletions

File tree

  • apps/webapp/app/routes

apps/webapp/app/routes/account.security/route.tsx

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { type MetaFunction } from "@remix-run/react";
2-
import { LoaderFunctionArgs } from "@remix-run/server-runtime";
2+
import type { LoaderFunctionArgs } from "@remix-run/server-runtime";
33
import { typedjson, useTypedLoaderData } from "remix-typedjson";
44
import {
55
MainHorizontallyCenteredContainer,
@@ -8,12 +8,10 @@ import {
88
} from "~/components/layout/AppLayout";
99
import { Header2 } from "~/components/primitives/Headers";
1010
import { NavBar, PageTitle } from "~/components/primitives/PageHeader";
11-
import { prisma } from "~/db.server";
1211
import { requireUser } from "~/services/session.server";
1312
import {
14-
DEFAULT_SESSION_DURATION_SECONDS,
1513
getAllowedSessionOptions,
16-
getOrganizationSessionCap,
14+
getEffectiveSessionDuration,
1715
} from "~/services/sessionDuration.server";
1816
import { MfaSetup } from "../resources.account.mfa.setup/route";
1917
import { SessionDurationSetting } from "../resources.account.session-duration/SessionDurationSetting";
@@ -29,20 +27,12 @@ export const meta: MetaFunction = () => {
2927
export async function loader({ request }: LoaderFunctionArgs) {
3028
const user = await requireUser(request);
3129

32-
const [userRecord, orgCapSeconds] = await Promise.all([
33-
prisma.user.findUnique({
34-
where: { id: user.id },
35-
select: { sessionDuration: true },
36-
}),
37-
getOrganizationSessionCap(user.id),
38-
]);
39-
40-
const sessionDuration = userRecord?.sessionDuration ?? DEFAULT_SESSION_DURATION_SECONDS;
41-
const sessionDurationOptions = getAllowedSessionOptions(orgCapSeconds, sessionDuration);
30+
const { durationSeconds, orgCapSeconds } = await getEffectiveSessionDuration(user.id);
31+
const sessionDurationOptions = getAllowedSessionOptions(orgCapSeconds, durationSeconds);
4232

4333
return typedjson({
4434
user,
45-
sessionDuration,
35+
sessionDuration: durationSeconds,
4636
sessionDurationOptions,
4737
orgCapSeconds,
4838
});

apps/webapp/app/routes/resources.account.session-duration/route.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ export async function action({ request }: ActionFunctionArgs) {
4646
return redirectWithError(request, "Invalid session duration value.");
4747
}
4848

49-
const { orgCapSeconds, userSettingSeconds } = await getEffectiveSessionDuration(userId);
50-
const allowed = getAllowedSessionOptions(orgCapSeconds, userSettingSeconds);
49+
const { orgCapSeconds, durationSeconds } = await getEffectiveSessionDuration(userId);
50+
const allowed = getAllowedSessionOptions(orgCapSeconds, durationSeconds);
5151
if (!allowed.some((o) => o.value === sessionDuration)) {
5252
return redirectWithError(
5353
request,

0 commit comments

Comments
 (0)