Skip to content

Commit f6df49c

Browse files
refactor: Re-name away from portal-*, and for better overview/control of configs
- Start gathering configs into "1x place" - Make them easier to find/modify/get an overview of - Lacks some TODOs spread in code - Mostly around classes that are static/have to be `new`ed Co-authored-by: @OrleneMitchell <[email protected]>
1 parent ed18e85 commit f6df49c

File tree

243 files changed

+909
-803
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

243 files changed

+909
-803
lines changed

.github/workflows/deploy.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ name: Build, push, and deploy
33
on: [push]
44

55
env:
6-
docker_image: ghcr.io/navikt/portal-server:${{ github.sha }}
6+
# TODO: Make images sortable ("<iso8601 datetime>-<git rev-list --count REF_NAME>-<git commit short sha>")
7+
docker_image: ghcr.io/navikt/statusplattform-server:${{ github.sha }}
78

89
jobs:
910
build:

.gitignore

+17-7
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,26 @@
1-
.idea
2-
*.iml
3-
target
4-
node_modules
5-
.cache
6-
dependency-reduced-pom.xml
7-
*/src/main/web/node
81
/*.properties
2+
dependency-reduced-pom.xml
93
/*.crt
104
/*.cer
115
/logs
126
generated/
137

8+
# maven
9+
.project
10+
target
11+
12+
# IntelliJ
13+
.idea
14+
*.iml
15+
16+
# npm
17+
node_modules
18+
.cache
19+
*/src/main/web/node
20+
21+
# Idiot macs
22+
.DS_Store
23+
1424
# Dev env specific env vars/secrets management
1525
.env*
1626

Dockerfile

+5-16
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,18 @@
1-
FROM maven:3.6.3-openjdk-17 as maven
1+
FROM library/maven:3-amazoncorretto-21 as maven
22

33
COPY pom.xml pom.xml
4-
54
COPY . .
65

7-
RUN mvn clean install
8-
9-
RUN mvn dependency:go-offline -B
10-
6+
RUN mvn clean dependency:go-offline -B
117
RUN mvn package
128

13-
FROM openjdk:17
149

15-
#RUN dir #Added
10+
FROM library/openjdk:21
1611

1712
WORKDIR /adevguide
18-
1913
EXPOSE 3005
2014

21-
22-
#RUN dir #Added
23-
2415
COPY rapporter/ rapporter/
16+
COPY --from=maven server/target/server-*jar ./statusplattform-server.jar
2517

26-
27-
COPY --from=maven portal-server/target/portal-server-0.1-SNAPSHOT.jar ./portal-server.jar
28-
29-
CMD ["java", "-jar", "./portal-server.jar"]
18+
CMD ["java", "-jar", "./statusplattform-server.jar"]

portal-rest-api/pom.xml api/pom.xml

+21-15
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,18 @@
44
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
55
<parent>
66
<groupId>no.nav</groupId>
7-
<artifactId>portal</artifactId>
8-
<version>0.1-SNAPSHOT</version>
7+
<artifactId>statusplattform</artifactId>
8+
<version>${revision}</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

12-
<artifactId>portal-rest-api</artifactId>
12+
<groupId>no.nav.statusplattform</groupId>
13+
<artifactId>api</artifactId>
14+
1315
<dependencies>
1416
<dependency>
15-
<groupId>no.nav</groupId>
16-
<artifactId>portal-infrastructure</artifactId>
17+
<groupId>no.nav.statusplattform</groupId>
18+
<artifactId>infrastructure</artifactId>
1719
<version>0.1-SNAPSHOT</version>
1820
<scope>compile</scope>
1921
</dependency>
@@ -23,14 +25,14 @@
2325
<version>3.20.5</version>
2426
</dependency>
2527
<dependency>
26-
<groupId>no.nav</groupId>
27-
<artifactId>portal-core</artifactId>
28+
<groupId>no.nav.statusplattform</groupId>
29+
<artifactId>core</artifactId>
2830
<version>0.1-SNAPSHOT</version>
2931
<scope>compile</scope>
3032
</dependency>
3133
<dependency>
32-
<groupId>no.nav</groupId>
33-
<artifactId>portal-core</artifactId>
34+
<groupId>no.nav.statusplattform</groupId>
35+
<artifactId>core</artifactId>
3436
<version>0.1-SNAPSHOT</version>
3537
<classifier>tests</classifier>
3638
<scope>test</scope>
@@ -68,6 +70,12 @@
6870
<artifactId>javax.json</artifactId>
6971
<version>1.1.4</version>
7072
</dependency>
73+
<dependency>
74+
<groupId>no.nav.statusplattform</groupId>
75+
<artifactId>config</artifactId>
76+
<version>0.1-SNAPSHOT</version>
77+
<scope>compile</scope>
78+
</dependency>
7179
</dependencies>
7280

7381
<build>
@@ -78,19 +86,19 @@
7886
<version>5.2.0</version>
7987
<executions>
8088
<execution>
81-
<id>portal-rest-api-java</id>
89+
<id>statusplattform-rest-api-java</id>
8290
<goals>
8391
<goal>generate</goal>
8492
</goals>
8593
<configuration>
86-
<inputSpec>${project.basedir}/src/main/resources/webapp-web/portal-rest-api.yaml</inputSpec>
94+
<inputSpec>${project.basedir}/src/main/resources/webapp-web/statusplattform-api.yaml</inputSpec>
8795
<generatorName>java-annotationfree</generatorName>
8896
<modelNameSuffix>Dto</modelNameSuffix>
8997
<generateApis>false</generateApis>
9098
<generateSupportingFiles>false</generateSupportingFiles>
9199
<generateModelTests>false</generateModelTests>
92100
<output>target/generated-sources/openapi-java</output>
93-
<modelPackage>no.portal.web.generated.api</modelPackage>
101+
<modelPackage>no.nav.statusplattform.generated.api</modelPackage>
94102
<configOptions>
95103
<dateLibrary>java8</dateLibrary>
96104
</configOptions>
@@ -112,6 +120,4 @@
112120
</plugin>
113121
</plugins>
114122
</build>
115-
116-
117-
</project>
123+
</project>

portal-rest-api/src/main/java/no/nav/portal/rest/api/EntityDtoMappers.java api/src/main/java/no/nav/statusplattform/api/EntityDtoMappers.java

+42-11
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,49 @@
1-
package no.nav.portal.rest.api;
2-
3-
import nav.portal.core.entities.*;
4-
import nav.portal.core.enums.OpsMessageSeverity;
5-
import nav.portal.core.enums.RuleType;
6-
import nav.portal.core.enums.ServiceStatus;
7-
import nav.portal.core.enums.ServiceType;
8-
import no.nav.portal.rest.api.TeamKatalogIntegrasjon.TeamKatalogKlient;
9-
import no.portal.web.generated.api.*;
10-
1+
package no.nav.statusplattform.api;
2+
3+
import nav.statusplattform.core.entities.AreaEntity;
4+
import nav.statusplattform.core.entities.AreaWithServices;
5+
import nav.statusplattform.core.entities.DashboardEntity;
6+
import nav.statusplattform.core.entities.HelpTextEntity;
7+
import nav.statusplattform.core.entities.MaintenanceEntity;
8+
import nav.statusplattform.core.entities.OpeningHoursGroup;
9+
import nav.statusplattform.core.entities.OpeningHoursGroupEntity;
10+
import nav.statusplattform.core.entities.OpeningHoursRuleEntity;
11+
import nav.statusplattform.core.entities.OpsMessageEntity;
12+
import nav.statusplattform.core.entities.RecordDeltaEntity;
13+
import nav.statusplattform.core.entities.RecordEntity;
14+
import nav.statusplattform.core.entities.ServiceEntity;
15+
import nav.statusplattform.core.entities.SubAreaEntity;
16+
import nav.statusplattform.core.enums.OpsMessageSeverity;
17+
import nav.statusplattform.core.enums.RuleType;
18+
import nav.statusplattform.core.enums.ServiceStatus;
19+
import nav.statusplattform.core.enums.ServiceType;
20+
import no.nav.statusplattform.api.TeamKatalogIntegrasjon.TeamKatalogKlient;
21+
import no.nav.statusplattform.generated.api.AreaDto;
22+
import no.nav.statusplattform.generated.api.DashboardDto;
23+
import no.nav.statusplattform.generated.api.DashboardNameIdDto;
24+
import no.nav.statusplattform.generated.api.HelpTextDto;
25+
import no.nav.statusplattform.generated.api.MaintenanceDto;
26+
import no.nav.statusplattform.generated.api.OHGroupDto;
27+
import no.nav.statusplattform.generated.api.OHGroupThinDto;
28+
import no.nav.statusplattform.generated.api.OHRuleDto;
29+
import no.nav.statusplattform.generated.api.OPSmessageDto;
30+
import no.nav.statusplattform.generated.api.RecordDto;
31+
import no.nav.statusplattform.generated.api.ServiceDto;
32+
import no.nav.statusplattform.generated.api.ServiceTypeDto;
33+
import no.nav.statusplattform.generated.api.StatusDto;
34+
import no.nav.statusplattform.generated.api.SubAreaDto;
1135

1236
import java.time.OffsetDateTime;
1337
import java.time.ZonedDateTime;
1438
import java.time.temporal.ChronoUnit;
15-
import java.util.*;
39+
import java.util.ArrayList;
40+
import java.util.Collections;
41+
import java.util.Comparator;
42+
import java.util.HashMap;
43+
import java.util.List;
44+
import java.util.Map;
45+
import java.util.Optional;
46+
import java.util.UUID;
1647
import java.util.stream.Collectors;
1748

1849
public class EntityDtoMappers {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package no.nav.statusplattform.api.Helpers;
2+
3+
4+
import com.nimbusds.oauth2.sdk.AuthorizationGrant;
5+
import com.nimbusds.oauth2.sdk.ClientCredentialsGrant;
6+
import com.nimbusds.oauth2.sdk.ParseException;
7+
import com.nimbusds.oauth2.sdk.Scope;
8+
import com.nimbusds.oauth2.sdk.TokenErrorResponse;
9+
import com.nimbusds.oauth2.sdk.TokenRequest;
10+
import com.nimbusds.oauth2.sdk.TokenResponse;
11+
import com.nimbusds.oauth2.sdk.auth.ClientAuthentication;
12+
import com.nimbusds.oauth2.sdk.auth.ClientSecretBasic;
13+
import com.nimbusds.oauth2.sdk.auth.Secret;
14+
import com.nimbusds.oauth2.sdk.id.ClientID;
15+
import com.nimbusds.oauth2.sdk.token.AccessToken;
16+
import no.nav.statusplattform.AppConfig.AzureConfig;
17+
import org.jetbrains.annotations.NotNull;
18+
19+
import java.io.IOException;
20+
import java.net.URI;
21+
import java.net.URISyntaxException;
22+
23+
// TODO: Figure out if this class is in use elsewhere than just tests??
24+
public class AccessTokenHelper {
25+
// Construct the client credentials grant
26+
private String TENANT;
27+
private ClientAuthentication clientAuth;
28+
private Scope scope;
29+
30+
// TODO: Figure out how to integrate this w/config set-up when something here needs to be `new`ed.
31+
public void setupAccessToken(@NotNull AzureConfig config) {
32+
// Construct the client credentials grant
33+
this.clientAuth = new ClientSecretBasic(new ClientID(config.clientId), new Secret(config.clientSecret));
34+
this.scope = new Scope("api://" + config.oath2Scope + "-fss.navdig.statusholder/.default");
35+
this.TENANT = config.tenant;
36+
}
37+
38+
public AccessToken getAccessTokenForStatusholder() throws URISyntaxException, IOException, ParseException {
39+
40+
AuthorizationGrant clientGrant = new ClientCredentialsGrant();
41+
// The token endpoint
42+
URI tokenEndpoint = new URI("https://login.microsoftonline.com/"+TENANT+"/oauth2/v2.0/token");
43+
44+
// Make the token request
45+
TokenRequest request = new TokenRequest(tokenEndpoint, clientAuth, clientGrant, scope);
46+
TokenResponse response = TokenResponse.parse(request.toHTTPRequest().send());
47+
48+
if (!response.indicatesSuccess()) {
49+
// We got an error response...
50+
TokenErrorResponse errorResponse = response.toErrorResponse();
51+
}
52+
53+
// Get the access token
54+
return response.toSuccessResponse().getTokens().getAccessToken();
55+
}
56+
}

portal-rest-api/src/main/java/no/nav/portal/rest/api/Helpers/AreaControllerHelper.java api/src/main/java/no/nav/statusplattform/api/Helpers/AreaControllerHelper.java

+18-14
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
1-
package no.nav.portal.rest.api.Helpers;
2-
3-
import nav.portal.core.entities.AreaEntity;
4-
import nav.portal.core.entities.ServiceEntity;
5-
import nav.portal.core.repositories.AreaRepository;
6-
import nav.portal.core.repositories.DashboardRepository;
7-
import nav.portal.core.repositories.RecordRepository;
8-
import nav.portal.core.repositories.ServiceRepository;
9-
import no.nav.portal.rest.api.EntityDtoMappers;
10-
import no.portal.web.generated.api.AreaDto;
11-
import no.portal.web.generated.api.ServiceDto;
12-
import no.portal.web.generated.api.ServiceTypeDto;
13-
import no.portal.web.generated.api.SubAreaDto;
1+
package no.nav.statusplattform.api.Helpers;
2+
3+
import nav.statusplattform.core.entities.AreaEntity;
4+
import nav.statusplattform.core.entities.ServiceEntity;
5+
import nav.statusplattform.core.repositories.AreaRepository;
6+
import nav.statusplattform.core.repositories.DashboardRepository;
7+
import nav.statusplattform.core.repositories.RecordRepository;
8+
import nav.statusplattform.core.repositories.ServiceRepository;
9+
import no.nav.statusplattform.api.EntityDtoMappers;
10+
import no.nav.statusplattform.generated.api.AreaDto;
11+
import no.nav.statusplattform.generated.api.ServiceDto;
12+
import no.nav.statusplattform.generated.api.ServiceTypeDto;
13+
import no.nav.statusplattform.generated.api.SubAreaDto;
1414
import org.actioncontroller.HttpRequestException;
1515
import org.fluentjdbc.DbContext;
1616

17-
import java.util.*;
17+
import java.util.ArrayList;
18+
import java.util.Comparator;
19+
import java.util.List;
20+
import java.util.Map;
21+
import java.util.UUID;
1822
import java.util.stream.Collectors;
1923

2024
public class AreaControllerHelper {

portal-rest-api/src/main/java/no/nav/portal/rest/api/Helpers/DashboardControllerHelper.java api/src/main/java/no/nav/statusplattform/api/Helpers/DashboardControllerHelper.java

+16-10
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
1-
package no.nav.portal.rest.api.Helpers;
2-
3-
import nav.portal.core.openingHours.OpeningHoursDailyMap;
4-
import nav.portal.core.openingHours.OpeningHoursDisplayData;
5-
import nav.portal.core.openingHours.OpeningHoursParser;
6-
import nav.portal.core.repositories.*;
7-
import no.nav.portal.rest.api.EntityDtoMappers;
8-
import no.portal.web.generated.api.*;
1+
package no.nav.statusplattform.api.Helpers;
2+
3+
import nav.statusplattform.core.openingHours.OpeningHoursDailyMap;
4+
import nav.statusplattform.core.openingHours.OpeningHoursDisplayData;
5+
import nav.statusplattform.core.openingHours.OpeningHoursParser;
6+
import nav.statusplattform.core.repositories.AreaRepository;
7+
import nav.statusplattform.core.repositories.DashboardRepository;
8+
import nav.statusplattform.core.repositories.RecordRepository;
9+
import nav.statusplattform.core.repositories.SubAreaRepository;
10+
import no.nav.statusplattform.api.EntityDtoMappers;
11+
import no.nav.statusplattform.generated.api.DashboardDto;
12+
import no.nav.statusplattform.generated.api.DashboardUpdateDto;
13+
import no.nav.statusplattform.generated.api.OHdisplayDto;
14+
import no.nav.statusplattform.generated.api.RecordDto;
15+
import no.nav.statusplattform.generated.api.ServiceDto;
16+
import no.nav.statusplattform.generated.api.StatusDto;
917
import org.fluentjdbc.DbContext;
1018

11-
1219
import java.time.LocalDateTime;
13-
import java.time.format.DateTimeFormatter;
1420
import java.util.ArrayList;
1521
import java.util.List;
1622
import java.util.Map;

portal-rest-api/src/main/java/no/nav/portal/rest/api/Helpers/HelpTextControllerHelper.java api/src/main/java/no/nav/statusplattform/api/Helpers/HelpTextControllerHelper.java

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1-
package no.nav.portal.rest.api.Helpers;
2-
import nav.portal.core.entities.HelpTextEntity;
3-
import nav.portal.core.enums.ServiceType;
4-
import nav.portal.core.repositories.HelpTextRepository;
5-
import no.nav.portal.rest.api.EntityDtoMappers;
6-
import no.portal.web.generated.api.*;
1+
package no.nav.statusplattform.api.Helpers;
2+
3+
import nav.statusplattform.core.entities.HelpTextEntity;
4+
import nav.statusplattform.core.enums.ServiceType;
5+
import nav.statusplattform.core.repositories.HelpTextRepository;
6+
import no.nav.statusplattform.api.EntityDtoMappers;
7+
import no.nav.statusplattform.generated.api.HelpTextDto;
8+
import no.nav.statusplattform.generated.api.ServiceTypeDto;
79
import org.fluentjdbc.DbContext;
810

9-
import java.util.*;
11+
import java.util.Comparator;
12+
import java.util.List;
1013
import java.util.stream.Collectors;
1114

1215
public class HelpTextControllerHelper {

0 commit comments

Comments
 (0)