// api/rapids/shared/rapids.helpers.ts
/**
 * Build time-related query parameters for RAPIDS API
 *
 * @param timeRange Time range parameters from node input
 * @returns Formatted query parameters object
 */
export function buildTimeParams(timeRange: any): Record<string, any> {
	const params: Record<string, any> = {};

	if (timeRange.from_timestamp) {
		// Convert to epoch in seconds (API expects seconds)
		params.from_timestamp = Math.floor(new Date(timeRange.from_timestamp).getTime() / 1000);
	}

	if (timeRange.to_timestamp) {
		// Convert to epoch in seconds (API expects seconds)
		params.to_timestamp = Math.floor(new Date(timeRange.to_timestamp).getTime() / 1000);
	}

	return params;
}

/**
 * Validate MAC address format
 *
 * @param mac MAC address to validate
 * @returns boolean indicating if the MAC address is valid
 */
export function isValidMacAddress(mac: string): boolean {
	const macRegex = /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/;
	return macRegex.test(mac);
}

/**
 * Format epoch timestamp to ISO string for display
 *
 * @param timestamp Epoch timestamp in milliseconds
 * @returns ISO date string
 */
export function formatEpochToISOString(timestamp: number): string {
	return new Date(timestamp).toISOString();
}
