package net.halfbinary.scavengerhuntapi.error import net.halfbinary.scavengerhuntapi.error.exception.InvalidEmailException import net.halfbinary.scavengerhuntapi.error.exception.LoginFailedException import net.halfbinary.scavengerhuntapi.error.exception.PreexistingAccountException import org.springframework.http.HttpStatus import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.ResponseStatus import org.springframework.web.bind.annotation.RestControllerAdvice @RestControllerAdvice class ExceptionHandler { @ExceptionHandler(PreexistingAccountException::class) @ResponseStatus(HttpStatus.CONFLICT) fun preexistingAccountException(e: PreexistingAccountException): String? { return e.message } @ExceptionHandler(LoginFailedException::class) @ResponseStatus(HttpStatus.UNAUTHORIZED) fun loginFailedException(e: LoginFailedException): String? { return e.message } @ExceptionHandler(InvalidEmailException::class) @ResponseStatus(HttpStatus.BAD_REQUEST) fun invalidEmailException(e: InvalidEmailException): String? { return e.message } }