Files
geointel/frontend/src/lib/accessCapabilities.ts
T

46 lines
1.3 KiB
TypeScript

export type WorkbenchAccessMode = 'open' | 'operator' | 'guest'
export interface WorkbenchAccessCapabilities {
analyzePersistedData: boolean
selectModels: boolean
runQualityChecks: boolean
exportResults: boolean
acquireSources: boolean
manageWorkspace: boolean
manageModels: boolean
writeDerivedDatasets: boolean
reviewEvidence: boolean
runChangeDetection: boolean
}
const OPERATOR_CAPABILITIES: WorkbenchAccessCapabilities = {
analyzePersistedData: true,
selectModels: true,
runQualityChecks: true,
exportResults: true,
acquireSources: true,
manageWorkspace: true,
manageModels: true,
writeDerivedDatasets: true,
reviewEvidence: true,
runChangeDetection: true,
}
const GUEST_CAPABILITIES: WorkbenchAccessCapabilities = {
analyzePersistedData: true,
selectModels: true,
runQualityChecks: true,
exportResults: true,
acquireSources: true,
manageWorkspace: false,
manageModels: false,
writeDerivedDatasets: true,
reviewEvidence: false,
runChangeDetection: true,
}
/** Mirrors the backend's explicit guest route boundary without weakening it. */
export function getWorkbenchAccessCapabilities(mode: WorkbenchAccessMode): WorkbenchAccessCapabilities {
return mode === 'guest' ? GUEST_CAPABILITIES : OPERATOR_CAPABILITIES
}