import { INodeProperties } from 'n8n-workflow';
import { addDescriptions } from '../../../helpers/deduplicate';
import { getConnectivityGlobalDescription } from './operations/getConnectivityGlobal.descriptions';
import { getConnectivitySiteDescription } from './operations/getConnectivitySite.descriptions';
import { getConnectivityGroupDescription } from './operations/getConnectivityGroup.descriptions';

/**
 * Operation selector for the connectivity resource
 */
export const connectivityOperationSelector: INodeProperties = {
	displayName: 'Operation',
	name: 'operation',
	type: 'options',
	noDataExpression: true,
	displayOptions: {
		show: {
			resource: ['connectivity'],
			domain: ['aiops'],
		},
	},
	options: [
		{
			name: 'Wi-Fi Connectivity at Global',
			value: 'getConnectivityGlobal',
			description: 'Get overall connectivity information for a given time duration',
			action: 'Get Wi-Fi connectivity at global',
		},
		{
			name: 'Wi-Fi Connectivity at Site',
			value: 'getConnectivitySite',
			description: 'Get connectivity information for a specific site',
			action: 'Get Wi-Fi connectivity at site',
		},
		{
			name: 'Wi-Fi Connectivity at Group',
			value: 'getConnectivityGroup',
			description: 'Get connectivity information for a specific group',
			action: 'Get Wi-Fi connectivity at group',
		},
	],
	default: 'getConnectivityGlobal',
};

// Combined descriptions for all operations in this resource
export const connectivityDescriptions: INodeProperties[] = [connectivityOperationSelector];

// Add each operation's descriptions
addDescriptions(connectivityDescriptions, getConnectivityGlobalDescription);
addDescriptions(connectivityDescriptions, getConnectivitySiteDescription);
addDescriptions(connectivityDescriptions, getConnectivityGroupDescription);
