import { isEmail, isEmpty } from 'validator';
import { NodeOperationError } from 'n8n-workflow';

export function validateRequiredString(
	klass: any,
	value: any,
	fieldName: string,
): string {
	if (isEmpty(value.trim())) {
		throw new NodeOperationError(klass.getNode(), `The field "${fieldName}" is required and must be a non-empty string.`);
	}
	return value;
}

export function validateEmail(
	klass: any,
	value: any,
	fieldName: string,
): string {
	if (!isEmail(value.trim())) {
		throw new NodeOperationError(klass.getNode(), `The field "${fieldName}" is not a valid email.`);
	}

	return value;
}
