errors.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. export class CloudAPIError extends Error {
  2. constructor(
  3. message: string,
  4. public statusCode?: number,
  5. public responseBody?: unknown,
  6. ) {
  7. super(message)
  8. this.name = "CloudAPIError"
  9. Object.setPrototypeOf(this, CloudAPIError.prototype)
  10. }
  11. }
  12. export class TaskNotFoundError extends CloudAPIError {
  13. constructor(taskId?: string) {
  14. super(taskId ? `Task '${taskId}' not found` : "Task not found", 404)
  15. this.name = "TaskNotFoundError"
  16. Object.setPrototypeOf(this, TaskNotFoundError.prototype)
  17. }
  18. }
  19. export class AuthenticationError extends CloudAPIError {
  20. constructor(message = "Authentication required") {
  21. super(message, 401)
  22. this.name = "AuthenticationError"
  23. Object.setPrototypeOf(this, AuthenticationError.prototype)
  24. }
  25. }
  26. export class NetworkError extends CloudAPIError {
  27. constructor(message = "Network error occurred") {
  28. super(message)
  29. this.name = "NetworkError"
  30. Object.setPrototypeOf(this, NetworkError.prototype)
  31. }
  32. }
  33. export class InvalidClientTokenError extends Error {
  34. constructor() {
  35. super("Invalid/Expired client token")
  36. Object.setPrototypeOf(this, InvalidClientTokenError.prototype)
  37. }
  38. }