import { INodeProperties } from 'n8n-workflow';
import { addDescriptions } from '../../../helpers/deduplicate';
import { getSwarmsDescription } from './operations/getSwarms.descriptions';
import { getSwarmDescription } from './operations/getSwarm.descriptions';

export const resourceOperationSelector: INodeProperties = {
	displayName: 'Operation',
	name: 'operation',
	type: 'options',
	noDataExpression: true,
	displayOptions: {
		show: {
			resource: ['swarm'],
			domain: ['firmware'],
		},
	},
	options: [
		{
			name: 'Get Firmware Swarms',
			value: 'getSwarms',
			description: 'Get a list of swarms with their firmware details',
			action: 'Get a list of swarms with firmware details',
		},
		{
			name: 'Get Firmware Swarm',
			value: 'getSwarm',
			description: 'Get firmware details for a specific swarm',
			action: 'Get firmware details for a specific swarm',
		},
	],
	default: 'getSwarms',
};

export const resourceDescriptions: INodeProperties[] = [resourceOperationSelector];

// Add each operation's descriptions
addDescriptions(resourceDescriptions, getSwarmsDescription);
addDescriptions(resourceDescriptions, getSwarmDescription);
