COURTRIX / src /server /courts /service.ts
Ali-Developments's picture
Upload 125 files
ad79323 verified
Raw
History Blame Contribute Delete
927 Bytes
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;
}