Skip to content

Commit

Permalink
rename PUBLIC_API -> EXTERNAL_API in aaa to distinguigh term from pub…
Browse files Browse the repository at this point in the history
…lic microservice
  • Loading branch information
nkonev committed Jan 23, 2025
1 parent 7579fd6 commit 3b9c831
Show file tree
Hide file tree
Showing 15 changed files with 94 additions and 94 deletions.
2 changes: 1 addition & 1 deletion aaa/src/main/java/name/nkonev/aaa/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public class Constants {

public static class Urls {
public static final String ROOT = "/";
public static final String PUBLIC_API = "/api/aaa";
public static final String EXTERNAL_API = "/api/aaa";
public static final String INTERNAL_API = "/internal";
public static final String PROFILE = "/profile";
public static final String SETTINGS = "/settings";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ public class PasswordResetController {
* Yes, if your email is stolen you can lost your account
* @param email
*/
@PostMapping(value = Constants.Urls.PUBLIC_API + Constants.Urls.REQUEST_PASSWORD_RESET)
@PostMapping(value = Constants.Urls.EXTERNAL_API + Constants.Urls.REQUEST_PASSWORD_RESET)
public void requestPasswordReset(@RequestParam String email, @RequestParam(defaultValue = Language.DEFAULT) Language language) {
passwordResetService.requestPasswordReset(email, language);
}

@PostMapping(value = Constants.Urls.PUBLIC_API + Constants.Urls.PASSWORD_RESET_SET_NEW)
@PostMapping(value = Constants.Urls.EXTERNAL_API + Constants.Urls.PASSWORD_RESET_SET_NEW)
public void resetPassword(@RequestBody @Valid PasswordResetDTO passwordResetDto, HttpSession httpSession) {
passwordResetService.resetPassword(passwordResetDto, httpSession);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,18 @@ public class RegistrationController {
@Autowired
private RegistrationService registrationService;

@PostMapping(value = Constants.Urls.PUBLIC_API + Constants.Urls.REGISTER)
@PostMapping(value = Constants.Urls.EXTERNAL_API + Constants.Urls.REGISTER)
@ResponseBody
public void register(@RequestBody @Valid EditUserDTO editUserDTO, @RequestParam(defaultValue = Language.DEFAULT) Language language, @RequestParam(required = false) String referer, HttpServletRequest httpServletRequest) {
registrationService.register(editUserDTO, language, referer, httpServletRequest);
}

@GetMapping(value = Constants.Urls.PUBLIC_API + Constants.Urls.REGISTER_CONFIRM)
@GetMapping(value = Constants.Urls.EXTERNAL_API + Constants.Urls.REGISTER_CONFIRM)
public String confirm(@RequestParam(Constants.Urls.UUID) UUID uuid, HttpSession httpSession, HttpServletRequest httpServletRequest) {
return "redirect:" + registrationService.confirm(uuid, httpSession, httpServletRequest);
}

@PostMapping(value = Constants.Urls.PUBLIC_API + Constants.Urls.RESEND_CONFIRMATION_EMAIL)
@PostMapping(value = Constants.Urls.EXTERNAL_API + Constants.Urls.RESEND_CONFIRMATION_EMAIL)
@ResponseBody
public void resendConfirmationToken(@RequestParam String email, @RequestParam(defaultValue = Language.DEFAULT) Language language, HttpServletRequest httpServletRequest) {
registrationService.resendConfirmationToken(email, language, "", httpServletRequest);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public class UserProfileController {
*/
@ResponseBody
@PreAuthorize("isAuthenticated()")
@GetMapping(value = Constants.Urls.PUBLIC_API +Constants.Urls.PROFILE, produces = MediaType.APPLICATION_JSON_VALUE)
@GetMapping(value = Constants.Urls.EXTERNAL_API +Constants.Urls.PROFILE, produces = MediaType.APPLICATION_JSON_VALUE)
public name.nkonev.aaa.dto.UserSelfProfileDTO getProfile(@AuthenticationPrincipal UserAccountDetailsDTO userAccount, HttpSession session) {
LOGGER.info("Requesting external user profile");
return userProfileService.getProfile(userAccount, session);
Expand All @@ -60,7 +60,7 @@ public HttpHeaders checkAuthenticatedInternal(@AuthenticationPrincipal UserAccou
@ResponseBody
@CrossOrigin(origins="*", methods = RequestMethod.POST)
@PreAuthorize("isAuthenticated()")
@PostMapping(Constants.Urls.PUBLIC_API +Constants.Urls.USER+Constants.Urls.SEARCH)
@PostMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.USER+Constants.Urls.SEARCH)
public List<name.nkonev.aaa.dto.UserAccountDTOExtended> searchUsers(
@AuthenticationPrincipal UserAccountDetailsDTO userAccount,
@RequestBody SearchUsersRequestDTO request
Expand All @@ -71,7 +71,7 @@ public List<name.nkonev.aaa.dto.UserAccountDTOExtended> searchUsers(

@ResponseBody
@PreAuthorize("isAuthenticated()")
@PostMapping(Constants.Urls.PUBLIC_API +Constants.Urls.USER+Constants.Urls.FRESH)
@PostMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.USER+Constants.Urls.FRESH)
public FreshDTO fresh(
@RequestBody List<UserAccountDTOExtended> users,
@RequestParam(value = "size", required = false) int size,
Expand All @@ -81,7 +81,7 @@ public FreshDTO fresh(
}

@ResponseBody
@PostMapping(Constants.Urls.PUBLIC_API +Constants.Urls.USER+"/filter")
@PostMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.USER+"/filter")
public Map<String, Boolean> filter(@RequestBody FilterUserRequest filterUserRequest) {
return userProfileService.filter(filterUserRequest);
}
Expand All @@ -96,7 +96,7 @@ public SearchUsersResponseInternalDTO searchUsersInternal(@RequestBody SearchUse

@ResponseBody
@PutMapping({
Constants.Urls.PUBLIC_API+Constants.Urls.USER + Constants.Urls.REQUEST_FOR_ONLINE,
Constants.Urls.EXTERNAL_API +Constants.Urls.USER + Constants.Urls.REQUEST_FOR_ONLINE,
Constants.Urls.INTERNAL_API+Constants.Urls.USER + Constants.Urls.REQUEST_FOR_ONLINE,
})
public void requestUserOnline(@RequestParam(value = "userId", required = false) List<Long> userIds) {
Expand All @@ -107,7 +107,7 @@ public void requestUserOnline(@RequestParam(value = "userId", required = false)
}

@ResponseBody
@GetMapping(value = Constants.Urls.PUBLIC_API +Constants.Urls.USER+Constants.Urls.USER_ID)
@GetMapping(value = Constants.Urls.EXTERNAL_API +Constants.Urls.USER+Constants.Urls.USER_ID)
public UserAccountDTOExtended getUser(
@PathVariable(value = Constants.PathVariables.USER_ID) Long userId,
@AuthenticationPrincipal UserAccountDetailsDTO userAccountPrincipal
Expand All @@ -134,7 +134,7 @@ public List<UserAccountDTO> getUsersInternal(
}

@ResponseBody
@PatchMapping(Constants.Urls.PUBLIC_API +Constants.Urls.PROFILE)
@PatchMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.PROFILE)
@PreAuthorize("isAuthenticated()")
public UserSelfProfileDTO editNonEmpty(
@AuthenticationPrincipal UserAccountDetailsDTO userAccount,
Expand All @@ -146,28 +146,28 @@ public UserSelfProfileDTO editNonEmpty(
}

@PreAuthorize("isAuthenticated()")
@GetMapping(value = Constants.Urls.PUBLIC_API + Constants.Urls.CHANGE_EMAIL_CONFIRM)
@GetMapping(value = Constants.Urls.EXTERNAL_API + Constants.Urls.CHANGE_EMAIL_CONFIRM)
public String changeEmailConfirm(@AuthenticationPrincipal UserAccountDetailsDTO userAccount, @RequestParam(Constants.Urls.UUID) UUID uuid, HttpSession httpSession) {
return "redirect:" + userProfileService.changeEmailConfirm(userAccount.getId(), uuid, httpSession);
}

@PreAuthorize("isAuthenticated()")
@PostMapping(value = Constants.Urls.PUBLIC_API + Constants.Urls.RESEND_CHANGE_EMAIL_CONFIRM)
@PostMapping(value = Constants.Urls.EXTERNAL_API + Constants.Urls.RESEND_CHANGE_EMAIL_CONFIRM)
@ResponseBody
public void resendConfirmationChangeEmailToken(@AuthenticationPrincipal UserAccountDetailsDTO userAccount, @RequestParam(defaultValue = Language.DEFAULT) Language language) {
userProfileService.resendConfirmationChangeEmailToken(userAccount, language);
}

@ResponseBody
@PreAuthorize("isAuthenticated()")
@GetMapping(Constants.Urls.PUBLIC_API +Constants.Urls.SESSIONS+"/my")
@GetMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.SESSIONS+"/my")
public Map<String, Session> mySessions(@AuthenticationPrincipal UserAccountDetailsDTO userDetails){
return userProfileService.mySessions(userDetails);
}

@ResponseBody
@PreAuthorize("isAuthenticated()")
@GetMapping(Constants.Urls.PUBLIC_API +Constants.Urls.USER+Constants.Urls.ONLINE)
@GetMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.USER+Constants.Urls.ONLINE)
public List<UserOnlineResponse> getOnlineForUsers(@RequestParam(value = "userId") List<Long> userIds){
return userProfileService.getOnlineForUsers(userIds);
}
Expand All @@ -180,69 +180,69 @@ public List<UserOnlineResponse> getOnlineForUsersInternal(@RequestParam(value =

@ResponseBody
@PreAuthorize("@aaaPermissionService.hasSessionManagementPermission(#userAccount)")
@GetMapping(Constants.Urls.PUBLIC_API +Constants.Urls.SESSIONS)
@GetMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.SESSIONS)
public Map<String, Session> sessions(@AuthenticationPrincipal UserAccountDetailsDTO userAccount, @RequestParam("userId") long userId){
return userProfileService.sessions(userAccount, userId);
}

@ResponseBody
@PreAuthorize("@aaaPermissionService.canRemoveSessions(#userAccount, #userId)")
@DeleteMapping(Constants.Urls.PUBLIC_API +Constants.Urls.SESSIONS)
@DeleteMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.SESSIONS)
public void killSessions(@AuthenticationPrincipal UserAccountDetailsDTO userAccount, @RequestParam("userId") long userId, HttpSession httpSession){
userProfileService.killSessions(userAccount, userId, httpSession);
}

@ResponseBody
@PreAuthorize("@aaaPermissionService.canLock(#userAccountDetailsDTO, #lockDTO)")
@PostMapping(Constants.Urls.PUBLIC_API +Constants.Urls.USER + Constants.Urls.LOCK)
@PostMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.USER + Constants.Urls.LOCK)
public name.nkonev.aaa.dto.UserAccountDTOExtended setLocked(@AuthenticationPrincipal UserAccountDetailsDTO userAccountDetailsDTO, @RequestBody name.nkonev.aaa.dto.LockDTO lockDTO){
return userProfileService.setLocked(userAccountDetailsDTO, lockDTO);
}

@ResponseBody
@PreAuthorize("@aaaPermissionService.canConfirm(#userAccountDetailsDTO, #confirmDTO)")
@PostMapping(Constants.Urls.PUBLIC_API +Constants.Urls.USER + Constants.Urls.CONFIRM)
@PostMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.USER + Constants.Urls.CONFIRM)
public name.nkonev.aaa.dto.UserAccountDTOExtended setConfirmed(@AuthenticationPrincipal UserAccountDetailsDTO userAccountDetailsDTO, @RequestBody name.nkonev.aaa.dto.ConfirmDTO confirmDTO){
return userProfileService.setConfirmed(userAccountDetailsDTO, confirmDTO);
}

@ResponseBody
@PreAuthorize("@aaaPermissionService.canEnable(#userAccountDetailsDTO, #enableDTO)")
@PostMapping(Constants.Urls.PUBLIC_API +Constants.Urls.USER + Constants.Urls.ENABLE)
@PostMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.USER + Constants.Urls.ENABLE)
public name.nkonev.aaa.dto.UserAccountDTOExtended setEnabled(@AuthenticationPrincipal UserAccountDetailsDTO userAccountDetailsDTO, @RequestBody name.nkonev.aaa.dto.EnabledDTO enableDTO){
return userProfileService.setEnabled(userAccountDetailsDTO, enableDTO);
}

@ResponseBody
@PreAuthorize("@aaaPermissionService.canDelete(#userAccountDetailsDTO, #userId)")
@DeleteMapping(Constants.Urls.PUBLIC_API +Constants.Urls.USER)
@DeleteMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.USER)
public void deleteUser(@AuthenticationPrincipal UserAccountDetailsDTO userAccountDetailsDTO, @RequestParam("userId") long userId){
userProfileService.deleteUser(userAccountDetailsDTO, userId);
}

@ResponseBody
@PreAuthorize("@aaaPermissionService.canChangeRole(#userAccountDetailsDTO, #setRolesDTO.userId)")
@PutMapping(Constants.Urls.PUBLIC_API +Constants.Urls.USER + Constants.Urls.ROLE)
@PutMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.USER + Constants.Urls.ROLE)
public name.nkonev.aaa.dto.UserAccountDTOExtended setRoles(@AuthenticationPrincipal UserAccountDetailsDTO userAccountDetailsDTO, @RequestBody SetRolesDTO setRolesDTO){
return userProfileService.setRoles(userAccountDetailsDTO, setRolesDTO.userId(), setRolesDTO.roles());
}

@ResponseBody
@GetMapping(Constants.Urls.PUBLIC_API +Constants.Urls.USER + Constants.Urls.ROLE)
@GetMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.USER + Constants.Urls.ROLE)
public List<UserRole> getAllRoles() {
return Arrays.stream(UserRole.values()).toList();
}

@ResponseBody
@PreAuthorize("@aaaPermissionService.canSelfDelete(#userAccountDetailsDTO)")
@DeleteMapping(Constants.Urls.PUBLIC_API +Constants.Urls.PROFILE)
@DeleteMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.PROFILE)
public void selfDeleteUser(@AuthenticationPrincipal UserAccountDetailsDTO userAccountDetailsDTO){
userProfileService.selfDeleteUser(userAccountDetailsDTO);
}

@ResponseBody
@PreAuthorize("isAuthenticated()")
@DeleteMapping(Constants.Urls.PUBLIC_API +Constants.Urls.PROFILE+"/{provider}")
@DeleteMapping(Constants.Urls.EXTERNAL_API +Constants.Urls.PROFILE+"/{provider}")
public UserSelfProfileDTO selfDeleteBindingOauth2Provider(
@AuthenticationPrincipal UserAccountDetailsDTO userAccountDetailsDTO,
@PathVariable("provider") String provider,
Expand All @@ -252,7 +252,7 @@ public UserSelfProfileDTO selfDeleteBindingOauth2Provider(
}

@ResponseBody
@GetMapping(Constants.Urls.PUBLIC_API + "/oauth2/providers")
@GetMapping(Constants.Urls.EXTERNAL_API + "/oauth2/providers")
public List<OAuth2ProvidersDTO> availableOauth2Providers() {
return oAuth2ProvidersService.availableOauth2Providers();
}
Expand All @@ -269,7 +269,7 @@ public List<UserExists> getUsersExistInternal(

@ResponseBody
@PreAuthorize("@aaaPermissionService.canSetPassword(#userAccount, #userId)")
@PutMapping(Constants.Urls.PUBLIC_API + Constants.Urls.USER+Constants.Urls.USER_ID + Constants.Urls.PASSWORD)
@PutMapping(Constants.Urls.EXTERNAL_API + Constants.Urls.USER+Constants.Urls.USER_ID + Constants.Urls.PASSWORD)
public void setPassword(@AuthenticationPrincipal UserAccountDetailsDTO userAccount,
@PathVariable(value = Constants.PathVariables.USER_ID) Long userId,
@RequestBody @Valid SetPasswordDTO setPasswordDTO){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,25 @@ public class UserSettingsController {
private UserSettingsService userSettingsService;

@PreAuthorize("isAuthenticated()")
@GetMapping(value = Constants.Urls.PUBLIC_API + Constants.Urls.SETTINGS + Constants.Urls.INIT, produces = MediaType.APPLICATION_JSON_VALUE)
@GetMapping(value = Constants.Urls.EXTERNAL_API + Constants.Urls.SETTINGS + Constants.Urls.INIT, produces = MediaType.APPLICATION_JSON_VALUE)
public SettingsDTO init(@AuthenticationPrincipal UserAccountDetailsDTO userAccount) {
return userSettingsService.initSettings(userAccount.getId());
}

@PreAuthorize("isAuthenticated()")
@GetMapping(value = Constants.Urls.PUBLIC_API + Constants.Urls.SETTINGS + Constants.Urls.SMILEYS, produces = MediaType.APPLICATION_JSON_VALUE)
@GetMapping(value = Constants.Urls.EXTERNAL_API + Constants.Urls.SETTINGS + Constants.Urls.SMILEYS, produces = MediaType.APPLICATION_JSON_VALUE)
public String[] getSmileys(@AuthenticationPrincipal UserAccountDetailsDTO userAccount) {
return userSettingsService.getSmileys(userAccount.getId());
}

@PreAuthorize("isAuthenticated()")
@PutMapping(value = Constants.Urls.PUBLIC_API + Constants.Urls.SETTINGS + Constants.Urls.SMILEYS, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@PutMapping(value = Constants.Urls.EXTERNAL_API + Constants.Urls.SETTINGS + Constants.Urls.SMILEYS, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public String[] setSmileys(@AuthenticationPrincipal UserAccountDetailsDTO userAccount, @RequestBody String[] smileys) {
return userSettingsService.setSmileys(userAccount.getId(), smileys);
}

@PreAuthorize("isAuthenticated()")
@PutMapping(value = Constants.Urls.PUBLIC_API + Constants.Urls.SETTINGS + Constants.Urls.LANGUAGE, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@PutMapping(value = Constants.Urls.EXTERNAL_API + Constants.Urls.SETTINGS + Constants.Urls.LANGUAGE, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public Language setLanguage(@AuthenticationPrincipal UserAccountDetailsDTO userAccount, @NotNull @RequestBody LanguageDTO aDto) {
return userSettingsService.setLanguage(userAccount.getId(), aDto.language());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@
@EnableWebSecurity
public class SecurityConfig {

public static final String API_LOGIN_URL = Constants.Urls.PUBLIC_API + "/login";
public static final String API_LOGOUT_URL = Constants.Urls.PUBLIC_API + "/logout";
public static final String API_LOGIN_URL = Constants.Urls.EXTERNAL_API + "/login";
public static final String API_LOGOUT_URL = Constants.Urls.EXTERNAL_API + "/logout";

public static final String USERNAME_PARAMETER = "username";
public static final String PASSWORD_PARAMETER = "password";
public static final String REMEMBER_ME_PARAMETER = "remember-me";

public static final String API_LOGIN_OAUTH = Constants.Urls.PUBLIC_API + "/login/oauth2";
public static final String API_LOGIN_OAUTH = Constants.Urls.EXTERNAL_API + "/login/oauth2";
private static final String AUTHORIZATION_RESPONSE_BASE_URI = API_LOGIN_OAUTH + "/code/*";

@Autowired
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public void testAuth() throws Exception {
*/
@Test
public void testNotAuthorized() throws Exception {
ResponseEntity<String> responseEntity = testRestTemplate.getForEntity(urlWithContextPath()+ Constants.Urls.PUBLIC_API + Constants.Urls.PROFILE, String.class);
ResponseEntity<String> responseEntity = testRestTemplate.getForEntity(urlWithContextPath()+ Constants.Urls.EXTERNAL_API + Constants.Urls.PROFILE, String.class);
String str = responseEntity.getBody();
Assertions.assertEquals(401, responseEntity.getStatusCodeValue());

Expand Down Expand Up @@ -79,7 +79,7 @@ public void testNotFoundJs() throws Exception {

@Test
public void testSqlExceptionIsHidden() throws Exception {
ResponseEntity<String> responseEntity = testRestTemplate.getForEntity(urlWithContextPath()+ Constants.Urls.PUBLIC_API + TestConstants.SQL_URL, String.class);
ResponseEntity<String> responseEntity = testRestTemplate.getForEntity(urlWithContextPath()+ Constants.Urls.EXTERNAL_API + TestConstants.SQL_URL, String.class);
String str = responseEntity.getBody();
Assertions.assertEquals(500, responseEntity.getStatusCodeValue());

Expand All @@ -95,7 +95,7 @@ public void testSqlExceptionIsHidden() throws Exception {

@Test
public void testUserDetailsWithPasswordIsNotSerialized() throws Exception {
ResponseEntity<String> responseEntity = testRestTemplate.getForEntity(urlWithContextPath()+ Constants.Urls.PUBLIC_API + TestConstants.USER_DETAILS, String.class);
ResponseEntity<String> responseEntity = testRestTemplate.getForEntity(urlWithContextPath()+ Constants.Urls.EXTERNAL_API + TestConstants.USER_DETAILS, String.class);
String str = responseEntity.getBody();
Assertions.assertEquals(500, responseEntity.getStatusCodeValue());

Expand Down
Loading

0 comments on commit 3b9c831

Please sign in to comment.