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 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 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 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); } }