import { ObjektClient } from "#components/Ausweis/types.js";
import { memoize } from "src/lib/Memoization.js";
import { AuditType, hidden } from "../audits/hidden.js";
import { api } from "astro-typesafe-api/client";

export const auditPlzNichtErkannt = memoize(
	async (gebaeude: ObjektClient) => {
		if (gebaeude.plz) {
			if (gebaeude.plz.length == 5) {
				try {
					const result = await api.postleitzahlen.GET.fetch({
						plz: gebaeude.plz,
						limit: 1,
					});

					if (result.length > 0) {
						return false;
					}
				} catch (e) {
					if (!hidden.has(AuditType.PLZ_NICHT_ERKANNT)) {
						return true;
					}
				}
			}
		}

		return false;
	}
);
