mentorenwahl/backend/src/backend/api/errors.cr
Dominic Grimm 860ae7ed5e
All checks were successful
continuous-integration/drone/push Build is passing
Rewrite frontend in rust with yew
2022-11-04 21:23:36 +01:00

69 lines
1.3 KiB
Crystal

module Backend::Api::Errors
UNKNOWN_PRIVATE_ERROR = "UNKNOWN_ERROR"
UNKNOWN_PUBLIC_ERROR = "UNKNOWN_PUBLIC_ERROR"
abstract class Error < Exception
abstract def api_message : String
end
abstract class PrivateError < Error
end
abstract class PublicError < Error
end
class SessionExpired < PublicError
def api_message : String
"Session expired"
end
end
class NotAuthenticated < PublicError
def api_message : String
"Not authenticated"
end
end
class Authentication < PublicError
def api_message : String
"Invalid username or password"
end
end
class InvalidPermissions < PublicError
def api_message : String
"Invalid permissions"
end
end
class LdapUserDoesNotExist < PublicError
def api_message : String
"LDAP user does not exist"
end
end
class DuplicateTeachers < PublicError
def api_message : String
"Duplicate teachers"
end
end
class NotEnoughTeachers < PublicError
def api_message : String
"Not enough teachers"
end
end
class TeachersNotRegistered < PublicError
def api_message : String
"Teachers not registered"
end
end
class TeachersNotFound < PublicError
def api_message : String
"Teachers not found"
end
end
end