import type { FigmaAuthInput } from './types.ts'
import { optionalString } from './types.ts'
import { DEFAULT_INTEGRATION_NAME, DEFAULT_PAT_SECRET } from './setup.ts'
export function resolveIntegrationName(input: FigmaAuthInput = {}): string {
const explicit =
optionalString(input.integrationName, 'integrationName') ??
optionalString(input.integration, 'integration')
if (explicit) return explicit
const account = optionalString(input.account, 'account')
if (!account || account === 'default' || account === 'figma') {
return DEFAULT_INTEGRATION_NAME
}
if (account.startsWith('figma-')) return account
return `figma-${account}`
}
export function resolveSecretName(input: FigmaAuthInput = {}): string {
const explicit = optionalString(input.secretName, 'secretName')
if (explicit) return explicit
const integrationName = resolveIntegrationName(input)
if (integrationName === DEFAULT_INTEGRATION_NAME) return DEFAULT_PAT_SECRET
const suffix = integrationName.startsWith('figma-')
? integrationName.slice('figma-'.length)
: integrationName
return `figmaPat-${suffix}`
}