export class WatchtowerError extends Error {
  constructor(message: string) {
    super(message);
    this.name = 'WatchtowerError';
  }
}

export class InvalidRequestError extends WatchtowerError {
  constructor(message: string) {
    super(message);
    this.name = 'InvalidRequestError';
  }
}

export class AuthenticationError extends WatchtowerError {
  constructor(message: string) {
    super(message);
    this.name = 'AuthenticationError';
  }
}

export class NotFoundError extends WatchtowerError {
  constructor(message: string) {
    super(message);
    this.name = 'NotFoundError';
  }
}

export class ServerError extends WatchtowerError {
  constructor(message: string) {
    super(message);
    this.name = 'ServerError';
  }
}

export const BATCH_SIZE_LIMIT = 1000; 