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>
This commit is contained in:
Source Open
2026-04-20 12:17:31 -07:00
committed by GitHub
parent 872c21764c
commit f9421547fb
2 changed files with 8 additions and 4 deletions

View File

@@ -18,7 +18,9 @@ export const resolveOrganizationContextMiddleware: MiddlewareHandler<{
}
const apiKey = c.get("apiKey")
const scopedOrganizationId = getApiKeyScopedOrganizationId(apiKey) ?? getLegacyProxyOrganizationId(c.req.raw.headers)
const apiKeyScopedOrganizationId = getApiKeyScopedOrganizationId(apiKey)
const legacyProxyOrganizationId = getLegacyProxyOrganizationId(c.req.raw.headers)
const scopedOrganizationId = apiKeyScopedOrganizationId ?? legacyProxyOrganizationId
let organizationId = c.get("activeOrganizationId") ?? null
let organizationSlug = c.get("activeOrganizationSlug") ?? null
@@ -38,7 +40,7 @@ export const resolveOrganizationContextMiddleware: MiddlewareHandler<{
organizationSlug = scopedOrganizationId ? scopedOrgs[0]?.slug ?? null : resolved.activeOrgSlug
if (shouldHydrateSessionActiveOrganization({
scopedOrganizationId,
scopedOrganizationId: apiKeyScopedOrganizationId,
sessionActiveOrganizationId: session?.activeOrganizationId,
resolvedActiveOrganizationId: organizationId,
})) {

View File

@@ -59,7 +59,9 @@ export const resolveUserOrganizationsMiddleware: MiddlewareHandler<{
const session = c.get("session")
const apiKey = c.get("apiKey")
const scopedOrganizationId = getApiKeyScopedOrganizationId(apiKey) ?? getLegacyProxyOrganizationId(c.req.raw.headers)
const apiKeyScopedOrganizationId = getApiKeyScopedOrganizationId(apiKey)
const legacyProxyOrganizationId = getLegacyProxyOrganizationId(c.req.raw.headers)
const scopedOrganizationId = apiKeyScopedOrganizationId ?? legacyProxyOrganizationId
const resolved = await resolveUserOrganizations({
activeOrganizationId: scopedOrganizationId ?? session?.activeOrganizationId ?? null,
userId: normalizeDenTypeId("user", user.id),
@@ -75,7 +77,7 @@ export const resolveUserOrganizationsMiddleware: MiddlewareHandler<{
: resolved.activeOrgSlug
if (shouldHydrateSessionActiveOrganization({
scopedOrganizationId,
scopedOrganizationId: apiKeyScopedOrganizationId,
sessionActiveOrganizationId: session?.activeOrganizationId,
resolvedActiveOrganizationId: activeOrganizationId,
})) {