31 lines
624 B
TypeScript
31 lines
624 B
TypeScript
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
|
|
}
|