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