123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- import { createSelector } from '@reduxjs/toolkit';
- import { ConnectState, RootState } from 'redux/interfaces';
- import { createFetchingSelector } from 'redux/reducers/loader/selectors';
- import { ConnectorTaskStatus, ConnectorState } from 'generated-sources';
- import {
- deleteConnector,
- fetchConnector,
- fetchConnectorConfig,
- fetchConnectors,
- fetchConnectorTasks,
- fetchConnects,
- pauseConnector,
- restartConnector,
- resumeConnector,
- } from './connectSlice';
- const connectState = ({ connect }: RootState): ConnectState => connect;
- const getConnectsFetchingStatus = createFetchingSelector(
- fetchConnects.typePrefix
- );
- export const getAreConnectsFetching = createSelector(
- getConnectsFetchingStatus,
- (status) => status === 'pending'
- );
- export const getConnects = createSelector(
- connectState,
- ({ connects }) => connects
- );
- const getConnectorsFetchingStatus = createFetchingSelector(
- fetchConnectors.typePrefix
- );
- export const getAreConnectorsFetching = createSelector(
- getConnectorsFetchingStatus,
- (status) => status === 'pending'
- );
- export const getConnectors = createSelector(
- connectState,
- ({ connectors }) => connectors
- );
- export const getFailedConnectors = createSelector(
- connectState,
- ({ connectors }) => {
- return connectors.filter(
- (connector) => connector.status.state === ConnectorState.FAILED
- );
- }
- );
- const getConnectorFetchingStatus = createFetchingSelector(
- fetchConnector.typePrefix
- );
- export const getIsConnectorFetching = createSelector(
- getConnectorFetchingStatus,
- (status) => status === 'pending'
- );
- const getCurrentConnector = createSelector(
- connectState,
- ({ currentConnector }) => currentConnector
- );
- export const getConnector = createSelector(
- getCurrentConnector,
- ({ connector }) => connector
- );
- export const getConnectorStatus = createSelector(
- getConnector,
- (connector) => connector?.status?.state
- );
- const getConnectorDeletingStatus = createFetchingSelector(
- deleteConnector.typePrefix
- );
- export const getIsConnectorDeleting = createSelector(
- getConnectorDeletingStatus,
- (status) => status === 'pending'
- );
- const getConnectorRestartingStatus = createFetchingSelector(
- restartConnector.typePrefix
- );
- export const getIsConnectorRestarting = createSelector(
- getConnectorRestartingStatus,
- (status) => status === 'pending'
- );
- const getConnectorPausingStatus = createFetchingSelector(
- pauseConnector.typePrefix
- );
- export const getIsConnectorPausing = createSelector(
- getConnectorPausingStatus,
- (status) => status === 'pending'
- );
- const getConnectorResumingStatus = createFetchingSelector(
- resumeConnector.typePrefix
- );
- export const getIsConnectorResuming = createSelector(
- getConnectorResumingStatus,
- (status) => status === 'pending'
- );
- export const getIsConnectorActionRunning = createSelector(
- getIsConnectorRestarting,
- getIsConnectorPausing,
- getIsConnectorResuming,
- (restarting, pausing, resuming) => restarting || pausing || resuming
- );
- const getConnectorTasksFetchingStatus = createFetchingSelector(
- fetchConnectorTasks.typePrefix
- );
- export const getAreConnectorTasksFetching = createSelector(
- getConnectorTasksFetchingStatus,
- (status) => status === 'pending'
- );
- export const getConnectorTasks = createSelector(
- getCurrentConnector,
- ({ tasks }) => tasks
- );
- export const getConnectorRunningTasksCount = createSelector(
- getConnectorTasks,
- (tasks) =>
- tasks.filter((task) => task.status?.state === ConnectorTaskStatus.RUNNING)
- .length
- );
- export const getConnectorFailedTasksCount = createSelector(
- getConnectorTasks,
- (tasks) =>
- tasks.filter((task) => task.status?.state === ConnectorTaskStatus.FAILED)
- .length
- );
- const getConnectorConfigFetchingStatus = createFetchingSelector(
- fetchConnectorConfig.typePrefix
- );
- export const getIsConnectorConfigFetching = createSelector(
- getConnectorConfigFetchingStatus,
- (status) => status === 'pending'
- );
- export const getConnectorConfig = createSelector(
- getCurrentConnector,
- ({ config }) => config
- );
- export const getConnectorSearch = createSelector(
- connectState,
- (state) => state.search
- );
|