export default {
  loginUrl: () => '/login',
  dashboardUrl: () => '/dashboard',
  fetchChannelsUrl: () => '/pcast/channels',
  createChannelUrl: () => '/pcast/channel',
  deleteChannelUrl: () => '/pcast/channel',
  fetchChannelUrl: (channelId: string): string => `/pcast/channel/${channelId}`,
  fetchChannelMembersUrl: (channelId: string): string => `/pcast/channel/${channelId}/members`,
  fetchRoomsUrl: () => '/pcast/rooms',
  deleteRoomUrl: () => '/pcast/room',
  createRoomUrl: () => '/pcast/room',
  fetchRoomUrl: (roomId: string): string => `/pcast/room/${roomId}`,
  fetchRoomMembersUrl: (roomId: string): string => `/pcast/room/${roomId}/members`,
  stateOfChannelUrl: (channelId: string): string => `/pcast/channel/${encodeURIComponent(channelId)}/publishers/count`,
  stateOfRoomUrl: (roomId: string): string => `/pcast/room/${encodeURIComponent(roomId)}/publishers/count`,
  sendChannelMessageUrl: (channelId: string): string => `/pcast/channel/${encodeURIComponent(channelId)}/message`,
  getChannelMessagesUrl: (channelId: string): string => `/pcast/channel/${encodeURIComponent(channelId)}/messages`,
  getRoomMessagesUrl: (roomId: string): string => `/pcast/room/${encodeURIComponent(roomId)}/messages`,
  playlistInformation: () => '/pcast/stream/playlist',
  killChannel: (channelId: string): string => `/pcast/channel/${encodeURIComponent(channelId)}/kill`,
  forkChannel: (destinationChannelId: string, sourceChannelId: string): string =>
    `/pcast/channel/${encodeURIComponent(destinationChannelId)}/fork/${encodeURIComponent(sourceChannelId)}`,
  viewReporting: () => '/pcast/reporting/viewing',
  forkHistoryReporting: () => '/pcast/analytics/fork/history',
  publishReporting: () => '/pcast/reporting/publishing',
  concurrentViewers: () => '/pcast/streams/concurrent',
  ingestReports: () => '/pcast/ingest/buffer',
  terminateStream: () => '/pcast/stream',
  edgeAuth: () => '/pcast/edgeAuth',
  authTokenUrl: () => '/pcast/auth',
  publishUri: (tenancy: string, publicationType: string): string => `/pcast/${tenancy}/stream/publish/uri/${publicationType}`,
  networkThroughput: () => '/pcast/network/throughput',
  fetchPlaylist: () => '/pcast/stream/playlist'
};
