package ec.edu.espe.movilidad.MovilidadWS.Exceptions;

import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;


@ResponseStatus(value = HttpStatus.NOT_FOUND) //cuando no se encuentre un registro
public class ResourceNotFoundException extends RuntimeException{

    public ResourceNotFoundException(String message) {
        super(message);
    }

    @ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR) // error interno del servidor
    public static class InternalServerErrorException extends RuntimeException {
        public InternalServerErrorException(String message) {
            super(message);
        }
    }
    @ResponseStatus(value = HttpStatus.UNAUTHORIZED) // no autorizado
    public static class UnauthorizedException extends RuntimeException {
        public UnauthorizedException(String message) {
            super(message);
        }
    }

    @ResponseStatus(value = HttpStatus.BAD_REQUEST) // solicitud incorrecta
    public static class ValidationException extends RuntimeException {
        public ValidationException(String message) {
            super(message);
        }
    }

    @ResponseStatus(value = HttpStatus.NOT_FOUND) // acceso a datos incorrecto
    public static class DataAccessException extends RuntimeException {
        public DataAccessException(String message) {
            super(message);
        }
    }

}