116 lines
4.3 KiB
TypeScript
116 lines
4.3 KiB
TypeScript
export const ERROR_MESSAGES = {
|
|
// Authentication & Authorization
|
|
INVALID_API_KEY: 'Invalid or expired API key',
|
|
MISSING_API_KEY: 'API key is required',
|
|
UNAUTHORIZED: 'Unauthorized access',
|
|
MASTER_KEY_REQUIRED: 'Master key required for this operation',
|
|
PROJECT_KEY_REQUIRED: 'Project key required for this operation',
|
|
|
|
// Validation
|
|
INVALID_ALIAS_FORMAT: 'Alias must start with @ and contain only alphanumeric characters, hyphens, and underscores',
|
|
RESERVED_ALIAS: 'This alias is reserved and cannot be used',
|
|
ALIAS_CONFLICT: 'An image with this alias already exists in this scope',
|
|
INVALID_PAGINATION: 'Invalid pagination parameters',
|
|
INVALID_UUID: 'Invalid UUID format',
|
|
INVALID_ASPECT_RATIO: 'Invalid aspect ratio format',
|
|
INVALID_FOCAL_POINT: 'Focal point coordinates must be between 0.0 and 1.0',
|
|
|
|
// Not Found
|
|
GENERATION_NOT_FOUND: 'Generation not found',
|
|
IMAGE_NOT_FOUND: 'Image not found',
|
|
FLOW_NOT_FOUND: 'Flow not found',
|
|
ALIAS_NOT_FOUND: 'Alias not found',
|
|
PROJECT_NOT_FOUND: 'Project not found',
|
|
|
|
// Resource Limits
|
|
MAX_REFERENCE_IMAGES_EXCEEDED: 'Maximum number of reference images exceeded',
|
|
MAX_FILE_SIZE_EXCEEDED: 'File size exceeds maximum allowed size',
|
|
RATE_LIMIT_EXCEEDED: 'Rate limit exceeded',
|
|
MAX_ALIASES_EXCEEDED: 'Maximum number of aliases per flow exceeded',
|
|
|
|
// Generation Errors
|
|
GENERATION_FAILED: 'Image generation failed',
|
|
GENERATION_PENDING: 'Generation is still pending',
|
|
REFERENCE_IMAGE_RESOLUTION_FAILED: 'Failed to resolve reference image alias',
|
|
|
|
// Live Scope Errors
|
|
SCOPE_INVALID_FORMAT: 'Live scope format is invalid',
|
|
SCOPE_CREATION_DISABLED: 'Creation of new live scopes is disabled for this project',
|
|
SCOPE_GENERATION_LIMIT_EXCEEDED: 'Live scope generation limit exceeded',
|
|
|
|
// Storage Errors
|
|
STORAGE_DELETE_FAILED: 'Failed to delete file from storage',
|
|
|
|
// Flow Errors
|
|
TECHNICAL_ALIAS_REQUIRES_FLOW: 'Technical aliases (@last, @first, @upload) require a flowId',
|
|
FLOW_HAS_NO_GENERATIONS: 'Flow has no generations',
|
|
FLOW_HAS_NO_UPLOADS: 'Flow has no uploaded images',
|
|
ALIAS_NOT_IN_FLOW: 'Alias not found in flow',
|
|
|
|
// General
|
|
INTERNAL_SERVER_ERROR: 'Internal server error',
|
|
INVALID_REQUEST: 'Invalid request',
|
|
OPERATION_FAILED: 'Operation failed',
|
|
} as const;
|
|
|
|
export const ERROR_CODES = {
|
|
// Authentication & Authorization
|
|
INVALID_API_KEY: 'INVALID_API_KEY',
|
|
MISSING_API_KEY: 'MISSING_API_KEY',
|
|
UNAUTHORIZED: 'UNAUTHORIZED',
|
|
MASTER_KEY_REQUIRED: 'MASTER_KEY_REQUIRED',
|
|
PROJECT_KEY_REQUIRED: 'PROJECT_KEY_REQUIRED',
|
|
|
|
// Validation
|
|
VALIDATION_ERROR: 'VALIDATION_ERROR',
|
|
INVALID_ALIAS_FORMAT: 'INVALID_ALIAS_FORMAT',
|
|
RESERVED_ALIAS: 'RESERVED_ALIAS',
|
|
ALIAS_CONFLICT: 'ALIAS_CONFLICT',
|
|
INVALID_PAGINATION: 'INVALID_PAGINATION',
|
|
INVALID_UUID: 'INVALID_UUID',
|
|
INVALID_ASPECT_RATIO: 'INVALID_ASPECT_RATIO',
|
|
INVALID_FOCAL_POINT: 'INVALID_FOCAL_POINT',
|
|
|
|
// Not Found
|
|
NOT_FOUND: 'NOT_FOUND',
|
|
GENERATION_NOT_FOUND: 'GENERATION_NOT_FOUND',
|
|
IMAGE_NOT_FOUND: 'IMAGE_NOT_FOUND',
|
|
FLOW_NOT_FOUND: 'FLOW_NOT_FOUND',
|
|
ALIAS_NOT_FOUND: 'ALIAS_NOT_FOUND',
|
|
PROJECT_NOT_FOUND: 'PROJECT_NOT_FOUND',
|
|
|
|
// Resource Limits
|
|
RESOURCE_LIMIT_EXCEEDED: 'RESOURCE_LIMIT_EXCEEDED',
|
|
MAX_REFERENCE_IMAGES_EXCEEDED: 'MAX_REFERENCE_IMAGES_EXCEEDED',
|
|
MAX_FILE_SIZE_EXCEEDED: 'MAX_FILE_SIZE_EXCEEDED',
|
|
RATE_LIMIT_EXCEEDED: 'RATE_LIMIT_EXCEEDED',
|
|
MAX_ALIASES_EXCEEDED: 'MAX_ALIASES_EXCEEDED',
|
|
|
|
// Generation Errors
|
|
GENERATION_FAILED: 'GENERATION_FAILED',
|
|
GENERATION_PENDING: 'GENERATION_PENDING',
|
|
REFERENCE_IMAGE_RESOLUTION_FAILED: 'REFERENCE_IMAGE_RESOLUTION_FAILED',
|
|
|
|
// Live Scope Errors
|
|
SCOPE_INVALID_FORMAT: 'SCOPE_INVALID_FORMAT',
|
|
SCOPE_CREATION_DISABLED: 'SCOPE_CREATION_DISABLED',
|
|
SCOPE_GENERATION_LIMIT_EXCEEDED: 'SCOPE_GENERATION_LIMIT_EXCEEDED',
|
|
|
|
// Storage Errors
|
|
STORAGE_DELETE_FAILED: 'STORAGE_DELETE_FAILED',
|
|
|
|
// Flow Errors
|
|
TECHNICAL_ALIAS_REQUIRES_FLOW: 'TECHNICAL_ALIAS_REQUIRES_FLOW',
|
|
FLOW_HAS_NO_GENERATIONS: 'FLOW_HAS_NO_GENERATIONS',
|
|
FLOW_HAS_NO_UPLOADS: 'FLOW_HAS_NO_UPLOADS',
|
|
ALIAS_NOT_IN_FLOW: 'ALIAS_NOT_IN_FLOW',
|
|
|
|
// General
|
|
INTERNAL_SERVER_ERROR: 'INTERNAL_SERVER_ERROR',
|
|
INVALID_REQUEST: 'INVALID_REQUEST',
|
|
OPERATION_FAILED: 'OPERATION_FAILED',
|
|
} as const;
|
|
|
|
export type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];
|
|
export type ErrorMessage = (typeof ERROR_MESSAGES)[keyof typeof ERROR_MESSAGES];
|