Unnötige Dateien entfernt
This commit is contained in:
@@ -1,42 +0,0 @@
|
|||||||
import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
|
|
||||||
import { z } from "zod";
|
|
||||||
import { verbrauchsausweisWohnenPDFValidator } from "./validators/verbrauchsausweis-wohnen-pdf-validator";
|
|
||||||
|
|
||||||
export function convertAusweisData(
|
|
||||||
inputs: Partial<VerbrauchsausweisWohnenClient>
|
|
||||||
): Record<string, string> {
|
|
||||||
// Wir wollen alle Werte zu einem Flachen Objekt umwandeln, sodass wir dass später benutzen können.
|
|
||||||
// Dazu kommen noch einige wichtige Eigenschaften die man im PDF brauchen könnte.
|
|
||||||
let pdfInputs: z.infer<typeof verbrauchsausweisWohnenPDFValidator> = {
|
|
||||||
...inputs,
|
|
||||||
pdf: {
|
|
||||||
"brennstoff": [inputs.aufnahme?.brennstoff_1, inputs.aufnahme?.brennstoff_2].filter(x => x).join(", ")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let result = recursiveFlatten(inputs, "");
|
|
||||||
// Außerdem müssen wir alle Werte zu strings umwandeln.
|
|
||||||
for (const key in result) {
|
|
||||||
result[key] = String(result[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function recursiveFlatten(obj: any, parentKey = ""): Record<string, string> {
|
|
||||||
const result: Record<string, string> = {};
|
|
||||||
|
|
||||||
for (const key in obj) {
|
|
||||||
const value = obj[key];
|
|
||||||
|
|
||||||
const newKey = parentKey ? `${parentKey}.${key}` : key;
|
|
||||||
|
|
||||||
if (typeof value === "object") {
|
|
||||||
Object.assign(result, recursiveFlatten(value, newKey));
|
|
||||||
} else {
|
|
||||||
result[newKey] = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
@@ -1,255 +0,0 @@
|
|||||||
import {
|
|
||||||
VerbrauchsausweisWohnenSchema,
|
|
||||||
AufnahmeSchema,
|
|
||||||
ObjektSchema,
|
|
||||||
BildSchema,
|
|
||||||
RechnungSchema,
|
|
||||||
EventSchema,
|
|
||||||
BenutzerSchema,
|
|
||||||
GebaeudePlaeneSchema,
|
|
||||||
AnteilshaberSchema,
|
|
||||||
BedarfsausweisWohnenSchema,
|
|
||||||
VerbrauchsausweisGewerbeSchema
|
|
||||||
} from "#lib/client/prisma";
|
|
||||||
import { z } from "zod";
|
|
||||||
|
|
||||||
export const RechnungValidator = RechnungSchema.omit({
|
|
||||||
aufnahme_id: true,
|
|
||||||
id: true,
|
|
||||||
benutzer_id: true
|
|
||||||
})
|
|
||||||
|
|
||||||
export const GebaeudePlaeneValidator = GebaeudePlaeneSchema.omit({
|
|
||||||
id: true,
|
|
||||||
objekt_id: true
|
|
||||||
})
|
|
||||||
|
|
||||||
export const AnteilshaberValidator = AnteilshaberSchema.omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true,
|
|
||||||
objekt_id: true
|
|
||||||
})
|
|
||||||
|
|
||||||
export const BildValidator = BildSchema.omit({
|
|
||||||
id: true,
|
|
||||||
objekt_id: true
|
|
||||||
})
|
|
||||||
|
|
||||||
export const AufnahmeValidator = AufnahmeSchema.omit({
|
|
||||||
id: true,
|
|
||||||
benutzer_id: true,
|
|
||||||
objekt_id: true,
|
|
||||||
}).merge(
|
|
||||||
z.object({
|
|
||||||
verbrauchsausweis_wohnen: VerbrauchsausweisWohnenSchema.omit({
|
|
||||||
id: true,
|
|
||||||
benutzer_id: true,
|
|
||||||
aufnahme_id: true,
|
|
||||||
}).nullable(),
|
|
||||||
bedarfsausweis_wohnen: VerbrauchsausweisWohnenSchema.omit({
|
|
||||||
id: true,
|
|
||||||
benutzer_id: true,
|
|
||||||
aufnahme_id: true,
|
|
||||||
}).nullable(),
|
|
||||||
verbrauchsausweis_gewerbe: VerbrauchsausweisWohnenSchema.omit({
|
|
||||||
id: true,
|
|
||||||
benutzer_id: true,
|
|
||||||
aufnahme_id: true,
|
|
||||||
}).nullable(),
|
|
||||||
rechnungen: z.array(
|
|
||||||
RechnungValidator
|
|
||||||
),
|
|
||||||
events: z.array(
|
|
||||||
EventSchema.omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true,
|
|
||||||
}).merge(
|
|
||||||
z.object({
|
|
||||||
benutzer: BenutzerSchema.pick({ uid: true }),
|
|
||||||
})
|
|
||||||
)
|
|
||||||
),
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
export const ObjektValidator = ObjektSchema.omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true
|
|
||||||
}).merge(z.object({
|
|
||||||
aufnahme: z.array(
|
|
||||||
AufnahmeValidator
|
|
||||||
).nullable().optional(),
|
|
||||||
bilder: z.array(
|
|
||||||
BildValidator
|
|
||||||
).nullable().optional(),
|
|
||||||
gebaeude_plaene: z.array(
|
|
||||||
GebaeudePlaeneValidator
|
|
||||||
).nullable().optional(),
|
|
||||||
Anteilshaber: z.array(
|
|
||||||
AnteilshaberValidator
|
|
||||||
).nullable().optional()
|
|
||||||
}))
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Runtime überprüfung für den Verbrauchsausweis Wohnen
|
|
||||||
* Dieser Typ beinhaltet alle Daten bis auf die IDs aller Verlinkungen.
|
|
||||||
*/
|
|
||||||
export const VerbrauchsausweisWohnenValidator =
|
|
||||||
VerbrauchsausweisWohnenSchema.merge(
|
|
||||||
z.object({
|
|
||||||
benutzer: BenutzerSchema.omit({
|
|
||||||
id: true,
|
|
||||||
passwort: true
|
|
||||||
}),
|
|
||||||
aufnahme: AufnahmeSchema.omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
objekt_id: true,
|
|
||||||
id: true,
|
|
||||||
}).merge(
|
|
||||||
z.object({
|
|
||||||
objekt: ObjektSchema.omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true,
|
|
||||||
}).merge(
|
|
||||||
z.object({
|
|
||||||
bilder: z.array(
|
|
||||||
BildSchema.omit({
|
|
||||||
id: true,
|
|
||||||
objekt_id: true,
|
|
||||||
})
|
|
||||||
)
|
|
||||||
})
|
|
||||||
),
|
|
||||||
rechnungen: RechnungSchema.omit({
|
|
||||||
aufnahme_id: true,
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true,
|
|
||||||
}).array(),
|
|
||||||
events: z.array(
|
|
||||||
EventSchema.omit({
|
|
||||||
aufnahme_id: true,
|
|
||||||
id: true,
|
|
||||||
benutzer_id: true
|
|
||||||
}).merge(z.object({
|
|
||||||
benutzer: BenutzerSchema.pick({
|
|
||||||
uid: true
|
|
||||||
})
|
|
||||||
}))
|
|
||||||
)
|
|
||||||
})
|
|
||||||
)
|
|
||||||
})
|
|
||||||
).omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true,
|
|
||||||
aufnahme_id: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
export const VerbrauchsausweisWohnenBerechnungValidator2024 = z.object({
|
|
||||||
endEnergieVerbrauchGesamt: z.number(),
|
|
||||||
primaerEnergieVerbrauchGesamt: z.number(),
|
|
||||||
energieEffizienzKlasse: z.string(),
|
|
||||||
co2EmissionenGesamt: z.number()
|
|
||||||
})
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Runtime überprüfung für den Verbrauchsausweis Wohnen
|
|
||||||
* Dieser Typ beinhaltet alle Daten bis auf die IDs aller Verlinkungen.
|
|
||||||
*/
|
|
||||||
export const BedarfsausweisWohnenValidator =
|
|
||||||
BedarfsausweisWohnenSchema.merge(
|
|
||||||
z.object({
|
|
||||||
aufnahme: AufnahmeSchema.omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
objekt_id: true,
|
|
||||||
id: true,
|
|
||||||
}).merge(
|
|
||||||
z.object({
|
|
||||||
objekt: ObjektSchema.omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true,
|
|
||||||
}).merge(
|
|
||||||
z.object({
|
|
||||||
bilder: z.array(
|
|
||||||
BildSchema.omit({
|
|
||||||
id: true,
|
|
||||||
objekt_id: true,
|
|
||||||
})
|
|
||||||
)
|
|
||||||
})
|
|
||||||
),
|
|
||||||
rechnungen: RechnungSchema.omit({
|
|
||||||
aufnahme_id: true,
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true,
|
|
||||||
}).array(),
|
|
||||||
events: z.array(
|
|
||||||
EventSchema.omit({
|
|
||||||
aufnahme_id: true,
|
|
||||||
id: true,
|
|
||||||
benutzer_id: true
|
|
||||||
}).merge(z.object({
|
|
||||||
benutzer: BenutzerSchema.pick({
|
|
||||||
uid: true
|
|
||||||
})
|
|
||||||
}))
|
|
||||||
)
|
|
||||||
})
|
|
||||||
)
|
|
||||||
})
|
|
||||||
).omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true,
|
|
||||||
aufnahme_id: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Runtime überprüfung für den Verbrauchsausweis Wohnen
|
|
||||||
* Dieser Typ beinhaltet alle Daten bis auf die IDs aller Verlinkungen.
|
|
||||||
*/
|
|
||||||
export const VerbrauchsausweisGewerbeValidator =
|
|
||||||
VerbrauchsausweisGewerbeSchema.merge(
|
|
||||||
z.object({
|
|
||||||
aufnahme: AufnahmeSchema.omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
objekt_id: true,
|
|
||||||
id: true,
|
|
||||||
}).merge(
|
|
||||||
z.object({
|
|
||||||
objekt: ObjektSchema.omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true,
|
|
||||||
}).merge(
|
|
||||||
z.object({
|
|
||||||
bilder: z.array(
|
|
||||||
BildSchema.omit({
|
|
||||||
id: true,
|
|
||||||
objekt_id: true,
|
|
||||||
})
|
|
||||||
)
|
|
||||||
})
|
|
||||||
),
|
|
||||||
rechnungen: RechnungSchema.omit({
|
|
||||||
aufnahme_id: true,
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true,
|
|
||||||
}).array(),
|
|
||||||
events: z.array(
|
|
||||||
EventSchema.omit({
|
|
||||||
aufnahme_id: true,
|
|
||||||
id: true,
|
|
||||||
benutzer_id: true
|
|
||||||
}).merge(z.object({
|
|
||||||
benutzer: BenutzerSchema.pick({
|
|
||||||
uid: true
|
|
||||||
})
|
|
||||||
}))
|
|
||||||
)
|
|
||||||
})
|
|
||||||
)
|
|
||||||
})
|
|
||||||
).omit({
|
|
||||||
benutzer_id: true,
|
|
||||||
id: true,
|
|
||||||
aufnahme_id: true,
|
|
||||||
});
|
|
||||||
Reference in New Issue
Block a user