import { EPOST_REGEX, ledetekst, TELEFONNUMMER_REGEX } from '..'; import { Soknad } from '../domene/Soknad'; export function validerSoknadsinformasjon(soknad: Soknad) { const vegarbeid = soknad?.vegarbeid ?? {}; const manglerProsjekttittel = (soknad?.prosjekttittel ?? '').length === 0; const plantypeIkkeValgt = !vegarbeid.plantype; const kontaktForSoknad = vegarbeid?.kontakter?.find( (kontakt) => kontakt.aktortype === 'KONTAKT_FOR_SOKER' ) || undefined; const kontaktinfo = kontaktForSoknad?.kontaktinformasjon; const manglerInformasjon = !kontaktForSoknad?.fornavn || !kontaktForSoknad?.etternavn || !kontaktinfo?.mobiltelefonnummer || !kontaktinfo?.epostadresse; // Denne siste valideringen er unødvendig hvis kun gyldig informasjon blir lagret // i søknads-objektet. Denne kan fjernes når dette er i orden const ugyldigInformasjon = !EPOST_REGEX.test(kontaktinfo?.epostadresse ?? '') || !TELEFONNUMMER_REGEX.test(kontaktinfo?.mobiltelefonnummer ?? '') || (soknad.prosjekttittel || '').length > 60; if (manglerProsjekttittel || plantypeIkkeValgt || manglerInformasjon) { return ledetekst.getTekst( 'arbeidsvarsling.soknad.Oppsummering.ufullstendig.soknadsinformasjon' ); } if (ugyldigInformasjon) { return ledetekst.getTekst( 'arbeidsvarsling.soknad.Oppsummering.ufullstendig.ugyldig' ); } return ''; }