import { INodeProperties } from 'n8n-workflow';
import { addDescriptions } from '../../../helpers/deduplicate';
import { getInfoDescription } from './operations/getInfo.descriptions';
import { postUsageDescription } from './operations/postUsage.descriptions';

/**
 * Operation selector for the vpn resource
 */
export const vpnOperationSelector: INodeProperties = {
	displayName: 'Operation',
	name: 'operation',
	type: 'options',
	noDataExpression: true,
	displayOptions: {
		show: {
			resource: ['vpn'],
			domain: ['monitoring'],
		},
	},
	options: [
		{
			name: 'Get Info',
			value: 'getInfo',
			description: 'Vpn Details',
			action: 'Get Info',
		},
		{
			name: 'Post Usage',
			value: 'postUsage',
			description: 'Swarm VPN stats',
			action: 'Create post usage',
		},
	],
	default: 'getInfo',
};

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

// Add each operation's descriptions
addDescriptions(vpnDescriptions, getInfoDescription);
addDescriptions(vpnDescriptions, postUsageDescription);
