Files
orca/src/main/github/github-api-repository-validation.ts
T
Gon SongandNeil 85d1ffc072 fix: accept enterprise managed GitHub owner logins (#20450)
Unify owner validation across project pickers and repository overrides. Preserve EMU usernames in API and auth-status branch-prefix resolution, with regression coverage.

Co-authored-by: Neil <neil@stably.ai>
2026-09-16 14:41:15 -07:00

22 lines
687 B
TypeScript

import { GITHUB_OWNER_SLUG_RE } from '../../shared/github/owner-slug'
import type { GitHubOwnerRepo } from '../../shared/github/pull-request-types'
export type GitHubApiRepositoryResolution =
| GitHubOwnerRepo
| null
| undefined
| (() => Promise<GitHubOwnerRepo | null>)
// Why: renderer/RPC overrides reach authenticated REST paths.
const OWNER_SLUG_RE = GITHUB_OWNER_SLUG_RE
const REPOSITORY_SLUG_RE = /^[A-Za-z0-9._-]+$/
export function isValidGitHubApiRepository(repository: GitHubOwnerRepo): boolean {
return (
OWNER_SLUG_RE.test(repository.owner) &&
REPOSITORY_SLUG_RE.test(repository.repo) &&
repository.repo !== '.' &&
repository.repo !== '..'
)
}