import { INodeProperties } from 'n8n-workflow';
import { addDescriptions } from '../../../helpers/deduplicate';
import { getDevicesDescription } from './operations/getDevices.descriptions';
import { getDeviceDescription } from './operations/getDevice.descriptions';

export const resourceOperationSelector: INodeProperties = {
	displayName: 'Operation',
	name: 'operation',
	type: 'options',
	noDataExpression: true,
	displayOptions: {
		show: {
			resource: ['device'],
			domain: ['firmware'],
		},
	},
	options: [
		{
			name: 'Get Firmware Devices',
			value: 'getDevices',
			description: 'Get a list of devices with their firmware details',
			action: 'Get a list of devices with firmware details',
		},
		{
			name: 'Get Firmware Device',
			value: 'getDevice',
			description: 'Get firmware details for a specific device',
			action: 'Get firmware details for a specific device',
		},
	],
	default: 'getDevices',
};

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

// Add each operation's descriptions
addDescriptions(resourceDescriptions, getDevicesDescription);
addDescriptions(resourceDescriptions, getDeviceDescription);
