Skip to content

Commit a720a51

Browse files
committed
Add UserNotFoundException and validate user in deleteUser
1 parent daf5660 commit a720a51

2 files changed

Lines changed: 33 additions & 0 deletions

File tree

src/main/java/com/helioauth/passkeys/api/service/UserAccountManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.helioauth.passkeys.api.service;
1818

1919
import com.helioauth.passkeys.api.domain.UserRepository;
20+
import com.helioauth.passkeys.api.service.exception.UserNotFoundException;
2021
import lombok.RequiredArgsConstructor;
2122
import lombok.extern.slf4j.Slf4j;
2223
import org.springframework.stereotype.Service;
@@ -33,6 +34,10 @@ public class UserAccountManager {
3334
private final UserRepository userRepository;
3435

3536
public void deleteUser(UUID userUuid) {
37+
if (userUuid == null || !userRepository.existsById(userUuid)) {
38+
throw new UserNotFoundException();
39+
}
40+
3641
userRepository.deleteById(userUuid);
3742
}
3843
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/*
2+
* Copyright 2024 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.helioauth.passkeys.api.service.exception;
18+
19+
import org.springframework.http.HttpStatus;
20+
import org.springframework.web.bind.annotation.ResponseStatus;
21+
22+
/**
23+
* @author Viktor Stanchev
24+
*/
25+
@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "User not found")
26+
public class UserNotFoundException extends RuntimeException {
27+
28+
}

0 commit comments

Comments
 (0)