UNPKG

@kenniy/godeye-data-contracts

Version:

Enterprise-grade base repository architecture for GOD-EYE microservices with zero overhead and maximum code reuse

36 lines (35 loc) 1.39 kB
"use strict"; /** * Validation constants for unified validation patterns * Replaces scattered validation rules with centralized patterns */ Object.defineProperty(exports, "__esModule", { value: true }); exports.VALIDATION_DEFAULTS = exports.VALIDATION_MESSAGES = exports.VALIDATION_PATTERNS = void 0; exports.VALIDATION_PATTERNS = { UUID: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, OBJECT_ID: /^[0-9a-fA-F]{24}$/, EMAIL: /^[^\s@]+@[^\s@]+\.[^\s@]+$/, PHONE: /^\+?[\d\s-()]+$/, NUMERIC: /^\d+$/, }; exports.VALIDATION_MESSAGES = { INVALID_ID: 'Invalid ID format provided', INVALID_UUID: 'Invalid UUID format', INVALID_OBJECT_ID: 'Invalid MongoDB ObjectId format', INVALID_EMAIL: 'Invalid email format', INVALID_PHONE: 'Invalid phone number format', REQUIRED_FIELD: 'This field is required', INVALID_PAGINATION: 'Invalid pagination parameters', INVALID_SEARCH: 'Invalid search parameters', SEARCH_TOO_SHORT: 'Search term is too short', SEARCH_TOO_LONG: 'Search term is too long', INVALID_ENTITY_TYPE: 'Invalid entity type provided', VALIDATION_FAILED: 'Validation failed for one or more fields', }; exports.VALIDATION_DEFAULTS = { MIN_SEARCH_LENGTH: 2, MAX_SEARCH_LENGTH: 100, CASE_SENSITIVE_SEARCH: false, SEARCH_MODE: 'contains', ALLOW_EMPTY_SEARCH: false, };