mirror of
https://github.com/different-ai/openwork
synced 2026-04-25 17:15:34 +02:00
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:
@@ -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,
|
||||
})) {
|
||||
|
||||
@@ -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,
|
||||
})) {
|
||||
|
||||
Reference in New Issue
Block a user