trainingpeaks-sdk
Version:
TypeScript SDK for TrainingPeaks API integration
109 lines (108 loc) • 4.88 kB
JavaScript
"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;