package com.ufund.api.ufundapi.controller; import com.ufund.api.ufundapi.service.AuthService; import com.ufund.api.ufundapi.service.UserService; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.util.Map; @RestController @RequestMapping("auth") public class AuthController { private final AuthService authService; public AuthController(AuthService authService) { this.authService = authService; } /** * Attempts to log in as a user * @param params A map/json object in the format {username: string, password: string} * @return An api key if the auth was successful, null otherwise */ @PostMapping("") public ResponseEntity login(@RequestBody Map params) { String username = params.get("username"); String password = params.get("password"); try { String key = authService.login(username, password); return new ResponseEntity<>(key, HttpStatus.OK); } catch (IOException ex) { return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } catch (IllegalAccessException e) { return new ResponseEntity<>(HttpStatus.UNAUTHORIZED); } } /** * TODO * @return */ @DeleteMapping("") public ResponseEntity logout() { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); } }