123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- import { Broker, Connect, Connector } from 'generated-sources';
- import { ClusterName, SchemaName, TopicName } from 'redux/interfaces';
- import { GIT_REPO_LINK } from './constants';
- import { ConsumerGroupID } from './hooks/api/consumers';
- export const gitCommitPath = (commit: string) =>
- `${GIT_REPO_LINK}/commit/${commit}`;
- export enum RouteParams {
- clusterName = ':clusterName',
- consumerGroupID = ':consumerGroupID',
- subject = ':subject',
- topicName = ':topicName',
- connectName = ':connectName',
- connectorName = ':connectorName',
- brokerId = ':brokerId',
- }
- export const getNonExactPath = (path: string) => `${path}/*`;
- export const errorPage = '/404';
- export const accessErrorPage = '/403';
- export const clusterPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `/ui/clusters/${clusterName}`;
- export type ClusterNameRoute = { clusterName: ClusterName };
- // Brokers
- export const clusterBrokerRelativePath = 'brokers';
- export const clusterBrokerMetricsRelativePath = 'metrics';
- export const clusterBrokerConfigsRelativePath = 'configs';
- export const clusterBrokersPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterPath(clusterName)}/${clusterBrokerRelativePath}`;
- export const clusterBrokerPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- brokerId: Broker['id'] | string = RouteParams.brokerId
- ) => `${clusterBrokersPath(clusterName)}/${brokerId}`;
- export const clusterBrokerMetricsPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- brokerId: Broker['id'] | string = RouteParams.brokerId
- ) =>
- `${clusterBrokerPath(
- clusterName,
- brokerId
- )}/${clusterBrokerMetricsRelativePath}`;
- export const clusterBrokerConfigsPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- brokerId: Broker['id'] | string = RouteParams.brokerId
- ) =>
- `${clusterBrokerPath(
- clusterName,
- brokerId
- )}/${clusterBrokerConfigsRelativePath}`;
- export type ClusterBrokerParam = {
- clusterName: ClusterName;
- brokerId: string;
- };
- // Consumer Groups
- export const clusterConsumerGroupsRelativePath = 'consumer-groups';
- export const clusterConsumerGroupResetRelativePath = 'reset-offsets';
- export const clusterConsumerGroupResetOffsetsRelativePath = `${RouteParams.consumerGroupID}/${clusterConsumerGroupResetRelativePath}`;
- export const clusterConsumerGroupsPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterPath(clusterName)}/${clusterConsumerGroupsRelativePath}`;
- export const clusterConsumerGroupDetailsPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- groupId: string = RouteParams.consumerGroupID
- ) => `${clusterConsumerGroupsPath(clusterName)}/${groupId}`;
- export const clusterConsumerGroupResetOffsetsPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- groupId: string = RouteParams.consumerGroupID
- ) =>
- `${clusterConsumerGroupDetailsPath(
- clusterName,
- groupId
- )}/${clusterConsumerGroupResetRelativePath}`;
- export type ClusterGroupParam = {
- consumerGroupID: ConsumerGroupID;
- clusterName: ClusterName;
- };
- // Schemas
- export const clusterSchemasRelativePath = 'schemas';
- export const clusterSchemaNewRelativePath = 'create-new';
- export const clusterSchemaEditPageRelativePath = `edit`;
- export const clusterSchemaSchemaComparePageRelativePath = `compare`;
- export const clusterSchemaEditRelativePath = `${RouteParams.subject}/${clusterSchemaEditPageRelativePath}`;
- export const clusterSchemaSchemaDiffRelativePath = `${RouteParams.subject}/${clusterSchemaSchemaComparePageRelativePath}`;
- export const clusterSchemasPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterPath(clusterName)}/schemas`;
- export const clusterSchemaNewPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterSchemasPath(clusterName)}/${clusterSchemaNewRelativePath}`;
- export const clusterSchemaPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- subject: SchemaName = RouteParams.subject
- ) => {
- let subjectName = subject;
- if (subject !== ':subject') subjectName = encodeURIComponent(subject);
- return `${clusterSchemasPath(clusterName)}/${subjectName}`;
- };
- export const clusterSchemaEditPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- subject: SchemaName = RouteParams.subject
- ) => {
- let subjectName = subject;
- if (subject !== ':subject') subjectName = encodeURIComponent(subject);
- return `${clusterSchemasPath(clusterName)}/${subjectName}/edit`;
- };
- export const clusterSchemaComparePath = (
- clusterName: ClusterName = RouteParams.clusterName,
- subject: SchemaName = RouteParams.subject
- ) => `${clusterSchemaPath(clusterName, subject)}/compare`;
- export type ClusterSubjectParam = {
- subject: string;
- clusterName: ClusterName;
- };
- // Topics
- export const clusterTopicsRelativePath = 'all-topics';
- export const clusterTopicNewRelativePath = 'create-new-topic';
- export const clusterTopicCopyRelativePath = 'copy';
- export const clusterTopicsPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterPath(clusterName)}/${clusterTopicsRelativePath}`;
- export const clusterTopicNewPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterTopicsPath(clusterName)}/${clusterTopicNewRelativePath}`;
- export const clusterTopicCopyPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterTopicsPath(clusterName)}/${clusterTopicCopyRelativePath}`;
- // Topics topic
- export const clusterTopicSettingsRelativePath = 'settings';
- export const clusterTopicMessagesRelativePath = 'messages';
- export const clusterTopicConsumerGroupsRelativePath = 'consumer-groups';
- export const clusterTopicStatisticsRelativePath = 'statistics';
- export const clusterTopicEditRelativePath = 'edit';
- export const clusterTopicPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- topicName: TopicName = RouteParams.topicName
- ) => `${clusterTopicsPath(clusterName)}/${topicName}`;
- export const clusterTopicSettingsPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- topicName: TopicName = RouteParams.topicName
- ) =>
- `${clusterTopicPath(
- clusterName,
- topicName
- )}/${clusterTopicSettingsRelativePath}`;
- export const clusterTopicMessagesPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- topicName: TopicName = RouteParams.topicName
- ) =>
- `${clusterTopicPath(
- clusterName,
- topicName
- )}/${clusterTopicMessagesRelativePath}`;
- export const clusterTopicEditPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- topicName: TopicName = RouteParams.topicName
- ) =>
- `${clusterTopicPath(clusterName, topicName)}/${clusterTopicEditRelativePath}`;
- export const clusterTopicConsumerGroupsPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- topicName: TopicName = RouteParams.topicName
- ) =>
- `${clusterTopicPath(
- clusterName,
- topicName
- )}/${clusterTopicConsumerGroupsRelativePath}`;
- export const clusterTopicStatisticsPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- topicName: TopicName = RouteParams.topicName
- ) =>
- `${clusterTopicPath(
- clusterName,
- topicName
- )}/${clusterTopicStatisticsRelativePath}`;
- export type RouteParamsClusterTopic = {
- clusterName: ClusterName;
- topicName: TopicName;
- };
- // Kafka Connect
- export const clusterConnectsRelativePath = 'connects';
- export const clusterConnectorsRelativePath = 'connectors';
- export const clusterConnectorNewRelativePath = 'create-new';
- export const clusterConnectConnectorsRelativePath = `${RouteParams.connectName}/connectors`;
- export const clusterConnectConnectorRelativePath = `${clusterConnectConnectorsRelativePath}/${RouteParams.connectorName}`;
- const clusterConnectConnectorTasksRelativePath = 'tasks';
- export const clusterConnectConnectorConfigRelativePath = 'config';
- export const clusterConnectsPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterPath(clusterName)}/connects`;
- export const clusterConnectorsPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterPath(clusterName)}/connectors`;
- export const clusterConnectorNewPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterConnectorsPath(clusterName)}/create-new`;
- export const clusterConnectConnectorsPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- connectName: Connect['name'] = RouteParams.connectName
- ) => `${clusterConnectsPath(clusterName)}/${connectName}/connectors`;
- export const clusterConnectConnectorPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- connectName: Connect['name'] = RouteParams.connectName,
- connectorName: Connector['name'] = RouteParams.connectorName
- ) =>
- `${clusterConnectConnectorsPath(clusterName, connectName)}/${connectorName}`;
- export const clusterConnectConnectorEditPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- connectName: Connect['name'] = RouteParams.connectName,
- connectorName: Connector['name'] = RouteParams.connectorName
- ) =>
- `${clusterConnectConnectorsPath(
- clusterName,
- connectName
- )}/${connectorName}/edit`;
- export const clusterConnectConnectorTasksPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- connectName: Connect['name'] = RouteParams.connectName,
- connectorName: Connector['name'] = RouteParams.connectorName
- ) =>
- `${clusterConnectConnectorPath(
- clusterName,
- connectName,
- connectorName
- )}/${clusterConnectConnectorTasksRelativePath}`;
- export const clusterConnectConnectorConfigPath = (
- clusterName: ClusterName = RouteParams.clusterName,
- connectName: Connect['name'] = RouteParams.connectName,
- connectorName: Connector['name'] = RouteParams.connectorName
- ) =>
- `${clusterConnectConnectorPath(
- clusterName,
- connectName,
- connectorName
- )}/${clusterConnectConnectorConfigRelativePath}`;
- export type RouterParamsClusterConnectConnector = {
- clusterName: ClusterName;
- connectName: Connect['name'];
- connectorName: Connector['name'];
- };
- // KsqlDb
- export const clusterKsqlDbRelativePath = 'ksqldb';
- export const clusterKsqlDbQueryRelativePath = 'query';
- export const clusterKsqlDbTablesRelativePath = 'tables';
- export const clusterKsqlDbStreamsRelativePath = 'streams';
- export const clusterKsqlDbPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterPath(clusterName)}/${clusterKsqlDbRelativePath}`;
- export const clusterKsqlDbQueryPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterKsqlDbPath(clusterName)}/${clusterKsqlDbQueryRelativePath}`;
- export const clusterKsqlDbTablesPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterKsqlDbPath(clusterName)}/${clusterKsqlDbTablesRelativePath}`;
- export const clusterKsqlDbStreamsPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterKsqlDbPath(clusterName)}/${clusterKsqlDbStreamsRelativePath}`;
- // Cluster Config
- export const clusterConfigRelativePath = 'config';
- export const clusterConfigPath = (
- clusterName: ClusterName = RouteParams.clusterName
- ) => `${clusterPath(clusterName)}/${clusterConfigRelativePath}`;
- const clusterNewConfigRelativePath = 'create-new-cluster';
- export const clusterNewConfigPath = `/ui/clusters/${clusterNewConfigRelativePath}`;
|