java-api/src/main/java/restService/DatabaseUserResource.java
GME 2c5ef6ce29 Update
Refactor, clean, add some user api rest method
2018-11-21 19:36:07 +01:00

75 lines
3 KiB
Java

package restService;
import database.user.User;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import restImplementation.DatabaseUserImplementation;
import javax.validation.Valid;
@RestController
@RequestMapping(value = "/api/rest/user")
public class DatabaseUserResource {
@PostMapping("/save")
@ResponseStatus(HttpStatus.CREATED)
public ResponseEntity<String> saveUser(@Valid @RequestBody User user){
try{
DatabaseUserImplementation databaseUserImplementation = new DatabaseUserImplementation();
boolean result = databaseUserImplementation.saveUser(user);
if(result){
return ResponseEntity.status(HttpStatus.OK).body("Ok");
}else {
return ResponseEntity.status(HttpStatus.FOUND).body("User already exist");
}
}catch (Exception e){
return ResponseEntity.status(HttpStatus.CONFLICT).body(e.getMessage());
}
}
@PostMapping("/login")
@ResponseStatus(HttpStatus.OK)
public ResponseEntity<String> login(@Valid @RequestBody User user){
try{
DatabaseUserImplementation databaseUserImplementation = new DatabaseUserImplementation();
String response = databaseUserImplementation.userLogger(user);
switch (response){
case "Not Exist" : return ResponseEntity.status(HttpStatus.NOT_FOUND).body("User not found");
case "Not Allowed" : return ResponseEntity.status(HttpStatus.FORBIDDEN).body("Wrong Password!");
case "" : return ResponseEntity.status(HttpStatus.CONFLICT).body("Error");
case "Ok": return ResponseEntity.status(HttpStatus.OK).body("Ok");
default: return ResponseEntity.status(HttpStatus.CONFLICT).body("Error");
}
}catch (Exception e){
return ResponseEntity.status(HttpStatus.CONFLICT).body(e.getMessage());
}
}
@PostMapping("/get")
@ResponseBody
public ResponseEntity<User> getUser(@RequestBody User user){
try{
DatabaseUserImplementation databaseUserImplementation = new DatabaseUserImplementation();
User response = databaseUserImplementation.getUser(user.getEmail(), user.getPassword());
if(response != null){
User userResponse = new User();
userResponse.setUser_hash(response.getUser_hash());
userResponse.setUserId(response.getUserId());
return ResponseEntity.status(HttpStatus.OK).body(userResponse);
}else{
return new ResponseEntity("Error", HttpStatus.CONFLICT);
}
}catch (Exception e){
return new ResponseEntity(e.getMessage(), HttpStatus.CONFLICT);
}
}
@PostMapping("/update")
@ResponseStatus(HttpStatus.OK)
public ResponseEntity updateUser(@RequestBody User user){
return new ResponseEntity(null, HttpStatus.OK);
}
}