fix(organization): pass ctx to DB hooks (#4769)

This commit is contained in:
Maxwell
2025-09-19 19:14:18 +00:00
committed by GitHub
parent a3e46c1b70
commit 76d2ab1aed
5 changed files with 22 additions and 7 deletions
@@ -1,4 +1,4 @@
import type { Session, User } from "../../types";
import type { GenericEndpointContext, Session, User } from "../../types";
import { getDate } from "../../utils/date";
import type { OrganizationOptions } from "./types";
import type {
@@ -378,12 +378,14 @@ export const getOrgAdapter = <O extends OrganizationOptions>(
setActiveOrganization: async (
sessionToken: string,
organizationId: string | null,
ctx: GenericEndpointContext,
) => {
const session = await context.internalAdapter.updateSession(
sessionToken,
{
activeOrganizationId: organizationId,
},
ctx,
);
return session as Session;
},
@@ -692,12 +694,17 @@ export const getOrgAdapter = <O extends OrganizationOptions>(
return invitation;
},
setActiveTeam: async (sessionToken: string, teamId: string | null) => {
setActiveTeam: async (
sessionToken: string,
teamId: string | null,
ctx: GenericEndpointContext,
) => {
const session = await context.internalAdapter.updateSession(
sessionToken,
{
activeTeamId: teamId,
},
ctx,
);
return session as Session;
},
@@ -601,6 +601,7 @@ export const acceptInvitation = <O extends OrganizationOptions>(options: O) =>
const updatedSession = await adapter.setActiveTeam(
session.session.token,
teamId,
ctx,
);
await setSessionCookie(ctx, {
@@ -620,6 +621,7 @@ export const acceptInvitation = <O extends OrganizationOptions>(options: O) =>
await adapter.setActiveOrganization(
session.session.token,
invitation.organizationId,
ctx,
);
if (!acceptedI) {
return ctx.json(null, {
@@ -384,7 +384,7 @@ export const removeMember = <O extends OrganizationOptions>(options: O) =>
session.session.activeOrganizationId ===
toBeRemovedMember.organizationId
) {
await adapter.setActiveOrganization(session.session.token, null);
await adapter.setActiveOrganization(session.session.token, null, ctx);
}
// Run afterRemoveMember hook
@@ -794,7 +794,7 @@ export const leaveOrganization = <O extends OrganizationOptions>(options: O) =>
}
await adapter.deleteMember(member.id);
if (session.session.activeOrganizationId === ctx.body.organizationId) {
await adapter.setActiveOrganization(session.session.token, null);
await adapter.setActiveOrganization(session.session.token, null, ctx);
}
return ctx.json(member);
},
@@ -304,6 +304,7 @@ export const createOrganization = <O extends OrganizationOptions>(
await adapter.setActiveOrganization(
ctx.context.session.session.token,
organization.id,
ctx,
);
}
@@ -315,6 +316,7 @@ export const createOrganization = <O extends OrganizationOptions>(
await adapter.setActiveTeam(
ctx.context.session.session.token,
teamMember.teamId,
ctx,
);
}
@@ -605,7 +607,7 @@ export const deleteOrganization = <O extends OrganizationOptions>(
/**
* If the organization is deleted, we set the active organization to null
*/
await adapter.setActiveOrganization(session.session.token, null);
await adapter.setActiveOrganization(session.session.token, null, ctx);
}
const org = await adapter.findOrganizationById(organizationId);
@@ -712,7 +714,7 @@ export const getFullOrganization = <O extends OrganizationOptions>(
organizationId: organization.id,
});
if (!isMember) {
await adapter.setActiveOrganization(session.session.token, null);
await adapter.setActiveOrganization(session.session.token, null, ctx);
throw new APIError("FORBIDDEN", {
message:
ORGANIZATION_ERROR_CODES.USER_IS_NOT_A_MEMBER_OF_THE_ORGANIZATION,
@@ -791,6 +793,7 @@ export const setActiveOrganization = <O extends OrganizationOptions>(
const updatedSession = await adapter.setActiveOrganization(
session.session.token,
null,
ctx,
);
await setSessionCookie(ctx, {
session: updatedSession,
@@ -829,7 +832,7 @@ export const setActiveOrganization = <O extends OrganizationOptions>(
organizationId,
});
if (!isMember) {
await adapter.setActiveOrganization(session.session.token, null);
await adapter.setActiveOrganization(session.session.token, null, ctx);
throw new APIError("FORBIDDEN", {
message:
ORGANIZATION_ERROR_CODES.USER_IS_NOT_A_MEMBER_OF_THE_ORGANIZATION,
@@ -845,6 +848,7 @@ export const setActiveOrganization = <O extends OrganizationOptions>(
const updatedSession = await adapter.setActiveOrganization(
session.session.token,
organization.id,
ctx,
);
await setSessionCookie(ctx, {
session: updatedSession,
@@ -700,6 +700,7 @@ export const setActiveTeam = <O extends OrganizationOptions>(options: O) =>
const updatedSession = await adapter.setActiveTeam(
session.session.token,
null,
ctx,
);
await setSessionCookie(ctx, {
@@ -745,6 +746,7 @@ export const setActiveTeam = <O extends OrganizationOptions>(options: O) =>
const updatedSession = await adapter.setActiveTeam(
session.session.token,
team.id,
ctx,
);
await setSessionCookie(ctx, {