import {
  ConsoleapiProtocol,
  ConsoleapiS3Protocol,
  DataflowProtocol,
  DataflowS3Protocol
} from 'dbaas/services/dataflow/interface'

const protocolDisplayMap: Record<string, string> = {
  [DataflowS3Protocol.S3_PROTOCOL_CSV]: 'CSV',
  [DataflowS3Protocol.S3_PROTOCOL_CANAL_JSON]: 'Canal-JSON',
  [DataflowProtocol.AVRO]: 'Avro',
  [DataflowProtocol.CANAL_JSON]: 'Canal-JSON',
  [DataflowProtocol.OPEN_PROTOCOL]: 'Open Protocol',
  [DataflowProtocol.DEBEZIUM]: 'Debezium',
  [ConsoleapiProtocol.DEBEZIUM_AVRO]: 'Debezium Avro'
}

export function getProtocolDisplayName(
  p?: DataflowS3Protocol | DataflowProtocol | ConsoleapiS3Protocol | ConsoleapiProtocol | string
) {
  if (!p) {
    return ''
  }

  return protocolDisplayMap[p] ?? p
}
