Skip to content

Commit f942154

Browse files
authored
fix(den): persist active org for legacy proxy requests (#1503)
Treat legacy '/v1/orgs/:orgId/*' forwarding differently from API-key scoping so proxied requests can still hydrate a missing session active organization. This keeps older clients working across moved endpoints while preserving API-key behavior. Co-authored-by: src-opn <src-opn@users.noreply.github.com>
1 parent 872c217 commit f942154

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

ee/apps/den-api/src/middleware/organization-context.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ export const resolveOrganizationContextMiddleware: MiddlewareHandler<{
1818
}
1919

2020
const apiKey = c.get("apiKey")
21-
const scopedOrganizationId = getApiKeyScopedOrganizationId(apiKey) ?? getLegacyProxyOrganizationId(c.req.raw.headers)
21+
const apiKeyScopedOrganizationId = getApiKeyScopedOrganizationId(apiKey)
22+
const legacyProxyOrganizationId = getLegacyProxyOrganizationId(c.req.raw.headers)
23+
const scopedOrganizationId = apiKeyScopedOrganizationId ?? legacyProxyOrganizationId
2224

2325
let organizationId = c.get("activeOrganizationId") ?? null
2426
let organizationSlug = c.get("activeOrganizationSlug") ?? null
@@ -38,7 +40,7 @@ export const resolveOrganizationContextMiddleware: MiddlewareHandler<{
3840
organizationSlug = scopedOrganizationId ? scopedOrgs[0]?.slug ?? null : resolved.activeOrgSlug
3941

4042
if (shouldHydrateSessionActiveOrganization({
41-
scopedOrganizationId,
43+
scopedOrganizationId: apiKeyScopedOrganizationId,
4244
sessionActiveOrganizationId: session?.activeOrganizationId,
4345
resolvedActiveOrganizationId: organizationId,
4446
})) {

ee/apps/den-api/src/middleware/user-organizations.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ export const resolveUserOrganizationsMiddleware: MiddlewareHandler<{
5959

6060
const session = c.get("session")
6161
const apiKey = c.get("apiKey")
62-
const scopedOrganizationId = getApiKeyScopedOrganizationId(apiKey) ?? getLegacyProxyOrganizationId(c.req.raw.headers)
62+
const apiKeyScopedOrganizationId = getApiKeyScopedOrganizationId(apiKey)
63+
const legacyProxyOrganizationId = getLegacyProxyOrganizationId(c.req.raw.headers)
64+
const scopedOrganizationId = apiKeyScopedOrganizationId ?? legacyProxyOrganizationId
6365
const resolved = await resolveUserOrganizations({
6466
activeOrganizationId: scopedOrganizationId ?? session?.activeOrganizationId ?? null,
6567
userId: normalizeDenTypeId("user", user.id),
@@ -75,7 +77,7 @@ export const resolveUserOrganizationsMiddleware: MiddlewareHandler<{
7577
: resolved.activeOrgSlug
7678

7779
if (shouldHydrateSessionActiveOrganization({
78-
scopedOrganizationId,
80+
scopedOrganizationId: apiKeyScopedOrganizationId,
7981
sessionActiveOrganizationId: session?.activeOrganizationId,
8082
resolvedActiveOrganizationId: activeOrganizationId,
8183
})) {

0 commit comments

Comments
 (0)