"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UnauthorizedException = exports.PasswordValidateException = exports.PasswordsMustMatchException = exports.InvalidEmailError = exports.InvalidVerificationError = exports.AccountExistsError = exports.MissingJWTHashException = exports.AuthenticationError = void 0;
class AuthenticationError extends Error {
    constructor() {
        super("Authentication failed");
    }
}
exports.AuthenticationError = AuthenticationError;
class MissingJWTHashException extends Error {
    constructor() {
        super("JWT_HASH not set in environment");
    }
}
exports.MissingJWTHashException = MissingJWTHashException;
class AccountExistsError extends Error {
    constructor() {
        super("Account already exists");
    }
}
exports.AccountExistsError = AccountExistsError;
class InvalidVerificationError extends Error {
    constructor() {
        super("Verification token not valid. Please try again");
    }
}
exports.InvalidVerificationError = InvalidVerificationError;
class InvalidEmailError extends Error {
    constructor() {
        super("Invalid Email");
    }
}
exports.InvalidEmailError = InvalidEmailError;
class PasswordsMustMatchException extends Error {
    constructor() {
        super("Passwords must match");
    }
}
exports.PasswordsMustMatchException = PasswordsMustMatchException;
class PasswordValidateException extends Error {
    constructor() {
        super("should contain at least 8 characters, one digit, one lower case, one upper case");
    }
}
exports.PasswordValidateException = PasswordValidateException;
class UnauthorizedException extends Error {
    constructor() {
        super("Not authorized. Check user permissions");
    }
}
exports.UnauthorizedException = UnauthorizedException;
