import { INodeProperties } from 'n8n-workflow';

/**
 * Parameters for createSite operation
 */
export const createSiteDescription: INodeProperties[] = [
	{
		displayName: 'Site Name',
		name: 'site_name',
		type: 'string',
		required: true,
		default: '',
		description: 'Name of the site to create',
		displayOptions: {
			show: {
				operation: ['createSite'],
				resource: ['site'],
				domain: ['monitoring'],
			},
		},
	},
	{
		displayName: 'Location Type',
		name: 'location_type',
		type: 'options',
		options: [
			{
				name: 'Address',
				value: 'address',
			},
			{
				name: 'Geolocation',
				value: 'geolocation',
			},
		],
		default: 'address',
		description: 'Type of location information to provide',
		displayOptions: {
			show: {
				operation: ['createSite'],
				resource: ['site'],
				domain: ['monitoring'],
			},
		},
	},
	{
		displayName: 'Address',
		name: 'address',
		type: 'string',
		default: '',
		description: 'Street address for the site',
		displayOptions: {
			show: {
				operation: ['createSite'],
				resource: ['site'],
				domain: ['monitoring'],
				location_type: ['address'],
			},
		},
	},
	{
		displayName: 'City',
		name: 'city',
		type: 'string',
		default: '',
		description: 'City for the site address',
		displayOptions: {
			show: {
				operation: ['createSite'],
				resource: ['site'],
				domain: ['monitoring'],
				location_type: ['address'],
			},
		},
	},
	{
		displayName: 'State',
		name: 'state',
		type: 'string',
		default: '',
		description: 'State for the site address',
		displayOptions: {
			show: {
				operation: ['createSite'],
				resource: ['site'],
				domain: ['monitoring'],
				location_type: ['address'],
			},
		},
	},
	{
		displayName: 'Country',
		name: 'country',
		type: 'string',
		default: '',
		description: 'Country for the site address',
		displayOptions: {
			show: {
				operation: ['createSite'],
				resource: ['site'],
				domain: ['monitoring'],
				location_type: ['address'],
			},
		},
	},
	{
		displayName: 'Zipcode',
		name: 'zipcode',
		type: 'string',
		default: '',
		description: 'Zipcode for the site address',
		displayOptions: {
			show: {
				operation: ['createSite'],
				resource: ['site'],
				domain: ['monitoring'],
				location_type: ['address'],
			},
		},
	},
	{
		displayName: 'Latitude',
		name: 'latitude',
		type: 'string',
		default: '',
		description: 'Latitude coordinates (between -90 and 90)',
		required: true,
		displayOptions: {
			show: {
				operation: ['createSite'],
				resource: ['site'],
				domain: ['monitoring'],
				location_type: ['geolocation'],
			},
		},
	},
	{
		displayName: 'Longitude',
		name: 'longitude',
		type: 'string',
		default: '',
		description: 'Longitude coordinates (between -180 and 180)',
		required: true,
		displayOptions: {
			show: {
				operation: ['createSite'],
				resource: ['site'],
				domain: ['monitoring'],
				location_type: ['geolocation'],
			},
		},
	},
];
