mirror of
				https://github.com/i701/sarlink-portal.git
				synced 2025-11-04 06:26:59 +00:00 
			
		
		
		
	
		
			All checks were successful
		
		
	
	Build and Push Docker Images / Build and Push Docker Images (push) Successful in 11m8s
				
			
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { type ClassValue, clsx } from "clsx";
 | 
						|
import { twMerge } from "tailwind-merge";
 | 
						|
 | 
						|
export function cn(...inputs: ClassValue[]) {
 | 
						|
	return twMerge(clsx(inputs));
 | 
						|
}
 | 
						|
 | 
						|
export const formatDate = (date: Date): string => {
 | 
						|
	const pad = (num: number): string => num.toString().padStart(2, "0");
 | 
						|
 | 
						|
	const year = date.getFullYear();
 | 
						|
	const month = pad(date.getMonth() + 1); // Months are zero-based
 | 
						|
	const day = pad(date.getDate());
 | 
						|
	const hours = pad(date.getHours());
 | 
						|
	const minutes = pad(date.getMinutes() + 5);
 | 
						|
 | 
						|
	return `${year}-${month}-${day} ${hours}:${minutes}`;
 | 
						|
};
 | 
						|
 | 
						|
export const formatMacAddress = (mac: string): string => {
 | 
						|
	const formatted = mac
 | 
						|
		.replace(/[^A-Fa-f0-9]/g, "")
 | 
						|
		.toUpperCase()
 | 
						|
		.match(/.{2}/g);
 | 
						|
 | 
						|
	// Provide a fallback if formatted is null
 | 
						|
	return formatted ? formatted.join("-") : "";
 | 
						|
};
 | 
						|
 | 
						|
export function validateApiKey(request: Request) {
 | 
						|
	// Get API key from environment variable
 | 
						|
	const validApiKey = process.env.CRON_API_KEY;
 | 
						|
 | 
						|
	if (!validApiKey) {
 | 
						|
		throw new Error("CRON_API_KEY is not configured");
 | 
						|
	}
 | 
						|
 | 
						|
	// Get API key from request header
 | 
						|
	const apiKey = request.headers.get("x-api-key");
 | 
						|
 | 
						|
	if (!apiKey) {
 | 
						|
		throw new Error("API key is missing");
 | 
						|
	}
 | 
						|
 | 
						|
	if (apiKey !== validApiKey) {
 | 
						|
		throw new Error("Invalid API key");
 | 
						|
	}
 | 
						|
}
 |