UNPKG

trainingpeaks-sdk

Version:
109 lines (108 loc) 4.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WorkoutSyncError = exports.WorkoutQuotaExceededError = exports.WorkoutDataCorruptionError = exports.WorkoutServiceUnavailableError = exports.WorkoutStructureError = exports.WorkoutFileProcessingError = exports.WorkoutUploadError = exports.WorkoutOperationNotAllowedError = exports.WorkoutValidationError = exports.WorkoutNotFoundError = void 0; const index_1 = require("./index.js"); class WorkoutNotFoundError extends Error { constructor(workoutId) { super(`Workout with ID '${workoutId}' not found`); this.name = 'WorkoutNotFoundError'; this.code = index_1.ERROR_CODES.WORKOUT_NOT_FOUND; this.statusCode = 404; Object.setPrototypeOf(this, WorkoutNotFoundError.prototype); } } exports.WorkoutNotFoundError = WorkoutNotFoundError; class WorkoutValidationError extends Error { constructor(message, details) { super(message); this.name = 'WorkoutValidationError'; this.code = index_1.ERROR_CODES.WORKOUT_VALIDATION_FAILED; this.statusCode = 400; this.details = details; Object.setPrototypeOf(this, WorkoutValidationError.prototype); } } exports.WorkoutValidationError = WorkoutValidationError; class WorkoutOperationNotAllowedError extends Error { constructor(operation, reason) { super(`Operation '${operation}' is not allowed: ${reason}`); this.name = 'WorkoutOperationNotAllowedError'; this.code = index_1.ERROR_CODES.WORKOUT_REPOSITORY_ERROR; this.statusCode = 403; Object.setPrototypeOf(this, WorkoutOperationNotAllowedError.prototype); } } exports.WorkoutOperationNotAllowedError = WorkoutOperationNotAllowedError; class WorkoutUploadError extends Error { constructor(message, fileInfo) { super(message); this.name = 'WorkoutUploadError'; this.code = index_1.ERROR_CODES.WORKOUT_UPLOAD_FAILED; this.statusCode = 500; this.fileInfo = fileInfo; Object.setPrototypeOf(this, WorkoutUploadError.prototype); } } exports.WorkoutUploadError = WorkoutUploadError; class WorkoutFileProcessingError extends Error { constructor(message, fileType) { super(message); this.name = 'WorkoutFileProcessingError'; this.code = index_1.ERROR_CODES.WORKOUT_FILE_INVALID; this.statusCode = 400; this.fileType = fileType; Object.setPrototypeOf(this, WorkoutFileProcessingError.prototype); } } exports.WorkoutFileProcessingError = WorkoutFileProcessingError; class WorkoutStructureError extends Error { constructor(message, structureDetails) { super(message); this.name = 'WorkoutStructureError'; this.code = index_1.ERROR_CODES.WORKOUT_STRUCTURE_INVALID; this.statusCode = 400; this.structureDetails = structureDetails; Object.setPrototypeOf(this, WorkoutStructureError.prototype); } } exports.WorkoutStructureError = WorkoutStructureError; class WorkoutServiceUnavailableError extends Error { constructor(serviceName, reason) { super(`Workout service '${serviceName}' is unavailable: ${reason}`); this.name = 'WorkoutServiceUnavailableError'; this.code = index_1.ERROR_CODES.WORKOUT_REPOSITORY_ERROR; this.statusCode = 503; Object.setPrototypeOf(this, WorkoutServiceUnavailableError.prototype); } } exports.WorkoutServiceUnavailableError = WorkoutServiceUnavailableError; class WorkoutDataCorruptionError extends Error { constructor(workoutId, corruptionType) { super(`Workout data for ID '${workoutId}' is corrupted: ${corruptionType}`); this.name = 'WorkoutDataCorruptionError'; this.code = index_1.ERROR_CODES.WORKOUT_REPOSITORY_ERROR; this.statusCode = 500; Object.setPrototypeOf(this, WorkoutDataCorruptionError.prototype); } } exports.WorkoutDataCorruptionError = WorkoutDataCorruptionError; class WorkoutQuotaExceededError extends Error { constructor(quotaType, limit, current) { super(`Workout quota exceeded for '${quotaType}': ${current}/${limit}`); this.name = 'WorkoutQuotaExceededError'; this.code = index_1.ERROR_CODES.WORKOUT_REPOSITORY_ERROR; this.statusCode = 429; Object.setPrototypeOf(this, WorkoutQuotaExceededError.prototype); } } exports.WorkoutQuotaExceededError = WorkoutQuotaExceededError; class WorkoutSyncError extends Error { constructor(workoutId, syncDirection, reason) { super(`Workout sync failed for ID '${workoutId}' (${syncDirection}): ${reason}`); this.name = 'WorkoutSyncError'; this.code = index_1.ERROR_CODES.WORKOUT_REPOSITORY_ERROR; this.statusCode = 500; Object.setPrototypeOf(this, WorkoutSyncError.prototype); } } exports.WorkoutSyncError = WorkoutSyncError;