graphicek/client/src/utils/tryParseContactPointConfig.ts

31 lines
624 B
TypeScript
Raw Normal View History

2024-03-31 09:50:09 +02:00
import { ContactPointInfo } from '@/api/contactPoints'
import { tryParseJson } from './tryParseJson'
type ContactPointTelegramConfig = {
type: 'telegram'
apiKey: string
targetChannel: number
}
export type ParsedContactPointConfig = ContactPointTelegramConfig
export const tryParseContactPointConfig = (
contactPoint: ContactPointInfo
): ParsedContactPointConfig | null => {
const data = tryParseJson(contactPoint.typeConfig)
if (!data) {
return null
}
if (contactPoint.type === 'telegram') {
return {
type: 'telegram',
apiKey: data.apiKey,
targetChannel: data.targetChannel,
}
}
return null
}