import { AppError } from "@/server/errors"; import { courtDirectory } from "@/server/courts/data"; function sortArabic(values: string[]) { return values.sort((first, second) => first.localeCompare(second, "ar")); } export function listGovernorates() { return sortArabic([...new Set(courtDirectory.map((entry) => entry.governorate))]); } export function listCourtsByGovernorate(governorate: string) { return courtDirectory .filter((entry) => entry.governorate === governorate) .sort((first, second) => first.courtName.localeCompare(second.courtName, "ar")); } export function getCourtByGovernorateAndName( governorate: string, courtName: string, ) { const court = courtDirectory.find( (entry) => entry.governorate === governorate && entry.courtName === courtName, ); if (!court) { throw new AppError("المحكمة المختارة غير موجودة.", 400); } return court; }