mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-07 08:26:51 +00:00
* Store the organization id in credentials * Better organization logic * Fix tests * Update cloud settings defaults * Fix organization_id handling in Clerk API calls Address review feedback by properly handling 3 cases for organization_id: 1. Have an org id: send organization_id=THE_ORG_ID 2. Have a personal account: send organization_id= (empty string) 3. Don't know if you have an org id (old credentials): don't send organization_id param at all Changes: - Updated clerkCreateSessionToken() to check credentials.organizationId !== undefined - Updated fetchUserInfo() to handle all 3 cases consistently - Added fallback logic for old credentials without organization context - Improved logging for better debugging of organization context * DRY up organization loading code in AuthService Extract common organization membership processing logic into reusable helper methods: - findOrganizationMembership(): Find specific org membership by ID - findPrimaryOrganizationMembership(): Get first/primary org membership - setUserOrganizationInfo(): Set organization info on user object This eliminates duplication between the two clerkGetOrganizationMemberships() call sites that were doing very similar organization data processing.
53 lines
1.1 KiB
TypeScript
53 lines
1.1 KiB
TypeScript
import * as vscode from "vscode"
|
|
|
|
import { CloudService } from "@roo-code/cloud"
|
|
|
|
import { ClineProvider } from "../core/webview/ClineProvider"
|
|
|
|
export const handleUri = async (uri: vscode.Uri) => {
|
|
const path = uri.path
|
|
const query = new URLSearchParams(uri.query.replace(/\+/g, "%2B"))
|
|
const visibleProvider = ClineProvider.getVisibleInstance()
|
|
|
|
if (!visibleProvider) {
|
|
return
|
|
}
|
|
|
|
switch (path) {
|
|
case "/glama": {
|
|
const code = query.get("code")
|
|
if (code) {
|
|
await visibleProvider.handleGlamaCallback(code)
|
|
}
|
|
break
|
|
}
|
|
case "/openrouter": {
|
|
const code = query.get("code")
|
|
if (code) {
|
|
await visibleProvider.handleOpenRouterCallback(code)
|
|
}
|
|
break
|
|
}
|
|
case "/requesty": {
|
|
const code = query.get("code")
|
|
if (code) {
|
|
await visibleProvider.handleRequestyCallback(code)
|
|
}
|
|
break
|
|
}
|
|
case "/auth/clerk/callback": {
|
|
const code = query.get("code")
|
|
const state = query.get("state")
|
|
const organizationId = query.get("organizationId")
|
|
|
|
await CloudService.instance.handleAuthCallback(
|
|
code,
|
|
state,
|
|
organizationId === "null" ? null : organizationId,
|
|
)
|
|
break
|
|
}
|
|
default:
|
|
break
|
|
}
|
|
}
|