import { ApiErrorCodes } from './api-error-codes';

export class ApiError extends Error {
  constructor(
    message: string,
    public code: ApiErrorCodes,
    public payload: any = null,
  ) {
    super(message);
  }
}

export class ApiFieldError extends ApiError {
  constructor(
    message: string,
    public code: ApiErrorCodes,
    public field: string,
    constraint?: string,
  ) {
    super(message, code, {
      field,
      constraint,
    });
  }
}
