import { IExecuteFunctions } from 'n8n-workflow';
import { logger } from '../../../helpers/logger';
import { getConnectivityGlobal } from './operations/getConnectivityGlobal.methods';
import { getConnectivitySite } from './operations/getConnectivitySite.methods';
import { getConnectivityGroup } from './operations/getConnectivityGroup.methods';

/**
 * All operations available for the connectivity resource
 */
export const connectivityOperations = {
	getConnectivityGlobal,
	getConnectivitySite,
	getConnectivityGroup,
};

/**
 * Check if a connectivity operation exists
 * @param operation Operation name to check
 * @returns boolean indicating if the operation exists
 */
export function hasConnectivityOperation(operation: string): boolean {
	const exists = !!connectivityOperations[operation as keyof typeof connectivityOperations];
	logger.debug(
		'aiops:connectivity:check',
		`Operation "${operation}" ${exists ? 'exists' : 'does not exist'}`,
	);
	return exists;
}
