-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d84fa2a
commit 19b1894
Showing
14 changed files
with
267 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
56 changes: 56 additions & 0 deletions
56
src/main/java/dev/naman/splitwise_feb22/controllers/UserController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
package dev.naman.splitwise_feb22.controllers; | ||
|
||
import dev.naman.splitwise_feb22.dto.*; | ||
import dev.naman.splitwise_feb22.models.User; | ||
import dev.naman.splitwise_feb22.services.UserService; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.stereotype.Controller; | ||
import org.springframework.stereotype.Service; | ||
|
||
@Controller | ||
public class UserController { | ||
@Autowired | ||
private UserService userService; | ||
|
||
public ResponseDTO<RegisterUserResponseDTO> | ||
registerUser(RegisterUserRequestDTO request) { | ||
User user = userService.registerUser( | ||
request.getName(), | ||
request.getPhoneNumber(), | ||
request.getPassword() | ||
); | ||
|
||
ResponseDTO<RegisterUserResponseDTO> response = new ResponseDTO<>(); | ||
|
||
if (user == null) { | ||
response.setStatusCode(ResponseStatusCode.FAILURE); | ||
return response; | ||
} | ||
|
||
response.setStatusCode(ResponseStatusCode.SUCCESS); | ||
RegisterUserResponseDTO responseDTO = new RegisterUserResponseDTO(); | ||
responseDTO.setUserId(user.getId()); | ||
response.setData(responseDTO); | ||
return response; | ||
} | ||
|
||
public ResponseDTO<UpdateProfileResponseDto> updateProfile( | ||
UpdateProfileRequestDto requestDto | ||
) { | ||
userService.updatePassword(requestDto.getUserId(), | ||
requestDto.getNewPassword()); | ||
ResponseDTO<UpdateProfileResponseDto> res = new ResponseDTO<>(); | ||
res.setStatusCode(ResponseStatusCode.SUCCESS); | ||
return res; | ||
} | ||
|
||
} | ||
|
||
|
||
// controller | ||
// take request | ||
// unmarshall parameters | ||
// send those to a relevant service | ||
// get response from the service | ||
// construct appropriate response object | ||
// secde |
12 changes: 12 additions & 0 deletions
12
src/main/java/dev/naman/splitwise_feb22/dto/RegisterUserRequestDTO.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package dev.naman.splitwise_feb22.dto; | ||
|
||
import lombok.Getter; | ||
import lombok.Setter; | ||
|
||
@Getter | ||
@Setter | ||
public class RegisterUserRequestDTO { | ||
private String name; | ||
private String phoneNumber; | ||
private String password; | ||
} |
10 changes: 10 additions & 0 deletions
10
src/main/java/dev/naman/splitwise_feb22/dto/RegisterUserResponseDTO.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
package dev.naman.splitwise_feb22.dto; | ||
|
||
import lombok.Getter; | ||
import lombok.Setter; | ||
|
||
@Getter | ||
@Setter | ||
public class RegisterUserResponseDTO { | ||
private Long userId; | ||
} |
20 changes: 20 additions & 0 deletions
20
src/main/java/dev/naman/splitwise_feb22/dto/ResponseDTO.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
package dev.naman.splitwise_feb22.dto; | ||
|
||
import lombok.Getter; | ||
import lombok.Setter; | ||
|
||
@Getter | ||
@Setter | ||
public class ResponseDTO<T> { | ||
public ResponseStatusCode statusCode; | ||
public T data; | ||
} | ||
|
||
|
||
// ArrayList<Animal> | ||
// HashMap<Animal, Long> | ||
|
||
// class HashMap<T, X> { | ||
// private List<T> keys; | ||
// private List<X> values; | ||
// } |
6 changes: 6 additions & 0 deletions
6
src/main/java/dev/naman/splitwise_feb22/dto/ResponseStatusCode.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
package dev.naman.splitwise_feb22.dto; | ||
|
||
public enum ResponseStatusCode { | ||
SUCCESS, | ||
FAILURE, | ||
} |
13 changes: 13 additions & 0 deletions
13
src/main/java/dev/naman/splitwise_feb22/dto/UpdateProfileRequestDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package dev.naman.splitwise_feb22.dto; | ||
|
||
|
||
import lombok.Getter; | ||
import lombok.Setter; | ||
import org.springframework.stereotype.Service; | ||
|
||
@Getter | ||
@Setter | ||
public class UpdateProfileRequestDto { | ||
private Long userId; | ||
private String newPassword; | ||
} |
4 changes: 4 additions & 0 deletions
4
src/main/java/dev/naman/splitwise_feb22/dto/UpdateProfileResponseDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
package dev.naman.splitwise_feb22.dto; | ||
|
||
public class UpdateProfileResponseDto { | ||
} |
20 changes: 20 additions & 0 deletions
20
src/main/java/dev/naman/splitwise_feb22/repositories/UserRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
package dev.naman.splitwise_feb22.repositories; | ||
|
||
import dev.naman.splitwise_feb22.models.User; | ||
import org.springframework.data.domain.Example; | ||
import org.springframework.data.jpa.repository.JpaRepository; | ||
import org.springframework.stereotype.Repository; | ||
|
||
import java.util.List; | ||
import java.util.Optional; | ||
|
||
@Repository | ||
public interface UserRepository extends JpaRepository<User, Long> { | ||
|
||
User save(User user); | ||
|
||
Optional<User> findById(Long id); | ||
// select * from users where name == "" | ||
// order by name asc; | ||
|
||
} |
48 changes: 48 additions & 0 deletions
48
src/main/java/dev/naman/splitwise_feb22/services/UserService.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
package dev.naman.splitwise_feb22.services; | ||
|
||
import dev.naman.splitwise_feb22.models.User; | ||
import dev.naman.splitwise_feb22.repositories.UserRepository; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.stereotype.Service; | ||
|
||
import java.util.Optional; | ||
|
||
@Service | ||
public class UserService { | ||
@Autowired | ||
UserRepository userRepository; | ||
|
||
public User registerUser(String name, | ||
String phoneNumber, | ||
String password) { | ||
User user = new User(); | ||
user.setName(name); | ||
user.setHashedPassword(password); | ||
user.setPhoneNumber(phoneNumber); | ||
|
||
User userResponse = userRepository.save(user); | ||
|
||
return userResponse; | ||
} | ||
|
||
public boolean updatePassword(Long userId, | ||
String newPassword) { | ||
// 1. find the user with the user id | ||
// 2. update the password of the user | ||
// 3. save the new user | ||
Optional<User> user = userRepository.findById(userId); | ||
|
||
System.out.println("Found a user"); | ||
|
||
if (user.isEmpty()) { | ||
// TODO: Throw exception | ||
return false; | ||
} | ||
|
||
User userObj = user.get(); | ||
userObj.setHashedPassword(newPassword); | ||
userRepository.save(userObj); | ||
|
||
return true; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
20 changes: 19 additions & 1 deletion
20
src/main/java/dev/naman/splitwise_feb22/services/command/UpdateProfileCommand.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
src/main/java/dev/naman/splitwise_feb22/services/command/registry/CommandRegistry.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,3 +26,5 @@ public void executeCommand(String input) { | |
} | ||
} | ||
} | ||
|
||
// serializable |