import { Soknad } from '../domene/Soknad'; import { validerArbeidsbeskrivelse } from './ArbeidsbeskrivelseValidering'; import { validerKontaktinformasjon } from './KontaktinformasjonValidering'; import { validerSoknadsinformasjon } from './SoknadsinformasjonValidering'; import { validerSted } from './StedValidering'; import { validerVarslingsplan } from './VarslingsplanValidering'; import { validerVegarbeidperiode } from './VegarbeidperiodeValidering'; interface PunktGyldighet { [punkt: string]: string[]; } export function validerSoknad(soknad: Soknad): PunktGyldighet | null { if (!soknad) return null; const feilmeldinger: PunktGyldighet = { soknadsinformasjon: [validerSoknadsinformasjon(soknad)].filter( filterEmptyString ), omrade: [validerSted(soknad)].filter(filterEmptyString), risikoforhold: [validerArbeidsbeskrivelse(soknad)].filter( filterEmptyString ), skisse: [validerVarslingsplan(soknad)].filter(filterEmptyString), periode: [validerVegarbeidperiode(soknad)].filter(filterEmptyString), kontaktinformasjon: [validerKontaktinformasjon(soknad)].filter( filterEmptyString ), }; return feilmeldinger; } function filterEmptyString(value: string): boolean { return value?.length !== 0; }