diff --git a/apps/arbeidsforhold-service/Dockerfile b/apps/arbeidsforhold-service/Dockerfile deleted file mode 100644 index 65bd1527b96..00000000000 --- a/apps/arbeidsforhold-service/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -ADD /build/libs/app.jar /app/app.jar - -ENV JAVA_OPTS="-Dspring.profiles.active=prod" - -EXPOSE 8080 diff --git a/apps/arbeidsforhold-service/README.md b/apps/arbeidsforhold-service/README.md deleted file mode 100644 index e25476ca6ec..00000000000 --- a/apps/arbeidsforhold-service/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# testnav-arbeidsforhold-service -API for arbeidsforhold som hentes fra testnav-aareg-proxy. - -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [Secret Manager.](../../docs/local_secretmanager.md) \ No newline at end of file diff --git a/apps/arbeidsforhold-service/build.gradle b/apps/arbeidsforhold-service/build.gradle deleted file mode 100644 index d63025e02c3..00000000000 --- a/apps/arbeidsforhold-service/build.gradle +++ /dev/null @@ -1,34 +0,0 @@ -plugins { - id "dolly-apps" -} - -sonarqube { - properties { - property "sonar.projectKey", "testnav-arbeidsforhold-service" - property "sonar.projectName", "testnav-arbeidsforhold-service" - } -} - -dependencies { - implementation "no.nav.testnav.libs:commands" - implementation "no.nav.testnav.libs:data-transfer-objects" - implementation "no.nav.testnav.libs:reactive-core" - implementation "no.nav.testnav.libs:security-core" - implementation "no.nav.testnav.libs:servlet-core" - implementation "no.nav.testnav.libs:servlet-security" - - implementation "org.springframework.boot:spring-boot-starter-oauth2-client" - implementation "org.springframework.boot:spring-boot-starter-security" - implementation "org.springframework.boot:spring-boot-starter-web" - - implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-xml" - implementation "com.google.guava:guava:$versions.guava" - implementation "io.swagger.core.v3:swagger-annotations-jakarta:$versions.swagger" - implementation "jakarta.xml.bind:jakarta.xml.bind-api:$versions.jakartaXmlBindApi" - implementation "javax.activation:activation:$versions.javaxActivation" - implementation "javax.annotation:javax.annotation-api:$versions.javaxAnnotation" - implementation "org.glassfish.jaxb:jaxb-runtime:$versions.jaxb" - implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:$versions.springdoc" - - testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" -} diff --git a/apps/arbeidsforhold-service/config.yml b/apps/arbeidsforhold-service/config.yml deleted file mode 100644 index f5ead086d9d..00000000000 --- a/apps/arbeidsforhold-service/config.yml +++ /dev/null @@ -1,66 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-arbeidsforhold-service - namespace: dolly - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - accessPolicy: - inbound: - rules: - - application: team-dolly-lokal-app - cluster: dev-gcp - - application: dolly-backend - cluster: dev-gcp - - application: dolly-backend-dev - cluster: dev-gcp - - application: testnav-oversikt-frontend - cluster: dev-gcp - - application: testnav-synt-sykemelding-api - cluster: dev-gcp - - application: testnav-synt-sykemelding-api-dev - cluster: dev-gcp - outbound: - external: - - host: testnav-aareg-proxy.dev-fss-pub.nais.io - liveness: - path: /internal/isAlive - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/isReady - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 200m - memory: 1024Mi - limits: - memory: 2048Mi - ingresses: - - "https://testnav-arbeidsforhold-service.intern.dev.nav.no" \ No newline at end of file diff --git a/apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.jar b/apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae..00000000000 Binary files a/apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.properties b/apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/apps/arbeidsforhold-service/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/arbeidsforhold-service/gradlew b/apps/arbeidsforhold-service/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/apps/arbeidsforhold-service/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/apps/arbeidsforhold-service/gradlew.bat b/apps/arbeidsforhold-service/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/apps/arbeidsforhold-service/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/apps/arbeidsforhold-service/gradlewUpdate.sh b/apps/arbeidsforhold-service/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/apps/arbeidsforhold-service/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/apps/arbeidsforhold-service/settings.gradle b/apps/arbeidsforhold-service/settings.gradle deleted file mode 100644 index 5dd98b9a66c..00000000000 --- a/apps/arbeidsforhold-service/settings.gradle +++ /dev/null @@ -1,22 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "arbeidsforhold-service" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/commands" -includeBuild "../../libs/data-transfer-objects" -includeBuild "../../libs/reactive-core" -includeBuild "../../libs/security-core" -includeBuild "../../libs/servlet-core" -includeBuild "../../libs/servlet-security" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/ArbeidsforholdApiApplicationStarter.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/ArbeidsforholdApiApplicationStarter.java deleted file mode 100644 index 40cfc905e88..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/ArbeidsforholdApiApplicationStarter.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; - -@SpringBootApplication -public class ArbeidsforholdApiApplicationStarter { - - public static void main(String[] args) { - new SpringApplicationBuilder(ArbeidsforholdApiApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/ApplicationConfig.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/ApplicationConfig.java deleted file mode 100644 index 74a606107ce..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/ApplicationConfig.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -import no.nav.testnav.libs.servletcore.config.ApplicationCoreConfig; - -@Configuration -@Import({ApplicationCoreConfig.class}) -public class ApplicationConfig { -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/Consumers.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/Consumers.java deleted file mode 100644 index 38f7ef3b5f9..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/Consumers.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.config; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import static lombok.AccessLevel.PACKAGE; - -/** - * Samler alle placeholders for ulike {@code consumers.*}-konfigurasjon her, dvs. subklasser av {@code ServerProperties}. - *

- * Husk at Spring Boot bruker relaxed binding - * mellom configuration properties og field names. - * - * @see ServerProperties - */ -@Configuration -@ConfigurationProperties(prefix = "consumers") -@NoArgsConstructor(access = PACKAGE) -@Getter -@Setter(PACKAGE) -public class Consumers { - - private ServerProperties testnavAaregProxy; - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/OpenApiConfig.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/OpenApiConfig.java deleted file mode 100644 index c27724614b8..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/OpenApiConfig.java +++ /dev/null @@ -1,56 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.config; - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import java.util.Arrays; - -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; - -@Configuration -public class OpenApiConfig implements WebMvcConfigurer { - - @Bean - public OpenAPI openApi(ApplicationProperties applicationProperties) { - return new OpenAPI() - .components(new Components().addSecuritySchemes("bearer-jwt", new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name("Authorization") - )) - .addSecurityItem( - new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write"))) - .info(new Info() - .title(applicationProperties.getName()) - .version(applicationProperties.getVersion()) - .description(applicationProperties.getDescription()) - .termsOfService("https://nav.no") - .contact(new Contact() - .url("https://nav-it.slack.com/archives/CA3P9NGA2") - .email("dolly@nav.no") - .name("Team Dolly") - ) - .license(new License() - .name("MIT License") - .url("https://opensource.org/licenses/MIT") - ) - ); - } - - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/swagger").setViewName("redirect:/swagger-ui.html"); - } - -} \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/SecurityConfig.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/SecurityConfig.java deleted file mode 100644 index 224a0415f32..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/config/SecurityConfig.java +++ /dev/null @@ -1,41 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; -import org.springframework.core.annotation.Order; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.web.SecurityFilterChain; - - -@Order(1) -@EnableWebSecurity -@Configuration -@Profile({ "prod", "dev" }) -public class SecurityConfig { - - @Bean - public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { - - httpSecurity.sessionManagement(sessionConfig -> sessionConfig.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(authorizeConfig -> authorizeConfig.requestMatchers( - "/internal/**", - "/webjars/**", - "/swagger-resources/**", - "/v3/api-docs/**", - "/swagger-ui/**", - "/swagger", - "/error", - "/swagger-ui.html" - ).permitAll().requestMatchers("/api/**").fullyAuthenticated()) - .oauth2ResourceServer(oauth2RSConfig -> oauth2RSConfig.jwt(Customizer.withDefaults())); - - return httpSecurity.build(); - } -} - diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/AaregConsumer.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/AaregConsumer.java deleted file mode 100644 index 047258608c0..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/AaregConsumer.java +++ /dev/null @@ -1,81 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer; - -import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.config.Consumers; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.command.GetArbeidstakerArbeidsforholdCommand; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsforholdDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.http.MediaType; -import org.springframework.http.codec.json.Jackson2JsonDecoder; -import org.springframework.http.codec.json.Jackson2JsonEncoder; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.ExchangeStrategies; -import org.springframework.web.reactive.function.client.WebClient; - -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.Optional; - -import static java.util.Objects.nonNull; - -@Slf4j -@Component -public class AaregConsumer { - - private final WebClient webClient; - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - - public AaregConsumer( - Consumers consumers, - TokenExchange tokenExchange, - ObjectMapper objectMapper, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getTestnavAaregProxy(); - this.tokenExchange = tokenExchange; - ExchangeStrategies jacksonStrategy = ExchangeStrategies - .builder() - .codecs( - config -> { - config - .defaultCodecs() - .jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper, MediaType.APPLICATION_JSON)); - config - .defaultCodecs() - .jackson2JsonDecoder(new Jackson2JsonDecoder(objectMapper, MediaType.APPLICATION_JSON)); - }) - .build(); - this.webClient = webClientBuilder - .exchangeStrategies(jacksonStrategy) - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public List getArbeidsforholds(String ident, String miljo) { - var token = tokenExchange.exchange(serverProperties).block(); - if (nonNull(token)) { - return new GetArbeidstakerArbeidsforholdCommand(webClient, miljo, token.getTokenValue(), ident).call(); - } - return new ArrayList<>(); - } - - private List getArbeidsforholds(String ident, String orgnummer, String miljo) { - return getArbeidsforholds(ident, miljo) - .stream() - .filter(Objects::nonNull) - .filter(value -> value.getArbeidsgiver().getOrganisasjonsnummer().equals(orgnummer)) - .toList(); - } - - public Optional getArbeidsforhold(String ident, String orgnummer, String arbeidsforholdId, String miljo) { - return getArbeidsforholds(ident, orgnummer, miljo) - .stream() - .filter(value -> value.getArbeidsforholdId().equals(arbeidsforholdId)) - .findFirst(); - } - -} \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/command/GetArbeidstakerArbeidsforholdCommand.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/command/GetArbeidstakerArbeidsforholdCommand.java deleted file mode 100644 index 383799d0819..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/command/GetArbeidstakerArbeidsforholdCommand.java +++ /dev/null @@ -1,74 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.command; - - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsforholdDTO; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.servletcore.headers.NavHeaders; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.Callable; -import java.util.stream.Collectors; - -import static java.lang.String.format; - -@Slf4j -@RequiredArgsConstructor -public class GetArbeidstakerArbeidsforholdCommand implements Callable> { - - private static final String NAV_PERSON_IDENT = "Nav-Personident"; - private static final String CONSUMER = "Dolly"; - private final WebClient webClient; - private final String miljo; - private final String token; - private final String ident; - - private static String getNavCallId() { - return format("%s %s", CONSUMER, UUID.randomUUID()); - } - - @SneakyThrows - @Override - public List call() { - try { - var arbeidsforhold = webClient - .get() - .uri(builder -> builder - .path("/{miljoe}/api/v1/arbeidstaker/arbeidsforhold") - .queryParam("arbeidsforholdtype", "forenkletOppgjoersordning", "frilanserOppdragstakerHonorarPersonerMm", "maritimtArbeidsforhold", "ordinaertArbeidsforhold") - .build(miljo)) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .header(NAV_PERSON_IDENT, ident) - .header(NavHeaders.NAV_CONSUMER_ID, CONSUMER) - .header(NavHeaders.NAV_CALL_ID, getNavCallId()) - .retrieve() - .bodyToMono(ArbeidsforholdDTO[].class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .block(); - - log.info("Hentet arbeidsforhold fra Aareg: " + Arrays.toString(arbeidsforhold)); - return Arrays.stream(arbeidsforhold).collect(Collectors.toList()); - } catch (WebClientResponseException.NotFound e) { - log.warn("Fant ikke arbeidsforhold for ident {} i miljø {}", ident, miljo); - return Collections.emptyList(); - } catch (WebClientResponseException e) { - log.error( - "Klarer ikke å hente arbeidsforhold for ident: {}. Feilmelding: {}.", - ident, - e.getResponseBodyAsString() - ); - throw e; - } - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AnsettelsesperiodeDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AnsettelsesperiodeDTO.java deleted file mode 100644 index c5a5ba87fbc..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AnsettelsesperiodeDTO.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AnsettelsesperiodeDTO { - PeriodeDTO periode; - String sluttaarsak; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AntallTimerForTimeloennetDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AntallTimerForTimeloennetDTO.java deleted file mode 100644 index fe82949ac39..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/AntallTimerForTimeloennetDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; -import no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.PeriodeDTO; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AntallTimerForTimeloennetDTO { - Double antallTimer; - PeriodeDTO periode; - String rapporteringsperiode; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsavtaleDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsavtaleDTO.java deleted file mode 100644 index abc79022dd7..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsavtaleDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsavtaleDTO { - Float stillingsprosent; - String yrke; - String arbeidstidsordning; - String ansettelsesform; - String fartsomraade; - String skipsregister; - String skipstype; - Float antallTimerPrUke; - LocalDate sistLoennsendring; - LocalDate sistStillingsendring; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdDTO.java deleted file mode 100644 index 86b053c01aa..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDateTime; -import java.util.List; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - AnsettelsesperiodeDTO ansettelsesperiode; - List antallTimerForTimeloennet; - String arbeidsforholdId; - ArbeidsgiverDTO arbeidsgiver; - List arbeidsavtaler; - ArbeidstakerDTO arbeidstaker; - String type; - List permisjonPermitteringer; - LocalDateTime registrert; - List utenlandsopphold; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdoversiktDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdoversiktDTO.java deleted file mode 100644 index cfbfa94cda8..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsforholdoversiktDTO.java +++ /dev/null @@ -1,14 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdoversiktDTO { - Integer navArbeidsforholdId; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsgiverDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsgiverDTO.java deleted file mode 100644 index 05706642404..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidsgiverDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsgiverDTO { - String type; - String organisasjonsnummer; - String ident; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidstakerDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidstakerDTO.java deleted file mode 100644 index 345f27339a5..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/ArbeidstakerDTO.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidstakerDTO { - String type; - String offentligIdent; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PeriodeDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PeriodeDTO.java deleted file mode 100644 index edcb5a6600f..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PeriodeDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PeriodeDTO { - LocalDate fom; - LocalDate tom; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PermisjonPermitteringDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PermisjonPermitteringDTO.java deleted file mode 100644 index ca8b462238a..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/PermisjonPermitteringDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PermisjonPermitteringDTO { - String permisjonPermitteringId; - PeriodeDTO periode; - Float prosent; - String type; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/UtenlandsoppholdDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/UtenlandsoppholdDTO.java deleted file mode 100644 index ba4ad2c7d8e..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/consumer/dto/UtenlandsoppholdDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class UtenlandsoppholdDTO { - String landkode; - PeriodeDTO periode; - String rapporteringsperiode; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Aktoer.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Aktoer.java deleted file mode 100644 index ec68439e040..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Aktoer.java +++ /dev/null @@ -1,7 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -public enum Aktoer { - - ORGANISASJON, - PERSON -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Ansettelsesperiode.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Ansettelsesperiode.java deleted file mode 100644 index 320570b8a77..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Ansettelsesperiode.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.AnsettelsesperiodeDTO; - -@AllArgsConstructor -public class Ansettelsesperiode { - - private final AnsettelsesperiodeDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.AnsettelsesperiodeDTO toDTO() { - var builder = no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.AnsettelsesperiodeDTO.builder(); - - return builder - .periode(dto.getPeriode() == null ? null : new Periode(dto.getPeriode()).toDTO()) - .sluttaarsak(dto.getSluttaarsak()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/AntallTimerForTimeloennet.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/AntallTimerForTimeloennet.java deleted file mode 100644 index 03f1de09efd..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/AntallTimerForTimeloennet.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.AntallTimerForTimeloennetDTO; - -@AllArgsConstructor -public class AntallTimerForTimeloennet { - private final AntallTimerForTimeloennetDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.AntallTimerForTimeloennetDTO toDTO(){ - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.AntallTimerForTimeloennetDTO - .builder() - .build(); - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsavtale.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsavtale.java deleted file mode 100644 index 5289dd76371..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsavtale.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsavtaleDTO; - -@AllArgsConstructor -public class Arbeidsavtale { - - private final ArbeidsavtaleDTO dto; - - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsavtaleDTO toDTO() { - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsavtaleDTO - .builder() - .ansettelsesform(dto.getAnsettelsesform()) - .antallTimerPrUke(toDouble(dto.getAntallTimerPrUke())) - .stillingsprosent(toDouble(dto.getStillingsprosent())) - .arbeidstidsordning(dto.getArbeidstidsordning()) - .sisteLoennsendringsdato(dto.getSistLoennsendring()) - .sistStillingsendring(dto.getSistStillingsendring()) - .build(); - } - - private Double toDouble(Float value){ - return value == null ? null : value.doubleValue(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsforhold.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsforhold.java deleted file mode 100644 index 8ba86f48acc..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsforhold.java +++ /dev/null @@ -1,85 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsforholdDTO; -import no.nav.registre.testnorge.arbeidsforholdservice.exception.ArbeidsforholdNotFoundException; - -@Slf4j -@AllArgsConstructor -public class Arbeidsforhold { - - private final ArbeidsforholdDTO dto; - - public no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO toV1DTO() { - - if (dto.getArbeidsavtaler().isEmpty()) { - throw new ArbeidsforholdNotFoundException("Finner ikke arbeidsforhold"); - } - - if (dto.getArbeidsavtaler().size() > 1) { - log.warn("Fant flere arbeidsavtaler. Velger den første i listen"); - } - - - var arbeidsavtale = dto.getArbeidsavtaler().get(0); - - return no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO - .builder() - .arbeidsforholdId(dto.getArbeidsforholdId()) - .stillingsprosent(arbeidsavtale.getStillingsprosent()) - .yrke(arbeidsavtale.getYrke()) - .arbeidstidsordning(arbeidsavtale.getArbeidstidsordning()) - .antallTimerPrUke(arbeidsavtale.getAntallTimerPrUke()) - .sistLoennsendring(arbeidsavtale.getSistLoennsendring()) - .fom(dto.getAnsettelsesperiode().getPeriode().getFom()) - .tom(dto.getAnsettelsesperiode().getPeriode().getTom()) - .ident(dto.getArbeidstaker().getOffentligIdent()) - .type(dto.getType()) - .build(); - } - - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsforholdDTO toV2DTO() { - - var antallImerForTimeloennetList = dto.getAntallTimerForTimeloennet() == null ? - null : - dto.getAntallTimerForTimeloennet() - .stream() - .map(AntallTimerForTimeloennet::new) - .map(AntallTimerForTimeloennet::toDTO) - .toList(); - - var utenlandsopphold = dto.getUtenlandsopphold() == null ? - null : - dto.getUtenlandsopphold() - .stream() - .map(Utenlandsopphold::new) - .map(Utenlandsopphold::toDTO) - .toList(); - - var permisjoner = dto.getPermisjonPermitteringer() == null ? - null : - dto.getPermisjonPermitteringer() - .stream() - .map(Permisjon::new) - .map(Permisjon::toDTO) - .toList(); - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsforholdDTO - .builder() - .type(dto.getType()) - .arbeidsforholdId(dto.getArbeidsforholdId()) - .antallTimerForTimeloennet(antallImerForTimeloennetList) - .arbeidsgiver(new Arbeidsgiver(dto.getArbeidsgiver()).toDTO()) - .ansettelsesperiode(new Ansettelsesperiode(dto.getAnsettelsesperiode()).toDTO()) - .arbeidsavtaler(dto.getArbeidsavtaler().stream().map(Arbeidsavtale::new).map(Arbeidsavtale::toDTO) - .toList()) - .fartoy(dto.getArbeidsavtaler().get(0).getSkipstype() == null ? null : new Fartoy(dto.getArbeidsavtaler().get(0)).toDTO()) - .arbeidstaker(new Arbeidstaker(dto.getArbeidstaker()).toDTO()) - .utenlandsopphold(utenlandsopphold) - .permisjonPermitteringer(permisjoner) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsgiver.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsgiver.java deleted file mode 100644 index 56c2cc84ee4..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidsgiver.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsgiverDTO; - -@AllArgsConstructor -public class Arbeidsgiver { - - private final ArbeidsgiverDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsgiverDTO toDTO() { - var builder = no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsgiverDTO.builder(); - - if (dto.getType().equals("Organisasjon")) { - builder.type(Aktoer.ORGANISASJON) - .organisasjonsnummer(dto.getOrganisasjonsnummer()); - } else { - builder.type(Aktoer.PERSON) - .offentligIdent(dto.getIdent()); - } - - return builder.build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidstaker.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidstaker.java deleted file mode 100644 index 4ae21753f65..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Arbeidstaker.java +++ /dev/null @@ -1,19 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidstakerDTO; - -@AllArgsConstructor -public class Arbeidstaker { - - private final ArbeidstakerDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidstakerDTO toDTO() { - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidstakerDTO.builder() - .type(dto.getType().equals("Person") ? Aktoer.PERSON : Aktoer.ORGANISASJON) - .offentligIdent(dto.getOffentligIdent()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Fartoy.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Fartoy.java deleted file mode 100644 index 134e4234fce..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Fartoy.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsavtaleDTO; -import no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.FartoyDTO; - -@AllArgsConstructor -public class Fartoy { - - private final ArbeidsavtaleDTO dto; - - public FartoyDTO toDTO() { - return FartoyDTO.builder() - .fartsomraade(dto.getFartsomraade()) - .skipsregister(dto.getSkipsregister()) - .skipstype(dto.getSkipstype()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Periode.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Periode.java deleted file mode 100644 index 3e3827160c4..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Periode.java +++ /dev/null @@ -1,19 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.PeriodeDTO; - -@AllArgsConstructor -public class Periode { - - private final PeriodeDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.PeriodeDTO toDTO() { - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.PeriodeDTO.builder() - .fom(dto.getFom()) - .tom(dto.getTom()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Permisjon.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Permisjon.java deleted file mode 100644 index 6edd472c840..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Permisjon.java +++ /dev/null @@ -1,22 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.PermisjonPermitteringDTO; - -@AllArgsConstructor -public class Permisjon { - - private final PermisjonPermitteringDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.PermisjonPermitteringDTO toDTO() { - - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.PermisjonPermitteringDTO.builder() - .periode(dto.getPeriode() == null ? null : new Periode(dto.getPeriode()).toDTO()) - .type(dto.getType()) - .prosent(dto.getProsent() == null ? null : dto.getProsent().doubleValue()) - .permisjonPermitteringId(dto.getPermisjonPermitteringId()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Utenlandsopphold.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Utenlandsopphold.java deleted file mode 100644 index fb7d895e1a9..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/domain/Utenlandsopphold.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.domain; - -import lombok.AllArgsConstructor; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.UtenlandsoppholdDTO; - -@AllArgsConstructor -public class Utenlandsopphold { - - private final UtenlandsoppholdDTO dto; - - public no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.UtenlandsoppholdDTO toDTO() { - - - return no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.UtenlandsoppholdDTO.builder() - .periode(dto.getPeriode() == null ? null : new Periode(dto.getPeriode()).toDTO()) - .rapporteringsperiode(dto.getRapporteringsperiode()) - .build(); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/ArbeidsforholdNotFoundException.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/ArbeidsforholdNotFoundException.java deleted file mode 100644 index 747758b0412..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/ArbeidsforholdNotFoundException.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.exception; - -public class ArbeidsforholdNotFoundException extends RuntimeException { - - public ArbeidsforholdNotFoundException(String message) { - super(message); - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/SikkerhetsTokenExpiredException.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/SikkerhetsTokenExpiredException.java deleted file mode 100644 index 811fd3658a4..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/exception/SikkerhetsTokenExpiredException.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.exception; - -public class SikkerhetsTokenExpiredException extends RuntimeException { - - public SikkerhetsTokenExpiredException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v1/ArbeidsforholdController.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v1/ArbeidsforholdController.java deleted file mode 100644 index c755dad4b68..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v1/ArbeidsforholdController.java +++ /dev/null @@ -1,35 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v1; - - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.service.ArbeidsforholdService; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@Slf4j -@RequestMapping("/api/v1/arbeidsforhold") -@RequiredArgsConstructor -public class ArbeidsforholdController { - private final ArbeidsforholdService arbeidsforholdService; - - @GetMapping("/{ident}/{orgnummer}/{arbeidsforholdId}") - public ResponseEntity getArbeidsforhold( - @PathVariable("ident") String ident, - @PathVariable("orgnummer") String orgnummer, - @PathVariable("arbeidsforholdId") String arbeidsforholdId, - @RequestHeader("miljo") String miljo - ) { - var arbeidsforhold = arbeidsforholdService.getArbeidsforhold(ident, orgnummer, arbeidsforholdId, miljo); - return arbeidsforhold - .map(value -> ResponseEntity.ok(value.toV1DTO())) - .orElse(ResponseEntity.notFound().build()); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/ArbeidstakerController.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/ArbeidstakerController.java deleted file mode 100644 index 43dc23dc9ea..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/ArbeidstakerController.java +++ /dev/null @@ -1,40 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2; - - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.domain.Arbeidsforhold; -import no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto.ArbeidsforholdDTO; -import no.nav.registre.testnorge.arbeidsforholdservice.service.ArbeidsforholdService; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -@RestController -@Slf4j -@RequestMapping("/api/v2/arbeidstaker") -@RequiredArgsConstructor -public class ArbeidstakerController { - - private final ArbeidsforholdService arbeidsforholdService; - - @GetMapping("/{arbeidstaker}/arbeidsforhold") - public ResponseEntity> getArbeidsforhold( - @PathVariable("arbeidstaker") String ident, - @RequestHeader("miljo") String miljo - ) { - var arbeidsforhold = arbeidsforholdService.getArbeidsforhold(ident, miljo); - - if (arbeidsforhold == null) { - return ResponseEntity.notFound().build(); - } - - return ResponseEntity.ok(arbeidsforhold.stream().map(Arbeidsforhold::toV2DTO) - .toList()); - } -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AnsettelsesperiodeDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AnsettelsesperiodeDTO.java deleted file mode 100644 index 60725b4e9c2..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AnsettelsesperiodeDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AnsettelsesperiodeDTO { - - PeriodeDTO bruksperiode; - PeriodeDTO periode; - String sluttaarsak; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AntallTimerForTimeloennetDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AntallTimerForTimeloennetDTO.java deleted file mode 100644 index a9f033b7a82..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/AntallTimerForTimeloennetDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AntallTimerForTimeloennetDTO { - - Double antallTimer; - PeriodeDTO periode; - String rapporteringsperiode; // yyyy-mm -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsavtaleDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsavtaleDTO.java deleted file mode 100644 index a4ac3e0c620..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsavtaleDTO.java +++ /dev/null @@ -1,27 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsavtaleDTO { - - Double antallTimerPrUke; - String ansettelsesform; - String arbeidstidsordning; - Double beregnetAntallTimerPrUke; - PeriodeDTO bruksperiode; - PeriodeDTO gyldighetsperiode; - LocalDate sistLoennsendring; - LocalDate sisteLoennsendringsdato; - LocalDate sistStillingsendring; - Double stillingsprosent; - String yrke; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsforholdDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsforholdDTO.java deleted file mode 100644 index 3862dd7ee40..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsforholdDTO.java +++ /dev/null @@ -1,34 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDateTime; -import java.util.List; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - - AnsettelsesperiodeDTO ansettelsesperiode; - List antallTimerForTimeloennet; - List arbeidsavtaler; - String arbeidsforholdId; - ArbeidsgiverDTO arbeidsgiver; - ArbeidstakerDTO arbeidstaker; - boolean innrapportertEtterAOrdningen; - Long navArbeidsforholdId; - ArbeidsgiverDTO opplysningspliktig; - FartoyDTO fartoy; - List permisjonPermitteringer; - LocalDateTime registrert; - LocalDateTime sistBekreftet; - String type; - List utenlandsopphold; -} - - diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsgiverDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsgiverDTO.java deleted file mode 100644 index 6d41b29edfe..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidsgiverDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; -import no.nav.registre.testnorge.arbeidsforholdservice.domain.Aktoer; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsgiverDTO { - - Aktoer type; - String organisasjonsnummer; - String offentligIdent; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidstakerDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidstakerDTO.java deleted file mode 100644 index a66364ab485..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/ArbeidstakerDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; -import no.nav.registre.testnorge.arbeidsforholdservice.domain.Aktoer; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidstakerDTO { - - Aktoer type; - String offentligIdent; - String aktoerId; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/FartoyDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/FartoyDTO.java deleted file mode 100644 index d2349f6b0c4..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/FartoyDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class FartoyDTO { - - String skipsregister; - String skipstype; - String fartsomraade; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PeriodeDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PeriodeDTO.java deleted file mode 100644 index 2e08761fc27..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PeriodeDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PeriodeDTO { - - LocalDate fom; - LocalDate tom; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PermisjonPermitteringDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PermisjonPermitteringDTO.java deleted file mode 100644 index 3d223f79eed..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/PermisjonPermitteringDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PermisjonPermitteringDTO { - - PeriodeDTO periode; - String permisjonPermitteringId; - Double prosent; - String type; -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/UtenlandsoppholdDTO.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/UtenlandsoppholdDTO.java deleted file mode 100644 index 2bc9aabc88d..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/provider/v2/dto/UtenlandsoppholdDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.provider.v2.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class UtenlandsoppholdDTO { - - String landkode; - PeriodeDTO periode; - String rapporteringsperiode; // yyyy-mm -} diff --git a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/service/ArbeidsforholdService.java b/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/service/ArbeidsforholdService.java deleted file mode 100644 index 6f0cc18a60b..00000000000 --- a/apps/arbeidsforhold-service/src/main/java/no/nav/registre/testnorge/arbeidsforholdservice/service/ArbeidsforholdService.java +++ /dev/null @@ -1,35 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.AaregConsumer; -import no.nav.registre.testnorge.arbeidsforholdservice.consumer.dto.ArbeidsforholdDTO; -import no.nav.registre.testnorge.arbeidsforholdservice.domain.Arbeidsforhold; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Optional; - -@Slf4j -@Service -@RequiredArgsConstructor -public class ArbeidsforholdService { - - private final AaregConsumer aaregConsumer; - - public List getArbeidsforhold(String ident, String miljo) { - List arbeidsforhold = aaregConsumer.getArbeidsforholds(ident, miljo); - return arbeidsforhold == null ? null : arbeidsforhold - .stream() - .map(Arbeidsforhold::new) - .toList(); - } - - - public Optional getArbeidsforhold(String ident, String orgnummer, String arbeidsforholdId, String miljo) { - return aaregConsumer - .getArbeidsforhold(ident, orgnummer, arbeidsforholdId, miljo) - .map(Arbeidsforhold::new); - } - -} diff --git a/apps/arbeidsforhold-service/src/main/resources/application-local.yml b/apps/arbeidsforhold-service/src/main/resources/application-local.yml deleted file mode 100644 index cfb3ace7ac1..00000000000 --- a/apps/arbeidsforhold-service/src/main/resources/application-local.yml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - config: - import: "sm://" \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/main/resources/application.yml b/apps/arbeidsforhold-service/src/main/resources/application.yml deleted file mode 100644 index 226cff6e713..00000000000 --- a/apps/arbeidsforhold-service/src/main/resources/application.yml +++ /dev/null @@ -1,48 +0,0 @@ -spring: - application: - name: testnav-arbeidsforhold-service - description: Tjenester for arbeidsforhold. - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} - -springdoc: - swagger-ui: - disable-swagger-default-url: true - url: /v3/api-docs - -consumers: - testnav-aareg-proxy: - name: testnav-aareg-proxy - namespace: dolly - url: https://testnav-aareg-proxy.dev-fss-pub.nais.io - cluster: dev-fss - -management: - endpoints: - enabled-by-default: true - web: - base-path: /internal - exposure: - include: prometheus,health - path-mapping: - prometheus: metrics - endpoint: - prometheus: - enabled: true - prometheus: - metrics: - export: - enabled: true -server: - servlet: - encoding: - charset: UTF-8 - error: - include-message: always \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/main/resources/logback-spring.xml b/apps/arbeidsforhold-service/src/main/resources/logback-spring.xml deleted file mode 100644 index c6f5a93ab27..00000000000 --- a/apps/arbeidsforhold-service/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - - \ No newline at end of file diff --git a/apps/arbeidsforhold-service/src/test/java/no/nav/registre/testnorge/arbeidsforholdservice/ApplicationContextTest.java b/apps/arbeidsforhold-service/src/test/java/no/nav/registre/testnorge/arbeidsforholdservice/ApplicationContextTest.java deleted file mode 100644 index b92f1300d51..00000000000 --- a/apps/arbeidsforhold-service/src/test/java/no/nav/registre/testnorge/arbeidsforholdservice/ApplicationContextTest.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.registre.testnorge.arbeidsforholdservice; - -import no.nav.dolly.libs.nais.DollySpringBootTest; -import org.junit.jupiter.api.Test; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - -@DollySpringBootTest -class ApplicationContextTest { - - @Test - void load_app_context() { - assertThat(true).isTrue(); - } - -} diff --git a/apps/arbeidsforhold-service/src/test/resources/application-test.yml b/apps/arbeidsforhold-service/src/test/resources/application-test.yml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/apps/dolly-backend/config.test.yml b/apps/dolly-backend/config.test.yml index 838bc6c74dc..bd156500363 100644 --- a/apps/dolly-backend/config.test.yml +++ b/apps/dolly-backend/config.test.yml @@ -28,7 +28,6 @@ spec: outbound: rules: - application: generer-navn-service - - application: testnav-arbeidsforhold-service - application: testnav-arbeidsplassencv-proxy - application: testnav-arbeidssoekerregisteret-proxy - application: testnav-inntektsmelding-service diff --git a/apps/dolly-backend/config.yml b/apps/dolly-backend/config.yml index 0eeaace3666..dc2637bd41c 100644 --- a/apps/dolly-backend/config.yml +++ b/apps/dolly-backend/config.yml @@ -30,7 +30,6 @@ spec: outbound: rules: - application: generer-navn-service - - application: testnav-arbeidsforhold-service - application: testnav-arbeidsplassencv-proxy - application: testnav-arbeidssoekerregisteret-proxy - application: testnav-inntektsmelding-service diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/command/AmeldingPutCommand.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/command/AmeldingPutCommand.java deleted file mode 100644 index b675a80a052..00000000000 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/command/AmeldingPutCommand.java +++ /dev/null @@ -1,54 +0,0 @@ -package no.nav.dolly.bestilling.aareg.command; - -import lombok.RequiredArgsConstructor; -import no.nav.dolly.util.TokenXUtil; -import no.nav.testnav.libs.dto.ameldingservice.v1.AMeldingDTO; -import no.nav.testnav.libs.reactivecore.utils.WebClientFilter; -import no.nav.testnav.libs.securitycore.config.UserConstant; -import org.springframework.http.HttpHeaders; -import org.springframework.http.ResponseEntity; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.netty.http.client.HttpClientRequest; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -import static no.nav.dolly.util.RequestTimeout.REQUEST_DURATION; - -@RequiredArgsConstructor -public class AmeldingPutCommand implements Callable>> { - - private static final String AMELDING_URL = "/api/v1/amelding"; - private static final String MILJOE = "miljo"; - - private final WebClient webClient; - private final AMeldingDTO amelding; - private final String miljo; - private final String token; - - @Override - public Mono> call() { - - return webClient.put() - .uri(uriBuilder -> uriBuilder.path(AMELDING_URL) - .build()) - .httpRequest(httpRequest -> { - HttpClientRequest reactorRequest = httpRequest.getNativeRequest(); - reactorRequest.responseTimeout(Duration.ofSeconds(REQUEST_DURATION)); - }) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .header(UserConstant.USER_HEADER_JWT, TokenXUtil.getUserJwt()) - .header(MILJOE, miljo) - .bodyValue(amelding) - .retrieve() - .toBodilessEntity() - .map(respons -> ResponseEntity.status(respons.getStatusCode()).body("OK")) - .doOnError(WebClientFilter::logErrorMessage) - .onErrorResume(error -> Mono.just(ResponseEntity.status(WebClientFilter.getStatus(error)) - .body(WebClientFilter.getMessage(error)))) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - } -} diff --git a/apps/dolly-backend/src/main/resources/application-local.yml b/apps/dolly-backend/src/main/resources/application-local.yml index 60c4ce2e4df..8124e2597cf 100644 --- a/apps/dolly-backend/src/main/resources/application-local.yml +++ b/apps/dolly-backend/src/main/resources/application-local.yml @@ -43,8 +43,6 @@ consumers: url: https://testnav-tps-messaging-service.intern.dev.nav.no testnav-person-service: url: https://testnav-person-service.intern.dev.nav.no - testnav-arbeidsforhold-service: - url: https://testnav-arbeidsforhold-service.intern.dev.nav.no testnav-organisasjon-service: url: https://testnav-organisasjon-service.intern.dev.nav.no testnav-sykemelding-api: diff --git a/apps/dolly-backend/src/main/resources/application.yml b/apps/dolly-backend/src/main/resources/application.yml index 1b62d6f9def..a40980668f6 100644 --- a/apps/dolly-backend/src/main/resources/application.yml +++ b/apps/dolly-backend/src/main/resources/application.yml @@ -200,11 +200,6 @@ consumers: namespace: dolly url: http://testnav-pdl-forvalter.dolly.svc.cluster.local cluster: dev-gcp - testnav-arbeidsforhold-service: - name: testnav-arbeidsforhold-service - namespace: dolly - url: http://testnav-arbeidsforhold-service.dolly.svc.cluster.local - cluster: dev-gcp testnav-sykemelding-api: name: testnav-sykemelding-api namespace: dolly diff --git a/apps/dolly-frontend/config.idporten.yml b/apps/dolly-frontend/config.idporten.yml index 44a14a2c9d8..c6a89e2a411 100644 --- a/apps/dolly-frontend/config.idporten.yml +++ b/apps/dolly-frontend/config.idporten.yml @@ -33,12 +33,10 @@ spec: - application: testnav-arbeidsplassencv-proxy - application: testnav-bruker-service - application: testnav-bruker-service-dev - - application: testnav-generer-synt-amelding-service - application: testnav-helsepersonell-service - application: testnav-joark-dokument-service - application: testnav-kodeverk-service - application: testnav-miljoer-service - - application: testnav-oppsummeringsdokument-service - application: testnav-organisasjon-faste-data-service - application: testnav-organisasjon-forvalter - application: testnav-organisasjon-service diff --git a/apps/dolly-frontend/config.test.yml b/apps/dolly-frontend/config.test.yml index c8c86b70443..687aeffb88f 100644 --- a/apps/dolly-frontend/config.test.yml +++ b/apps/dolly-frontend/config.test.yml @@ -37,12 +37,10 @@ spec: - application: testnav-amelding-service - application: testnav-arbeidsplassencv-proxy - application: testnav-bruker-service-dev - - application: testnav-generer-synt-amelding-service - application: testnav-helsepersonell-service - application: testnav-joark-dokument-service - application: testnav-kodeverk-service - application: testnav-miljoer-service - - application: testnav-oppsummeringsdokument-service - application: testnav-organisasjon-faste-data-service - application: testnav-organisasjon-forvalter - application: testnav-organisasjon-service diff --git a/apps/dolly-frontend/config.unstable.yml b/apps/dolly-frontend/config.unstable.yml index 06ec62693d6..93dcb6a143d 100644 --- a/apps/dolly-frontend/config.unstable.yml +++ b/apps/dolly-frontend/config.unstable.yml @@ -40,7 +40,6 @@ spec: - application: testnav-joark-dokument-service - application: testnav-kodeverk-service - application: testnav-miljoer-service - - application: testnav-oppsummeringsdokument-service - application: testnav-organisasjon-faste-data-service - application: testnav-organisasjon-forvalter - application: testnav-organisasjon-service diff --git a/apps/dolly-frontend/config.yml b/apps/dolly-frontend/config.yml index 51b1cb879cc..6571486f961 100644 --- a/apps/dolly-frontend/config.yml +++ b/apps/dolly-frontend/config.yml @@ -39,15 +39,12 @@ spec: - application: dolly-redis-session - application: generer-navn-service - application: testnav-adresse-service - - application: testnav-amelding-service - application: testnav-arbeidsplassencv-proxy - application: testnav-bruker-service - - application: testnav-generer-synt-amelding-service - application: testnav-helsepersonell-service - application: testnav-joark-dokument-service - application: testnav-kodeverk-service - application: testnav-miljoer-service - - application: testnav-oppsummeringsdokument-service - application: testnav-organisasjon-faste-data-service - application: testnav-organisasjon-forvalter - application: testnav-organisasjon-service diff --git a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/MappingStrategy.java b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/MappingStrategy.java deleted file mode 100644 index e28705ec577..00000000000 --- a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/MappingStrategy.java +++ /dev/null @@ -1,19 +0,0 @@ -package no.nav.testnav.dollysearchservice.mapper; - -import ma.glasnost.orika.MapperFactory; - -@FunctionalInterface -public interface MappingStrategy { - - /** - * A callback for registering criteria on the provided {@link MapperFactory}. - *

- *

{@code
-     *
-     * @Override public void register(MapperFactory factory) {
-     * factory.registerMapper(arbeidsfordelingToRestArbeidsfordeling());
-     * }
-     * }
- */ - void register(MapperFactory factory); -} diff --git a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/OpenSearchV2ResponseMappingStrategy.java b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/OpenSearchV2ResponseMappingStrategy.java deleted file mode 100644 index 437c6abd7e8..00000000000 --- a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/OpenSearchV2ResponseMappingStrategy.java +++ /dev/null @@ -1,31 +0,0 @@ -package no.nav.testnav.dollysearchservice.mapper; - -import ma.glasnost.orika.CustomMapper; -import ma.glasnost.orika.MapperFactory; -import ma.glasnost.orika.MappingContext; -import no.nav.testnav.dollysearchservice.dto.SearchInternalResponse; -import no.nav.testnav.libs.data.dollysearchservice.v1.SearchResponse; -import org.springframework.stereotype.Component; - -@Component -public class OpenSearchV2ResponseMappingStrategy implements MappingStrategy { - - @Override - public void register(MapperFactory factory) { - factory.classMap(SearchInternalResponse.class, SearchResponse.class) - .customize(new CustomMapper<>() { - @Override - public void mapAtoB(SearchInternalResponse searchInternalResponse, SearchResponse searchResponse, MappingContext context) { - - searchResponse.setTotalHits(searchInternalResponse.getTotalHits()); - searchResponse.setTook(searchInternalResponse.getTook()); - searchResponse.setSide(searchInternalResponse.getSide()); - searchResponse.setAntall(searchInternalResponse.getAntall()); - searchResponse.setSeed(searchInternalResponse.getSeed()); - searchResponse.setPersoner(searchInternalResponse.getPersoner()); - searchResponse.setError(searchInternalResponse.getError()); - } - }) - .register(); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/Dockerfile b/apps/generer-arbeidsforhold-populasjon-service/Dockerfile deleted file mode 100644 index 99258cd954d..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -ENV JAVA_OPTS="-Dspring.profiles.active=prod" - -ADD build/libs/app.jar /app/app.jar - -EXPOSE 8080 diff --git a/apps/generer-arbeidsforhold-populasjon-service/README.md b/apps/generer-arbeidsforhold-populasjon-service/README.md deleted file mode 100644 index 97bea213464..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Generer-arbeidsforhold-populasjon-service -Service som genererer arbeidsforhold i et valgt miljø for en spesifisert tidsperiode. - -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [Secret Manager.](../../docs/local_secretmanager.md) \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/build.gradle b/apps/generer-arbeidsforhold-populasjon-service/build.gradle deleted file mode 100644 index cfa772f62d0..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id "dolly-apps" -} - -sonarqube { - properties { - property "sonar.projectKey", "testnav-generer-arbeidsforhold-populasjon-service" - property "sonar.projectName", "testnav-generer-arbeidsforhold-populasjon-service" - } -} - -dependencies { - implementation "no.nav.testnav.libs:commands" - implementation "no.nav.testnav.libs:data-transfer-objects" - implementation "no.nav.testnav.libs:security-core" - implementation "no.nav.testnav.libs:servlet-core" - implementation "no.nav.testnav.libs:servlet-insecure-security" - - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-oauth2-resource-server" - implementation "org.springframework.boot:spring-boot-starter-web" - - implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:$versions.springdoc" - implementation "io.swagger.core.v3:swagger-annotations-jakarta:$versions.swagger" - - testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/config.yml b/apps/generer-arbeidsforhold-populasjon-service/config.yml deleted file mode 100644 index 2a4610aa157..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/config.yml +++ /dev/null @@ -1,63 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-generer-arbeidsforhold-populasjon-service - namespace: dolly - annotations: - nginx.ingress.kubernetes.io/proxy-read-timeout: "1200" - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - accessPolicy: - inbound: - rules: - - application: team-dolly-lokal-app - cluster: dev-gcp - - application: testnav-oversikt-frontend - cluster: dev-gcp - outbound: - rules: - - application: testnav-oppsummeringsdokument-service - - application: testnav-generer-organisasjon-populasjon-service - - application: testnav-organisasjon-service - - application: synthdata-amelding - liveness: - path: /internal/isAlive - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/isReady - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 500m - memory: 1024Mi - limits: - memory: 2048Mi - ingresses: - - "https://testnav-generer-arbeidsforhold-populasjon-service.intern.dev.nav.no" \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.jar b/apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae..00000000000 Binary files a/apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.properties b/apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/generer-arbeidsforhold-populasjon-service/gradlew b/apps/generer-arbeidsforhold-populasjon-service/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/apps/generer-arbeidsforhold-populasjon-service/gradlew.bat b/apps/generer-arbeidsforhold-populasjon-service/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/apps/generer-arbeidsforhold-populasjon-service/gradlewUpdate.sh b/apps/generer-arbeidsforhold-populasjon-service/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/settings.gradle b/apps/generer-arbeidsforhold-populasjon-service/settings.gradle deleted file mode 100644 index 2b9f546b563..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/settings.gradle +++ /dev/null @@ -1,21 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "generer-arbeidsforhold-populasjon-service" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/commands" -includeBuild "../../libs/data-transfer-objects" -includeBuild "../../libs/security-core" -includeBuild "../../libs/servlet-core" -includeBuild "../../libs/servlet-insecure-security" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/GenererArbeidsforholdPopulasjonServiceApplicationStarter.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/GenererArbeidsforholdPopulasjonServiceApplicationStarter.java deleted file mode 100644 index 1c2cfe7921a..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/GenererArbeidsforholdPopulasjonServiceApplicationStarter.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; - -@SpringBootApplication -public class GenererArbeidsforholdPopulasjonServiceApplicationStarter { - - public static void main(String[] args) { - new SpringApplicationBuilder(GenererArbeidsforholdPopulasjonServiceApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } -} \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/adapter/IdentAdapter.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/adapter/IdentAdapter.java deleted file mode 100644 index dd92c4f66b5..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/adapter/IdentAdapter.java +++ /dev/null @@ -1,7 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.adapter; - -import reactor.core.publisher.Flux; - -public interface IdentAdapter { - Flux getIdenter(String miljo, int antall); -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/ApplicationConfig.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/ApplicationConfig.java deleted file mode 100644 index 8eb066edf91..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/ApplicationConfig.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config; - -import no.nav.testnav.libs.servletcore.config.ApplicationCoreConfig; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import org.springframework.security.task.DelegatingSecurityContextAsyncTaskExecutor; - -@Configuration -@Import({ApplicationCoreConfig.class}) -public class ApplicationConfig { - - @Bean - public TaskExecutor executor() { - final ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setMaxPoolSize(100); - executor.setCorePoolSize(50); - executor.setThreadNamePrefix("thread-pool-with-security-context-"); - executor.initialize(); - return new DelegatingSecurityContextAsyncTaskExecutor(executor); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/Consumers.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/Consumers.java deleted file mode 100644 index 76985531a44..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/Consumers.java +++ /dev/null @@ -1,31 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import static lombok.AccessLevel.PACKAGE; - -/** - * Samler alle placeholders for ulike {@code consumers.*}-konfigurasjon her, dvs. subklasser av {@code ServerProperties}. - *

- * Husk at Spring Boot bruker relaxed binding - * mellom configuration properties og field names. - * - * @see ServerProperties - */ -@Configuration -@ConfigurationProperties(prefix = "consumers") -@NoArgsConstructor(access = PACKAGE) -@Getter -@Setter(PACKAGE) -public class Consumers { - - private ServerProperties testnavGenererOrganisasjonPopulasjonService; - private ServerProperties oppsummeringsdokumentService; - private ServerProperties testnavOrganisasjonService; - private ServerProperties syntAmelding; -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/OpenApiConfig.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/OpenApiConfig.java deleted file mode 100644 index 44c6bc94c6c..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/OpenApiConfig.java +++ /dev/null @@ -1,55 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config; - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import java.util.Arrays; - -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; - -@Configuration -public class OpenApiConfig implements WebMvcConfigurer { - - @Bean - public OpenAPI openApi(ApplicationProperties applicationProperties) { - return new OpenAPI() - .components(new Components().addSecuritySchemes("bearer-jwt", new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name("Authorization") - )) - .addSecurityItem( - new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write"))) - .info(new Info() - .title(applicationProperties.getName()) - .version(applicationProperties.getVersion()) - .description(applicationProperties.getDescription()) - .termsOfService("https://nav.no") - .contact(new Contact() - .url("https://nav-it.slack.com/archives/CA3P9NGA2") - .email("dolly@nav.no") - .name("Team Dolly") - ) - .license(new License() - .name("MIT License") - .url("https://opensource.org/licenses/MIT") - ) - ); - } - - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/swagger").setViewName("redirect:/swagger-ui.html"); - } -} \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/SecurityConfig.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/SecurityConfig.java deleted file mode 100644 index 60193328810..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/config/SecurityConfig.java +++ /dev/null @@ -1,39 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.annotation.Order; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.web.SecurityFilterChain; - - -@Order(1) -@EnableWebSecurity -@Configuration -public class SecurityConfig { - - @Bean - public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { - - httpSecurity.sessionManagement(sessionConfig -> sessionConfig.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(authorizeConfig -> authorizeConfig.requestMatchers( - "/internal/**", - "/webjars/**", - "/swagger-resources/**", - "/v3/api-docs/**", - "/swagger-ui/**", - "/swagger", - "/error", - "/swagger-ui.html" - ).permitAll().requestMatchers("/api/**").fullyAuthenticated()) - .oauth2ResourceServer(oauth2RSConfig -> oauth2RSConfig.jwt(Customizer.withDefaults())); - - return httpSecurity.build(); - } -} - diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/GenererOrganisasjonPopulasjonConsumer.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/GenererOrganisasjonPopulasjonConsumer.java deleted file mode 100644 index 5dfcf5e8710..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/GenererOrganisasjonPopulasjonConsumer.java +++ /dev/null @@ -1,39 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config.Consumers; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.GetOpplysningspliktigOrgnummerCommand; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; - -import java.util.Set; - -@Component -public class GenererOrganisasjonPopulasjonConsumer { - private final WebClient webClient; - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - - public GenererOrganisasjonPopulasjonConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getTestnavGenererOrganisasjonPopulasjonService(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public Set getOpplysningspliktig(String miljo) { - return tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new GetOpplysningspliktigOrgnummerCommand( - webClient, - accessToken.getTokenValue(), - miljo - ).call() - ).block(); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OppsummeringsdokumentConsumer.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OppsummeringsdokumentConsumer.java deleted file mode 100644 index 6295bcb421b..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OppsummeringsdokumentConsumer.java +++ /dev/null @@ -1,125 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer; - -import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config.Consumers; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.GetOppsummeringsdokumentCommand; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.SaveOppsummeringsdokumenterCommand; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Oppsummeringsdokument; -import no.nav.testnav.libs.commands.GetOppsummeringsdokumenterByIdentCommand; -import no.nav.testnav.libs.commands.GetOppsummeringsdokumenterCommand; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.Populasjon; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; -import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; -import org.springframework.http.MediaType; -import org.springframework.http.codec.json.Jackson2JsonDecoder; -import org.springframework.http.codec.json.Jackson2JsonEncoder; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executor; -import java.util.concurrent.Executors; - -@Slf4j -@Component -public class OppsummeringsdokumentConsumer { - private static final int BYTE_COUNT = 16 * 1024 * 1024; - private final WebClient webClient; - private final TokenExchange tokenExchange; - private final ServerProperties serverProperties; - private final ApplicationProperties applicationProperties; - private final Executor executor; - - public OppsummeringsdokumentConsumer( - TokenExchange tokenExchange, - Consumers consumers, - ObjectMapper objectMapper, - ApplicationProperties applicationProperties, - WebClient.Builder webClientBuilder) { - - this.applicationProperties = applicationProperties; - this.tokenExchange = tokenExchange; - serverProperties = consumers.getOppsummeringsdokumentService(); - this.executor = Executors.newFixedThreadPool(20); - - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .codecs(clientDefaultCodecsConfigurer -> { - clientDefaultCodecsConfigurer.defaultCodecs().maxInMemorySize(BYTE_COUNT); - clientDefaultCodecsConfigurer - .defaultCodecs() - .jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper, MediaType.APPLICATION_JSON)); - clientDefaultCodecsConfigurer - .defaultCodecs() - .jackson2JsonDecoder(new Jackson2JsonDecoder(objectMapper, MediaType.APPLICATION_JSON)); - }) - .build(); - } - - /** - * Bruker future til å sette en limit på antall samtidige requests. - */ - @SneakyThrows - public Mono save(OppsummeringsdokumentDTO dto, String miljo) { - return Mono.fromFuture(saveFuture(dto, miljo)); - } - - private CompletableFuture saveFuture(OppsummeringsdokumentDTO dto, String miljo) { - return CompletableFuture.supplyAsync( - () -> tokenExchange - .exchange(serverProperties) - .flatMap(accessToken -> new SaveOppsummeringsdokumenterCommand( - webClient, - accessToken.getTokenValue(), - dto, - miljo, - applicationProperties.getName(), - Populasjon.MINI_NORGE - ).call()) - .block(), - executor - ); - } - - public List getAll(String miljo) { - log.info("Henter alle oppsummeringsdokument fra {}...", miljo); - var accessToken = tokenExchange.exchange(serverProperties).block(); - var list = new GetOppsummeringsdokumenterCommand(webClient, accessToken.getTokenValue(), miljo).call(); - log.info("Fant {} opplysningspliktig fra {}.", list.size(), miljo); - return list; - } - - public Mono> getAllForIdent(String ident, String miljo) { - return tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new GetOppsummeringsdokumenterByIdentCommand(webClient, accessToken.getTokenValue(), ident, miljo).call()); - } - - public Mono getOppsummeringsdokument(String opplysningspliktigOrgnummer, LocalDate kalendermaaned, String miljo) { - return tokenExchange - .exchange(serverProperties) - .flatMap(accessToken -> new GetOppsummeringsdokumentCommand( - webClient, - accessToken.getTokenValue(), - opplysningspliktigOrgnummer, - kalendermaaned, - miljo - ).call()) - .defaultIfEmpty( - OppsummeringsdokumentDTO - .builder() - .version(1L) - .kalendermaaned(kalendermaaned) - .opplysningspliktigOrganisajonsnummer(opplysningspliktigOrgnummer) - .virksomheter(new ArrayList<>()) - .build() - ).map(Oppsummeringsdokument::new); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OrganisasjonConsumer.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OrganisasjonConsumer.java deleted file mode 100644 index 2888017d4b3..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/OrganisasjonConsumer.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer; - -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config.Consumers; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.GetOrganisasjonCommand; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Flux; - -import java.util.Set; -import java.util.stream.Collectors; - -@Slf4j -@Component -@CacheConfig -public class OrganisasjonConsumer { - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - private final WebClient webClient; - - public OrganisasjonConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getTestnavOrganisasjonService(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - @Cacheable("Mini-Norge-EREG") - public Flux getOrganisasjoner(Set orgnummerListe, String miljo) { - return tokenExchange.exchange(serverProperties) - .flatMapMany(accessToken -> Flux.concat( - orgnummerListe.stream() - .map(orgnummer -> new GetOrganisasjonCommand(webClient, accessToken.getTokenValue(), orgnummer, miljo).call()) - .collect(Collectors.toList()) - )); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/SyntArbeidsforholdConsumer.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/SyntArbeidsforholdConsumer.java deleted file mode 100644 index c5c9f646508..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/SyntArbeidsforholdConsumer.java +++ /dev/null @@ -1,61 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer; - -import com.fasterxml.jackson.databind.ObjectMapper; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.config.Consumers; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.GenererArbeidsforholdHistorikkCommand; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command.GenererStartArbeidsforholdCommand; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdRequest; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdResponse; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; -import org.springframework.http.MediaType; -import org.springframework.http.codec.json.Jackson2JsonDecoder; -import org.springframework.http.codec.json.Jackson2JsonEncoder; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.List; - -@Component -public class SyntArbeidsforholdConsumer { - private final TokenExchange tokenExchange; - private final ServerProperties serverProperties; - private final WebClient webClient; - private final ObjectMapper objectMapper; - - public SyntArbeidsforholdConsumer( - TokenExchange tokenExchange, - Consumers consumers, - ObjectMapper objectMapper, - WebClient.Builder webClientBuilder) { - - this.tokenExchange = tokenExchange; - serverProperties = consumers.getSyntAmelding(); - this.objectMapper = objectMapper; - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .codecs(clientDefaultCodecsConfigurer -> { - clientDefaultCodecsConfigurer - .defaultCodecs() - .jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper, MediaType.APPLICATION_JSON)); - clientDefaultCodecsConfigurer - .defaultCodecs() - .jackson2JsonDecoder(new Jackson2JsonDecoder(objectMapper, MediaType.APPLICATION_JSON)); - }) - .build(); - } - - public Mono> genererStartArbeidsforhold(LocalDate startdato) { - return tokenExchange - .exchange(serverProperties) - .flatMap(accessToken -> new GenererStartArbeidsforholdCommand(webClient, startdato, accessToken.getTokenValue()).call()); - } - - public Mono>> genererArbeidsforholdHistorikk(List requests) { - return tokenExchange - .exchange(serverProperties) - .flatMap(accessToken -> new GenererArbeidsforholdHistorikkCommand(webClient, requests, accessToken.getTokenValue(), objectMapper).call()); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererArbeidsforholdHistorikkCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererArbeidsforholdHistorikkCommand.java deleted file mode 100644 index 80d3fcd4461..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererArbeidsforholdHistorikkCommand.java +++ /dev/null @@ -1,55 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdRequest; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdResponse; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.List; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GenererArbeidsforholdHistorikkCommand implements Callable>>> { - private final WebClient webClient; - private final List requests; - private final String token; - private final ObjectMapper objectMapper; - - @SneakyThrows - @Override - public Mono>> call() { - log.info("Genererer arbeidsforhold historikk."); - var body = requests.toArray(new ArbeidsforholdRequest[requests.size()]); - return webClient - .post() - .uri("/api/v1/arbeidsforhold/historikk") - .body(BodyInserters.fromPublisher(Mono.just(body), ArbeidsforholdRequest[].class)) - .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .retrieve() - .bodyToMono(new ParameterizedTypeReference>>() { - }) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .doOnError(error -> { - try { - log.error("Feil ved opprettelse av historikk med body: {}.", objectMapper.writeValueAsString(body), error); - } catch (JsonProcessingException e) { - log.error("Feil ved convertering av body til string.", e); - } - }); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererStartArbeidsforholdCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererStartArbeidsforholdCommand.java deleted file mode 100644 index a7ad0cd5605..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GenererStartArbeidsforholdCommand.java +++ /dev/null @@ -1,52 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.Value; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdResponse; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.time.LocalDate; -import java.util.List; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GenererStartArbeidsforholdCommand implements Callable>> { - private final WebClient webClient; - private final LocalDate startdate; - private final String token; - - @Override - public Mono> call() { - log.info("Generer nytt arbeidsforhold den {}.", startdate); - return webClient - .post() - .uri("/api/v1/arbeidsforhold/new") - .body(BodyInserters.fromPublisher(Mono.just(new Request(startdate)), Request.class)) - .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .retrieve() - .bodyToMono(new ParameterizedTypeReference>() { - }) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .map(value -> { - log.info("Nytt arbeidsforhold generert. (Antall: {})", value.size()); - return value; - }); - } - - @Value - private class Request { - LocalDate startdato; - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOpplysningspliktigOrgnummerCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOpplysningspliktigOrgnummerCommand.java deleted file mode 100644 index fde28ac57fa..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOpplysningspliktigOrgnummerCommand.java +++ /dev/null @@ -1,37 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.Set; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOpplysningspliktigOrgnummerCommand implements Callable>> { - private final WebClient webClient; - private final String accessToken; - private final String miljo; - - @Override - public Mono> call() { - log.info("Henter alle opplysningspliktige orgnummer i {}...", miljo); - return webClient - .get() - .uri("/api/v1/opplysningspliktig") - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .header("miljo", miljo) - .retrieve() - .bodyToMono(new ParameterizedTypeReference>() { - }) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOppsummeringsdokumentCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOppsummeringsdokumentCommand.java deleted file mode 100644 index 82e973ea1ea..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOppsummeringsdokumentCommand.java +++ /dev/null @@ -1,45 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.time.LocalDate; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOppsummeringsdokumentCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final String orgnummer; - private final LocalDate kalendermaaned; - private final String miljo; - - @SneakyThrows - @Override - public Mono call() { - log.info("Henter oppsummeringsdokumentet med orgnummer {} den {} i {}.", orgnummer, kalendermaaned, miljo); - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/oppsummeringsdokumenter/{orgnummer}/{kalendermaaned}") - .build(orgnummer, kalendermaaned) - ) - .header("miljo", miljo) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .retrieve() - .bodyToMono(OppsummeringsdokumentDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .onErrorResume(throwable -> throwable instanceof WebClientResponseException.NotFound, throwable -> Mono.empty()); - } -} \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOrganisasjonCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOrganisasjonCommand.java deleted file mode 100644 index 6f8a2ae118c..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/GetOrganisasjonCommand.java +++ /dev/null @@ -1,42 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOrganisasjonCommand implements Callable> { - private final WebClient webClient; - private final String token; - private final String orgnummer; - private final String miljo; - - @Override - public Mono call() { - log.trace("Henter organisasjon med orgnummer {} fra {}...", orgnummer, miljo); - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/organisasjoner/{orgnummer}") - .build(orgnummer) - ) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .header("miljo", this.miljo) - .retrieve() - .bodyToMono(OrganisasjonDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .onErrorResume(throwable -> throwable instanceof WebClientResponseException.NotFound, throwable -> Mono.empty()); - - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/SaveOppsummeringsdokumenterCommand.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/SaveOppsummeringsdokumenterCommand.java deleted file mode 100644 index 40c649ceddf..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/consumer/command/SaveOppsummeringsdokumenterCommand.java +++ /dev/null @@ -1,68 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.Populasjon; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class SaveOppsummeringsdokumenterCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final OppsummeringsdokumentDTO dto; - private final String miljo; - private final String origin; - private final Populasjon populasjon; - - @Override - public Mono call() { - log.info( - "Sender inn opplysningspliktig {} den {}.", - dto.getOpplysningspliktigOrganisajonsnummer(), - dto.getKalendermaaned() - ); - return webClient - .put() - .uri(builder -> builder.path("/api/v1/oppsummeringsdokumenter").build()) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .header("miljo", miljo) - .header("origin", origin) - .header("populasjon", populasjon.toString()) - .body(BodyInserters.fromPublisher(Mono.just(dto), OppsummeringsdokumentDTO.class)) - .exchange() - .flatMap(response -> response.toEntity(String.class)) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .map(response -> { - - - if (!response.getStatusCode().is2xxSuccessful()) { - throw new RuntimeException(String.format( - "Feil med opprettelse av opplysningspliktig %s. Error: %s Status code: %s.", - dto.getOpplysningspliktigOrganisajonsnummer(), - response.getBody(), - response.getStatusCodeValue() - )); - } - - var id = response.getHeaders().get("ID").stream().findFirst().orElseThrow(); - log.info( - "Opplysningspliktig {} sendt inn den {} med id {}", - dto.getOpplysningspliktigOrganisajonsnummer(), - dto.getKalendermaaned(), - id - ); - return id; - }); - } -} \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/controller/GenererArbeidsforholdController.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/controller/GenererArbeidsforholdController.java deleted file mode 100644 index b5484bfc465..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/controller/GenererArbeidsforholdController.java +++ /dev/null @@ -1,27 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.controller; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service.OrkestratorService; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/v1/arbeidsforhold") -public class GenererArbeidsforholdController { - - private final OrkestratorService orkestratorService; - - @PostMapping(value = "/develop") - public void populate( - @RequestHeader String miljo, - @RequestParam Integer months - ) { - orkestratorService.orkestrerMedArbeidsforhold(miljo, months); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Id.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Id.java deleted file mode 100644 index cac2ce2db32..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Id.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -public interface Id { - String getId(); -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/OppsummeringsdokumentTimeline.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/OppsummeringsdokumentTimeline.java deleted file mode 100644 index ef8848a5871..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/OppsummeringsdokumentTimeline.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import java.util.List; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Oppsummeringsdokument; - -public class OppsummeringsdokumentTimeline extends Timeline { - - public OppsummeringsdokumentTimeline(List list) { - list.forEach(this::put); - } - - private void put(Oppsummeringsdokument oppsummeringsdokument) { - super.put(oppsummeringsdokument.getKalendermaaned(), oppsummeringsdokument); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Organisajon.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Organisajon.java deleted file mode 100644 index 4d9abe3db9a..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Organisajon.java +++ /dev/null @@ -1,38 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; - -import java.util.List; -import java.util.Random; - -public class Organisajon { - private static final Random RANDOM = new Random(); - private OrganisasjonDTO dto; - - public Organisajon(OrganisasjonDTO dto) { - this.dto = dto; - } - - public String getOrgnummer() { - return dto.getOrgnummer(); - } - - public boolean isDriverVirksomheter() { - return !dto.getDriverVirksomheter().isEmpty(); - } - - public String getRandomVirksomhetsnummer() { - return dto.getDriverVirksomheter().get(RANDOM.nextInt(dto.getDriverVirksomheter().size())); - } - - public List getDriverVirksomheter() { - return dto.getDriverVirksomheter(); - } - - public boolean isOpplysningspliktig() { - return switch (dto.getEnhetType()) { - case "AS", "NUF", "BRL", "KBO", "SA", "ENK" -> true; - default -> false; - }; - } -} \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/PermisjonCount.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/PermisjonCount.java deleted file mode 100644 index 2e524123005..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/PermisjonCount.java +++ /dev/null @@ -1,51 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import lombok.Getter; -import lombok.extern.slf4j.Slf4j; - -import java.util.List; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Permisjon; - -@Slf4j -@Getter -public class PermisjonCount { - float velferdspermisjon = 0; - float utdanningspermisjon = 0; - float permisjonMedForeldrepenger = 0; - float permisjonVedMilitaertjeneste = 0; - float permisjon = 0; - float permittering = 0; - - public PermisjonCount(List permisjoner) { - if (permisjoner == null) { - return; - } - for (var permisjon : permisjoner) { - switch (permisjon.getBeskrivelse()) { - case "velferdspermisjon": - velferdspermisjon++; - break; - case "utdanningspermisjon": - utdanningspermisjon++; - break; - case "permisjonMedForeldrepenger": - permisjonMedForeldrepenger++; - break; - case "permisjonVedMilitaertjeneste": - permisjonVedMilitaertjeneste++; - break; - case "permisjon": - this.permisjon++; - break; - case "permittering": - permittering++; - break; - default: - log.warn("Ukjent permisjons beskrivelse {}", permisjon.getBeskrivelse()); - break; - } - } - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Person.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Person.java deleted file mode 100644 index 9be1ddef4cf..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Person.java +++ /dev/null @@ -1,44 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import com.fasterxml.jackson.annotation.JsonIgnore; - -import java.time.LocalDate; -import java.util.Set; -import java.util.stream.Collectors; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Arbeidsforhold; - -public class Person { - private final String ident; - @JsonIgnore - private final Timeline timeline; - - public Person(String ident, Timeline timeline) { - this.ident = ident; - this.timeline = timeline; - } - - public String getIdent() { - return ident; - } - - public Set getArbeidsforholdOn(LocalDate date) { - return timeline.get(date); - } - - public Set getArbeidsforholdToRemoveOn(LocalDate date) { - var history = timeline.getHistory(date); - var current = timeline.get(date); - return history.stream().filter(value -> !current.contains(value)).collect(Collectors.toSet()); - } - - public void updateTimeline(Timeline timeline) { - this.timeline.update(timeline); - } - - public Timeline getTimeline(){ - return timeline; - } - - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Timeline.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Timeline.java deleted file mode 100644 index 4465aaafeeb..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/Timeline.java +++ /dev/null @@ -1,99 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import lombok.Getter; - -import java.time.LocalDate; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; -import java.util.function.BiConsumer; -import java.util.function.Function; -import java.util.stream.Collectors; - -public class Timeline { - private final Map> timeline; - private final Map> history; - @Getter - private final Set updatedDates = new HashSet<>(); - - public Timeline(Map> map) { - timeline = new TreeMap<>(); - history = new TreeMap<>(); - map.forEach((key, values) -> values.forEach(value -> put(key, value, false))); - } - - public Timeline() { - timeline = new TreeMap<>(); - history = new TreeMap<>(); - } - - public LocalDate getLastDate() { - return timeline.keySet().stream().reduce(null, (sub, date) -> { - if (sub == null) { - return date; - } - return date.compareTo(sub) > 0 ? date : sub; - } - ); - } - - public void put(LocalDate date, T value, boolean updated) { - if (updated) { - updatedDates.add(date); - } - - if (!timeline.containsKey(date)) { - timeline.put(date, new TimelineEntries<>()); - } - - var timelineEntries = timeline.get(date); - timelineEntries.put(value); - } - - public void put(LocalDate date, T value) { - put(date, value, true); - } - - public void replace(LocalDate date, Collection values) { - updatedDates.add(date); - - if (timeline.containsKey(date)) { - history.put(date, timeline.get(date)); - } - - timeline.put(date, new TimelineEntries<>()); - var timelineEntries = timeline.get(date); - values.forEach(timelineEntries::put); - } - - public void update(Timeline timeline) { - timeline.forEach(this::replace); - } - - public void forEach(BiConsumer> action) { - timeline.forEach((date, entries) -> action.accept(date, entries.getAll())); - } - - public List applyForAll(Function function) { - return timeline.values().stream().flatMap(value -> value.getAll().stream().map(function)) - .collect(Collectors.toList()); - } - - public Set getHistory(LocalDate date) { - if (!history.containsKey(date)) { - return Collections.emptySet(); - } - return history.get(date).getAll(); - } - - public Set get(LocalDate date) { - if (!timeline.containsKey(date)) { - return Collections.emptySet(); - } - return timeline.get(date).getAll(); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/TimelineEntries.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/TimelineEntries.java deleted file mode 100644 index ba310fa6d3d..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/TimelineEntries.java +++ /dev/null @@ -1,22 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain; - -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; -import java.util.stream.Collectors; - -public class TimelineEntries { - private final Map entires; - - public TimelineEntries() { - entires = new TreeMap<>(); - } - - public void put(T value) { - entires.put(value.getId(), value); - } - - public Set getAll() { - return entires.entrySet().stream().map(Map.Entry::getValue).collect(Collectors.toSet()); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Arbeidsforhold.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Arbeidsforhold.java deleted file mode 100644 index 9684748b02c..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Arbeidsforhold.java +++ /dev/null @@ -1,142 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.EqualsAndHashCode; -import lombok.Value; -import lombok.extern.slf4j.Slf4j; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Id; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.PermisjonCount; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdRequest; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdResponse; - -@Value -@Slf4j -@EqualsAndHashCode(callSuper = false) -public class Arbeidsforhold extends Generated implements Id { - String id; - String type; - LocalDate startdato; - LocalDate sluttdato; - Float antallTimerPerUke; - String yrke; - String arbeidstidsordning; - Float stillingsprosent; - LocalDate sisteLoennsendringsdato; - List permisjoner; - String historikk; - List avvik; - Fartoey fartoey; - List inntekter; - String virksomhetsnummer; - String opplysningspliktig; - String ident; - - public Arbeidsforhold(ArbeidsforholdDTO dto, String virksomhetsnummer, String opplysningspliktig, String ident) { - this.virksomhetsnummer = virksomhetsnummer; - this.opplysningspliktig = opplysningspliktig; - this.ident = ident; - id = dto.getArbeidsforholdId(); - type = dto.getTypeArbeidsforhold(); - startdato = dto.getStartdato(); - sluttdato = dto.getSluttdato(); - antallTimerPerUke = dto.getAntallTimerPerUke(); - yrke = dto.getYrke(); - arbeidstidsordning = dto.getArbeidstidsordning(); - stillingsprosent = dto.getStillingsprosent(); - sisteLoennsendringsdato = dto.getSisteLoennsendringsdato(); - permisjoner = dto.getPermisjoner().stream().map(Permisjon::new).collect(Collectors.toList()); - historikk = dto.getHistorikk(); - avvik = dto.getAvvik().stream().map(Avvik::new).collect(Collectors.toList()); - fartoey = dto.getFartoey() == null ? null : new Fartoey(dto.getFartoey()); - inntekter = dto.getInntekter().stream().map(Inntekt::new).collect(Collectors.toList()); - } - - public Arbeidsforhold(ArbeidsforholdResponse response, String id, String virksomhetsnummer, String opplysningspliktig, String ident) { - this.id = id; - this.virksomhetsnummer = virksomhetsnummer; - this.opplysningspliktig = opplysningspliktig; - this.ident = ident; - type = emptyToNull(response.getArbeidsforholdType()); - startdato = response.getStartdato(); - sluttdato = format(response.getSluttdato()); - antallTimerPerUke = emptyToNull(response.getAntallTimerPerUkeSomEnFullStillingTilsvarer()); - yrke = emptyToNull(response.getYrke()); - arbeidstidsordning = emptyToNull(response.getArbeidstidsordning()); - stillingsprosent = response.getStillingsprosent(); - sisteLoennsendringsdato = response.getSisteLoennsendringsdato(); - permisjoner = response.getPermisjoner() == null - ? new ArrayList<>() - : response.getPermisjoner().stream().map(Permisjon::new).collect(Collectors.toList()); - historikk = response.getHistorikk(); - avvik = response.getAvvik() == null - ? new ArrayList<>() - : Collections.singletonList(new Avvik(response.getAvvik())); - fartoey = response.getFartoey() == null ? null : new Fartoey(response.getFartoey()); - inntekter = response.getInntekter() == null - ? new ArrayList<>() - : response.getInntekter().stream().map(Inntekt::new).collect(Collectors.toList()); - } - - - public ArbeidsforholdRequest toSynt(Integer endringer, LocalDate kaldermnd) { - var permisjonCount = new PermisjonCount(permisjoner); - return ArbeidsforholdRequest - .builder() - .antallTimerPerUkeSomEnFullStillingTilsvarer(nullToEmpty(antallTimerPerUke)) - .arbeidsforholdType(nullToEmpty(type)) - .arbeidstidsordning(nullToEmpty(arbeidstidsordning)) - .permisjon(permisjonCount.getPermisjon()) - .permisjonMedForeldrepenger(permisjonCount.getPermisjonMedForeldrepenger()) - .permisjonVedMilitaertjeneste(permisjonCount.getPermisjonVedMilitaertjeneste()) - .permittering(permisjonCount.getPermittering()) - .velferdspermisjon(permisjonCount.getVelferdspermisjon()) - .utdanningspermisjon(permisjonCount.getUtdanningspermisjon()) - .rapporteringsmaaned(formatKaldenermaand(kaldermnd)) - .sisteDatoForStillingsprosentendring(kaldermnd) - .sisteLoennsendringsdato(sisteLoennsendringsdato) - .sluttdato(format(sluttdato)) - .startdato(startdato) - .stillingsprosent(nullToEmpty(stillingsprosent)) - .yrke(nullToEmpty(yrke)) - .historikk(historikk) - .numEndringer(endringer) - .fartoey(fartoey != null ? fartoey.toSynt() : null) - .permisjoner(permisjoner == null ? null : permisjoner.stream().map(Permisjon::toSynt).collect(Collectors.toList())) - .inntekter(inntekter == null ? null : inntekter.stream().map(Inntekt::toSynt).collect(Collectors.toList())) - .antallInntekter(inntekter == null ? 0 : inntekter.size()) - .avvik(toSyntAvvik(avvik)) - .build(); - } - - public ArbeidsforholdDTO toDTO() { - return ArbeidsforholdDTO - .builder() - .typeArbeidsforhold(type) - .antallTimerPerUke(antallTimerPerUke) - .arbeidstidsordning(arbeidstidsordning) - .sisteLoennsendringsdato(sisteLoennsendringsdato) - .stillingsprosent(stillingsprosent) - .yrke(yrke) - .startdato(startdato) - .sluttdato(sluttdato) - .arbeidsforholdId(id) - .permisjoner(permisjoner == null ? null : permisjoner.stream().map(Permisjon::toDTO).collect(Collectors.toList())) - .historikk(historikk) - .fartoey(fartoey == null ? null : fartoey.toDTO()) - .inntekter(inntekter == null ? null : inntekter.stream().map(Inntekt::toDTO).collect(Collectors.toList())) - .avvik(avvik == null ? null : avvik.stream().map(Avvik::toDTO).collect(Collectors.toList())) - .build(); - } - - public boolean isForenklet() { - return type.equals("forenkletOppgjoersordning"); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Avvik.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Avvik.java deleted file mode 100644 index 0bf1bc111eb..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Avvik.java +++ /dev/null @@ -1,43 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.Value; - -import no.nav.testnav.libs.dto.syntrest.v1.AvvikDTO; - -@Value -public class Avvik { - String id; - String navn; - String alvorlighetsgrad; - - public Avvik(no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.AvvikDTO dto){ - id = dto.getId(); - navn = dto.getNavn(); - alvorlighetsgrad = dto.getAlvorlighetsgrad(); - } - - public Avvik(AvvikDTO dto) { - id = dto.getId(); - navn = dto.getNavn(); - alvorlighetsgrad = dto.getAlvorlighetsgrad(); - } - - public no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.AvvikDTO toDTO(){ - return no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.AvvikDTO - .builder() - .navn(navn) - .id(id) - .alvorlighetsgrad(alvorlighetsgrad) - .build(); - } - - public AvvikDTO toSynt(){ - return AvvikDTO - .builder() - .id(id) - .navn(navn) - .alvorlighetsgrad(alvorlighetsgrad) - .build(); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Fartoey.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Fartoey.java deleted file mode 100644 index d7cb50cca37..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Fartoey.java +++ /dev/null @@ -1,41 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.Value; - -import no.nav.testnav.libs.dto.syntrest.v1.FartoeyDTO; - -@Value -public class Fartoey { - String skipsregister; - String skipstype; - String fartsomraade; - - public Fartoey(no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.FartoeyDTO dto) { - skipsregister = dto.getSkipsregister(); - skipstype = dto.getSkipstype(); - fartsomraade = dto.getFartsomraade(); - } - - public Fartoey(FartoeyDTO dto) { - skipsregister = dto.getSkipsregister(); - skipstype = dto.getSkipstype(); - fartsomraade = dto.getFartsomraade(); - } - - public no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.FartoeyDTO toDTO() { - return no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.FartoeyDTO.builder() - .fartsomraade(fartsomraade) - .skipsregister(skipsregister) - .skipstype(skipstype) - .build(); - } - - public FartoeyDTO toSynt() { - return FartoeyDTO - .builder() - .skipsregister(skipsregister) - .skipstype(skipstype) - .fartsomraade(fartsomraade) - .build(); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Generated.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Generated.java deleted file mode 100644 index 1663969f811..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Generated.java +++ /dev/null @@ -1,49 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import org.apache.logging.log4j.util.Strings; - -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.util.List; - -import no.nav.testnav.libs.dto.syntrest.v1.AvvikDTO; - -abstract class Generated { - - Float nullToEmpty(Float value) { - return value == null ? 0f : value; - } - - String nullToEmpty(String value) { - return value == null ? "" : value; - } - - String emptyToNull(String value) { - return value == null ? null : value.equals("") ? null : value; - } - - Float emptyToNull(Float value) { - return value == 0f ? null : value; - } - - String formatKaldenermaand(LocalDate value) { - return value.format(DateTimeFormatter.ofPattern("yyyy-MM")); - } - - String format(LocalDate value) { - if (value == null) { - return ""; - } - return value.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); - } - - LocalDate format(String value) { - return Strings.isBlank(value) ? null : LocalDate.parse(value); - } - - - AvvikDTO toSyntAvvik(List list) { - return list == null ? null : list.stream().findFirst().map(Avvik::toSynt).orElse(null); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Inntekt.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Inntekt.java deleted file mode 100644 index 99b9966aced..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Inntekt.java +++ /dev/null @@ -1,61 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.EqualsAndHashCode; -import lombok.Value; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; - -import no.nav.testnav.libs.dto.syntrest.v1.InntektDTO; - -@Value -@EqualsAndHashCode(callSuper = false) -public class Inntekt extends Generated { - LocalDate startdatoOpptjeningsperiode; - LocalDate sluttdatoOpptjeningsperiode; - Integer antall; - String opptjeningsland; - List avvik; - - public Inntekt(no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.InntektDTO dto){ - sluttdatoOpptjeningsperiode = dto.getSluttdatoOpptjeningsperiode(); - startdatoOpptjeningsperiode = dto.getStartdatoOpptjeningsperiode(); - antall = dto.getAntall(); - opptjeningsland = dto.getOpptjeningsland(); - avvik = dto.getAvvik().stream().map(Avvik::new).collect(Collectors.toList()); - } - - public Inntekt(InntektDTO dto) { - sluttdatoOpptjeningsperiode = dto.getSluttdatoOpptjeningsperiode(); - startdatoOpptjeningsperiode = dto.getStartdatoOpptjeningsperiode(); - antall = dto.getAntall(); - opptjeningsland = dto.getOpptjeningsland(); - avvik = dto.getAvvik() == null ? new ArrayList<>() : Collections.singletonList(new Avvik(dto.getAvvik())); - } - - public InntektDTO toSynt() { - return InntektDTO - .builder() - .startdatoOpptjeningsperiode(startdatoOpptjeningsperiode) - .sluttdatoOpptjeningsperiode(sluttdatoOpptjeningsperiode) - .antall(antall) - .opptjeningsland(opptjeningsland) - .avvik(toSyntAvvik(avvik)) - .build(); - } - - public no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.InntektDTO toDTO(){ - return no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.InntektDTO - .builder() - .startdatoOpptjeningsperiode(startdatoOpptjeningsperiode) - .sluttdatoOpptjeningsperiode(sluttdatoOpptjeningsperiode) - .opptjeningsland(opptjeningsland) - .antall(antall) - .avvik(avvik == null ? null : avvik.stream().map(Avvik::toDTO).collect(Collectors.toList())) - .build(); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Opplysningspliktig.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Opplysningspliktig.java deleted file mode 100644 index 9578ddbb038..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Opplysningspliktig.java +++ /dev/null @@ -1,12 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import java.time.LocalDate; -import java.util.List; - -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.VirksomhetDTO; - -public class Opplysningspliktig { - private LocalDate kalendermaaned; - private String opplysningspliktigOrganisajonsnummer; - private List virksomheter; -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Oppsummeringsdokument.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Oppsummeringsdokument.java deleted file mode 100644 index f851f8bbf95..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Oppsummeringsdokument.java +++ /dev/null @@ -1,101 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.extern.slf4j.Slf4j; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Optional; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Id; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PersonDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.VirksomhetDTO; - -@Slf4j -public class Oppsummeringsdokument implements Id { - private final OppsummeringsdokumentDTO dto; - - public Oppsummeringsdokument(OppsummeringsdokumentDTO dto) { - this.dto = dto; - this.dto.setVersion(this.dto.getVersion() == null ? 1L : this.dto.getVersion() + 1); - } - - public String getOpplysningspliktigOrganisajonsnummer() { - return dto.getOpplysningspliktigOrganisajonsnummer(); - } - - public LocalDate getKalendermaaned() { - return dto.getKalendermaaned(); - } - - public void remove(Arbeidsforhold arbeidsforhold) { - log.info("Fjerner arbeidsforhold med id {}.", arbeidsforhold.getId()); - var person = dto.getVirksomheter() - .stream() - .filter(value -> value.getOrganisajonsnummer().equals(arbeidsforhold.getVirksomhetsnummer())) - .findFirst() - .orElseThrow() - .getPersoner() - .stream() - .filter(value -> value.getIdent().equals(arbeidsforhold.getIdent())) - .findFirst() - .orElseThrow(); - person.getArbeidsforhold().remove(arbeidsforhold.toDTO()); - } - - public void addAll(List arbeidsforhold) { - arbeidsforhold.forEach(this::add); - } - - private void add(Arbeidsforhold arbeidsforhold) { - - VirksomhetDTO virksomhet = dto.getVirksomheter() - .stream() - .filter(value -> value.getOrganisajonsnummer().equals(arbeidsforhold.getVirksomhetsnummer())) - .findFirst() - .orElseGet(() -> { - VirksomhetDTO virksomhetDTO = new VirksomhetDTO(arbeidsforhold.getVirksomhetsnummer(), new ArrayList<>()); - dto.getVirksomheter().add(virksomhetDTO); - return virksomhetDTO; - }); - - Optional optional = virksomhet.getPersoner() - .stream() - .filter(value -> value.getIdent().equals(arbeidsforhold.getIdent())) - .findFirst(); - - if (optional.isEmpty()) { - virksomhet.getPersoner().add(new PersonDTO(arbeidsforhold.getIdent(), Collections.singletonList( - arbeidsforhold.toDTO() - ))); - } else { - PersonDTO personDTO = optional.get(); - Optional tidligereArbeidsforhold = personDTO.getArbeidsforhold() - .stream() - .filter(arbeidsforholdDTO -> arbeidsforholdDTO.getArbeidsforholdId().equals(arbeidsforhold.getId())) - .findFirst(); - - List list = new ArrayList<>(personDTO.getArbeidsforhold()); - if (tidligereArbeidsforhold.isPresent()) { - ArbeidsforholdDTO dto = tidligereArbeidsforhold.get(); - log.info("Fjerner tidligere arbeidsforhold {}", dto.getArbeidsforholdId()); - list.remove(dto); - } - - list.add(arbeidsforhold.toDTO()); - personDTO.setArbeidsforhold(list); - } - } - - public OppsummeringsdokumentDTO toDTO() { - return dto; - } - - @Override - public String getId() { - return getOpplysningspliktigOrganisajonsnummer(); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Permisjon.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Permisjon.java deleted file mode 100644 index 8ccb48e75c6..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/domain/amelding/Permisjon.java +++ /dev/null @@ -1,65 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding; - -import lombok.EqualsAndHashCode; -import lombok.Value; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.UUID; -import java.util.stream.Collectors; - -import no.nav.testnav.libs.dto.syntrest.v1.PermisjonDTO; - -@Value -@EqualsAndHashCode(callSuper = false) -public class Permisjon extends Generated { - String id; - String beskrivelse; - LocalDate startdato; - LocalDate sluttdato; - Float permisjonsprosent; - List avvik; - - public Permisjon(no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PermisjonDTO dto) { - id = UUID.randomUUID().toString(); - beskrivelse = dto.getBeskrivelse(); - startdato = dto.getStartdato(); - sluttdato = dto.getSluttdato(); - permisjonsprosent = dto.getPermisjonsprosent(); - avvik = dto.getAvvik().stream().map(Avvik::new).collect(Collectors.toList()); - } - - public Permisjon(PermisjonDTO dto) { - id = UUID.randomUUID().toString(); - beskrivelse = dto.getBeskrivelse(); - startdato = dto.getStartdato(); - sluttdato = dto.getSluttdato(); - permisjonsprosent = dto.getPermisjonsprosent() == null ? null : Float.parseFloat(dto.getPermisjonsprosent()); - avvik = dto.getAvvik() == null ? new ArrayList<>() : Collections.singletonList(new Avvik(dto.getAvvik())); - } - - public no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PermisjonDTO toDTO() { - return no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PermisjonDTO - .builder() - .permisjonId(UUID.randomUUID().toString()) - .beskrivelse(beskrivelse) - .permisjonsprosent(permisjonsprosent) - .sluttdato(sluttdato) - .startdato(startdato) - .avvik(avvik == null ? null : avvik.stream().map(Avvik::toDTO).collect(Collectors.toList())) - .build(); - } - - public PermisjonDTO toSynt() { - return PermisjonDTO - .builder() - .beskrivelse(beskrivelse) - .startdato(startdato) - .sluttdato(sluttdato) - .permisjonsprosent(permisjonsprosent == null ? null : permisjonsprosent.toString()) - .avvik(toSyntAvvik(avvik)) - .build(); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdHistorikkService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdHistorikkService.java deleted file mode 100644 index bc2292ec3e6..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdHistorikkService.java +++ /dev/null @@ -1,63 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import java.util.stream.Collectors; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.SyntArbeidsforholdConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Arbeidsforhold; -import no.nav.testnav.libs.dto.syntrest.v1.ArbeidsforholdResponse; - -@Service -@RequiredArgsConstructor -public class ArbeidsforholdHistorikkService { - private final SyntArbeidsforholdConsumer syntArbeidsforholdConsumer; - - public Mono> genererStart(LocalDate startdato, String virksomhetsnummer, String opplysningspliktig, String ident) { - var response = syntArbeidsforholdConsumer.genererStartArbeidsforhold(startdato); - return response.map(items -> items.stream().map(item -> new Arbeidsforhold( - item, - UUID.randomUUID().toString(), - virksomhetsnummer, - opplysningspliktig, - ident - )).collect(Collectors.toList())); - } - - public Mono>> genererHistorikk(List previous, LocalDate kaldermnd, int antall) { - var responseList = syntArbeidsforholdConsumer.genererArbeidsforholdHistorikk( - previous.stream() - .map(arb -> arb.toSynt(antall, kaldermnd)) - .collect(Collectors.toList()) - ); - return responseList.map(list -> convert(previous, list)); - } - - - private List> convert(List previous, List> responses){ - var arbeidsforholds = new ArrayList>(); - - for(int index = 0; index < responses.size(); index++) { - - var previousArbeidsforhold = previous.get(index); - - var newArbeidsforholds = responses.get(index).stream().map(value -> new Arbeidsforhold( - value, - previousArbeidsforhold.getId(), - previousArbeidsforhold.getVirksomhetsnummer(), - previousArbeidsforhold.getOpplysningspliktig(), - previousArbeidsforhold.getIdent() - )).collect(Collectors.toList()); - - arbeidsforholds.add(newArbeidsforholds); - } - return arbeidsforholds; - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdSerivce.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdSerivce.java deleted file mode 100644 index c2a7a32983f..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/ArbeidsforholdSerivce.java +++ /dev/null @@ -1,48 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.OppsummeringsdokumentConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Timeline; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Arbeidsforhold; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; - -@Service -@RequiredArgsConstructor -public class ArbeidsforholdSerivce { - private final OppsummeringsdokumentConsumer oppsummeringsdokumentConsumer; - - public Mono> findTimelineFor(String ident, String miljo) { - var dokumenter = oppsummeringsdokumentConsumer.getAllForIdent(ident, miljo); - return dokumenter.map(items -> new Timeline<>(map(ident, items))); - } - - private Map> map(String ident, java.util.List items) { - return items.stream() - .flatMap(oppsummeringsdokument -> oppsummeringsdokument.getVirksomheter() - .stream() - .flatMap(virksomhet -> virksomhet.getPersoner() - .stream() - .filter(value -> value.getIdent().equals(ident)) - .map(person -> Map.entry( - oppsummeringsdokument.getKalendermaaned(), - person.getArbeidsforhold() - .stream() - .map(arbeidsforhold -> new Arbeidsforhold( - arbeidsforhold, - virksomhet.getOrganisajonsnummer(), - oppsummeringsdokument.getOpplysningspliktigOrganisajonsnummer(), - person.getIdent() - )).collect(Collectors.toList()) - )) - )) - .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/IdentService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/IdentService.java deleted file mode 100644 index e2031c933f2..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/IdentService.java +++ /dev/null @@ -1,34 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.OppsummeringsdokumentConsumer; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.PersonDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.VirksomhetDTO; -import org.springframework.stereotype.Service; - -import java.util.Collection; -import java.util.Set; -import java.util.stream.Collectors; - -@Slf4j -@Service -@RequiredArgsConstructor -public class IdentService { - private final OppsummeringsdokumentConsumer arbeidsforholdConsumer; - - public Set getIdenterMedArbeidsforhold(String miljo) { - var identer = arbeidsforholdConsumer - .getAll(miljo) - .stream() - .map(OppsummeringsdokumentDTO::getVirksomheter) - .flatMap(Collection::stream) - .map(VirksomhetDTO::getPersoner) - .flatMap(Collection::stream) - .map(PersonDTO::getIdent) - .collect(Collectors.toSet()); - log.info("Fant {} identer i {}.", identer.size(), miljo); - return identer; - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OppsummeringsdokumentService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OppsummeringsdokumentService.java deleted file mode 100644 index 53b74f33547..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OppsummeringsdokumentService.java +++ /dev/null @@ -1,71 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.OppsummeringsdokumentConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.OppsummeringsdokumentTimeline; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Person; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Arbeidsforhold; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Oppsummeringsdokument; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Flux; - -import java.time.LocalDate; -import java.util.HashSet; -import java.util.List; -import java.util.stream.Collectors; - -@Slf4j -@Service -@RequiredArgsConstructor -public class OppsummeringsdokumentService { - - private final OppsummeringsdokumentConsumer oppsummeringsdokumentConsumer; - - public void save(Flux personer, String miljo) { - var list = personer.collectList().block(); - save(list, miljo); - } - - public void save(List personer, String miljo) { - log.info( - "Legger til arbeidsforhold for {}.", - personer.stream().map(Person::getIdent).collect(Collectors.joining(", ")) - ); - - var dates = personer - .stream() - .map(value -> value.getTimeline().getUpdatedDates()) - .reduce(new HashSet<>(), (sub, item) -> { - sub.addAll(item); - return sub; - }); - - dates.parallelStream() - .flatMap(kalendermnd -> getOppdatertOppsumeringsdokument(personer, kalendermnd, miljo).stream()) - .collect(Collectors.groupingBy(Oppsummeringsdokument::getId)) - .values() - .parallelStream() - .map(OppsummeringsdokumentTimeline::new) - .forEach(timeline -> timeline.applyForAll(value -> oppsummeringsdokumentConsumer.save(value.toDTO(), miljo).block())); - } - - private List getOppdatertOppsumeringsdokument(List personer, LocalDate kalendermnd, String miljo) { - log.info("Oppdaterer arbeidsforhold på opplysningspliktig..."); - var oppsummeringsdokumenter = Flux.concat( - personer.stream() - .flatMap(person -> person.getArbeidsforholdOn(kalendermnd).stream()) - .collect(Collectors.groupingBy(Arbeidsforhold::getOpplysningspliktig)) - .entrySet() - .stream() - .map(entry -> oppsummeringsdokumentConsumer.getOppsummeringsdokument(entry.getKey(), kalendermnd, miljo) - .map(oppsummeringsdokument -> { - oppsummeringsdokument.addAll(entry.getValue()); - return oppsummeringsdokument; - })) - .toList() - ).collectList().block(); - log.info("Oppdatert {} opplysningsplikitg med nye arbeidsforhold.", oppsummeringsdokumenter.size()); - return oppsummeringsdokumenter; - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrganisasjonService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrganisasjonService.java deleted file mode 100644 index 120cfcc899f..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrganisasjonService.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.GenererOrganisasjonPopulasjonConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.OppsummeringsdokumentConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.consumer.OrganisasjonConsumer; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Organisajon; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; - -@Slf4j -@Service -@RequiredArgsConstructor -public class OrganisasjonService { - private final GenererOrganisasjonPopulasjonConsumer genererOrganisasjonPopulasjonConsumer; - private final OppsummeringsdokumentConsumer oppsummeringsdokumentConsumer; - private final OrganisasjonConsumer organisasjonConsumer; - - public List getOpplysningspliktigeOrganisasjoner(String miljo, boolean unused) { - var oppsummeringsdokuments = unused ? oppsummeringsdokumentConsumer.getAll(miljo) : new ArrayList(); - - var opplysningspliktigOrgnummer = genererOrganisasjonPopulasjonConsumer.getOpplysningspliktig(miljo); - var list = organisasjonConsumer - .getOrganisasjoner(opplysningspliktigOrgnummer, miljo) - .collectList() - .block(); - log.info("Funnet {} opplysningspliktige organiasjon(er).", list.size()); - return list - .stream() - .filter(value -> !oppsummeringsdokuments - .stream() - .map(OppsummeringsdokumentDTO::getOpplysningspliktigOrganisajonsnummer) - .collect(Collectors.toSet()) - .contains(value) - ) - .filter(value -> !value.getDriverVirksomheter().isEmpty()) - .map(Organisajon::new) - .collect(Collectors.toList()); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrkestratorService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrkestratorService.java deleted file mode 100644 index c442603285d..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/OrkestratorService.java +++ /dev/null @@ -1,19 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Flux; - -@Service -@RequiredArgsConstructor -public class OrkestratorService { - private final IdentService identService; - private final PersonArbeidsforholdHistorkkService personArbeidsforholdHistorkkService; - private final OppsummeringsdokumentService oppsummeringsdokumentService; - - public void orkestrerMedArbeidsforhold(String miljo, int months) { - var identerMedArbeidsforhold = identService.getIdenterMedArbeidsforhold(miljo); - var personer = personArbeidsforholdHistorkkService.generer(Flux.fromStream(identerMedArbeidsforhold.stream()), miljo, months); - oppsummeringsdokumentService.save(personer, miljo); - } -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/PersonArbeidsforholdHistorkkService.java b/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/PersonArbeidsforholdHistorkkService.java deleted file mode 100644 index 890b9c49c0c..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/service/PersonArbeidsforholdHistorkkService.java +++ /dev/null @@ -1,204 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Organisajon; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Person; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.Timeline; -import no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice.domain.amelding.Arbeidsforhold; -import org.springframework.stereotype.Service; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.time.Period; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Random; -import java.util.Set; -import java.util.TreeSet; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executor; -import java.util.concurrent.atomic.AtomicInteger; - -@Slf4j -@Service -@RequiredArgsConstructor -public class PersonArbeidsforholdHistorkkService { - private final ArbeidsforholdSerivce arbeidsforholdSerivce; - private final ArbeidsforholdHistorikkService arbeidsforholdHistorikkService; - private final OrganisasjonService organisasjonService; - private final Executor executor; - private final Random random = new Random(); - - public Flux generer(Flux identer, String miljo, int months) { - var organisasjoner = organisasjonService.getOpplysningspliktigeOrganisasjoner(miljo, true); - return identer.flatMap(ident -> generer(ident, miljo, months, organisasjoner)); - } - - public Flux generer(Flux identer, String miljo, LocalDate fom, LocalDate tom) { - var organisasjoner = organisasjonService.getOpplysningspliktigeOrganisasjoner(miljo, false); - return identer.flatMap(ident -> generer(ident, miljo, fom, tom, organisasjoner)); - } - - private Mono generer(String ident, String miljo, int months, List organisajoner) { - var count = new AtomicInteger(); - return arbeidsforholdSerivce - .findTimelineFor(ident, miljo) - .flatMap(timeline -> { - var lastDate = timeline.getLastDate(); - var person = new Person(ident, timeline); - var previous = person.getArbeidsforholdOn(lastDate); - var map = getArbeidsforholdMap( - new ArrayList<>(previous), - organisajoner, - ident, - findAllDatesBetween(lastDate.plusMonths(1), lastDate.plusMonths(months)).iterator() - ); - return updatePerson(count, person, map); - }).filter(Objects::nonNull); - } - - private Mono generer(String ident, String miljo, LocalDate fom, LocalDate tom, List organisajoner) { - var count = new AtomicInteger(); - return arbeidsforholdSerivce - .findTimelineFor(ident, miljo) - .flatMap(timeline -> { - var person = new Person(ident, timeline); - var previous = person.getArbeidsforholdOn(fom.minusMonths(1)); - var map = getArbeidsforholdMap(new ArrayList<>(previous), organisajoner, ident, findAllDatesBetween(fom, tom).iterator()); - - return updatePerson(count, person, map); - }).filter(Objects::nonNull); - } - - private Mono updatePerson(AtomicInteger count, Person person, Mono>> map) { - return map.map(value -> { - count.incrementAndGet(); - if (value == null) { - return null; - } - person.updateTimeline(new Timeline<>(value)); - log.info("Person {} ferdig generert. (Total: {})", person.getIdent(), count.get()); - return person; - }); - } - - - private Mono>> getArbeidsforholdMap( - List previous, - List organisajoner, - String ident, - Iterator dates - ) { - return Mono.fromFuture(CompletableFuture.supplyAsync( - () -> generer(previous, organisajoner, ident, dates), - executor - )); - } - - - private Map> generer( - List previous, - List organisajoner, - String ident, - Iterator dates - ) { - var map = new HashMap>(); - - if (!dates.hasNext()) { - return map; - } - - if (previous == null || previous.isEmpty() || previous.get(0).isForenklet()) { - var startdato = dates.next(); - var organisajon = organisajoner.get(random.nextInt(organisajoner.size())); - var arbeidsforhold = arbeidsforholdHistorikkService.genererStart( - startdato, - organisajon.getRandomVirksomhetsnummer(), - organisajon.getOrgnummer(), - ident - ).block(); - map.put(startdato, arbeidsforhold); - previous = arbeidsforhold; - } - - if (!dates.hasNext()) { - return map; - } - - if (previous.get(0).isForenklet()) { - - var generert = generer(previous, organisajoner, ident, dates); - - map.putAll(generert); - return map; - } - - List dateList = new ArrayList<>(); - dates.forEachRemaining(dateList::add); - dates = dateList.iterator(); - - List> historikk; - try { - historikk = arbeidsforholdHistorikkService.genererHistorikk( - previous, - dateList.iterator().next(), - dateList.size() - ).block(); - } catch (Exception ex) { - return Collections.emptyMap(); - } - - - Iterator left = historikk.get(0).stream().iterator(); - Iterator right = historikk.size() <= 1 ? Collections.emptyIterator() : historikk.get(1).stream().iterator(); - - while (dates.hasNext()) { - var kalendermnd = dates.next(); - - boolean isNewArbeidsforhold = previous.get(0).getSluttdato() != null - && previous.get(0).getSluttdato().getMonth() == kalendermnd.minusMonths(1).getMonth() - && previous.get(0).getSluttdato().getYear() == kalendermnd.minusMonths(1).getYear() - || previous.get(0).getSluttdato() != null && previous.get(0).getSluttdato().isBefore(kalendermnd); - - if (isNewArbeidsforhold) { - map.putAll(generer(null, organisajoner, ident, dates)); - return map; - } - - var arbeidsforholds = new ArrayList(); - arbeidsforholds.add(left.next()); - if (right.hasNext()) { - arbeidsforholds.add(right.next()); - } - - map.put(kalendermnd, arbeidsforholds); - previous = arbeidsforholds; - } - return map; - } - - - private Set findAllDatesBetween(LocalDate fom, LocalDate tom) { - Set dates = new TreeSet<>(); - if (tom == null) { - return dates; - } - Period between = Period.between( - fom.withDayOfMonth(1), - tom.withDayOfMonth(1) - ); - int months = between.getYears() * 12 + between.getMonths(); - for (int index = 0; index <= months; index++) { - dates.add(fom.withDayOfMonth(1).plusMonths(index)); - } - return dates; - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application-local.yml b/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application-local.yml deleted file mode 100644 index 8178745fda2..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application-local.yml +++ /dev/null @@ -1,11 +0,0 @@ -spring: - config: - import: "sm://" - -consumers: - oppsummeringsdokument-service: - url: https://testnav-oppsummeringsdokument-service.dev.intern.nav.no - testnav-generer-organisasjon-populasjon-service: - url: https://testnav-generer-organisasjon-populasjon-service.dev.intern.nav.no - testnav-organisasjon-service: - url: https://testnav-organisasjon-service.dev.intern.nav.no diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application.yml b/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application.yml deleted file mode 100644 index 3fc8e4bea97..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/application.yml +++ /dev/null @@ -1,63 +0,0 @@ -spring: - application: - name: testnav-generer-arbeidsforhold-populasjon-service - description: Tjeneste for å opprette arbeidsforhold-populasjon - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} - -springdoc: - swagger-ui: - disable-swagger-default-url: true - url: /v3/api-docs - -consumers: - synt-amelding: - url: https://synthdata-amelding.dev.intern.nav.no - cluster: dev-gcp - namespace: dolly - name: synthdata-amelding - oppsummeringsdokument-service: - cluster: dev-gcp - namespace: dolly - name: testnav-oppsummeringsdokument-service - url: http://testnav-oppsummeringsdokument-service.dolly.svc.cluster.local - testnav-generer-organisasjon-populasjon-service: - cluster: dev-gcp - namespace: dolly - name: testnav-generer-organisasjon-populasjon-service - url: http://testnav-generer-organisasjon-populasjon-service.dolly.svc.cluster.local - testnav-organisasjon-service: - name: testnav-organisasjon-service - cluster: dev-gcp - namespace: dolly - url: http://testnav-organisasjon-service.dolly.svc.cluster.local - -management: - endpoints: - enabled-by-default: true - web: - base-path: /internal - exposure: - include: prometheus,health - path-mapping: - prometheus: metrics - endpoint: - prometheus: - enabled: true - prometheus: - metrics: - export: - enabled: true -server: - servlet: - encoding: - charset: UTF-8 - error: - include-message: always \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/logback-spring.xml b/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/logback-spring.xml deleted file mode 100644 index 2b8e3e07012..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - \ No newline at end of file diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/test/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/ApplicationContextTest.java b/apps/generer-arbeidsforhold-populasjon-service/src/test/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/ApplicationContextTest.java deleted file mode 100644 index 137bd5d5c96..00000000000 --- a/apps/generer-arbeidsforhold-populasjon-service/src/test/java/no/nav/registre/testnav/genererarbeidsforholdpopulasjonservice/ApplicationContextTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.registre.testnav.genererarbeidsforholdpopulasjonservice; - - -import no.nav.dolly.libs.nais.DollySpringBootTest; -import org.junit.jupiter.api.Test; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - -@DollySpringBootTest -class ApplicationContextTest { - - @Test - void load_app_context() { - assertThat(true).isTrue(); - } - -} diff --git a/apps/generer-arbeidsforhold-populasjon-service/src/test/resources/application-test.yml b/apps/generer-arbeidsforhold-populasjon-service/src/test/resources/application-test.yml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/apps/generer-synt-amelding-service/Dockerfile b/apps/generer-synt-amelding-service/Dockerfile deleted file mode 100644 index dd8161548f8..00000000000 --- a/apps/generer-synt-amelding-service/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -ENV JAVA_OPTS="-Dspring.profiles.active=prod" - -ADD /build/libs/app.jar /app/app.jar - -EXPOSE 8080 \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/README.md b/apps/generer-synt-amelding-service/README.md deleted file mode 100644 index 78f7c780679..00000000000 --- a/apps/generer-synt-amelding-service/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Testnav-generer-synt-amelding-service -App for å generere syntetiske ameldinger. - -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [Secret Manager.](../../docs/local_secretmanager.md) \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/build.gradle b/apps/generer-synt-amelding-service/build.gradle deleted file mode 100644 index 4ea869df5d5..00000000000 --- a/apps/generer-synt-amelding-service/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id "dolly-apps" -} - -sonarqube { - properties { - property "sonar.projectKey", "testnav-generer-synt-amelding-service" - property "sonar.projectName", "testnav-generer-synt-amelding-service" - } -} - -dependencies { - implementation "no.nav.testnav.libs:domain" - implementation "no.nav.testnav.libs:reactive-core" - implementation "no.nav.testnav.libs:security-core" - implementation "no.nav.testnav.libs:servlet-core" - implementation "no.nav.testnav.libs:servlet-security" - - implementation "org.springframework.boot:spring-boot-starter-oauth2-client" - implementation "org.springframework.boot:spring-boot-starter-security" - implementation "org.springframework.boot:spring-boot-starter-web" - - implementation "io.swagger.core.v3:swagger-annotations-jakarta:$versions.swagger" - implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:$versions.springdoc" - - testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" -} diff --git a/apps/generer-synt-amelding-service/config.yml b/apps/generer-synt-amelding-service/config.yml deleted file mode 100644 index 61970695588..00000000000 --- a/apps/generer-synt-amelding-service/config.yml +++ /dev/null @@ -1,61 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-generer-synt-amelding-service - namespace: dolly - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - webproxy: true - accessPolicy: - inbound: - rules: - - application: dolly-frontend - - application: dolly-frontend-dev - - application: dolly-idporten - - application: team-dolly-lokal-app - - application: testnav-oversikt-frontend - outbound: - rules: - - application: synthdata-amelding - cluster: dev-gcp - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - liveness: - path: /internal/isAlive - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/isReady - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 200m - memory: 1024Mi - limits: - memory: 2048Mi - ingresses: - - "https://testnav-generer-synt-amelding-service.intern.dev.nav.no" \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.jar b/apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae..00000000000 Binary files a/apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.properties b/apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/apps/generer-synt-amelding-service/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/generer-synt-amelding-service/gradlew b/apps/generer-synt-amelding-service/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/apps/generer-synt-amelding-service/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/apps/generer-synt-amelding-service/gradlew.bat b/apps/generer-synt-amelding-service/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/apps/generer-synt-amelding-service/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/apps/generer-synt-amelding-service/gradlewUpdate.sh b/apps/generer-synt-amelding-service/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/apps/generer-synt-amelding-service/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/settings.gradle b/apps/generer-synt-amelding-service/settings.gradle deleted file mode 100644 index 96eeb6032e3..00000000000 --- a/apps/generer-synt-amelding-service/settings.gradle +++ /dev/null @@ -1,21 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "generer-synt-amelding-service" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/domain" -includeBuild "../../libs/reactive-core" -includeBuild "../../libs/security-core" -includeBuild "../../libs/servlet-core" -includeBuild "../../libs/servlet-security" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/GenererSyntAmeldingApplicationStarter.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/GenererSyntAmeldingApplicationStarter.java deleted file mode 100644 index 96bc26fbb4c..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/GenererSyntAmeldingApplicationStarter.java +++ /dev/null @@ -1,14 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; - -@SpringBootApplication -public class GenererSyntAmeldingApplicationStarter { - public static void main(String[] args) { - new SpringApplicationBuilder(GenererSyntAmeldingApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/ApplicationConfig.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/ApplicationConfig.java deleted file mode 100644 index 68264291391..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/ApplicationConfig.java +++ /dev/null @@ -1,12 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -import no.nav.testnav.libs.servletcore.config.ApplicationCoreConfig; - -@Configuration -@Import({ApplicationCoreConfig.class}) -public class ApplicationConfig { - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/Consumers.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/Consumers.java deleted file mode 100644 index 3ab25367a16..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/Consumers.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.config; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import static lombok.AccessLevel.PACKAGE; - -/** - * Samler alle placeholders for ulike {@code consumers.*}-konfigurasjon her, dvs. subklasser av {@code ServerProperties}. - *

- * Husk at Spring Boot bruker relaxed binding - * mellom configuration properties og field names. - * - * @see ServerProperties - */ -@Configuration -@ConfigurationProperties(prefix = "consumers") -@NoArgsConstructor(access = PACKAGE) -@Getter -@Setter(PACKAGE) -public class Consumers { - - private ServerProperties syntAmelding; - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/OpenApiConfig.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/OpenApiConfig.java deleted file mode 100644 index 52f6a0195bb..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/OpenApiConfig.java +++ /dev/null @@ -1,54 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.config; - -import java.util.Arrays; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; - -@Configuration -public class OpenApiConfig implements WebMvcConfigurer { - - @Bean - public OpenAPI openApi(ApplicationProperties applicationProperties) { - return new OpenAPI() - .components(new Components().addSecuritySchemes("bearer-jwt", new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name("Authorization") - )) - .addSecurityItem( - new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write"))) - .info(new Info() - .title(applicationProperties.getName()) - .version(applicationProperties.getVersion()) - .description(applicationProperties.getDescription()) - .termsOfService("https://nav.no") - .contact(new Contact() - .url("https://nav-it.slack.com/archives/CA3P9NGA2") - .email("dolly@nav.no") - .name("Team Dolly") - ) - .license(new License() - .name("MIT License") - .url("https://opensource.org/licenses/MIT") - ) - ); - } - - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/swagger").setViewName("redirect:/swagger-ui.html"); - } -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/SecurityConfig.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/SecurityConfig.java deleted file mode 100644 index 7afec2e6aac..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/config/SecurityConfig.java +++ /dev/null @@ -1,38 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.web.SecurityFilterChain; - -@EnableWebSecurity -@Configuration -@Profile({ "prod", "dev" }) -public class SecurityConfig { - - @Bean - public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { - - httpSecurity.sessionManagement(sessionConfig -> sessionConfig.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(authorizeConfig -> authorizeConfig.requestMatchers( - "/internal/**", - "/webjars/**", - "/swagger-resources/**", - "/v3/api-docs/**", - "/swagger-ui/**", - "/swagger", - "/error", - "/swagger-ui.html" - ).permitAll().requestMatchers("/api/**").fullyAuthenticated()) - .oauth2ResourceServer(oauth2RSConfig -> oauth2RSConfig.jwt(Customizer.withDefaults())); - - return httpSecurity.build(); - } - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumer.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumer.java deleted file mode 100644 index 5203673b2b1..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumer.java +++ /dev/null @@ -1,55 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.consumer; - -import no.nav.registre.testnorge.generersyntameldingservice.config.Consumers; -import no.nav.registre.testnorge.generersyntameldingservice.consumer.command.PostHentArbeidsforholdCommand; -import no.nav.registre.testnorge.generersyntameldingservice.consumer.command.PostHentHistorikkCommand; -import no.nav.registre.testnorge.generersyntameldingservice.domain.ArbeidsforholdType; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import no.nav.testnav.libs.domain.dto.aareg.amelding.ArbeidsforholdPeriode; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.ExchangeStrategies; -import org.springframework.web.reactive.function.client.WebClient; - -import java.util.List; - -@Component -public class SyntAmeldingConsumer { - - private final WebClient webClient; - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - - public SyntAmeldingConsumer(TokenExchange tokenExchange, - Consumers consumers, - WebClient.Builder webClientBuilder) { - - this.tokenExchange = tokenExchange; - serverProperties = consumers.getSyntAmelding(); - this.webClient = webClientBuilder - .exchangeStrategies( - ExchangeStrategies - .builder() - .codecs(configurer -> configurer - .defaultCodecs() - .maxInMemorySize(16 * 1024 * 1024)) - .build()) - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public Arbeidsforhold getEnkeltArbeidsforhold(ArbeidsforholdPeriode periode, ArbeidsforholdType arbeidsforholdType) { - return tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new PostHentArbeidsforholdCommand( - webClient, periode, arbeidsforholdType.getPath(), accessToken.getTokenValue()).call()) - .block(); - } - - public List getHistorikk(Arbeidsforhold arbeidsforhold) { - return tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new PostHentHistorikkCommand( - webClient, arbeidsforhold, accessToken.getTokenValue()).call()) - .block(); - } -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentArbeidsforholdCommand.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentArbeidsforholdCommand.java deleted file mode 100644 index e7020c29442..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentArbeidsforholdCommand.java +++ /dev/null @@ -1,46 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.generersyntameldingservice.util.WebClientFilter; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import no.nav.testnav.libs.domain.dto.aareg.amelding.ArbeidsforholdPeriode; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class PostHentArbeidsforholdCommand implements Callable> { - - private final WebClient webClient; - private final ArbeidsforholdPeriode periode; - private final String arbeidsforholdType; - private final String token; - - @Override - public Mono call() { - var body = BodyInserters.fromPublisher(Mono.just(periode), ArbeidsforholdPeriode.class); - - return webClient.post() - .uri(builder -> builder - .path("/api/v1/arbeidsforhold/start/{arbeidsforholdType}") - .queryParam("avvik", "false") - .build(arbeidsforholdType)) - .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .body(body) - .retrieve() - .bodyToMono(Arbeidsforhold.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .doOnError(WebClientFilter::logErrorMessage); - } - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentHistorikkCommand.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentHistorikkCommand.java deleted file mode 100644 index 87df89d7e62..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/command/PostHentHistorikkCommand.java +++ /dev/null @@ -1,46 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.registre.testnorge.generersyntameldingservice.util.WebClientFilter; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.List; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class PostHentHistorikkCommand implements Callable>> { - - private final WebClient webClient; - private final Arbeidsforhold arbeidsforhold; - private final String token; - - @Override - public Mono> call() { - var body = BodyInserters.fromPublisher(Mono.just(arbeidsforhold), Arbeidsforhold.class); - - return webClient.post() - .uri(builder -> builder - .path("/api/v1/arbeidsforhold") - .queryParam("avvik", "false") - .queryParam("sluttdato", "false") - .build()) - .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .body(body) - .retrieve() - .bodyToFlux(Arbeidsforhold.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .collectList() - .doOnError(WebClientFilter::logErrorMessage); - } -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/domain/ArbeidsforholdType.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/domain/ArbeidsforholdType.java deleted file mode 100644 index 9477bb0fa31..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/domain/ArbeidsforholdType.java +++ /dev/null @@ -1,14 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.domain; - -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -@Getter -@RequiredArgsConstructor -public enum ArbeidsforholdType { - - maritimtArbeidsforhold("maritimt"), - ordinaertArbeidsforhold("ordinaert"); - - private final String path; -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/SyntController.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/SyntController.java deleted file mode 100644 index fd90e68f1f1..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/SyntController.java +++ /dev/null @@ -1,41 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.provider; - -import java.time.LocalDate; -import java.util.List; - -import lombok.RequiredArgsConstructor; - -import no.nav.registre.testnorge.generersyntameldingservice.domain.ArbeidsforholdType; -import no.nav.registre.testnorge.generersyntameldingservice.provider.response.ArbeidsforholdDTO; -import no.nav.registre.testnorge.generersyntameldingservice.service.SyntAmeldingService; - -import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("/api/v1/generer") -@RequiredArgsConstructor -public class SyntController { - - private final SyntAmeldingService syntAmeldingService; - - @GetMapping("/ordinaert") - public List generateSyntheticAmeldingerOrdinaert( - @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startdato, - @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate sluttdato - ) { - return syntAmeldingService.generateAmeldinger(startdato, sluttdato, ArbeidsforholdType.ordinaertArbeidsforhold); - } - - @GetMapping("/maritimt") - public List generateSyntheticAmeldingerMaritimt( - @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startdato, - @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate sluttdato - ) { - return syntAmeldingService.generateAmeldinger(startdato, sluttdato, ArbeidsforholdType.maritimtArbeidsforhold); - } - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/response/ArbeidsforholdDTO.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/response/ArbeidsforholdDTO.java deleted file mode 100644 index 339536e3c4e..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/provider/response/ArbeidsforholdDTO.java +++ /dev/null @@ -1,49 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.provider.response; - -import java.time.LocalDate; -import java.util.Collections; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Fartoey; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Inntekt; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Permisjon; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - - private String rapporteringsmaaned; - private String arbeidsforholdType; - private LocalDate startdato; - private float antallTimerPerUkeSomEnFullStillingTilsvarer; - private String yrke; - private String arbeidstidsordning; - private float stillingsprosent; - private LocalDate sisteLoennsendringsdato; - private LocalDate sisteDatoForStillingsprosentendring; - private List permisjoner; - private Fartoey fartoey; - private List inntekter; - - public ArbeidsforholdDTO(Arbeidsforhold arbeidsforhold){ - this.rapporteringsmaaned = arbeidsforhold.getRapporteringsmaaned(); - this.arbeidsforholdType = arbeidsforhold.getArbeidsforholdType(); - this.startdato = LocalDate.parse(arbeidsforhold.getStartdato()); - this.antallTimerPerUkeSomEnFullStillingTilsvarer = arbeidsforhold.getAntallTimerPerUkeSomEnFullStillingTilsvarer(); - this.yrke = arbeidsforhold.getYrke(); - this.arbeidstidsordning = arbeidsforhold.getArbeidstidsordning(); - this.stillingsprosent = arbeidsforhold.getStillingsprosent(); - this.sisteLoennsendringsdato = LocalDate.parse(arbeidsforhold.getSisteLoennsendringsdato()); - this.sisteDatoForStillingsprosentendring = LocalDate.parse(arbeidsforhold.getSisteDatoForStillingsprosentendring()); - this.permisjoner = arbeidsforhold.getPermisjoner() == null ? Collections.emptyList() : arbeidsforhold.getPermisjoner(); - this.fartoey = arbeidsforhold.getFartoey(); - this.inntekter = arbeidsforhold.getInntekter() == null ? Collections.emptyList() : arbeidsforhold.getInntekter(); - } - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingService.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingService.java deleted file mode 100644 index 48e8c52fdda..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingService.java +++ /dev/null @@ -1,65 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.service; - -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.util.Collections; -import java.util.List; - -import no.nav.registre.testnorge.generersyntameldingservice.consumer.SyntAmeldingConsumer; -import no.nav.registre.testnorge.generersyntameldingservice.domain.ArbeidsforholdType; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Service; -import org.springframework.web.server.ResponseStatusException; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.domain.dto.aareg.amelding.ArbeidsforholdPeriode; -import no.nav.registre.testnorge.generersyntameldingservice.provider.response.ArbeidsforholdDTO; - -@Slf4j -@Service -@RequiredArgsConstructor -public class SyntAmeldingService { - - private final SyntAmeldingConsumer syntAmeldingConsumer; - - public List generateAmeldinger( - LocalDate startdato, - LocalDate sluttdato, - ArbeidsforholdType arbeidsforholdType - ) { - var antallMeldinger = getAntallMeldinger(startdato, sluttdato); - - var initialAmelding = syntAmeldingConsumer.getEnkeltArbeidsforhold( - ArbeidsforholdPeriode.builder() - .startdato(startdato) - .build(), - arbeidsforholdType); - initialAmelding.setRapporteringsmaaned(startdato.format(DateTimeFormatter.ofPattern("yyyy-MM"))); - - if (antallMeldinger > 1) { - initialAmelding.emptyPermisjoner(); - initialAmelding.setNumEndringer(antallMeldinger - 1); - - var response = syntAmeldingConsumer.getHistorikk(initialAmelding); - response.add(0, initialAmelding); - return response.stream().map(ArbeidsforholdDTO::new).toList(); - } - - return Collections.singletonList(new ArbeidsforholdDTO(initialAmelding)); - } - - int getAntallMeldinger(LocalDate startdato, LocalDate sluttdato) { - if (sluttdato.isBefore(startdato)) { - throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "Sluttdato kan ikke være før startdato."); - } - var antallMeldinger = 0; - var lastDayInEnddateMonth = sluttdato.withDayOfMonth(sluttdato.withDayOfMonth(1).lengthOfMonth()); - while (startdato.isBefore(lastDayInEnddateMonth.plusDays(1))) { - antallMeldinger += 1; - startdato = startdato.plusMonths(1); - } - return antallMeldinger; - } - -} diff --git a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/util/WebClientFilter.java b/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/util/WebClientFilter.java deleted file mode 100644 index eb226aac5e9..00000000000 --- a/apps/generer-synt-amelding-service/src/main/java/no/nav/registre/testnorge/generersyntameldingservice/util/WebClientFilter.java +++ /dev/null @@ -1,28 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.util; - -import lombok.experimental.UtilityClass; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.reactive.function.client.WebClientResponseException; - -import java.nio.charset.StandardCharsets; - -@Slf4j -@UtilityClass -public class WebClientFilter { - - public static boolean is5xxException(Throwable throwable) { - - return throwable instanceof WebClientResponseException wce && - wce.getStatusCode().is5xxServerError(); - } - - public static String getMessage(Throwable throwable) { - return throwable instanceof WebClientResponseException webClientResponseException ? - webClientResponseException.getResponseBodyAsString(StandardCharsets.UTF_8) : - throwable.getMessage(); - } - - public static void logErrorMessage(Throwable throwable) { - log.error(getMessage(throwable), throwable); - } -} diff --git a/apps/generer-synt-amelding-service/src/main/resources/application-local.yml b/apps/generer-synt-amelding-service/src/main/resources/application-local.yml deleted file mode 100644 index cfb3ace7ac1..00000000000 --- a/apps/generer-synt-amelding-service/src/main/resources/application-local.yml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - config: - import: "sm://" \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/src/main/resources/application.yml b/apps/generer-synt-amelding-service/src/main/resources/application.yml deleted file mode 100644 index a45951abdff..00000000000 --- a/apps/generer-synt-amelding-service/src/main/resources/application.yml +++ /dev/null @@ -1,50 +0,0 @@ -spring: - application: - name: testnav-generer-synt-amelding-service - description: App for å generere syntetiske ameldinger. - cluster: dev-gcp - namespace: dolly - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} - -springdoc: - swagger-ui: - disable-swagger-default-url: true - url: /v3/api-docs - -consumers: - synt-amelding: - url: https://synthdata-amelding.dev.intern.nav.no - cluster: dev-gcp - namespace: dolly - name: synthdata-amelding - -management: - endpoints: - enabled-by-default: true - web: - base-path: /internal - exposure: - include: prometheus,health - path-mapping: - prometheus: metrics - endpoint: - prometheus: - enabled: true - prometheus: - metrics: - export: - enabled: true -server: - error: - include-message: always - servlet: - encoding: - charset: UTF-8 diff --git a/apps/generer-synt-amelding-service/src/main/resources/logback-spring.xml b/apps/generer-synt-amelding-service/src/main/resources/logback-spring.xml deleted file mode 100644 index 7185afb4ac0..00000000000 --- a/apps/generer-synt-amelding-service/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - - \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/ResourceUtils.java b/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/ResourceUtils.java deleted file mode 100644 index 5f8263cd866..00000000000 --- a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/ResourceUtils.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice; - -import wiremock.com.google.common.io.Resources; - -import java.io.IOException; -import java.nio.charset.StandardCharsets; - -public class ResourceUtils { - - public static String getResourceFileContent(String path) { - var fileUrl = Resources.getResource(path); - try { - return Resources.toString(fileUrl, StandardCharsets.UTF_8); - } catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumerTest.java b/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumerTest.java deleted file mode 100644 index 4459b713e06..00000000000 --- a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/consumer/SyntAmeldingConsumerTest.java +++ /dev/null @@ -1,84 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.consumer; - -import no.nav.registre.testnorge.generersyntameldingservice.domain.ArbeidsforholdType; -import no.nav.dolly.libs.nais.DollySpringBootTest; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import no.nav.testnav.libs.domain.dto.aareg.amelding.ArbeidsforholdPeriode; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.registre.testnorge.generersyntameldingservice.ResourceUtils.getResourceFileContent; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class SyntAmeldingConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenExchange; - - @Autowired - private SyntAmeldingConsumer syntAmeldingConsumer; - - @BeforeEach - public void setup() { - when(tokenExchange.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - } - - @Test - void shouldGetEnkeltArbeidsforhold() { - stubPostArbeidsforhold(); - - var startdato = LocalDate.of(2020, 1, 1); - - var response = syntAmeldingConsumer.getEnkeltArbeidsforhold( - ArbeidsforholdPeriode.builder() - .startdato(startdato) - .build(), - ArbeidsforholdType.ordinaertArbeidsforhold); - - assertThat(response.getArbeidsforholdType()).isEqualTo(ArbeidsforholdType.ordinaertArbeidsforhold.toString()); - assertThat(response.getStartdato()).isEqualTo("2020-01-01"); - } - - private void stubPostArbeidsforhold() { - stubFor(post(urlPathMatching("(.*)/synt/api/v1/arbeidsforhold/start/ordinaert")) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(getResourceFileContent("files/synt_arbeidsforhold.json")) - ) - ); - } - - @Test - void shouldGetArbeidsforholdHistorikk() { - stubPostHistorikk(); - - var response = syntAmeldingConsumer.getHistorikk(Arbeidsforhold.builder().build()); - - assertThat(response).hasSize(6); - } - - private void stubPostHistorikk() { - stubFor(post(urlPathMatching("(.*)/synt/api/v1/arbeidsforhold")) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(getResourceFileContent("files/synt_historikk.json")) - ) - ); - } - -} diff --git a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingServiceTest.java b/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingServiceTest.java deleted file mode 100644 index a7615a7af5f..00000000000 --- a/apps/generer-synt-amelding-service/src/test/java/no/nav/registre/testnorge/generersyntameldingservice/service/SyntAmeldingServiceTest.java +++ /dev/null @@ -1,94 +0,0 @@ -package no.nav.registre.testnorge.generersyntameldingservice.service; - -import static no.nav.registre.testnorge.generersyntameldingservice.ResourceUtils.getResourceFileContent; -import static org.assertj.core.api.Assertions.assertThat; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; -import no.nav.registre.testnorge.generersyntameldingservice.consumer.SyntAmeldingConsumer; -import no.nav.registre.testnorge.generersyntameldingservice.domain.ArbeidsforholdType; -import no.nav.testnav.libs.domain.dto.aareg.amelding.Arbeidsforhold; -import no.nav.testnav.libs.domain.dto.aareg.amelding.ArbeidsforholdPeriode; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.junit.jupiter.MockitoExtension; -import org.springframework.web.server.ResponseStatusException; - -import java.time.LocalDate; -import java.util.List; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.when; - -@ExtendWith(MockitoExtension.class) -class SyntAmeldingServiceTest { - - @Mock - private SyntAmeldingConsumer syntAmeldingConsumer; - - @InjectMocks - private SyntAmeldingService service; - - private ObjectMapper objectMapper = new ObjectMapper(); - - private TypeReference> HISTORIKK_RESPONSE = new TypeReference<>() { - }; - - @Test - void shouldGetCorrectAntallMeldinger() { - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 1), LocalDate.of(2020, 1, 7))).isEqualTo(1); - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 1), LocalDate.of(2021, 1, 1))).isEqualTo(13); - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 1), LocalDate.of(2020, 10, 15))).isEqualTo(10); - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 1), LocalDate.of(2021, 7, 23))).isEqualTo(19); - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 3), LocalDate.of(2020, 3, 1))).isEqualTo(3); - assertThat(service.getAntallMeldinger(LocalDate.of(2020, 1, 1), LocalDate.of(2020, 1, 1))).isEqualTo(1); - } - - @Test - void shouldThrowExceptionWithIncorrectDates() { - var startDato = LocalDate.of(2020, 3, 1); - var sluttDato = LocalDate.of(2020, 2, 1); - Assertions.assertThrows( - ResponseStatusException.class, - () -> service.getAntallMeldinger(startDato, sluttDato) - ); - } - - @Test - void shouldGenerateSingleAmelding() throws JsonProcessingException { - var startDato = LocalDate.of(2020, 1, 1); - var sluttDato = LocalDate.of(2020, 1, 20); - - var arbeidsforholdString = getResourceFileContent("files/synt_arbeidsforhold.json"); - var arbeidsforhold = objectMapper.readValue(arbeidsforholdString, Arbeidsforhold.class); - - when(syntAmeldingConsumer.getEnkeltArbeidsforhold(any(ArbeidsforholdPeriode.class), any(ArbeidsforholdType.class))).thenReturn(arbeidsforhold); - - var response = service.generateAmeldinger(startDato, sluttDato, ArbeidsforholdType.ordinaertArbeidsforhold); - - assertThat(response).hasSize(1); - } - - @Test - void shouldGenerateMultipleAmelding() throws JsonProcessingException { - var startDato = LocalDate.of(2020, 1, 1); - var sluttDato = LocalDate.of(2020, 7, 20); - - var arbeidsforholdString = getResourceFileContent("files/synt_arbeidsforhold.json"); - var arbeidsforhold = objectMapper.readValue(arbeidsforholdString, Arbeidsforhold.class); - - var historikkString = getResourceFileContent("files/synt_historikk.json"); - var historikk = objectMapper.readValue(historikkString, HISTORIKK_RESPONSE); - - when(syntAmeldingConsumer.getEnkeltArbeidsforhold(any(ArbeidsforholdPeriode.class), any(ArbeidsforholdType.class))).thenReturn(arbeidsforhold); - when(syntAmeldingConsumer.getHistorikk(arbeidsforhold)).thenReturn(historikk); - - var response = service.generateAmeldinger(startDato, sluttDato, ArbeidsforholdType.ordinaertArbeidsforhold); - - assertThat(response).hasSize(7); - } -} diff --git a/apps/generer-synt-amelding-service/src/test/resources/application-test.yml b/apps/generer-synt-amelding-service/src/test/resources/application-test.yml deleted file mode 100644 index 9aa5548ff75..00000000000 --- a/apps/generer-synt-amelding-service/src/test/resources/application-test.yml +++ /dev/null @@ -1,6 +0,0 @@ -consumers: - synt-amelding: - url: http://localhost:${wiremock.server.port:0}/synt - cluster: dev-gcp - namespace: dolly - name: synthdata-amelding diff --git a/apps/generer-synt-amelding-service/src/test/resources/files/synt_arbeidsforhold.json b/apps/generer-synt-amelding-service/src/test/resources/files/synt_arbeidsforhold.json deleted file mode 100644 index 4e661d86e39..00000000000 --- a/apps/generer-synt-amelding-service/src/test/resources/files/synt_arbeidsforhold.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-01-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103" -} \ No newline at end of file diff --git a/apps/generer-synt-amelding-service/src/test/resources/files/synt_historikk.json b/apps/generer-synt-amelding-service/src/test/resources/files/synt_historikk.json deleted file mode 100644 index 3cf851762ec..00000000000 --- a/apps/generer-synt-amelding-service/src/test/resources/files/synt_historikk.json +++ /dev/null @@ -1,110 +0,0 @@ -[ - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-02", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-02-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀" - }, - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-03", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-02-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀񀀀" - }, - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-04", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-02-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀񀀀񀀀" - }, - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-05", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-02-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀񀀀񀀀񀀀" - }, - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-06", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2020-02-01", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀񀀀񀀀񀀀񀀀" - }, - { - "AARSAK_TIL_SLUTTDATO": "", - "ANTALL_INNTEKTER": 0, - "ANTALL_TIMER_PER_UKE_SOM_EN_FULL_STILLING_TILSVARER": 37.5, - "ARBEIDSFORHOLD_TYPE": "ordinaertArbeidsforhold", - "ARBEIDSTIDSORDNING": "ikkeSkift", - "FORM_FOR_ANSETTELSE": "", - "INNTEKTER": [], - "PERMISJONER": [], - "RAPPORTERINGSMAANED": "2020-07", - "SISTE_DATO_FOR_STILLINGSPROSENTENDRING": "2020-01-01", - "SISTE_LOENNSENDRINGSDATO": "2021-08-31", - "SLUTTDATO": "", - "STARTDATO": "2020-01-01", - "STILLINGSPROSENT": 100, - "YRKE": "3231103", - "historikk": "񀀀񀀀񀀀񀀀񀀀񀠀" - } -] \ No newline at end of file diff --git a/apps/organisasjon-service/config.yml b/apps/organisasjon-service/config.yml index 322487c6a0b..cbaa3021901 100644 --- a/apps/organisasjon-service/config.yml +++ b/apps/organisasjon-service/config.yml @@ -26,12 +26,9 @@ spec: - application: dolly-idporten - application: team-dolly-lokal-app - application: testnav-faste-data-frontend - - application: testnav-generer-arbeidsforhold-populasjon-service - application: testnav-organisasjon-forvalter - application: testnav-orgnummer-service - application: testnav-oversikt-frontend - - application: testnav-synt-sykemelding-api - - application: testnav-synt-sykemelding-api-dev - application: testnorge-statisk-data-forvalter cluster: dev-fss outbound: diff --git a/apps/synt-sykemelding-api/Dockerfile b/apps/synt-sykemelding-api/Dockerfile deleted file mode 100644 index 8fcd643d0ff..00000000000 --- a/apps/synt-sykemelding-api/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM ghcr.io/navikt/baseimages/temurin:21 -LABEL maintainer="Team Dolly" - -COPY /build/libs/app.jar /app/app.jar - -EXPOSE 8080 diff --git a/apps/synt-sykemelding-api/README.md b/apps/synt-sykemelding-api/README.md deleted file mode 100644 index da58a614ad2..00000000000 --- a/apps/synt-sykemelding-api/README.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: default -title: Synt Sykemelding API -parent: Applikasjoner ---- - -## Synt-Sykemelding-api -API for syntetisering av sykemeldinger - -## Lokal kjøring -* [Generelt.](../../docs/local_general.md) -* [Secret Manager.](../../docs/local_secretmanager.md) - diff --git a/apps/synt-sykemelding-api/build.gradle b/apps/synt-sykemelding-api/build.gradle deleted file mode 100644 index d0822af1c9e..00000000000 --- a/apps/synt-sykemelding-api/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id "dolly-apps" -} - -sonarqube { - properties { - property "sonar.projectKey", "testnorge-synt-sykemelding-api" - property "sonar.projectName", "testnorge-synt-sykemelding-api" - } -} - -dependencies { - implementation "no.nav.testnav.libs:commands" - implementation "no.nav.testnav.libs:data-transfer-objects" - implementation "no.nav.testnav.libs:reactive-core" - implementation "no.nav.testnav.libs:security-core" - implementation "no.nav.testnav.libs:servlet-core" - implementation "no.nav.testnav.libs:servlet-security" - - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-oauth2-client" - implementation "org.springframework.boot:spring-boot-starter-security" - - implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:$versions.springdoc" - - testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" -} diff --git a/apps/synt-sykemelding-api/config.test.yml b/apps/synt-sykemelding-api/config.test.yml deleted file mode 100644 index 7ec70c4d0cd..00000000000 --- a/apps/synt-sykemelding-api/config.test.yml +++ /dev/null @@ -1,73 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-synt-sykemelding-api-dev - namespace: dolly - annotations: - nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" - nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - webproxy: true - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - liveness: - path: /internal/isAlive - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/isReady - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - vault: - enabled: true - resources: - requests: - cpu: 200m - memory: 4000Mi - limits: - memory: 5000Mi - accessPolicy: - inbound: - rules: - - application: dolly-backend - - application: dolly-backend-dev - - application: team-dolly-lokal-app - - application: testnav-oversikt-frontend - outbound: - rules: - - application: synthdata-elsam-gcp - - application: testnav-organisasjon-service - - application: testnav-arbeidsforhold-service - - application: testnav-helsepersonell-service - - application: testnav-sykemelding-api-dev - external: - - host: testnav-pdl-proxy.dev-fss-pub.nais.io - ingresses: - - "https://testnav-synt-sykemelding-api-dev.intern.dev.nav.no" - env: - - name: SPRING_PROFILES_ACTIVE - value: dev \ No newline at end of file diff --git a/apps/synt-sykemelding-api/config.yml b/apps/synt-sykemelding-api/config.yml deleted file mode 100644 index 5ab174743b7..00000000000 --- a/apps/synt-sykemelding-api/config.yml +++ /dev/null @@ -1,71 +0,0 @@ -apiVersion: "nais.io/v1alpha1" -kind: "Application" -metadata: - name: testnav-synt-sykemelding-api - namespace: dolly - annotations: - nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" - nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" - labels: - team: dolly -spec: - image: "{{image}}" - port: 8080 - webproxy: true - tokenx: - enabled: true - azure: - application: - allowAllUsers: true - enabled: true - tenant: nav.no - liveness: - path: /internal/isAlive - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - observability: - logging: - destinations: - - id: elastic - autoInstrumentation: - enabled: true - runtime: java - readiness: - path: /internal/isReady - initialDelay: 4 - periodSeconds: 5 - failureThreshold: 500 - prometheus: - enabled: true - path: /internal/metrics - replicas: - min: 1 - max: 1 - resources: - requests: - cpu: 200m - memory: 4000Mi - limits: - memory: 5000Mi - accessPolicy: - inbound: - rules: - - application: dolly-backend - - application: dolly-backend-dev - - application: team-dolly-lokal-app - - application: testnav-oversikt-frontend - outbound: - rules: - - application: synthdata-elsam-gcp - - application: testnav-organisasjon-service - - application: testnav-arbeidsforhold-service - - application: testnav-helsepersonell-service - - application: testnav-sykemelding-api - external: - - host: testnav-pdl-proxy.dev-fss-pub.nais.io - ingresses: - - "https://testnav-synt-sykemelding-api.intern.dev.nav.no" - env: - - name: SPRING_PROFILES_ACTIVE - value: prod \ No newline at end of file diff --git a/apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.jar b/apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae..00000000000 Binary files a/apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.properties b/apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 48c0a02ca41..00000000000 --- a/apps/synt-sykemelding-api/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/synt-sykemelding-api/gradlew b/apps/synt-sykemelding-api/gradlew deleted file mode 100755 index 3da45c161b0..00000000000 --- a/apps/synt-sykemelding-api/gradlew +++ /dev/null @@ -1,234 +0,0 @@ -#!/bin/sh - -# -# Copyright ? 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions ?$var?, ?${var}?, ?${var:-default}?, ?${var+SET}?, -# ?${var#prefix}?, ?${var%suffix}?, and ?$( cmd )?; -# * compound commands having a testable exit status, especially ?case?; -# * various built-in commands including ?command?, ?set?, and ?ulimit?. -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/apps/synt-sykemelding-api/gradlew.bat b/apps/synt-sykemelding-api/gradlew.bat deleted file mode 100644 index ac1b06f9382..00000000000 --- a/apps/synt-sykemelding-api/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/apps/synt-sykemelding-api/gradlewUpdate.sh b/apps/synt-sykemelding-api/gradlewUpdate.sh deleted file mode 100755 index e5ee6361152..00000000000 --- a/apps/synt-sykemelding-api/gradlewUpdate.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -gradle wrapper \ No newline at end of file diff --git a/apps/synt-sykemelding-api/settings.gradle b/apps/synt-sykemelding-api/settings.gradle deleted file mode 100644 index 99dbd417dbd..00000000000 --- a/apps/synt-sykemelding-api/settings.gradle +++ /dev/null @@ -1,21 +0,0 @@ -plugins { - id "com.gradle.develocity" version "3.19" -} - -rootProject.name = "synt-sykemelding-api" - -includeBuild "../../plugins/java" - -includeBuild "../../libs/commands" -includeBuild "../../libs/data-transfer-objects" -includeBuild "../../libs/reactive-core" -includeBuild "../../libs/servlet-core" -includeBuild "../../libs/servlet-security" -includeBuild "../../libs/testing" - -develocity { - buildScan { - termsOfUseUrl = "https://gradle.com/terms-of-service" - termsOfUseAgree = "yes" - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/SyntSykemeldingApiApplicationStarter.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/SyntSykemeldingApiApplicationStarter.java deleted file mode 100644 index cbbf60fbd4c..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/SyntSykemeldingApiApplicationStarter.java +++ /dev/null @@ -1,15 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi; - -import no.nav.dolly.libs.nais.NaisEnvironmentApplicationContextInitializer; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; - - -@SpringBootApplication -public class SyntSykemeldingApiApplicationStarter { - public static void main(String[] args) { - new SpringApplicationBuilder(SyntSykemeldingApiApplicationStarter.class) - .initializers(new NaisEnvironmentApplicationContextInitializer()) - .run(args); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/adapter/ArbeidsforholdAdapter.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/adapter/ArbeidsforholdAdapter.java deleted file mode 100644 index 546910440b8..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/adapter/ArbeidsforholdAdapter.java +++ /dev/null @@ -1,23 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.adapter; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Component; - -import no.nav.testnav.apps.syntsykemeldingapi.consumer.ArbeidsforholdConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.OrganisasjonConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Arbeidsforhold; - -@Component -@RequiredArgsConstructor -public class ArbeidsforholdAdapter { - private final ArbeidsforholdConsumer arbeidsforholdConsumer; - private final OrganisasjonConsumer organisasjonConsumer; - - public Arbeidsforhold getArbeidsforhold(String ident, String orgnummer, String arbeidsforholdId) { - return new Arbeidsforhold( - arbeidsforholdConsumer.getArbeidsforhold(ident, orgnummer, arbeidsforholdId), - organisasjonConsumer.getOrganisasjon(orgnummer) - ); - } - -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/AppConfig.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/AppConfig.java deleted file mode 100644 index 96c8924e99b..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/AppConfig.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.config; - -import no.nav.testnav.libs.servletcore.config.ApplicationCoreConfig; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -@Configuration -@Import({ApplicationCoreConfig.class}) -public class AppConfig { - -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/Consumers.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/Consumers.java deleted file mode 100644 index a66743fa4f9..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/Consumers.java +++ /dev/null @@ -1,34 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.config; - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import static lombok.AccessLevel.PACKAGE; - -/** - * Samler alle placeholders for ulike {@code consumers.*}-konfigurasjon her, dvs. subklasser av {@code ServerProperties}. - *

- * Husk at Spring Boot bruker relaxed binding - * mellom configuration properties og field names. - * - * @see ServerProperties - */ -@Configuration -@ConfigurationProperties(prefix = "consumers") -@NoArgsConstructor(access = PACKAGE) -@Getter -@Setter(PACKAGE) -public class Consumers { - - private ServerProperties testnavArbeidsforholdService; - private ServerProperties testnavHelsepersonellService; - private ServerProperties testnavOrganisasjonService; - private ServerProperties testnavPdlProxy; - private ServerProperties sykemeldingApi; - private ServerProperties syntSykemelding; - -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/OpenApiConfig.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/OpenApiConfig.java deleted file mode 100644 index f2fe837d913..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/OpenApiConfig.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.config; - -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.SecurityRequirement; -import io.swagger.v3.oas.models.security.SecurityScheme; -import no.nav.testnav.libs.securitycore.config.UserConstant; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import java.util.Arrays; - -import no.nav.testnav.libs.servletcore.config.ApplicationProperties; - - -@Configuration -public class OpenApiConfig implements WebMvcConfigurer { - - @Bean - public OpenAPI openApi(ApplicationProperties applicationProperties) { - return new OpenAPI() - .components(new Components() - .addSecuritySchemes("bearer-jwt", new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name("Authorization") - .description("Trenger ikke \"Bearer \" foran") - ) - .addSecuritySchemes("user-jwt", new SecurityScheme() - .type(SecurityScheme.Type.APIKEY) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name(UserConstant.USER_HEADER_JWT) - )) - .addSecurityItem( - new SecurityRequirement() - .addList("bearer-jwt", Arrays.asList("read", "write")) - .addList("user-jwt", Arrays.asList("read", "write")) - ) - .info(new Info() - .title(applicationProperties.getName()) - .version(applicationProperties.getVersion()) - .description(applicationProperties.getDescription()) - .termsOfService("https://nav.no") - .contact(new Contact() - .url("https://nav-it.slack.com/archives/CA3P9NGA2") - .email("dolly@nav.no") - .name("Team Dolly") - ) - .license(new License() - .name("MIT License") - .url("https://opensource.org/licenses/MIT") - ) - ); - } - - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/swagger").setViewName("redirect:/swagger-ui.html"); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/SecurityConfig.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/SecurityConfig.java deleted file mode 100644 index 7c4fe72962b..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/config/SecurityConfig.java +++ /dev/null @@ -1,41 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; -import org.springframework.core.annotation.Order; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.web.SecurityFilterChain; - - -@Order(1) -@EnableWebSecurity -@Configuration -@Profile({ "prod", "dev" }) -public class SecurityConfig { - - @Bean - public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { - - httpSecurity.sessionManagement(sessionConfig -> sessionConfig.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(authorizeConfig -> authorizeConfig.requestMatchers( - "/internal/**", - "/webjars/**", - "/swagger-resources/**", - "/v3/api-docs/**", - "/swagger-ui/**", - "/swagger", - "/error", - "/swagger-ui.html" - ).permitAll().requestMatchers("/api/**").fullyAuthenticated()) - .oauth2ResourceServer(oauth2RSConfig -> oauth2RSConfig.jwt(Customizer.withDefaults())); - - return httpSecurity.build(); - } -} - diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumer.java deleted file mode 100644 index 0c51f4388dc..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumer.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.GetArbeidsforholdCommand; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; - -@Component -@Slf4j -public class ArbeidsforholdConsumer { - private final TokenExchange tokenExchange; - private final WebClient webClient; - private final ServerProperties serverProperties; - - public ArbeidsforholdConsumer( - TokenExchange tokenExchange, - Consumers consumers, - WebClient.Builder webClientBuilder) { - - this.tokenExchange = tokenExchange; - serverProperties = consumers.getTestnavArbeidsforholdService(); - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - @SneakyThrows - public ArbeidsforholdDTO getArbeidsforhold(String ident, String orgnummer, String arbeidsforholdId) { - log.info("Henter arbeidsforhold for {} i org {} med id {}", ident, orgnummer, arbeidsforholdId); - var response = tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new GetArbeidsforholdCommand( - webClient, - accessToken.getTokenValue(), - ident, - orgnummer, - arbeidsforholdId - ).call()).block(); - - log.info("Arbeidsforhold for ident {} hentet.", response.getIdent()); - return response; - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumer.java deleted file mode 100644 index 814acafdccf..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumer.java +++ /dev/null @@ -1,51 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.GetHelsepersonellCommand; -import no.nav.testnav.apps.syntsykemeldingapi.domain.HelsepersonellListe; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.server.ResponseStatusException; - -import static java.util.Objects.nonNull; - -@Slf4j -@Component -public class HelsepersonellConsumer { - private final TokenExchange tokenExchange; - private final WebClient webClient; - private final ServerProperties serverProperties; - - public HelsepersonellConsumer( - TokenExchange tokenExchange, - Consumers consumers, - WebClient.Builder webClientBuilder) { - - this.tokenExchange = tokenExchange; - serverProperties = consumers.getTestnavHelsepersonellService(); - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - @SneakyThrows - public HelsepersonellListe hentHelsepersonell() { - log.info("Henter helsepersonell..."); - var response = tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new GetHelsepersonellCommand(webClient, accessToken.getTokenValue()).call()) - .block(); - - if (nonNull(response)) { - log.info("{} helsepersonell hentet", response.getHelsepersonell().size()); - return new HelsepersonellListe(response); - } else { - log.warn("Feil oppsto i henting av helsepersonell"); - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Feil i henting av helsepersonell"); - } - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumer.java deleted file mode 100644 index b00df816bf5..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumer.java +++ /dev/null @@ -1,36 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.GetOrganisasjonCommand; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; - -@Component -public class OrganisasjonConsumer { - private final ServerProperties serverProperties; - private final TokenExchange tokenExchange; - private final WebClient webClient; - - private static final String MILJOE = "q1"; - - public OrganisasjonConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getTestnavOrganisasjonService(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public OrganisasjonDTO getOrganisasjon(String orgnummer) { - return tokenExchange.exchange(serverProperties).flatMap(accessToken -> - new GetOrganisasjonCommand(webClient, accessToken.getTokenValue(), orgnummer, MILJOE).call()) - .block(); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumer.java deleted file mode 100644 index 0e916558c72..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumer.java +++ /dev/null @@ -1,84 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.GetPdlPersonCommand; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.testnav.apps.syntsykemeldingapi.util.FilLaster; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.ExchangeStrategies; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.server.ResponseStatusException; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; -import java.util.stream.Collectors; - -import static java.util.Objects.isNull; -import static java.util.Objects.nonNull; - -@Slf4j -@Component -public class PdlProxyConsumer { - private final TokenExchange tokenExchange; - private final ServerProperties serverProperties; - private final WebClient webClient; - - private static final String SINGLE_PERSON_QUERY = "pdlperson/pdlquery.graphql"; - - public PdlProxyConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getTestnavPdlProxy(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .exchangeStrategies(ExchangeStrategies - .builder() - .codecs(configurer -> configurer - .defaultCodecs() - .maxInMemorySize(16 * 1024 * 1024)) - .build()) - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public PdlPerson getPdlPerson(String ident) { - if (isNull(ident) || ident.equals("")) { - return null; - } - try { - var query = getQueryFromFile(SINGLE_PERSON_QUERY); - var response = tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> new GetPdlPersonCommand(ident, query, accessToken.getTokenValue(), webClient).call()) - .block(); - if (nonNull(response) && !response.getErrors().isEmpty()) { - var melding = response.getErrors().get(0).getMessage(); - log.error("Klarte ikke hente pdlperson: " + melding); - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Feil i henting av person fra pdl" + melding); - } - return response; - } catch (Exception e) { - log.error("Klarte ikke hente pdlperson.", e); - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Feil i henting av person fra pdl"); - } - - } - - private static String getQueryFromFile(String file) { - try (var reader = new BufferedReader(new InputStreamReader(FilLaster.instans().lastRessurs(file), StandardCharsets.UTF_8))) { - return reader.lines().collect(Collectors.joining("\n")); - - } catch (IOException e) { - log.error("Lesing av query ressurs {} feilet", SINGLE_PERSON_QUERY, e); - return null; - } - } - -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumer.java deleted file mode 100644 index 87b327b5899..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumer.java +++ /dev/null @@ -1,40 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.PostSykemeldingCommand; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingResponseDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.WebClient; - -@Slf4j -@Component -public class SykemeldingConsumer { - - private final TokenExchange tokenExchange; - private final ServerProperties serverProperties; - private final WebClient webClient; - - public SykemeldingConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getSykemeldingApi(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .baseUrl(serverProperties.getUrl()) - .build(); - } - - public SykemeldingResponseDTO opprettSykemelding(SykemeldingDTO sykemelding) { - - return tokenExchange.exchange(serverProperties) - .flatMap(accessToken -> - new PostSykemeldingCommand(webClient, accessToken.getTokenValue(), sykemelding).call()) - .block(); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumer.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumer.java deleted file mode 100644 index 85e1b91820f..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumer.java +++ /dev/null @@ -1,63 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.config.Consumers; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.command.PostSyntSykemeldingCommand; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.client.ExchangeStrategies; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.server.ResponseStatusException; - -import java.time.LocalDate; -import java.util.Map; - -import static java.util.Objects.isNull; - -@Slf4j -@Component -public class SyntElsamConsumer { - - private final TokenExchange tokenExchange; - private final ServerProperties serverProperties; - private final WebClient webClient; - - public SyntElsamConsumer( - Consumers consumers, - TokenExchange tokenExchange, - WebClient.Builder webClientBuilder) { - - serverProperties = consumers.getSyntSykemelding(); - this.tokenExchange = tokenExchange; - this.webClient = webClientBuilder - .exchangeStrategies(ExchangeStrategies - .builder() - .codecs(configurer -> configurer - .defaultCodecs() - .maxInMemorySize(16 * 1024 * 1024)) - .build()) - .baseUrl(serverProperties.getUrl()) - .build(); - } - - @SneakyThrows - public SyntSykemeldingHistorikkDTO genererSykemeldinger(String ident, LocalDate startDato) { - log.info("Genererer sykemelding for {} fom {}", ident, startDato.toString()); - - var request = Map.of(ident, startDato.toString()); - - var response = tokenExchange.exchange(serverProperties).flatMap(accessToken -> - new PostSyntSykemeldingCommand(request, accessToken.getTokenValue(), webClient).call()) - .block(); - - if (isNull(response)) { - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Klarte ikke å generere sykemeldinger."); - } - log.info("Sykemelding generert."); - return response.get(ident); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetArbeidsforholdCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetArbeidsforholdCommand.java deleted file mode 100644 index d4f5532fa46..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetArbeidsforholdCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import org.springframework.http.HttpStatus; -import org.springframework.http.HttpStatusCode; -import org.springframework.web.client.HttpClientErrorException; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.AUTHORIZATION; - -@Slf4j -@RequiredArgsConstructor -public class GetArbeidsforholdCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final String ident; - private final String orgnummer; - private final String arbeidsforholdId; - - @SneakyThrows - @Override - public Mono call() { - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/arbeidsforhold/{ident}/{orgnummer}/{arbeidsforholdId}") - .build(ident, orgnummer, arbeidsforholdId) - ) - .header(AUTHORIZATION, "Bearer " + accessToken) - .header("miljo", "q1") - .retrieve() - .onStatus(HttpStatusCode::is4xxClientError, response -> Mono.error( - new HttpClientErrorException(HttpStatus.NOT_FOUND, "Fant ikke arbeidsforhold"))) - .bodyToMono(ArbeidsforholdDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetHelsepersonellCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetHelsepersonellCommand.java deleted file mode 100644 index 6466532b29e..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetHelsepersonellCommand.java +++ /dev/null @@ -1,33 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellListeDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@RequiredArgsConstructor -public class GetHelsepersonellCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - - @SneakyThrows - @Override - public Mono call() { - return webClient - .get() - .uri("/api/v1/helsepersonell") - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .retrieve() - .bodyToMono(HelsepersonellListeDTO.class) - .retryWhen(Retry.fixedDelay(3, Duration.ofSeconds(3))) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetOrganisasjonCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetOrganisasjonCommand.java deleted file mode 100644 index d36ff52b42a..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetOrganisasjonCommand.java +++ /dev/null @@ -1,45 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOrganisasjonCommand implements Callable> { - private final WebClient webClient; - private final String token; - private final String orgnummer; - private final String miljo; - - @Override - public Mono call() { - log.info("Henter organisasjon med orgnummer {} fra {}...", orgnummer, miljo); - try { - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/organisasjoner/{orgnummer}") - .build(orgnummer) - ) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .header("miljo", this.miljo) - .retrieve() - .bodyToMono(OrganisasjonDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - } catch (WebClientResponseException.NotFound e) { - log.trace("Organisasjon med orgnummer {} ikke funnet i {}", orgnummer, miljo); - throw e; - } - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetPdlPersonCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetPdlPersonCommand.java deleted file mode 100644 index bd00b71b09b..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/GetPdlPersonCommand.java +++ /dev/null @@ -1,52 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.RequiredArgsConstructor; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.request.GraphQLRequest; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.Map; -import java.util.UUID; -import java.util.concurrent.Callable; - -import static java.lang.String.format; -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.CONSUMER_ID; -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.CALL_ID; -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.NAV_CONSUMER_ID; -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.AUTHORIZATION; - -@RequiredArgsConstructor -public class GetPdlPersonCommand implements Callable> { - - private static final String TEMA = "Tema"; - private static final String TEMA_GENERELL = "GEN"; - private static final String GRAPHQL_URL = "/pdl-api/graphql"; - - private final String ident; - private final String query; - private final String token; - private final WebClient webClient; - - @Override - public Mono call() { - return webClient - .post() - .uri(uriBuilder -> uriBuilder.path(GRAPHQL_URL).build()) - .header(AUTHORIZATION, "Bearer " + token) - .header(CONSUMER_ID, NAV_CONSUMER_ID) - .header(CALL_ID, format("%s %s", NAV_CONSUMER_ID, UUID.randomUUID())) - .header(TEMA, TEMA_GENERELL) - .body(BodyInserters - .fromValue(new GraphQLRequest(query, Map.of("ident", ident, "historikk", true)))) - .retrieve() - .bodyToMono(PdlPerson.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)); - - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSykemeldingCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSykemeldingCommand.java deleted file mode 100644 index 3570ec16745..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSykemeldingCommand.java +++ /dev/null @@ -1,41 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingResponseDTO; -import no.nav.testnav.libs.reactivecore.utils.WebClientFilter; -import org.springframework.http.HttpStatus; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.server.ResponseStatusException; -import reactor.core.publisher.Mono; - -import java.util.concurrent.Callable; - -import static no.nav.testnav.apps.syntsykemeldingapi.util.Headers.AUTHORIZATION; - -@Slf4j -@RequiredArgsConstructor -public class PostSykemeldingCommand implements Callable> { - - private final WebClient webClient; - private final String token; - private final SykemeldingDTO sykemelding; - - @SneakyThrows - @Override - public Mono call() { - return webClient.post() - .uri(builder -> - builder.path("/api/v1/sykemeldinger").build() - ) - .header(AUTHORIZATION, "Bearer " + token) - .bodyValue(sykemelding) - .retrieve() - .bodyToMono(SykemeldingResponseDTO.class) - .doOnError(WebClientFilter::logErrorMessage) - .onErrorResume(throwable -> - Mono.error(new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Feil oppsto i innsending av sykemelding"))); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSyntSykemeldingCommand.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSyntSykemeldingCommand.java deleted file mode 100644 index 0a6c70719e0..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/command/PostSyntSykemeldingCommand.java +++ /dev/null @@ -1,46 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.command; - -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpStatus; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.server.ResponseStatusException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.Callable; - -@Slf4j -@AllArgsConstructor -public class PostSyntSykemeldingCommand implements Callable>> { - - private static final ParameterizedTypeReference> RESPONSE_TYPE = new ParameterizedTypeReference<>() { - }; - private final Map request; - private final String token; - private final WebClient webClient; - - @Override - public Mono> call() { - return webClient.post() - .uri(builder -> - builder.path("/api/v1/generate_sykmeldings_history_json").build() - ) - .header("Authorization", "Bearer " + token) - .bodyValue(request) - .retrieve() - .bodyToMono(RESPONSE_TYPE) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .onErrorResume(throwable -> { - log.error("Klarte ikke å hente data fra synthdata-elsam", throwable); - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Klarte ikke å generere sykemeldinger."); - }); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntDiagnoserDTO.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntDiagnoserDTO.java deleted file mode 100644 index f97691743dc..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntDiagnoserDTO.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.dto; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class SyntDiagnoserDTO { - @JsonProperty("dn") - String diagnose; - @JsonProperty("s") - String system; - @JsonProperty("v") - String diagnosekode; -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingDTO.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingDTO.java deleted file mode 100644 index 5af3857d634..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; -import java.util.List; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class SyntSykemeldingDTO { - Boolean arbeidsforEtterEndtPeriode; - List biDiagnoser; - SyntDiagnoserDTO hovedDiagnose; - LocalDate kontaktMedPasient; - Boolean meldingTilNav; - Boolean reisetilskudd; - LocalDate sluttPeriode; - LocalDate startPeriode; - Double sykmeldingsprosent; -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingHistorikkDTO.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingHistorikkDTO.java deleted file mode 100644 index e24cd76f35c..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/dto/SyntSykemeldingHistorikkDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.util.List; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class SyntSykemeldingHistorikkDTO { - String endringshistorikk; - List sykmeldinger; -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/request/GraphQLRequest.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/request/GraphQLRequest.java deleted file mode 100644 index 3c6120d3b30..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/request/GraphQLRequest.java +++ /dev/null @@ -1,9 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer.request; - -import lombok.Builder; - -import java.util.Map; - -@Builder -public record GraphQLRequest(String query, Map variables) { -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Arbeidsforhold.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Arbeidsforhold.java deleted file mode 100644 index 0158a46dbfd..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Arbeidsforhold.java +++ /dev/null @@ -1,30 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain; - -import lombok.Getter; - -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; - -@Getter -public class Arbeidsforhold { - private final String navn; - private final Float stillingsprosent; - private final String yrkesbetegnelse; - private final String gatenavn; - private final String postnummer; - private final String orgnr; - private final String by; - private final String land; - - public Arbeidsforhold(ArbeidsforholdDTO arbeidsforholdDTO, OrganisasjonDTO organisasjonDTO) { - navn = organisasjonDTO.getNavn(); - stillingsprosent = arbeidsforholdDTO.getStillingsprosent(); - yrkesbetegnelse = arbeidsforholdDTO.getYrke(); - orgnr = organisasjonDTO.getOrgnummer(); - var adresse = organisasjonDTO.getForretningsadresser(); - gatenavn = adresse != null ? adresse.getAdresselinje1() : null; - postnummer = adresse != null ? adresse.getPostnummer() : null; - by = adresse != null ? adresse.getPoststed() : null; - land = adresse != null ? adresse.getLandkode() : null; - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Helsepersonell.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Helsepersonell.java deleted file mode 100644 index 46363d55325..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Helsepersonell.java +++ /dev/null @@ -1,28 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain; - - -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellDTO; - -public class Helsepersonell { - private HelsepersonellDTO dto; - - public Helsepersonell(HelsepersonellDTO dto) { - this.dto = dto; - } - - public String getIdent() { - return dto.getFnr(); - } - - public no.nav.testnav.libs.dto.sykemelding.v1.HelsepersonellDTO toDTO() { - return no.nav.testnav.libs.dto.sykemelding.v1.HelsepersonellDTO - .builder() - .ident(getIdent()) - .fornavn(dto.getFornavn()) - .mellomnavn(dto.getMellomnavn()) - .etternavn(dto.getEtternavn()) - .hprId(dto.getHprId()) - .samhandlerType(dto.getSamhandlerType()) - .build(); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/HelsepersonellListe.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/HelsepersonellListe.java deleted file mode 100644 index f5f40ee2057..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/HelsepersonellListe.java +++ /dev/null @@ -1,31 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain; - -import lombok.extern.slf4j.Slf4j; - -import java.util.List; -import java.util.Random; - -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellListeDTO; - -@Slf4j -public class HelsepersonellListe { - private final List list; - private final Random random = new Random(); - - public HelsepersonellListe(HelsepersonellListeDTO dto) { - list = dto.getHelsepersonell() - .stream() - .map(Helsepersonell::new) - .toList(); - } - - public Helsepersonell getRandomLege() { - var helsepersonell = list.get(random.nextInt(list.size())); - log.info("Valgt tilfeldig helsepersonell {}", helsepersonell.getIdent()); - return helsepersonell; - } - - public List getList() { - return this.list; - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Person.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Person.java deleted file mode 100644 index 216d7c53799..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Person.java +++ /dev/null @@ -1,55 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain; - -import lombok.Builder; -import lombok.RequiredArgsConstructor; - -import java.time.LocalDate; -import java.util.List; -import java.util.Optional; - -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.WithMetadata; - -@Builder -@RequiredArgsConstructor -public class Person { - private final PdlPerson pdlPerson; - - public String getIdent() { - return pdlPerson.getData().getHentIdenter().getIdenter().stream() - .filter(value -> value.getGruppe() == PdlPerson.Gruppe.FOLKEREGISTERIDENT && !value.isHistorisk()) - .findFirst() - .map(PdlPerson.Identer::getIdent) - .orElse(null); - } - - private Optional getNavn() { - return getCurrent(pdlPerson.getData().getHentPerson().getNavn()); - } - - public String getFornavn() { - return getNavn().map(PdlPerson.Navn::getFornavn).orElse(null); - } - - public String getMellomnavn() { - return getNavn().map(PdlPerson.Navn::getMellomnavn).orElse(null); - } - - public String getEtternavn() { - return getNavn().map(PdlPerson.Navn::getEtternavn).orElse(null); - } - - public LocalDate getFoedselsdato() { - return getCurrent(pdlPerson.getData().getHentPerson().getFoedsel()) - .map(PdlPerson.Foedsel::getFoedselsdato).orElse(null); - } - - private static Optional getCurrent(List list) { - if (list == null) { - return Optional.empty(); - } - return list.stream() - .filter(value -> !value.getMetadata().getHistorisk()) - .findFirst(); - } -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Sykemelding.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Sykemelding.java deleted file mode 100644 index fe9b506f888..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/Sykemelding.java +++ /dev/null @@ -1,141 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain; - -import lombok.RequiredArgsConstructor; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntDiagnoserDTO; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.AdresseDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.Aktivitet; -import no.nav.testnav.libs.dto.sykemelding.v1.AktivitetDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.ArbeidsgiverDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.DetaljerDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.DiagnoseDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.OrganisasjonDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.PasientDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.PeriodeDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingDTO; -import no.nav.testnav.libs.dto.synt.sykemelding.v1.SyntSykemeldingDTO; - -import java.util.Collections; -import java.util.List; - -import static java.util.Objects.nonNull; - -@RequiredArgsConstructor -public class Sykemelding { - private final Person pasient; - private final SyntSykemeldingHistorikkDTO historikk; - private final SyntSykemeldingDTO syntSykemelding; - private final Helsepersonell helsepersonell; - private final Arbeidsforhold arbeidsforhold; - - - public String getIdent() { - return pasient.getIdent(); - } - - public SykemeldingDTO toDTO() { - var arbeidsgiverDTO = nonNull(arbeidsforhold) ? - ArbeidsgiverDTO - .builder() - .navn(arbeidsforhold.getNavn()) - .stillingsprosent(arbeidsforhold.getStillingsprosent()) - .yrkesbetegnelse(arbeidsforhold.getYrkesbetegnelse()) - .build() : - null; - - var sykemeldinger = historikk.getSykmeldinger(); - var firstSykemelding = sykemeldinger.get(0); - - List syntBiDiagnoser = firstSykemelding.getBiDiagnoser() != null - ? firstSykemelding.getBiDiagnoser() - : Collections.emptyList(); - - var biDiagnoser = syntBiDiagnoser.stream() - .map(value -> DiagnoseDTO - .builder() - .diagnose(value.getDiagnose()) - .system(value.getSystem()) - .diagnosekode(value.getDiagnosekode()) - .build() - ) - .toList(); - - var hovedDiagnose = DiagnoseDTO - .builder() - .diagnose(firstSykemelding.getHovedDiagnose().getDiagnose()) - .system(firstSykemelding.getHovedDiagnose().getSystem()) - .diagnosekode(firstSykemelding.getHovedDiagnose().getDiagnosekode()) - .build(); - - var mottaker = nonNull(arbeidsforhold) ? - OrganisasjonDTO - .builder() - .navn(arbeidsforhold.getNavn()) - .orgNr(arbeidsforhold.getOrgnr()) - .adresse(AdresseDTO - .builder() - .by(arbeidsforhold.getBy()) - .gate(arbeidsforhold.getGatenavn()) - .land(arbeidsforhold.getLand()) - .postnummer(arbeidsforhold.getPostnummer()) - .build() - ) - .build() : - null; - - var pasient = PasientDTO - .builder() - .ident(this.pasient.getIdent()) - .fornavn(this.pasient.getFornavn()) - .mellomnavn(this.pasient.getMellomnavn()) - .etternavn(this.pasient.getEtternavn()) - .foedselsdato(this.pasient.getFoedselsdato()) - .navKontor("ST.HANSHAUGEN") - .build(); - var perioder = sykemeldinger - .stream() - .map(value -> new PeriodeDTO( - value.getStartPeriode(), - value.getSluttPeriode().minusDays(1), - AktivitetDTO - .builder() - .aktivitet(value.getSykmeldingsprosent() == 100.0 ? Aktivitet.INGEN : null) - .grad(value.getSykmeldingsprosent().intValue()) - .reisetilskudd(value.getReisetilskudd()) - .build() - )) - .toList(); - - - var sender = OrganisasjonDTO - .builder() - .navn("Mini-Norge Legekontor") - .orgNr("992741090") - .adresse(AdresseDTO - .builder() - .gate("Sannergata 2") - .postnummer("0557") - .by("Oslo") - .build() - ).build(); - - return SykemeldingDTO - .builder() - .startDato(syntSykemelding.getStartDato()) - .arbeidsgiver(arbeidsgiverDTO) - .biDiagnoser(biDiagnoser) - .hovedDiagnose(hovedDiagnose) - .helsepersonell(helsepersonell.toDTO()) - .mottaker(mottaker) - .pasient(pasient) - .perioder(perioder) - .umiddelbarBistand(true) - .sender(sender) - .detaljer(DetaljerDTO - .builder() - .arbeidsforEtterEndtPeriode(firstSykemelding.getArbeidsforEtterEndtPeriode()) - .build() - ).build(); - } - -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/Metadata.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/Metadata.java deleted file mode 100644 index 82e87756cd0..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/Metadata.java +++ /dev/null @@ -1,12 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain.pdl; - -import lombok.AllArgsConstructor; -import lombok.NoArgsConstructor; -import lombok.Value; - -@Value -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class Metadata { - Boolean historisk; -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/PdlPerson.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/PdlPerson.java deleted file mode 100644 index ee66051afc3..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/PdlPerson.java +++ /dev/null @@ -1,155 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain.pdl; - -import lombok.*; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -import static java.util.Objects.isNull; - -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PdlPerson { - - private Data data; - private List errors; - - public Data getData() { - if (isNull(data)){ - data = new Data(); - } - return data; - } - - public List getErrors() { - if (isNull(errors)) { - errors = new ArrayList<>(); - } - return errors; - } - - public enum Gruppe {AKTORID, FOLKEREGISTERIDENT, NPID} - - @Getter - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class Data { - - private HentIdenter hentIdenter; - private HentPerson hentPerson; - } - - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class HentIdenter { - - private List identer; - - public List getIdenter() { - if (isNull(identer)) { - identer = new ArrayList<>(); - } - return identer; - } - } - - @Getter - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class Identer { - - private String ident; - private boolean historisk; - private Gruppe gruppe; - } - - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class HentPerson { - - private List navn; - private List foedsel; - - public List getNavn() { - if (isNull(navn)) { - navn = new ArrayList<>(); - } - return navn; - } - - public List getFoedsel() { - if (isNull(foedsel)) { - foedsel = new ArrayList<>(); - } - return foedsel; - } - - } - - @Getter - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class Navn implements WithMetadata { - - private String fornavn; - private String mellomnavn; - private String etternavn; - private String forkortetNavn; - private String originaltNavn; - private LocalDate gyldigFraOgMed; - private Folkeregistermetadata folkeregistermetadata; - private Metadata metadata; - } - - @Getter - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class Foedsel implements WithMetadata{ - - private String foedselsaar; - private LocalDate foedselsdato; - private String foedeland; - private String foedested; - private String foedekommune; - private Folkeregistermetadata folkeregistermetadata; - private Metadata metadata; - } - - @Getter - @NoArgsConstructor - @AllArgsConstructor - public static class Folkeregistermetadata { - - private String aarsak; - private String kilde; - private LocalDate ajourholdstidspunkt; - private LocalDate gyldighetstidspunkt; - private LocalDate opphoerstidspunkt; - } - - @Getter - @NoArgsConstructor - @AllArgsConstructor - public static class Error { - - private String message; - private Extensions extensions; - } - - @Getter - @NoArgsConstructor - @AllArgsConstructor - public static class Extensions { - - private String code; - private String classification; - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/WithMetadata.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/WithMetadata.java deleted file mode 100644 index c45db4e7fac..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/domain/pdl/WithMetadata.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.domain.pdl; - -public interface WithMetadata { - Metadata getMetadata(); -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingController.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingController.java deleted file mode 100644 index 7659c7d3723..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingController.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.provider; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.service.SykemeldingService; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingResponseDTO; -import no.nav.testnav.libs.dto.synt.sykemelding.v1.SyntSykemeldingDTO; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@Slf4j -@RequestMapping("/api/v1/synt-sykemelding") -@RequiredArgsConstructor -public class SyntSykemeldingController { - private final SykemeldingService sykemeldingService; - - @PostMapping - public SykemeldingResponseDTO opprett(@RequestBody SyntSykemeldingDTO sykemelding) { - - return sykemeldingService.opprettSykemelding(sykemelding); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/service/SykemeldingService.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/service/SykemeldingService.java deleted file mode 100644 index dea8c92f9a8..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/service/SykemeldingService.java +++ /dev/null @@ -1,50 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.service; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.syntsykemeldingapi.adapter.ArbeidsforholdAdapter; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.HelsepersonellConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.PdlProxyConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.SykemeldingConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.SyntElsamConsumer; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Person; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Sykemelding; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingResponseDTO; -import no.nav.testnav.libs.dto.synt.sykemelding.v1.SyntSykemeldingDTO; -import org.springframework.stereotype.Service; - -import static java.util.Objects.nonNull; - -@Slf4j -@Service -@RequiredArgsConstructor -public class SykemeldingService { - private final SyntElsamConsumer syntElsamConsumer; - private final HelsepersonellConsumer helsepersonellConsumer; - private final SykemeldingConsumer sykemeldingConsumer; - private final ArbeidsforholdAdapter arbeidsforholdAdapter; - private final PdlProxyConsumer pdlProxyConsumer; - - public SykemeldingResponseDTO opprettSykemelding(SyntSykemeldingDTO syntSykemelding) { - - var pdlData = pdlProxyConsumer.getPdlPerson(syntSykemelding.getIdent()); - var pasient = new Person(pdlData); - - var arbeidsforhold = nonNull(syntSykemelding.getOrgnummer()) ? - arbeidsforholdAdapter.getArbeidsforhold( - syntSykemelding.getIdent(), - syntSykemelding.getOrgnummer(), - syntSykemelding.getArbeidsforholdId()) : - null; - - var historikk = syntElsamConsumer.genererSykemeldinger( - syntSykemelding.getIdent(), - syntSykemelding.getStartDato() - ); - var helsepersonellListe = helsepersonellConsumer.hentHelsepersonell(); - - return sykemeldingConsumer.opprettSykemelding( - new Sykemelding(pasient, historikk, syntSykemelding, helsepersonellListe.getRandomLege(), arbeidsforhold).toDTO() - ); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/FilLaster.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/FilLaster.java deleted file mode 100644 index 9482c265f41..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/FilLaster.java +++ /dev/null @@ -1,22 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.util; - -import lombok.extern.slf4j.Slf4j; - -import java.io.InputStream; - -@Slf4j -public class FilLaster { - - private static FilLaster instans; - - public static FilLaster instans() { - if (instans == null) { - instans = new FilLaster(); - } - return instans; - } - - public InputStream lastRessurs(String path) { - return FilLaster.class.getClassLoader().getResourceAsStream(path); - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/Headers.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/Headers.java deleted file mode 100644 index 6d926b2e0b9..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/Headers.java +++ /dev/null @@ -1,12 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.util; - -public class Headers { - - private Headers() { - } - - public static final String CALL_ID = "Nav-Call-Id"; - public static final String CONSUMER_ID = "Nav-Consumer-Id"; - public static final String AUTHORIZATION = "Authorization"; - public static final String NAV_CONSUMER_ID = "testnav-synt-sykemelding-api"; -} diff --git a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/IdentUtil.java b/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/IdentUtil.java deleted file mode 100644 index cc6885f16e8..00000000000 --- a/apps/synt-sykemelding-api/src/main/java/no/nav/testnav/apps/syntsykemeldingapi/util/IdentUtil.java +++ /dev/null @@ -1,65 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.util; - -import static java.lang.Integer.parseInt; - -import java.time.LocalDate; - -/** - * @deprecated Fjernes når vi går over til PDL som har fødselsdato - */ -@Deprecated -public final class IdentUtil { - private IdentUtil() { - } - - public static LocalDate toBirthdate(String ident) { - int year = getFullYear(ident); - int month = parseInt(ident.substring(2, 4)); - int day = parseInt(ident.substring(0, 2)); - - if ("DNR".equals(getIdentType(ident))) { - day = day - 40; - } - if ("BOST".equals(getIdentType(ident))) { - month = month - 20; - } - - return LocalDate.of(year, month, day); - } - - private static String getIdentType(String ident) { - if (parseInt(ident.substring(0, 1)) > 3) { - return "DNR"; - } else if (parseInt(ident.substring(2, 3)) > 1) { - return "BOST"; - } else if ("0000".equals(ident.substring(6, 10))) { - return "FDAT"; - } - return "FNR"; - } - - - /** - * INDIVID(POS 7-9) 500-749 OG ÅR > 54 => ÅRHUNDRE = 1800 - * INDIVID(POS 7-9) 000-499 => ÅRHUNDRE = 1900 - * INDIVID(POS 7-9) 900-999 OG ÅR > 39 => ÅRHUNDRE = 1900 - * INDIVID(POS 7-9) 500-999 OG ÅR < 40 => ÅRHUNDRE = 2000 - */ - private static int getFullYear(String ident) { - int year = parseInt(ident.substring(4, 6)); - int individ = parseInt(ident.substring(6, 9)); - - // Find century - int century; - if (individ < 500 || (individ >= 900 && year > 39)) { - century = 1900; - } else if (year < 40) { - century = 2000; - } else if (individ < 750 && year > 54) { - century = 1800; - } else { - century = 2000; - } - return LocalDate.of(century + year, 1, 1).getYear(); - } -} diff --git a/apps/synt-sykemelding-api/src/main/resources/application-dev.yml b/apps/synt-sykemelding-api/src/main/resources/application-dev.yml deleted file mode 100644 index af43c132df4..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/application-dev.yml +++ /dev/null @@ -1,12 +0,0 @@ -consumers: - synt-sykemelding: - url: http://synthdata-elsam-gcp.intern.dolly.svc.cluster.local - testnav-organisasjon-service: - url: http://testnav-organisasjon-service.dolly.svc.cluster.local - testnav-arbeidsforhold-service: - url: http://testnav-arbeidsforhold-service.dolly.svc.cluster.local - testnav-helsepersonell-service: - url: http://testnav-helsepersonell-service.dolly.svc.cluster.local - sykemelding-api: - url: http://testnav-sykemelding-api-dev.dolly.svc.cluster.local - name: testnav-sykemelding-api-dev diff --git a/apps/synt-sykemelding-api/src/main/resources/application-local.yml b/apps/synt-sykemelding-api/src/main/resources/application-local.yml deleted file mode 100644 index c2c871f2fa2..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/application-local.yml +++ /dev/null @@ -1,16 +0,0 @@ -spring: - config: - import: "sm://" - -consumers: - synt-sykemelding: - url: https://synthdata-elsam-gcp.intern.dev.nav.no - testnav-organisasjon-service: - url: https://testnav-organisasjon-service.intern.dev.nav.no - testnav-arbeidsforhold-service: - url: https://testnav-arbeidsforhold-service.intern.dev.nav.no - testnav-helsepersonell-service: - url: https://testnav-helsepersonell-service.intern.dev.nav.no - sykemelding-api: - url: https://testnav-sykemelding-api-dev.intern.dev.nav.no - name: testnav-sykemelding-api-dev diff --git a/apps/synt-sykemelding-api/src/main/resources/application-prod.yml b/apps/synt-sykemelding-api/src/main/resources/application-prod.yml deleted file mode 100644 index db46c2d97de..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/application-prod.yml +++ /dev/null @@ -1,7 +0,0 @@ -spring: - security: - oauth2: - resourceserver: - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/resources/application.yml b/apps/synt-sykemelding-api/src/main/resources/application.yml deleted file mode 100644 index aee3d690ac4..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/application.yml +++ /dev/null @@ -1,73 +0,0 @@ -spring: - application: - version: application.version.todo - name: testnav-synt-sykemelding-api - description: Api for opprettelse av syntetiske sykemeldinger - security: - oauth2: - resourceserver: - aad: - issuer-uri: ${AZURE_OPENID_CONFIG_ISSUER} - accepted-audience: ${AZURE_APP_CLIENT_ID}, api:// ${AZURE_APP_CLIENT_ID} - tokenx: - issuer-uri: ${TOKEN_X_ISSUER} - accepted-audience: ${TOKEN_X_CLIENT_ID} - -springdoc: - swagger-ui: - disable-swagger-default-url: true - url: /v3/api-docs - -consumers: - synt-sykemelding: - url: http://synthdata-elsam-gcp.dolly.svc.cluster.local - name: synthdata-elsam-gcp - cluster: dev-gcp - namespace: dolly - sykemelding-api: - url: http://testnav-sykemelding-api.dolly.svc.cluster.local - name: testnav-sykemelding-api - cluster: dev-gcp - namespace: dolly - testnav-organisasjon-service: - url: http://testnav-organisasjon-service.dolly.svc.cluster.local - name: testnav-organisasjon-service - cluster: dev-gcp - namespace: dolly - testnav-arbeidsforhold-service: - url: http://testnav-arbeidsforhold-service.dolly.svc.cluster.local - cluster: dev-gcp - namespace: dolly - name: testnav-arbeidsforhold-service - testnav-helsepersonell-service: - url: http://testnav-helsepersonell-service.dolly.svc.cluster.local - cluster: dev-gcp - namespace: dolly - name: testnav-helsepersonell-service - testnav-pdl-proxy: - name: testnav-pdl-proxy - namespace: dolly - url: https://testnav-pdl-proxy.dev-fss-pub.nais.io - cluster: dev-fss - -management: - endpoints: - access: - default: read_only - web: - base-path: /internal - exposure: - include: prometheus,health - path-mapping: - prometheus: metrics - prometheus: - metrics: - export: - enabled: true - -server: - servlet: - encoding: - charset: UTF-8 - error: - include-message: always \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/resources/logback-spring.xml b/apps/synt-sykemelding-api/src/main/resources/logback-spring.xml deleted file mode 100644 index 75c5be52d1c..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - true - - 10280 - 20 - ^sun\.reflect\..*\.invoke - ^net\.sf\.cglib\.proxy\.MethodProxy\.invoke - java\.util\.concurrent\..* - org\.apache\.catalina\..* - org\.apache\.coyote\..* - org\.apache\.tomcat\..* - - - - - - - - - - - - - %d{HH:mm:ss.SSS} | %5p | %logger{25} | %m%n - - utf8 - - - - - - - - - \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/main/resources/pdlperson/graphql.config.yml b/apps/synt-sykemelding-api/src/main/resources/pdlperson/graphql.config.yml deleted file mode 100644 index 1f9a7cdf2a6..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/pdlperson/graphql.config.yml +++ /dev/null @@ -1,8 +0,0 @@ -schema: pdl-api-schema.graphql -extensions: - endpoints: - PDL GraphQL Endpoint: - url: https://pdl-api.dev.intern.nav.no/graphql - headers: - user-agent: '' - introspect: false diff --git a/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdl-api-schema.graphql b/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdl-api-schema.graphql deleted file mode 100644 index cc4a8c90344..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdl-api-schema.graphql +++ /dev/null @@ -1,949 +0,0 @@ -# This file was generated. Do not edit manually. - -schema { - query: Query -} - -"Indicates an Input Object is a OneOf Input Object." -directive @oneOf on INPUT_OBJECT - -type AdresseCompletionResult { - addressFound: CompletionAdresse - suggestions: [String!]! -} - -type AdresseSearchHit { - matrikkeladresse: MatrikkeladresseResult - score: Float - vegadresse: VegadresseResult -} - -type AdresseSearchResult { - hits: [AdresseSearchHit!]! - pageNumber: Int - totalHits: Int - totalPages: Int -} - -type Adressebeskyttelse { - folkeregistermetadata: Folkeregistermetadata - gradering: AdressebeskyttelseGradering! - metadata: Metadata! -} - -type Bostedsadresse { - angittFlyttedato: Date - coAdressenavn: String - folkeregistermetadata: Folkeregistermetadata - gyldigFraOgMed: DateTime - gyldigTilOgMed: DateTime - matrikkeladresse: Matrikkeladresse - metadata: Metadata! - ukjentBosted: UkjentBosted - utenlandskAdresse: UtenlandskAdresse - vegadresse: Vegadresse -} - -type CompletionAdresse { - matrikkeladresse: MatrikkeladresseResult - vegadresse: VegadresseResult -} - -type DeltBosted { - coAdressenavn: String - folkeregistermetadata: Folkeregistermetadata! - matrikkeladresse: Matrikkeladresse - metadata: Metadata! - sluttdatoForKontrakt: Date - startdatoForKontrakt: Date! - ukjentBosted: UkjentBosted - utenlandskAdresse: UtenlandskAdresse - vegadresse: Vegadresse -} - -type DoedfoedtBarn { - dato: Date - folkeregistermetadata: Folkeregistermetadata! - metadata: Metadata! -} - -type Doedsfall { - doedsdato: Date - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! -} - -" Endring som har blitt utført på opplysningen. F.eks: Opprett -> Korriger -> Korriger" -type Endring { - hendelseId: String! - """ - - Opphavet til informasjonen. I NAV blir dette satt i forbindelse med registrering (f.eks: Sykehuskassan). - Fra Folkeregisteret får vi opphaven til dems opplysning, altså NAV, UDI, Politiet, Skatteetaten o.l.. Fra Folkeregisteret kan det også være tekniske navn som: DSF_MIGRERING, m.m.. - """ - kilde: String! - " Tidspunktet for registrering." - registrert: DateTime! - " Hvem endringen har blitt utført av, ofte saksbehandler (f.eks Z990200), men kan også være system (f.eks srvXXXX). Denne blir satt til \"Folkeregisteret\" for det vi får fra dem." - registrertAv: String! - " Hvilke system endringen har kommet fra (f.eks srvXXX). Denne blir satt til \"FREG\" for det vi får fra Folkeregisteret." - systemkilde: String! - " Hvilke type endring som har blitt utført." - type: Endringstype! -} - -type FalskIdentitet { - erFalsk: Boolean! - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! - rettIdentitetErUkjent: Boolean - rettIdentitetVedIdentifikasjonsnummer: String - rettIdentitetVedOpplysninger: FalskIdentitetIdentifiserendeInformasjon -} - -type FalskIdentitetIdentifiserendeInformasjon { - foedselsdato: Date - kjoenn: KjoennType - personnavn: Personnavn! - statsborgerskap: [String!]! -} - -type Foedested { - foedekommune: String - foedeland: String - foedested: String - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! -} - -type Foedsel { - foedekommune: String - foedeland: String - foedested: String - foedselsaar: Int - foedselsdato: Date - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! -} - -type Foedselsdato { - foedselsaar: Int - foedselsdato: Date - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! -} - -type Folkeregisteridentifikator { - folkeregistermetadata: Folkeregistermetadata! - identifikasjonsnummer: String! - metadata: Metadata! - status: String! - type: String! -} - -type Folkeregistermetadata { - aarsak: String - ajourholdstidspunkt: DateTime - gyldighetstidspunkt: DateTime - kilde: String - opphoerstidspunkt: DateTime - sekvens: Int -} - -type Folkeregisterpersonstatus { - folkeregistermetadata: Folkeregistermetadata! - forenkletStatus: String! - metadata: Metadata! - status: String! -} - -type ForelderBarnRelasjon { - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! - minRolleForPerson: ForelderBarnRelasjonRolle - relatertPersonUtenFolkeregisteridentifikator: RelatertBiPerson - relatertPersonsIdent: String - relatertPersonsRolle: ForelderBarnRelasjonRolle! -} - -type Foreldreansvar { - ansvar: String - ansvarlig: String - ansvarligUtenIdentifikator: RelatertBiPerson - ansvarssubjekt: String - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! -} - -type Fullmakt { - gyldigFraOgMed: Date! - gyldigTilOgMed: Date! - metadata: Metadata! - motpartsPersonident: String! - motpartsRolle: FullmaktsRolle! - omraader: [String!]! -} - -type GeografiskTilknytning { - gtBydel: String - gtKommune: String - gtLand: String - gtType: GtType! - regel: String! -} - -type HentIdenterBolkResult { - code: String! - ident: String! - identer: [IdentInformasjon!] -} - -type HentPersonBolkResult { - code: String! - ident: String! - person: Person -} - -type IdentInformasjon { - gruppe: IdentGruppe! - historisk: Boolean! - ident: String! -} - -type IdentifiserendeInformasjon { - foedselsdato: Date - kjoenn: String - navn: Personnavn - statsborgerskap: [String!] -} - -type Identitetsgrunnlag { - folkeregistermetadata: Folkeregistermetadata! - metadata: Metadata! - status: Identitetsgrunnlagsstatus! -} - -type Identliste { - identer: [IdentInformasjon!]! -} - -type InnflyttingTilNorge { - folkeregistermetadata: Folkeregistermetadata - fraflyttingsland: String - fraflyttingsstedIUtlandet: String - metadata: Metadata! -} - -type KartverketAdresse { - id: Long! - matrikkeladresse: KartverketMatrikkeladresse - vegadresse: KartverketVegadresse -} - -type KartverketBydel { - bydelsnavn: String - bydelsnummer: String -} - -type KartverketFylke { - navn: String - nummer: String -} - -type KartverketGrunnkrets { - grunnkretsnavn: String - grunnkretsnummer: String -} - -type KartverketKommune { - fylke: KartverketFylke - navn: String - nummer: String -} - -type KartverketMatrikkeladresse { - adressetilleggsnavn: String - bydel: KartverketBydel - grunnkrets: KartverketGrunnkrets - kortnavn: String - matrikkelnummer: KartverketMatrikkelnummer - postnummeromraade: KartverketPostnummeromraade - representasjonspunkt: KartverketRepresentasjonspunkt - undernummer: Int -} - -type KartverketMatrikkelnummer { - bruksnummer: Int - festenummer: Int - gaardsnummer: Int - kommunenummer: String - seksjonsnummer: Int -} - -type KartverketPostnummeromraade { - postnummer: String - poststed: String -} - -type KartverketRepresentasjonspunkt { - posisjonskvalitet: Int - x: Float - y: Float - z: Float -} - -type KartverketVeg { - adressekode: Int - adressenavn: String - kommune: KartverketKommune - kortnavn: String - stedsnummer: String -} - -type KartverketVegadresse { - adressetilleggsnavn: String - bokstav: String - bydel: KartverketBydel - grunnkrets: KartverketGrunnkrets - kortnavn: String - nummer: Int - postnummeromraade: KartverketPostnummeromraade - representasjonspunkt: KartverketRepresentasjonspunkt - veg: KartverketVeg -} - -type Kjoenn { - folkeregistermetadata: Folkeregistermetadata - kjoenn: KjoennType - metadata: Metadata! -} - -type Kontaktadresse { - coAdressenavn: String - folkeregistermetadata: Folkeregistermetadata - gyldigFraOgMed: DateTime - gyldigTilOgMed: DateTime - metadata: Metadata! - postadresseIFrittFormat: PostadresseIFrittFormat - postboksadresse: Postboksadresse - type: KontaktadresseType! - utenlandskAdresse: UtenlandskAdresse - utenlandskAdresseIFrittFormat: UtenlandskAdresseIFrittFormat - vegadresse: Vegadresse -} - -type KontaktinformasjonForDoedsbo { - adresse: KontaktinformasjonForDoedsboAdresse! - advokatSomKontakt: KontaktinformasjonForDoedsboAdvokatSomKontakt - attestutstedelsesdato: Date! - folkeregistermetadata: Folkeregistermetadata! - metadata: Metadata! - organisasjonSomKontakt: KontaktinformasjonForDoedsboOrganisasjonSomKontakt - personSomKontakt: KontaktinformasjonForDoedsboPersonSomKontakt - skifteform: KontaktinformasjonForDoedsboSkifteform! -} - -type KontaktinformasjonForDoedsboAdresse { - adresselinje1: String! - adresselinje2: String - landkode: String - postnummer: String! - poststedsnavn: String! -} - -type KontaktinformasjonForDoedsboAdvokatSomKontakt { - organisasjonsnavn: String - organisasjonsnummer: String - personnavn: Personnavn! -} - -type KontaktinformasjonForDoedsboOrganisasjonSomKontakt { - kontaktperson: Personnavn - organisasjonsnavn: String! - organisasjonsnummer: String -} - -type KontaktinformasjonForDoedsboPersonSomKontakt { - foedselsdato: Date - identifikasjonsnummer: String - personnavn: Personnavn -} - -type Koordinater { - kvalitet: Int - x: Float - y: Float - z: Float -} - -type Matrikkeladresse { - bruksenhetsnummer: String - kommunenummer: String - koordinater: Koordinater - matrikkelId: Long - postnummer: String - tilleggsnavn: String -} - -type MatrikkeladresseResult { - bruksnummer: String - gaardsnummer: String - kommunenummer: String - matrikkelId: String - postnummer: String - poststed: String - tilleggsnavn: String -} - -type Metadata { - """ - - En liste over alle endringer som har blitt utført over tid. - Vær obs på at denne kan endre seg og man burde takle at det finnes flere korrigeringer i listen, så dersom man ønsker å kun vise den siste, så må man selv filtrere ut dette. - Det kan også ved svært få tilfeller skje at opprett blir fjernet. F.eks ved splitt tilfeller av identer. Dette skal skje i svært få tilfeller. Dersom man ønsker å presentere opprettet tidspunktet, så blir det tidspunktet på den første endringen. - """ - endringer: [Endring!]! - """ - - Feltet betegner hvorvidt dette er en funksjonelt historisk opplysning, for eksempel en tidligere fraflyttet adresse eller et foreldreansvar som er utløpt fordi barnet har fylt 18 år. - I de fleste tilfeller kan dette utledes ved å se på de andre feltene i opplysningen. Dette er imidlertid ikke alltid tilfellet, blant annet for foreldreansvar. - Feltet bør brukes av konsumenter som henter informasjon fra GraphQL med historikk, men som også trenger å utlede gjeldende informasjon. - """ - historisk: Boolean! - " Master refererer til hvem som eier opplysningen, f.eks så har PDL en kopi av Folkeregisteret, da vil master være FREG og eventuelle endringer på dette må gå via Folkeregisteret (API mot dem eller andre rutiner)." - master: String! - """ - - I PDL så får alle forekomster av en opplysning en ID som representerer dens unike forekomst. - F.eks, så vil en Opprett ha ID X, korriger ID Y (der hvor den spesifiserer at den korrigerer X). - Dersom en opplysning ikke er lagret i PDL, så vil denne verdien ikke være utfylt. - """ - opplysningsId: String -} - -type Navn { - etternavn: String! - folkeregistermetadata: Folkeregistermetadata - forkortetNavn: String @deprecated(reason: "No longer supported") - fornavn: String! - gyldigFraOgMed: Date - mellomnavn: String - metadata: Metadata! - originaltNavn: OriginaltNavn -} - -type Navspersonidentifikator { - identifikasjonsnummer: String! - metadata: Metadata! -} - -type Opphold { - folkeregistermetadata: Folkeregistermetadata! - metadata: Metadata! - oppholdFra: Date - oppholdTil: Date - type: Oppholdstillatelse! -} - -type Oppholdsadresse { - coAdressenavn: String - folkeregistermetadata: Folkeregistermetadata - gyldigFraOgMed: DateTime - gyldigTilOgMed: DateTime - matrikkeladresse: Matrikkeladresse - metadata: Metadata! - oppholdAnnetSted: String - utenlandskAdresse: UtenlandskAdresse - vegadresse: Vegadresse -} - -type OriginaltNavn { - etternavn: String - fornavn: String - mellomnavn: String -} - -type Person { - adressebeskyttelse(historikk: Boolean = false): [Adressebeskyttelse!]! - bostedsadresse(historikk: Boolean = false): [Bostedsadresse!]! - deltBosted(historikk: Boolean = false): [DeltBosted!]! - doedfoedtBarn: [DoedfoedtBarn!]! - doedsfall: [Doedsfall!]! - falskIdentitet: FalskIdentitet - foedested: [Foedested!]! - foedsel: [Foedsel!]! @deprecated(reason: "Erstattet av foedselsdato & foedested") - foedselsdato: [Foedselsdato!]! - folkeregisteridentifikator(historikk: Boolean = false): [Folkeregisteridentifikator!]! - folkeregisterpersonstatus(historikk: Boolean = false): [Folkeregisterpersonstatus!]! - forelderBarnRelasjon: [ForelderBarnRelasjon!]! - foreldreansvar(historikk: Boolean = false): [Foreldreansvar!]! - fullmakt(historikk: Boolean = false): [Fullmakt!]! - identitetsgrunnlag(historikk: Boolean = false): [Identitetsgrunnlag!]! - innflyttingTilNorge: [InnflyttingTilNorge!]! - kjoenn(historikk: Boolean = false): [Kjoenn!]! - kontaktadresse(historikk: Boolean = false): [Kontaktadresse!]! - kontaktinformasjonForDoedsbo(historikk: Boolean = false): [KontaktinformasjonForDoedsbo!]! - navn(historikk: Boolean = false): [Navn!]! - navspersonidentifikator(historikk: Boolean = false): [Navspersonidentifikator!]! - opphold(historikk: Boolean = false): [Opphold!]! - oppholdsadresse(historikk: Boolean = false): [Oppholdsadresse!]! - rettsligHandleevne(historikk: Boolean = false): [RettsligHandleevne!]! - sikkerhetstiltak: [Sikkerhetstiltak!]! - sivilstand(historikk: Boolean = false): [Sivilstand!]! - statsborgerskap(historikk: Boolean = false): [Statsborgerskap!]! - telefonnummer(historikk: Boolean = false): [Telefonnummer!]! - tilrettelagtKommunikasjon: [TilrettelagtKommunikasjon!]! - utenlandskIdentifikasjonsnummer(historikk: Boolean = false): [UtenlandskIdentifikasjonsnummer!]! - utflyttingFraNorge: [UtflyttingFraNorge!]! - vergemaalEllerFremtidsfullmakt(historikk: Boolean = false): [VergemaalEllerFremtidsfullmakt!]! -} - -type PersonSearchHighlight { - " Forteller hvorvidt opplysningen som ga treff er markert som historisk." - historisk: Boolean - """ - - liste med feltene og verdiene som ga treff. - Merk at for fritekst søk så vil disse kunne referere til hjelpe felter som ikke er synelig i resultatene. - """ - matches: [SearchMatch] - """ - - Navn/Sti til opplysningen som ga treff. Merk at dette ikke er feltet som ga treff men opplysningen. - F.eks. hvis du søker på person.navn.fornavn så vil opplysingen være person.navn. - """ - opplysning: String - """ - - Gitt att opplysningen som ga treff har en opplysningsId så vil den returneres her. - alle søk under person skal ha opplysningsId, men søk i identer vil kunne returnere treff uten opplysningsId. - """ - opplysningsId: String -} - -type PersonSearchHit { - " Infromasjon om hva som ga treff i søke resultatet." - highlights: [PersonSearchHighlight] - " forespurte data" - identer(historikk: Boolean = false): [IdentInformasjon!]! - " forespurte data" - person: Person - " Poengsummen elasticsearch har gitt dette resultatet (brukt til feilsøking, og tuning av søk)" - score: Float -} - -type PersonSearchResult { - " treff liste" - hits: [PersonSearchHit!]! - " Side nummer for siden som vises" - pageNumber: Int - " Totalt antall treff (øvre grense er satt til 10 000)" - totalHits: Int - " Totalt antall sider" - totalPages: Int -} - -type Personnavn { - etternavn: String! - fornavn: String! - mellomnavn: String -} - -type PostadresseIFrittFormat { - adresselinje1: String - adresselinje2: String - adresselinje3: String - postnummer: String -} - -type Postboksadresse { - postboks: String! - postbokseier: String - postnummer: String -} - -type Query { - forslagAdresse(parameters: CompletionParameters): AdresseCompletionResult - hentAdresse(matrikkelId: ID!): KartverketAdresse - hentGeografiskTilknytning(ident: ID!): GeografiskTilknytning - hentGeografiskTilknytningBolk(identer: [ID!]!): [hentGeografiskTilknytningBolkResult!]! - hentIdenter(grupper: [IdentGruppe!], historikk: Boolean = false, ident: ID!): Identliste - hentIdenterBolk(grupper: [IdentGruppe!], historikk: Boolean = false, identer: [ID!]!): [HentIdenterBolkResult!]! - hentPerson(ident: ID!): Person - hentPersonBolk(identer: [ID!]!): [HentPersonBolkResult!]! - sokAdresse(criteria: [Criterion], paging: Paging): AdresseSearchResult - sokPerson(criteria: [Criterion], paging: Paging): PersonSearchResult -} - -type RelatertBiPerson { - foedselsdato: Date - kjoenn: KjoennType - navn: Personnavn - statsborgerskap: String -} - -type RettsligHandleevne { - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! - rettsligHandleevneomfang: String -} - -type SearchMatch { - " feltnavn med sti til feltet so ga treff." - field: String! - " Verdien som ga treff" - fragments: [String] - type: String -} - -type Sikkerhetstiltak { - beskrivelse: String! - gyldigFraOgMed: Date! - gyldigTilOgMed: Date! - kontaktperson: SikkerhetstiltakKontaktperson - metadata: Metadata! - tiltakstype: String! -} - -type SikkerhetstiltakKontaktperson { - enhet: String! - personident: String! -} - -type Sivilstand { - bekreftelsesdato: Date - folkeregistermetadata: Folkeregistermetadata - gyldigFraOgMed: Date - metadata: Metadata! - relatertVedSivilstand: String - type: Sivilstandstype! -} - -type Statsborgerskap { - bekreftelsesdato: Date - folkeregistermetadata: Folkeregistermetadata - gyldigFraOgMed: Date - gyldigTilOgMed: Date - land: String! - metadata: Metadata! -} - -type Telefonnummer { - landskode: String! - metadata: Metadata! - nummer: String! - prioritet: Int! -} - -type TilrettelagtKommunikasjon { - metadata: Metadata! - talespraaktolk: Tolk - tegnspraaktolk: Tolk -} - -type Tjenesteomraade { - tjenesteoppgave: String - tjenestevirksomhet: String -} - -type Tolk { - spraak: String -} - -type UkjentBosted { - bostedskommune: String -} - -type UtenlandskAdresse { - adressenavnNummer: String - bySted: String - bygningEtasjeLeilighet: String - landkode: String! - postboksNummerNavn: String - postkode: String - regionDistriktOmraade: String -} - -type UtenlandskAdresseIFrittFormat { - adresselinje1: String - adresselinje2: String - adresselinje3: String - byEllerStedsnavn: String - landkode: String! - postkode: String -} - -type UtenlandskIdentifikasjonsnummer { - folkeregistermetadata: Folkeregistermetadata - identifikasjonsnummer: String! - metadata: Metadata! - opphoert: Boolean! - utstederland: String! -} - -type UtflyttingFraNorge { - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! - tilflyttingsland: String - tilflyttingsstedIUtlandet: String - utflyttingsdato: Date -} - -type Vegadresse { - adressenavn: String - bruksenhetsnummer: String - bydelsnummer: String - husbokstav: String - husnummer: String - kommunenummer: String - koordinater: Koordinater - matrikkelId: Long - postnummer: String - tilleggsnavn: String -} - -type VegadresseResult { - adressekode: String - adressenavn: String - bydelsnavn: String - bydelsnummer: String - fylkesnavn: String - fylkesnummer: String - husbokstav: String - husnummer: Int - kommunenavn: String - kommunenummer: String - matrikkelId: String - postnummer: String - poststed: String - tilleggsnavn: String -} - -type VergeEllerFullmektig { - identifiserendeInformasjon: IdentifiserendeInformasjon - motpartsPersonident: String - navn: Personnavn @deprecated(reason: "Erstattes av navn iidentifiserendeInformasjon") - omfang: String - omfangetErInnenPersonligOmraade: Boolean - tjenesteomraade: [Tjenesteomraade!] -} - -type VergemaalEllerFremtidsfullmakt { - embete: String - folkeregistermetadata: Folkeregistermetadata - metadata: Metadata! - type: String - vergeEllerFullmektig: VergeEllerFullmektig! -} - -type hentGeografiskTilknytningBolkResult { - code: String! - geografiskTilknytning: GeografiskTilknytning - ident: String! -} - -enum AdressebeskyttelseGradering { - FORTROLIG - STRENGT_FORTROLIG - STRENGT_FORTROLIG_UTLAND - UGRADERT -} - -enum Direction { - ASC - DESC -} - -enum Endringstype { - KORRIGER - OPPHOER - OPPRETT -} - -enum Familierelasjonsrolle { - BARN - FAR - MEDMOR - MOR -} - -enum ForelderBarnRelasjonRolle { - BARN - FAR - MEDMOR - MOR -} - -enum FullmaktsRolle { - FULLMAKTSGIVER - FULLMEKTIG -} - -enum GtType { - BYDEL - KOMMUNE - UDEFINERT - UTLAND -} - -enum IdentGruppe { - AKTORID - FOLKEREGISTERIDENT - NPID -} - -enum Identitetsgrunnlagsstatus { - IKKE_KONTROLLERT - INGEN_STATUS - KONTROLLERT -} - -enum KjoennType { - KVINNE - MANN - UKJENT -} - -enum KontaktadresseType { - Innland - Utland -} - -enum KontaktinformasjonForDoedsboSkifteform { - ANNET - OFFENTLIG -} - -enum Oppholdstillatelse { - MIDLERTIDIG - OPPLYSNING_MANGLER - PERMANENT -} - -enum Sivilstandstype { - ENKE_ELLER_ENKEMANN - GIFT - GJENLEVENDE_PARTNER - REGISTRERT_PARTNER - SEPARERT - SEPARERT_PARTNER - SKILT - SKILT_PARTNER - UGIFT - UOPPGITT -} - -"Format: YYYY-MM-DD (ISO-8601), example: 2017-11-24" -scalar Date - -"Format: YYYY-MM-DDTHH:mm:SS (ISO-8601), example: 2011-12-03T10:15:30" -scalar DateTime - -"A 64-bit signed integer" -scalar Long - -input CompletionFieldValue { - fieldName: String! - fieldValue: String -} - -input CompletionParameters { - completionField: String! - fieldValues: [CompletionFieldValue]! - maxSuggestions: Int -} - -input Criterion { - and: [Criterion] - " Feltnavn inkludert sti til ønsket felt (Eksempel: person.navn.fornavn)" - fieldName: String - not: [Criterion] - or: [Criterion] - """ - - Søk i historiske data - true = søker kun i historiske data. - false = søker kun i gjeldende data. - null = søke i både historiske og gjeldende data. - """ - searchHistorical: Boolean - searchRule: SearchRule -} - -input Paging { - " Hvilken side i resultatsettet man ønsker vist." - pageNumber: Int = 1 - " antall treff per side (maks 100)" - resultsPerPage: Int = 10 - """ - - Liste over felter man ønsker resultatene sortert etter - Standard er "score". Score er poengsummen Elasticsearch tildeler hvert resultat. - """ - sortBy: [SearchSorting] -} - -input SearchRule { - " Brukes til søke etter datoer som kommer etter opgitt dato." - after: String - " Brukes til søke etter datoer som kommer før opgitt dato." - before: String - " Boost brukes til å gi ett søkekriterie høyere eller lavere vektlegging en de andre søke kriteriene." - boost: Float - " [Flag] Kan brukes til å overstyre standard oppførsellen for søk i felter (standard er case insensitive)" - caseSensitive: Boolean - " Gir treff når opgitt felt inneholder en eller flere ord fra input verdien." - contains: String - " [Flag] Brukes til å deaktivere fonetisk søk feltene som har dette som standard (Navn)" - disablePhonetic: Boolean - " Begrenser treff til kun de hvor felt har input verdi" - equals: String - " Sjekker om feltet finnes / at det ikke har en null verdi." - exists: String - """ - - Søk fra og med (se fromExcluding for bare fra men ikke med) - kan benyttes på tall og dato - """ - from: String - """ - - Søk fra men ikke med oppgitt verdi - kan benyttes på tall og dato - """ - fromExcluding: String - " Søk som gir treff også for små variasjoner i skrivemåte" - fuzzy: String - " Brukes til å søke i tall og finner verdier som er størren en input verdi." - greaterThan: String - " Brukes til å søke i tall og finner verdier som er mindre en input verdi." - lessThan: String - " Filtrerer bort treff hvor felt inneholder input verdi" - notEquals: String - " Søk som gir tilfeldig poengsum til hvert treff (kun ment til generering av testdata)" - random: String - " Regex søk for spesielle situasjoner (Dette er en treg opprasjon og bør ikke brukes)" - regex: String - " Gir treff når opgitt feltstarter med opgitt verdi." - startsWith: String - """ - - Søk til og med (se toExcluding for bare til men ikke med) - kan benyttes på tall og dato - """ - to: String - """ - - Søk til men ikke med oppgitt verdi - kan benyttes på tall og dato - """ - toExcluding: String - " Bruk \"?\" som wildcard for enkelt tegn, og \"*\" som wildcard for 0 eller flere tegn." - wildcard: String -} - -input SearchSorting { - direction: Direction! - " Feltnavn ikludert sti til ønsket felt (eksepmel: person.navn.fornavn)" - fieldName: String! -} diff --git a/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdlquery.graphql b/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdlquery.graphql deleted file mode 100644 index c7234709128..00000000000 --- a/apps/synt-sykemelding-api/src/main/resources/pdlperson/pdlquery.graphql +++ /dev/null @@ -1,118 +0,0 @@ -fragment folkeregistermetadataDetails on Folkeregistermetadata { - aarsak - ajourholdstidspunkt - gyldighetstidspunkt - kilde - opphoerstidspunkt - sekvens -} - -fragment metadataDetails on Metadata { - endringer { - kilde - registrert - registrertAv - systemkilde - type - } - historisk - master - opplysningsId -} - -query($ident: ID!, $historikk: Boolean!) { - hentIdenter(ident: $ident, historikk: true) { - identer { - ident, - historisk, - gruppe - } - } - hentGeografiskTilknytning(ident: $ident) { - gtType, - gtLand, - gtKommune, - gtBydel, - regel - } - hentPerson(ident: $ident) { - foedselsdato { - foedselsaar, - foedselsdato, - metadata { - ...metadataDetails - } - }, - bostedsadresse(historikk: $historikk) { - angittFlyttedato, - coAdressenavn, - gyldigFraOgMed, - gyldigTilOgMed, - vegadresse { - matrikkelId, - husbokstav, - husnummer, - adressenavn, - bruksenhetsnummer, - tilleggsnavn, - postnummer, - kommunenummer, - koordinater { - x, - y, - z - kvalitet - } - }, - matrikkeladresse { - matrikkelId, - bruksenhetsnummer, - tilleggsnavn, - postnummer, - kommunenummer, - koordinater { - x, - y, - z - kvalitet - } - }, - ukjentBosted { - bostedskommune - }, - utenlandskAdresse { - adressenavnNummer, - bygningEtasjeLeilighet, - postboksNummerNavn, - postkode, - bySted, - regionDistriktOmraade, - landkode - } - folkeregistermetadata { - ...folkeregistermetadataDetails - } - metadata { - ...metadataDetails - } - }, - navn(historikk: $historikk) { - fornavn, - mellomnavn, - etternavn, - forkortetNavn, - originaltNavn { - fornavn, - mellomnavn, - etternavn - }, - gyldigFraOgMed, - folkeregistermetadata { - ...folkeregistermetadataDetails - } - metadata { - ...metadataDetails - } - }, - } -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumerTest.java deleted file mode 100644 index a675edaf9c1..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/ArbeidsforholdConsumerTest.java +++ /dev/null @@ -1,68 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.dolly.libs.nais.DollySpringBootTest; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.getTestArbeidsforholdDTO; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class ArbeidsforholdConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private ObjectMapper objectMapper; - - @Autowired - private ArbeidsforholdConsumer arbeidsforholdConsumer; - - private static final String IDENT = "01019049945"; - private static final String ORGNR = "123456789"; - private static final String ARBEIDSFORHOLD_ID = "1"; - private static final String ARBEIDSFORHOLD_URL = "(.*)/arbeidsforhold/api/v1/arbeidsforhold/" + IDENT + "/" + ORGNR + "/" + ARBEIDSFORHOLD_ID; - - private ArbeidsforholdDTO arbeidsforholdResponse; - - @BeforeEach - void before() { - WireMock.reset(); - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - arbeidsforholdResponse = getTestArbeidsforholdDTO(ARBEIDSFORHOLD_ID, ORGNR); - } - - @Test - void shouldGetArbeidsforhold() throws JsonProcessingException { - stubArbeidsforhold(); - - var response = arbeidsforholdConsumer.getArbeidsforhold(IDENT, ORGNR, ARBEIDSFORHOLD_ID); - - assertThat(response).isNotNull().isEqualTo(arbeidsforholdResponse); - } - - private void stubArbeidsforhold() throws JsonProcessingException { - stubFor(get(urlPathMatching(ARBEIDSFORHOLD_URL)) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(objectMapper.writeValueAsString(arbeidsforholdResponse)))); - } - -} diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumerTest.java deleted file mode 100644 index 15166a26130..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/HelsepersonellConsumerTest.java +++ /dev/null @@ -1,67 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.dolly.libs.nais.DollySpringBootTest; -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellListeDTO; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.getTestLegeListeDTO; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class HelsepersonellConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private ObjectMapper objectMapper; - - @Autowired - private HelsepersonellConsumer helsepersonellConsumer; - - private static final String HELSEPERSONELL_URL = "(.*)/testnav-helsepersonell/api/v1/helsepersonell"; - - private HelsepersonellListeDTO helsepersonellResponse; - - @BeforeEach - void before() { - WireMock.reset(); - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - helsepersonellResponse = getTestLegeListeDTO(); - } - - @Test - void shouldGetHelsepersonell() throws JsonProcessingException { - stubHelsepersonell(); - - var response = helsepersonellConsumer.hentHelsepersonell(); - - assertThat(response).isNotNull(); - assertThat(response.getList()).isNotNull().hasSize(1); - assertThat(response.getList().get(0).getIdent()).isNotNull().isEqualTo(helsepersonellResponse.getHelsepersonell().get(0).getFnr()); - } - - private void stubHelsepersonell() throws JsonProcessingException { - stubFor(get(urlPathMatching(HELSEPERSONELL_URL)) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(objectMapper.writeValueAsString(helsepersonellResponse)))); - } - -} diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumerTest.java deleted file mode 100644 index 564628d67ae..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/OrganisasjonConsumerTest.java +++ /dev/null @@ -1,65 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.dolly.libs.nais.DollySpringBootTest; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.getTestOrganisasjonDTO; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class OrganisasjonConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private ObjectMapper objectMapper; - - @Autowired - private OrganisasjonConsumer organisasjonConsumer; - - private static final String ORGNR = "123456789"; - private static final String ORGANISASJON_URL = "(.*)/organisasjon/api/v1/organisasjoner/" + ORGNR; - private OrganisasjonDTO organisasjonResponse; - - @BeforeEach - void before() { - WireMock.reset(); - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - organisasjonResponse = getTestOrganisasjonDTO(ORGNR); - } - - @Test - void shouldGetOrgansiasjon() throws JsonProcessingException { - stubOrgansisasjon(); - - var response = organisasjonConsumer.getOrganisasjon(ORGNR); - - assertThat(response).isNotNull().isEqualTo(organisasjonResponse); - } - - private void stubOrgansisasjon() throws JsonProcessingException { - stubFor(get(urlPathMatching(ORGANISASJON_URL)) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(objectMapper.writeValueAsString(organisasjonResponse)))); - } - -} diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumerTest.java deleted file mode 100644 index 3f2e7831a35..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/PdlProxyConsumerTest.java +++ /dev/null @@ -1,72 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.dolly.libs.nais.DollySpringBootTest; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.getTestPdlPerson; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class PdlProxyConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private ObjectMapper objectMapper; - - @Autowired - private PdlProxyConsumer pdlProxyConsumer; - - private static final String IDENT = "01019049945"; - private static final String PDL_PROXY_URL = "(.*)/pdl/pdl-api/graphql"; - private PdlPerson pdlResponse; - - @BeforeEach - void before() { - WireMock.reset(); - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - pdlResponse = getTestPdlPerson(IDENT); - } - - @Test - void shouldGetArbeidsforhold() throws JsonProcessingException { - stubPdlProxy(); - - var response = pdlProxyConsumer.getPdlPerson(IDENT); - - assertThat(response).isNotNull(); - assertThat(response.getErrors()).isEmpty(); - assertThat(response.getData()).isNotNull(); - assertThat(response.getData().getHentPerson().getFoedsel()).isEmpty(); - assertThat(response.getData().getHentPerson().getNavn()).hasSize(1); - assertThat(response.getData().getHentIdenter().getIdenter()).hasSize(1); - assertThat(response.getData().getHentIdenter().getIdenter().get(0).getIdent()).isEqualTo(IDENT); - } - - private void stubPdlProxy() throws JsonProcessingException { - stubFor(post(urlPathMatching(PDL_PROXY_URL)) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(objectMapper.writeValueAsString(pdlResponse)))); - } - -} - diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumerTest.java deleted file mode 100644 index 549b8f45055..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SykemeldingConsumerTest.java +++ /dev/null @@ -1,121 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Arbeidsforhold; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Helsepersonell; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Person; -import no.nav.testnav.apps.syntsykemeldingapi.domain.Sykemelding; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.dolly.libs.nais.DollySpringBootTest; -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellListeDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingDTO; -import no.nav.testnav.libs.dto.synt.sykemelding.v1.SyntSykemeldingDTO; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import org.springframework.web.server.ResponseStatusException; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.Map; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.*; -import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class SykemeldingConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private SykemeldingConsumer sykemeldingConsumer; - - private static final String IDENT = "12345678910"; - private static final String ORGNR = "123456789"; - private static final String ARBEIDSFORHOLD_ID = "1"; - private static final String SYKEMELDING_URL = "(.*)/sykemelding/sykemelding/api/v1/sykemeldinger"; - - private SyntSykemeldingDTO dto; - private PdlPerson pdlResponse; - private ArbeidsforholdDTO arbeidsforholdResponse; - private OrganisasjonDTO organisasjonResponse; - private Map syntResponse; - private HelsepersonellListeDTO helsepersonellResponse; - private SykemeldingDTO sykemeldingRequest; - - @BeforeEach - void setUp() { - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - - dto = SyntSykemeldingDTO.builder() - .arbeidsforholdId(ARBEIDSFORHOLD_ID) - .ident(IDENT) - .orgnummer(ORGNR) - .startDato(LocalDate.now()) - .build(); - - pdlResponse = getTestPdlPerson(IDENT); - arbeidsforholdResponse = getTestArbeidsforholdDTO(ARBEIDSFORHOLD_ID, ORGNR); - organisasjonResponse = getTestOrganisasjonDTO(ORGNR); - - var arbeidsforhold = new Arbeidsforhold( - arbeidsforholdResponse, - organisasjonResponse - ); - - syntResponse = getTestHistorikk(IDENT); - helsepersonellResponse = getTestLegeListeDTO(); - - sykemeldingRequest = new Sykemelding( - new Person(pdlResponse), - syntResponse.get(IDENT), - dto, - new Helsepersonell(helsepersonellResponse.getHelsepersonell().get(0)), - arbeidsforhold).toDTO(); - } - - @AfterEach - void reset() { - WireMock.reset(); - } - - @Test - @Disabled("Investigate failure and reenable (should apparently reply OK due to stubSykemelding)") - void shouldPostSykemeldingUtenFeil() { - stubSykemelding(); - assertDoesNotThrow(() -> sykemeldingConsumer.opprettSykemelding(sykemeldingRequest)); - } - - @Test - void shouldGetFeil() { - stubSykemeldingError(); - assertThrows(ResponseStatusException.class, () -> sykemeldingConsumer.opprettSykemelding(sykemeldingRequest)); - } - - private void stubSykemelding() { - stubFor(post(urlPathMatching(SYKEMELDING_URL)).willReturn(ok())); - } - - private void stubSykemeldingError() { - stubFor(post(urlPathMatching(SYKEMELDING_URL)).willReturn(aResponse().withStatus(500))); - } - -} - diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumerTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumerTest.java deleted file mode 100644 index 43d578d84ca..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/consumer/SyntElsamConsumerTest.java +++ /dev/null @@ -1,68 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.consumer; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.github.tomakehurst.wiremock.client.WireMock; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; -import no.nav.dolly.libs.nais.DollySpringBootTest; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.Map; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.getTestHistorikk; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@DollySpringBootTest -@AutoConfigureWireMock(port = 0) -class SyntElsamConsumerTest { - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenService; - - @Autowired - private ObjectMapper objectMapper; - - @Autowired - private SyntElsamConsumer syntElsamConsumer; - - private static final String IDENT = "01019049945"; - private static final String SYNT_URL = "(.*)/synt/api/v1/generate_sykmeldings_history_json"; - private Map syntResponse; - - @BeforeEach - void before() { - WireMock.reset(); - when(tokenService.exchange(ArgumentMatchers.any(ServerProperties.class))).thenReturn(Mono.just(new AccessToken("token"))); - syntResponse = getTestHistorikk(IDENT); - } - - @Test - void shouldGetSyntSykemelding() throws JsonProcessingException { - stubSynt(); - - var response = syntElsamConsumer.genererSykemeldinger(IDENT, LocalDate.now()); - - assertThat(response).isNotNull().isEqualTo(syntResponse.get(IDENT)); - } - - private void stubSynt() throws JsonProcessingException { - stubFor(post(urlPathMatching(SYNT_URL)) - .willReturn(ok() - .withHeader("Content-Type", "application/json") - .withBody(objectMapper.writeValueAsString(syntResponse)))); - } - -} diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingControllerIntegrationTest.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingControllerIntegrationTest.java deleted file mode 100644 index fd3e3b99bf8..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/provider/SyntSykemeldingControllerIntegrationTest.java +++ /dev/null @@ -1,124 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.provider; - -import com.fasterxml.jackson.databind.ObjectMapper; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.*; -import no.nav.testnav.apps.syntsykemeldingapi.domain.HelsepersonellListe; -import no.nav.dolly.libs.nais.DollySpringBootTest; -import no.nav.testnav.libs.dto.sykemelding.v1.SykemeldingDTO; -import no.nav.testnav.libs.dto.synt.sykemelding.v1.SyntSykemeldingDTO; -import no.nav.testnav.libs.securitycore.domain.AccessToken; -import no.nav.testnav.libs.securitycore.domain.ServerProperties; -import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; -import no.nav.testnav.libs.testing.JsonWiremockHelper; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import org.springframework.test.web.servlet.MockMvc; -import reactor.core.publisher.Mono; - -import java.time.LocalDate; -import java.util.Map; - -import static no.nav.testnav.apps.syntsykemeldingapi.util.TestUtil.*; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -@DollySpringBootTest -@AutoConfigureMockMvc(addFilters = false) -@AutoConfigureWireMock(port = 0) -class SyntSykemeldingControllerIntegrationTest { - - @Autowired - private MockMvc mockMvc; - - @Autowired - private ObjectMapper objectMapper; - - @MockitoBean - @SuppressWarnings("unused") - private TokenExchange tokenExchange; - - @MockitoBean - @SuppressWarnings("unused") - private PdlProxyConsumer pdlProxyConsumer; - - @MockitoBean - @SuppressWarnings("unused") - private ArbeidsforholdConsumer arbeidsforholdConsumer; - - @MockitoBean - @SuppressWarnings("unused") - private OrganisasjonConsumer organisasjonConsumer; - - @MockitoBean - @SuppressWarnings("unused") - private HelsepersonellConsumer helsepersonellConsumer; - - @MockitoBean - @SuppressWarnings("unused") - private SykemeldingConsumer sykemeldingConsumer; - - @BeforeEach - void beforeEach() { - when(tokenExchange.exchange(any(ServerProperties.class))) - .thenReturn(Mono.just(new AccessToken())); - } - - @Test - void shouldOpprettSyntSykemelding() throws Exception { - - var arbeidsforholdId = "1"; - var ident = "12345678910"; - var orgnummer = "123456789"; - - JsonWiremockHelper - .builder(objectMapper) - .withUrlPathMatching("(.*)/synt/api/v1/generate_sykmeldings_history_json") - .withRequestBody(Map.of(ident, LocalDate.now().toString())) - .withResponseBody(getTestHistorikk(ident)) - .stubPost(HttpStatus.OK); - - var request = SyntSykemeldingDTO - .builder() - .arbeidsforholdId(arbeidsforholdId) - .ident(ident) - .orgnummer(orgnummer) - .startDato(LocalDate.now()) - .build(); - - when(pdlProxyConsumer.getPdlPerson(anyString())) - .thenReturn(getTestPdlPerson(ident)); - - when(arbeidsforholdConsumer.getArbeidsforhold(anyString(), anyString(), anyString())) - .thenReturn(getTestArbeidsforholdDTO(arbeidsforholdId, orgnummer)); - - when(organisasjonConsumer.getOrganisasjon(anyString())) - .thenReturn(getTestOrganisasjonDTO(orgnummer)); - - when(helsepersonellConsumer.hentHelsepersonell()) - .thenReturn(new HelsepersonellListe(getTestLegeListeDTO())); - - mockMvc - .perform( - post("/api/v1/synt-sykemelding") - .content(objectMapper.writeValueAsString(request)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()); - - verify(pdlProxyConsumer).getPdlPerson(anyString()); - verify(arbeidsforholdConsumer).getArbeidsforhold(anyString(), anyString(), anyString()); - verify(organisasjonConsumer).getOrganisasjon(anyString()); - verify(sykemeldingConsumer).opprettSykemelding(any(SykemeldingDTO.class)); - - } - -} \ No newline at end of file diff --git a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/util/TestUtil.java b/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/util/TestUtil.java deleted file mode 100644 index d339f01c8f0..00000000000 --- a/apps/synt-sykemelding-api/src/test/java/no/nav/testnav/apps/syntsykemeldingapi/util/TestUtil.java +++ /dev/null @@ -1,104 +0,0 @@ -package no.nav.testnav.apps.syntsykemeldingapi.util; - -import java.time.LocalDate; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.Metadata; -import no.nav.testnav.apps.syntsykemeldingapi.domain.pdl.PdlPerson; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1.ArbeidsforholdDTO; -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellDTO; -import no.nav.testnav.libs.dto.helsepersonell.v1.HelsepersonellListeDTO; -import no.nav.testnav.libs.dto.organisasjon.v1.OrganisasjonDTO; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntDiagnoserDTO; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingDTO; -import no.nav.testnav.apps.syntsykemeldingapi.consumer.dto.SyntSykemeldingHistorikkDTO; - -public class TestUtil { - - public static PdlPerson getTestPdlPerson(String ident) { - var metadata = new Metadata(false); - - var identer = PdlPerson.HentIdenter.builder() - .identer(Collections.singletonList(PdlPerson.Identer.builder() - .gruppe(PdlPerson.Gruppe.FOLKEREGISTERIDENT) - .historisk(false) - .ident(ident) - .build() - )) - .build(); - var hentPersoner = PdlPerson.HentPerson.builder() - .navn(Collections.singletonList(PdlPerson.Navn.builder() - .fornavn("Hans") - .mellomnavn("Hans") - .etternavn("Hansen") - .metadata(metadata) - .build())) - .build(); - - return PdlPerson.builder() - .data(PdlPerson.Data.builder() - .hentPerson(hentPersoner) - .hentIdenter(identer) - .build()) - .build(); - } - - public static ArbeidsforholdDTO getTestArbeidsforholdDTO(String arbeidsforholdId, String orgnr) { - return ArbeidsforholdDTO.builder() - .arbeidsforholdId(arbeidsforholdId) - .orgnummer(orgnr) - .stillingsprosent(100.00F) - .yrke("Test yrke") - .build(); - } - - public static OrganisasjonDTO getTestOrganisasjonDTO(String orgnr) { - return OrganisasjonDTO.builder() - .enhetType("Type") - .orgnummer(orgnr) - .juridiskEnhet("Enhet") - .navn("Test bedrift") - .build(); - } - - public static Map getTestHistorikk(String ident) { - var resultat = new HashMap(); - resultat.put(ident, getTestSyntSykemeldingHistorikkDTO()); - - return resultat; - } - - - public static SyntSykemeldingHistorikkDTO getTestSyntSykemeldingHistorikkDTO() { - var diagnose = SyntDiagnoserDTO.builder() - .diagnose("Diagnose") - .diagnosekode("Kode") - .system("System") - .build(); - - return SyntSykemeldingHistorikkDTO.builder() - .sykmeldinger(Collections.singletonList(SyntSykemeldingDTO.builder() - .arbeidsforEtterEndtPeriode(Boolean.FALSE) - .biDiagnoser(Collections.singletonList(diagnose)) - .hovedDiagnose(diagnose) - .kontaktMedPasient(LocalDate.now()) - .meldingTilNav(Boolean.FALSE) - .reisetilskudd(Boolean.FALSE) - .sluttPeriode(LocalDate.now().plusMonths(1)) - .startPeriode(LocalDate.now()) - .sykmeldingsprosent(50.0) - .build())) - .build(); - } - - public static HelsepersonellListeDTO getTestLegeListeDTO() { - return new HelsepersonellListeDTO(Collections.singletonList(HelsepersonellDTO.builder().fornavn("Lege") - .mellomnavn("L.") - .etternavn("Legesen") - .fnr("123") - .hprId("123").build())); - } - -} diff --git a/apps/synt-sykemelding-api/src/test/resources/application-test.yml b/apps/synt-sykemelding-api/src/test/resources/application-test.yml deleted file mode 100644 index 60a87993bcb..00000000000 --- a/apps/synt-sykemelding-api/src/test/resources/application-test.yml +++ /dev/null @@ -1,35 +0,0 @@ -wiremock: - server: - port: 0 - -consumers: - synt-sykemelding: - url: http://localhost:${wiremock.server.port}/synt - name: synthdata-elsam-gcp - cluster: dummy - namespace: dummy - sykemelding-api: - url: http://localhost:${wiremock.server.port}/sykemelding - name: testnav-sykemelding-api - cluster: dummy - namespace: dummy - testnav-organisasjon-service: - url: http://localhost:${wiremock.server.port}/organisasjon - name: testnav-organisasjon-service - cluster: dummy - namespace: dummy - testnav-arbeidsforhold-service: - url: http://localhost:${wiremock.server.port}/arbeidsforhold - cluster: dummy - namespace: dummy - name: testnav-arbeidsforhold-service - testnav-helsepersonell-service: - url: http://localhost:${wiremock.server.port}/testnav-helsepersonell - cluster: dummy - namespace: dummy - name: testnav-helsepersonell-service - testnav-pdl-proxy: - name: testnav-pdl-proxy - namespace: dummy - url: http://localhost:${wiremock.server.port}/pdl - cluster: dummy \ No newline at end of file diff --git a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentByIdCommand.java b/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentByIdCommand.java deleted file mode 100644 index a411001d7bb..00000000000 --- a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentByIdCommand.java +++ /dev/null @@ -1,45 +0,0 @@ -package no.nav.testnav.libs.commands; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOppsummeringsdokumentByIdCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final String id; - - @SneakyThrows - @Override - public Mono call() { - log.info("Henter oppsummeringsdokumentet med id {}.", id); - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/oppsummeringsdokumenter/{id}") - .build(id) - ) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .retrieve() - .bodyToMono(OppsummeringsdokumentDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .onErrorResume(WebClientResponseException.NotFound.class, ex -> { - log.info("Fant ikke oppsummeringsdokumentet med id {}.", id); - return Mono.empty(); - }); - - } -} diff --git a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentCommand.java b/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentCommand.java deleted file mode 100644 index 8df76c947f3..00000000000 --- a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumentCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -package no.nav.testnav.libs.commands; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.time.LocalDate; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOppsummeringsdokumentCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final String orgnummer; - private final LocalDate kalendermaaned; - private final String miljo; - - @SneakyThrows - @Override - public Mono call() { - log.info("Henter oppsummeringsdokumentet med orgnummer {} den {} i {}.", orgnummer, kalendermaaned, miljo); - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/oppsummeringsdokumenter/{orgnummer}/{kalendermaaned}") - .build(orgnummer, kalendermaaned) - ) - .header("miljo", miljo) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .retrieve() - .bodyToMono(OppsummeringsdokumentDTO.class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .onErrorResume(WebClientResponseException.NotFound.class, ex -> { - log.info("Fant ikke oppsummeringsdokumentet med orgnummer {} den {} i {}.", orgnummer, kalendermaaned, miljo); - return Mono.empty(); - }); - } -} \ No newline at end of file diff --git a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterByIdentCommand.java b/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterByIdentCommand.java deleted file mode 100644 index 31fcf0900f9..00000000000 --- a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterByIdentCommand.java +++ /dev/null @@ -1,51 +0,0 @@ -package no.nav.testnav.libs.commands; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatusCode; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.List; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class GetOppsummeringsdokumenterByIdentCommand implements Callable>> { - private final WebClient webClient; - private final String accessToken; - private final String ident; - private final String miljo; - - @SneakyThrows - @Override - public Mono> call() { - log.info("Henter oppsummeringsdokumenteter for ident {}.", ident); - return webClient - .get() - .uri(builder -> builder - .path("/api/v1/oppsummeringsdokumenter/identer/{ident}") - .build(ident) - ) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .header("miljo", this.miljo) - .retrieve() - .onStatus(HttpStatusCode::isError, response -> Mono.error(new RuntimeException("Noe gikk galt med henting av oppsummeringsdokumenteter for " + ident))) - .bodyToMono(new ParameterizedTypeReference>() { - }) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .map(value -> { - log.info("Hentet {} oppsummeringsdokumenter funnet for {}", value.size(), ident); - return value; - }); - - } -} diff --git a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterCommand.java b/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterCommand.java deleted file mode 100644 index 5fcaeda17c4..00000000000 --- a/libs/commands/src/main/java/no/nav/testnav/libs/commands/GetOppsummeringsdokumenterCommand.java +++ /dev/null @@ -1,51 +0,0 @@ -package no.nav.testnav.libs.commands; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClientResponseException; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.Callable; -import java.util.stream.Collectors; - -@Slf4j -@RequiredArgsConstructor -public class GetOppsummeringsdokumenterCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final String miljo; - - @SneakyThrows - @Override - public List call() { - log.info("Henter alle oppsummeringsdokumenter i {}...", miljo); - try { - OppsummeringsdokumentDTO[] array = webClient - .get() - .uri(builder -> builder - .path("/api/v1/oppsummeringsdokumenter") - .build() - ) - .header("miljo", this.miljo) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .retrieve() - .bodyToMono(OppsummeringsdokumentDTO[].class) - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .block(); - var list = Arrays.stream(array).collect(Collectors.toList()); - log.info("Fant {} dokumenter i {}.", list.size(), miljo); - return list; - } catch (WebClientResponseException.NotFound e) { - return null; - } - } -} \ No newline at end of file diff --git a/libs/commands/src/main/java/no/nav/testnav/libs/commands/SaveOppsummeringsdokumenterCommand.java b/libs/commands/src/main/java/no/nav/testnav/libs/commands/SaveOppsummeringsdokumenterCommand.java deleted file mode 100644 index 79fd0d8fcc7..00000000000 --- a/libs/commands/src/main/java/no/nav/testnav/libs/commands/SaveOppsummeringsdokumenterCommand.java +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.testnav.libs.commands; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.libs.commands.utils.WebClientFilter; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.OppsummeringsdokumentDTO; -import no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2.Populasjon; -import org.springframework.http.HttpHeaders; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; -import reactor.util.retry.Retry; - -import java.time.Duration; -import java.util.concurrent.Callable; - -@Slf4j -@RequiredArgsConstructor -public class SaveOppsummeringsdokumenterCommand implements Callable> { - private final WebClient webClient; - private final String accessToken; - private final OppsummeringsdokumentDTO opplysningspliktigDTO; - private final String miljo; - private final String origin; - private final Populasjon populasjon; - - @Override - public Mono call() { - log.info( - "Sender inn opplysningspliktig {} den {} i {}.", - opplysningspliktigDTO.getOpplysningspliktigOrganisajonsnummer(), - opplysningspliktigDTO.getKalendermaaned(), - miljo - ); - return webClient - .put() - .uri(builder -> builder.path("/api/v1/oppsummeringsdokumenter").build()) - .header(HttpHeaders.AUTHORIZATION, "Bearer " + accessToken) - .header("miljo", miljo) - .header("origin", origin) - .header("populasjon", populasjon.toString()) - .body(BodyInserters.fromPublisher(Mono.just(opplysningspliktigDTO), OppsummeringsdokumentDTO.class)) - .exchange() - .retryWhen(Retry.backoff(3, Duration.ofSeconds(5)) - .filter(WebClientFilter::is5xxException)) - .flatMap(response -> { - if (!response.statusCode().is2xxSuccessful()) { - return response.createException().flatMap(Mono::error); - } - var id = response.headers().header("ID").stream().findFirst(); - if (id.isEmpty()) { - return Mono.error( - new RuntimeException( - "Klarer ikke å finne iden fra opplysningspliktigsdokument " - + opplysningspliktigDTO.getOpplysningspliktigOrganisajonsnummer() - + " den " + opplysningspliktigDTO.getKalendermaaned() + "." - ) - ); - } - log.info( - "Opplysningspliktig {} sendt inn den {} med id {}", - opplysningspliktigDTO.getOpplysningspliktigOrganisajonsnummer(), - opplysningspliktigDTO.getKalendermaaned(), - id.get() - ); - return Mono.just(id.get()); - }); - } -} \ No newline at end of file diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AMeldingDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AMeldingDTO.java deleted file mode 100644 index c0ec00c542f..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AMeldingDTO.java +++ /dev/null @@ -1,23 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AMeldingDTO { - @JsonProperty(required = true) - private LocalDate kalendermaaned; - @JsonProperty(required = true) - private String opplysningspliktigOrganisajonsnummer; - @JsonProperty(required = true) - private List virksomheter; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/ArbeidsforholdDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/ArbeidsforholdDTO.java deleted file mode 100644 index 5ce5eec8a41..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/ArbeidsforholdDTO.java +++ /dev/null @@ -1,52 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - - String arbeidsforholdId; - String arbeidsforholdType; - LocalDate startdato; - LocalDate sluttdato; - Float antallTimerPerUke; - String yrke; - String arbeidstidsordning; - Float stillingsprosent; - LocalDate sisteLoennsendringsdato; - List permisjoner; - FartoeyDTO fartoey; - List inntekter; - List avvik; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } - - public List getPermisjoner() { - if (permisjoner == null) { - permisjoner = new ArrayList<>(); - } - return permisjoner; - } - - public List getInntekter() { - if (inntekter == null) { - inntekter = new ArrayList<>(); - } - return inntekter; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AvvikDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AvvikDTO.java deleted file mode 100644 index cd38b6cf817..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/AvvikDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.ToString; -import lombok.Value; - -@Value -@Builder -@ToString -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AvvikDTO { - String id; - String navn; - String alvorlighetsgrad; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/FartoeyDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/FartoeyDTO.java deleted file mode 100644 index 0513bdf2b2d..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/FartoeyDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class FartoeyDTO { - String skipsregister; - String skipstype; - String fartsomraade; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/InntektDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/InntektDTO.java deleted file mode 100644 index 70dc8e4b7de..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/InntektDTO.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class InntektDTO { - LocalDate startdatoOpptjeningsperiode; - LocalDate sluttdatoOpptjeningsperiode; - Integer antall; - String opptjeningsland; - List avvik; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PermisjonDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PermisjonDTO.java deleted file mode 100644 index db3f2a772be..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PermisjonDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.ToString; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@ToString -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PermisjonDTO { - @JsonProperty - String permisjonId; - @JsonProperty - String beskrivelse; - @JsonProperty - LocalDate startdato; - @JsonProperty - LocalDate sluttdato; - @JsonProperty - Float permisjonsprosent; - @JsonProperty - List avvik; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PersonDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PersonDTO.java deleted file mode 100644 index ceeaabec07c..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/PersonDTO.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PersonDTO { - @JsonProperty(required = true) - private final String ident; - @JsonProperty(required = true) - private List arbeidsforhold; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/VirksomhetDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/VirksomhetDTO.java deleted file mode 100644 index 556babcd43a..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/ameldingservice/v1/VirksomhetDTO.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.testnav.libs.dto.ameldingservice.v1; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.util.List; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class VirksomhetDTO { - @JsonProperty(required = true) - String organisajonsnummer; - @JsonProperty(required = true) - List personer; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v1/ArbeidsforholdDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v1/ArbeidsforholdDTO.java deleted file mode 100644 index a1f107601dc..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v1/ArbeidsforholdDTO.java +++ /dev/null @@ -1,38 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v1; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.Value; - -import java.time.LocalDate; - -@Value -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - @JsonProperty - String arbeidsforholdId; - @JsonProperty(required = true) - String orgnummer; - @JsonProperty - String arbeidstidsordning; - @JsonProperty(required = true) - Float stillingsprosent; - @JsonProperty(required = true) - String yrke; - @JsonProperty(required = true) - LocalDate fom; - @JsonProperty(required = true) - LocalDate tom; - @JsonProperty(required = true) - String ident; - @JsonProperty - Float antallTimerPrUke; - @JsonProperty - LocalDate sistLoennsendring; - @JsonProperty - String type; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/ArbeidsforholdDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/ArbeidsforholdDTO.java deleted file mode 100644 index d15f8cd6c8c..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/ArbeidsforholdDTO.java +++ /dev/null @@ -1,66 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class ArbeidsforholdDTO { - @JsonProperty - String arbeidsforholdId; - @JsonProperty - String typeArbeidsforhold; - @JsonProperty(required = true) - LocalDate startdato; - @JsonProperty - LocalDate sluttdato; - @JsonProperty - Float antallTimerPerUke; - @JsonProperty(required = true) - String yrke; - @JsonProperty - String arbeidstidsordning; - @JsonProperty - Float stillingsprosent; - @JsonProperty - LocalDate sisteLoennsendringsdato; - @JsonProperty - List permisjoner; - @JsonProperty - FartoeyDTO fartoey; - @JsonProperty - List inntekter; - @JsonProperty - List avvik; - String historikk; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } - - public List getPermisjoner() { - if (permisjoner == null) { - permisjoner = new ArrayList<>(); - } - return permisjoner; - } - - public List getInntekter() { - if (inntekter == null) { - inntekter = new ArrayList<>(); - } - return inntekter; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/AvvikDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/AvvikDTO.java deleted file mode 100644 index ea33c17c19a..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/AvvikDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; -import lombok.ToString; -import lombok.Value; - -@Value -@Builder -@ToString -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class AvvikDTO { - String id; - String navn; - String alvorlighetsgrad; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/FartoeyDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/FartoeyDTO.java deleted file mode 100644 index e3cac0ed677..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/FartoeyDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class FartoeyDTO { - String skipsregister; - String skipstype; - String fartsomraade; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/InntektDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/InntektDTO.java deleted file mode 100644 index b6467f645b9..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/InntektDTO.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class InntektDTO { - LocalDate startdatoOpptjeningsperiode; - LocalDate sluttdatoOpptjeningsperiode; - Integer antall; - String opptjeningsland; - List avvik; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/OppsummeringsdokumentDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/OppsummeringsdokumentDTO.java deleted file mode 100644 index 779fd422897..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/OppsummeringsdokumentDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class OppsummeringsdokumentDTO { - @JsonProperty(required = true) - private LocalDate kalendermaaned; - @JsonProperty(required = true) - private String opplysningspliktigOrganisajonsnummer; - @JsonProperty(required = true) - private List virksomheter; - @JsonProperty(required = true) - private Long version; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PermisjonDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PermisjonDTO.java deleted file mode 100644 index 85756f8fed4..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PermisjonDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.ToString; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@ToString -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PermisjonDTO { - @JsonProperty - String permisjonId; - @JsonProperty - String beskrivelse; - @JsonProperty - LocalDate startdato; - @JsonProperty - LocalDate sluttdato; - @JsonProperty - Float permisjonsprosent; - @JsonProperty - List avvik; - - public List getAvvik() { - if (avvik == null) { - avvik = new ArrayList<>(); - } - return avvik; - } -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PersonDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PersonDTO.java deleted file mode 100644 index f0aaebe2c66..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/PersonDTO.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PersonDTO { - @JsonProperty(required = true) - private final String ident; - @JsonProperty(required = true) - private List arbeidsforhold; -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/Populasjon.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/Populasjon.java deleted file mode 100644 index 91cae5e9d52..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/Populasjon.java +++ /dev/null @@ -1,6 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -public enum Populasjon { - DOLLY, - MINI_NORGE -} diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/VirksomhetDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/VirksomhetDTO.java deleted file mode 100644 index e31327d80fc..00000000000 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/oppsummeringsdokumentservice/v2/VirksomhetDTO.java +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.testnav.libs.dto.oppsummeringsdokumentservice.v2; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class VirksomhetDTO { - @JsonProperty(required = true) - private String organisajonsnummer; - @JsonProperty(required = true) - private List personer; -} diff --git a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/ElasticBestilling.java b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/ElasticBestilling.java deleted file mode 100644 index 3f711af2c7f..00000000000 --- a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/ElasticBestilling.java +++ /dev/null @@ -1,98 +0,0 @@ -package no.nav.testnav.libs.data.dollysearchservice.v1; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import no.nav.testnav.libs.data.arbeidsplassencv.v1.ArbeidsplassenCVDTO; -import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsInntektsmelding; -import no.nav.testnav.libs.dto.skattekortservice.v1.SkattekortRequestDTO; -import no.nav.testnav.libs.dto.yrkesskade.v1.YrkesskadeRequest; -import org.springframework.data.annotation.Id; -import org.springframework.data.annotation.Transient; -import org.springframework.data.domain.Persistable; -import org.springframework.data.elasticsearch.annotations.Document; -import org.springframework.data.elasticsearch.annotations.Field; - -import java.util.ArrayList; -import java.util.List; - -import static java.util.Objects.isNull; - -@Document(indexName = "#{@environment.getProperty('open.search.index')}") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@JsonInclude(JsonInclude.Include.NON_EMPTY) -public class ElasticBestilling implements Persistable { - - @Id - private Long id; - @Field - private Object krrstub; - @Field - private Object fullmakt; - @Field - private Object medl; - @Field - private Object instdata; - @Field - private Object aareg; - @Field - private Object sigrunstub; - @Field - private Object sigrunstubPensjonsgivende; - @Field - private Object inntektstub; - @Field - private Object arenaforvalter; - @Field - private Object udistub; - @Field - private Object pensjonforvalter; - @Field - private RsInntektsmelding inntektsmelding; - @Field - private Object brregstub; - @Field - private Object dokarkiv; - @Field - private Object histark; - @Field - private Object sykemelding; - @Field - private Object bankkonto; - @Field - private Object skjerming; - @Field - private ArbeidsplassenCVDTO arbeidsplassenCV; - @Field - private SkattekortRequestDTO skattekort; - @Field - private List yrkesskader; - @Field - private Object arbeidssoekerregisteret; - @Field - private List identer; - @Transient - @JsonIgnore - private boolean ignore; - - @Override - @JsonIgnore - @Transient - public boolean isNew() { - - return false; - } - - public List getIdenter() { - if (isNull(identer)) { - identer = new ArrayList<>(); - } - return identer; - } -} diff --git a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/ElasticTyper.java b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/ElasticTyper.java deleted file mode 100644 index 4d3ede5c08a..00000000000 --- a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/ElasticTyper.java +++ /dev/null @@ -1,45 +0,0 @@ -package no.nav.testnav.libs.data.dollysearchservice.v1; - -import lombok.Getter; - -@Getter -public enum ElasticTyper { - - AAREG("Arbeidsgiver/arbeidstaker-register (AAREG)"), - ARBEIDSPLASSENCV("Arbeidsplassen CV"), - ARBEIDSSOEKERREGISTERET("Arbeidssøkerregisteret"), - ARENA_AAP("Arena AAP ytelse"), - ARENA_AAP115("Arena AAP115 rettighet"), - ARENA_DAGP("Arena dagpenger"), - BANKKONTO("Bankkontoregister"), - BANKKONTO_NORGE("Bankkonto i Norge"), - BANKKONTO_UTLAND("Bankkonto i utlandet"), - BRREGSTUB("Brønnøysundregistrene (BRREGSTUB)"), - DOKARKIV("Dokumentarkiv (JOARK)"), - FULLMAKT("Fullmakt (Representasjon)"), - HISTARK("Historisk arkiv (HISTARK)"), - INNTK("Inntektskomponenten/stub (INNTK)"), - INNTKMELD("Inntektsmelding (ALTINN/JOARK)"), - INST("Institusjonsopphold (INST2)"), - KRRSTUB("Kontakt- og reservasjonsregister-stub"), - MEDL("Medlemskap (MEDL)"), - PEN_AFP_OFFENTLIG("Pensjon - AFP offentlig"), - PEN_AP("Pensjon - Alderspensjon (AP)"), - PEN_INNTEKT("Pensjon - Pensjonsinntekt/opptjening"), - PEN_PENSJONSAVTALE("Pensjon - Pensjonsavtaler"), - PEN_TP("Pensjon - Tjenestepensjon (TP)"), - PEN_UT("Pensjon - Uføretrygd (UT)"), - SIGRUN_LIGNET("Sigrunstub - Lignet skatteinntekt"), - SIGRUN_PENSJONSGIVENDE("Sigrunstub - Pensjonsgivende inntekt"), - SKATTEKORT("Skattekort (SOKOS)"), - SKJERMING("Skjermingsregisteret"), - SYKEMELDING("Sykemelding"), - UDISTUB("Udistub - Utlendingsdirektoratet"), - YRKESSKADE("Yrkesskade"); - - private final String beskrivelse; - - ElasticTyper(String beskrivelse) { - this.beskrivelse = beskrivelse; - } -} diff --git a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/PersonRequest.java b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/PersonRequest.java deleted file mode 100644 index 4e873f4d09f..00000000000 --- a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/PersonRequest.java +++ /dev/null @@ -1,67 +0,0 @@ -package no.nav.testnav.libs.data.dollysearchservice.v1; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import no.nav.testnav.libs.data.pdlforvalter.v1.AdressebeskyttelseDTO; -import no.nav.testnav.libs.data.pdlforvalter.v1.Identtype; -import no.nav.testnav.libs.data.pdlforvalter.v1.KjoennDTO; -import no.nav.testnav.libs.data.pdlforvalter.v1.SivilstandDTO; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor(force = true) -public class PersonRequest { - - private Identtype identtype; - private KjoennDTO.Kjoenn kjoenn; - private Integer alderFom; - private Integer alderTom; - private SivilstandDTO.Sivilstand sivilstand; - - private Boolean harBarn; - private Boolean harForeldre; - private Boolean harDoedfoedtBarn; - private Boolean harForeldreAnsvar; - private Boolean harVerge; - private Boolean harDoedsfall; - private Boolean harInnflytting; - private Boolean harUtflytting; - private Boolean harKontaktinformasjonForDoedsbo; - private Boolean harUtenlandskIdentifikasjonsnummer; - private Boolean harFalskIdentitet; - private Boolean harTilrettelagtKommunikasjon; - private Boolean harSikkerhetstiltak; - private Boolean harOpphold; - @Schema(description = "landkode") - private String statsborgerskap; - private Boolean harNyIdentitet; - - private AdresseRequest adresse; - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor(force = true) - public static class AdresseRequest { - - private AdressebeskyttelseDTO.AdresseBeskyttelse addressebeskyttelse; - - private String kommunenummer; - private String postnummer; - private String bydelsnummer; - - private Boolean harBydelsnummer; - private Boolean harUtenlandsadresse; - private Boolean harMatrikkeladresse; - private Boolean harUkjentAdresse; - private Boolean harDeltBosted; - - private Boolean harBostedsadresse; - private Boolean harKontaktadresse; - private Boolean harOppholdsadresse; - } -} \ No newline at end of file diff --git a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/SearchRequest.java b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/SearchRequest.java deleted file mode 100644 index 73e4aa469ee..00000000000 --- a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/SearchRequest.java +++ /dev/null @@ -1,24 +0,0 @@ -package no.nav.testnav.libs.data.dollysearchservice.v1; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class SearchRequest { - - @Schema(description = "Sidenummer") - private Integer side; - @Schema(description = "Antall resultater per side") - private Integer antall; - @Schema(description = "Seed for paginering") - private Integer seed; - - @Schema(description = "Persondetaljer") - private PersonRequest personRequest; -} diff --git a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/SearchResponse.java b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/SearchResponse.java deleted file mode 100644 index d43b4841b42..00000000000 --- a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/SearchResponse.java +++ /dev/null @@ -1,24 +0,0 @@ -package no.nav.testnav.libs.data.dollysearchservice.v1; - -import com.fasterxml.jackson.databind.JsonNode; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class SearchResponse { - - private Long totalHits; - private String took; - private Integer side; - private Integer antall; - private Integer seed; - private List personer; - private String error; -} \ No newline at end of file diff --git a/proxies/aareg-proxy/config.yml b/proxies/aareg-proxy/config.yml index 45a28c5ec53..f40626e5839 100644 --- a/proxies/aareg-proxy/config.yml +++ b/proxies/aareg-proxy/config.yml @@ -46,8 +46,6 @@ spec: cluster: dev-gcp - application: testnav-oversikt-frontend cluster: dev-gcp - - application: testnav-arbeidsforhold-service - cluster: dev-gcp - application: testnav-levende-arbeidsforhold-service cluster: dev-gcp - application: testnorge-statisk-data-forvalter