Skip to content

Built for people who want to own their automations. Join the waitlist for an invite.

Package listing

@kody/figma

src/auth-names.ts

28 lines · 1.1 KB · TypeScript
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}`
}