Skip to content

Commit 4b5b125

Browse files
committed
Added super user endpoint to fix null landing pages
1 parent 656aaee commit 4b5b125

7 files changed

Lines changed: 41 additions & 6 deletions

File tree

client/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.openconext</groupId>
66
<artifactId>invite</artifactId>
7-
<version>1.1.12</version>
7+
<version>1.1.13</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>invite-client</artifactId>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>org.openconext</groupId>
55
<artifactId>invite</artifactId>
6-
<version>1.1.12</version>
6+
<version>1.1.13</version>
77
<packaging>pom</packaging>
88
<name>invite</name>
99
<description>SURFconext Invite</description>

provisioning-mock/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.openconext</groupId>
66
<artifactId>invite</artifactId>
7-
<version>1.1.12</version>
7+
<version>1.1.13</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>provisioning-mock</artifactId>

server/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.openconext</groupId>
66
<artifactId>invite</artifactId>
7-
<version>1.1.12</version>
7+
<version>1.1.13</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>invite-server</artifactId>

server/src/main/java/invite/api/SystemController.java

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@
44
import invite.cron.ResourceCleaner;
55
import invite.cron.RoleExpirationNotifier;
66
import invite.exception.NotAllowedException;
7+
import invite.manage.EntityType;
78
import invite.manage.Manage;
9+
import invite.model.Application;
10+
import invite.model.ApplicationUsage;
811
import invite.model.Role;
912
import invite.model.User;
1013
import invite.model.UserRole;
14+
import invite.repository.ApplicationUsageRepository;
1115
import invite.repository.RoleRepository;
1216
import invite.repository.UserRoleRepository;
1317
import invite.security.UserPermissions;
@@ -20,6 +24,8 @@
2024
import org.springframework.http.MediaType;
2125
import org.springframework.http.ResponseEntity;
2226
import org.springframework.transaction.annotation.Transactional;
27+
import org.springframework.util.CollectionUtils;
28+
import org.springframework.util.StringUtils;
2329
import org.springframework.web.bind.annotation.*;
2430

2531
import java.io.Serializable;
@@ -46,21 +52,24 @@ public class SystemController {
4652
private final Manage manage;
4753
private final PerformanceSeed performanceSeed;
4854
private final Config config;
55+
private final ApplicationUsageRepository applicationUsageRepository;
4956

5057
public SystemController(ResourceCleaner resourceCleaner,
5158
RoleExpirationNotifier roleExpirationNotifier,
5259
RoleRepository roleRepository,
5360
UserRoleRepository userRoleRepository,
5461
Manage manage,
5562
PerformanceSeed performanceSeed,
56-
Config config) {
63+
Config config,
64+
ApplicationUsageRepository applicationUsageRepository) {
5765
this.resourceCleaner = resourceCleaner;
5866
this.roleExpirationNotifier = roleExpirationNotifier;
5967
this.roleRepository = roleRepository;
6068
this.userRoleRepository = userRoleRepository;
6169
this.manage = manage;
6270
this.performanceSeed = performanceSeed;
6371
this.config = config;
72+
this.applicationUsageRepository = applicationUsageRepository;
6473
}
6574

6675
@GetMapping("/cron/cleanup")
@@ -111,4 +120,27 @@ public ResponseEntity<Map<String, Object>> performanceSeed(@Parameter(hidden = t
111120
return ResponseEntity.ok(performanceSeed.go(numberOfRole, numberOfUsers));
112121
}
113122

123+
@GetMapping("/landing-page-fix")
124+
public ResponseEntity<Map<String, Integer>> landingPageFix(@Parameter(hidden = true) User user) {
125+
LOG.debug(String.format("landing-page-fix for user %s", user.getEduPersonPrincipalName()));
126+
UserPermissions.assertSuperUser(user);
127+
128+
List<ApplicationUsage> applicationUsages = applicationUsageRepository.findByLandingPageIsNull();
129+
applicationUsages.stream()
130+
.forEach(applicationUsage -> {
131+
Application application = applicationUsage.getApplication();
132+
Map<String, Object> provider = manage.providerById(application.getManageType(), application.getManageId());
133+
if (!CollectionUtils.isEmpty(provider)) {
134+
String url = (String) provider.get("url");
135+
if (StringUtils.hasText(url)) {
136+
applicationUsage.setLandingPage(url);
137+
LOG.debug(String.format("Saving applicationUsage with url %s", url));
138+
applicationUsageRepository.save(applicationUsage);
139+
}
140+
}
141+
});
142+
143+
return Results.okResult();
144+
}
145+
114146
}

server/src/main/java/invite/repository/ApplicationUsageRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.springframework.data.jpa.repository.JpaRepository;
66
import org.springframework.stereotype.Repository;
77

8+
import java.util.List;
89
import java.util.Optional;
910

1011
@Repository
@@ -13,4 +14,6 @@ public interface ApplicationUsageRepository extends JpaRepository<ApplicationUsa
1314
Optional<ApplicationUsage> findByRoleIdAndApplicationManageIdAndApplicationManageTypeOrderByApplicationId(
1415
Long roleId, String manageId, EntityType manageType);
1516

17+
List<ApplicationUsage> findByLandingPageIsNull();
18+
1619
}

welcome/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.openconext</groupId>
66
<artifactId>invite</artifactId>
7-
<version>1.1.12</version>
7+
<version>1.1.13</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>invite-welcome</artifactId>

0 commit comments

Comments
 (0)