UNPKG

@kenniy/godeye-data-contracts

Version:

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

123 lines (122 loc) 11.6 kB
"use strict"; /** * @kenniy/godeye-data-contracts v1.0.0 * * GOD-EYE Data Contracts - Unified patterns for all microservices * Eliminates 98% code repetition across the ecosystem */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.FileQueryDto = exports.UserQueryDto = exports.FindManyDto = exports.FindOneDto = exports.BaseQueryDto = exports.AggregationStepType = exports.QueryOptimizationLevel = exports.AggregationStrategy = exports.PerformanceMonitor = exports.SmartCache = exports.AdaptiveQueryPlanner = exports.EnhancedMongooseRepository = exports.MongooseAggregateRepository = exports.TypeORMAggregateRepository = exports.BaseMongooseRepository = exports.BaseTypeORMRepository = exports.normalizeHeaders = exports.extractKongUserContext = exports.RequireRoles = exports.createKongAuthGuard = exports.KongAuthGuard = exports.KongUser = exports.ValidationUtils = exports.QueryDto = exports.SearchDto = exports.PaginationDto = exports.TransformArray = exports.TransformDate = exports.Trim = exports.ToLowerCase = exports.IsValidEntity = exports.IsValidSearch = exports.IsValidPagination = exports.IsPhoneNumber = exports.IsOptionalEmail = exports.IsRequiredEmail = exports.IsValidId = exports.ValidationPipe = exports.bootstrapGodsEyeApp = exports.bootstrap = exports.optimizeDescription = exports.ApiResponseWithOptimizedDescription = exports.ApiResponse = exports.ApiPaginatedWrapper = exports.ApiResponseWrapper = exports.CommonApiErrors = exports.Api = exports.ResponseFactory = void 0; // ============================================================================ // CORE EXPORTS - Response & API Documentation // ============================================================================ // Response Factory - Standardized responses with auto-detection var response_1 = require("./core/response"); Object.defineProperty(exports, "ResponseFactory", { enumerable: true, get: function () { return response_1.ResponseFactory; } }); // Smart API Decorator - One decorator for all Swagger documentation var swagger_decorators_1 = require("./core/swagger-decorators"); Object.defineProperty(exports, "Api", { enumerable: true, get: function () { return swagger_decorators_1.Api; } }); Object.defineProperty(exports, "CommonApiErrors", { enumerable: true, get: function () { return swagger_decorators_1.CommonApiErrors; } }); Object.defineProperty(exports, "ApiResponseWrapper", { enumerable: true, get: function () { return swagger_decorators_1.ApiResponseWrapper; } }); Object.defineProperty(exports, "ApiPaginatedWrapper", { enumerable: true, get: function () { return swagger_decorators_1.ApiPaginatedWrapper; } }); // Swagger Utilities - Description optimization and enhanced documentation var swagger_1 = require("./core/swagger"); Object.defineProperty(exports, "ApiResponse", { enumerable: true, get: function () { return swagger_1.ApiResponse; } }); Object.defineProperty(exports, "ApiResponseWithOptimizedDescription", { enumerable: true, get: function () { return swagger_1.ApiResponseWithOptimizedDescription; } }); Object.defineProperty(exports, "optimizeDescription", { enumerable: true, get: function () { return swagger_1.optimizeDescription; } }); // Bootstrap System - One-line service setup var app_bootstrap_1 = require("./setup/app.bootstrap"); Object.defineProperty(exports, "bootstrap", { enumerable: true, get: function () { return app_bootstrap_1.bootstrap; } }); Object.defineProperty(exports, "bootstrapGodsEyeApp", { enumerable: true, get: function () { return app_bootstrap_1.bootstrapGodsEyeApp; } }); // ============================================================================ // VALIDATION SYSTEM - Universal validation across ORMs // ============================================================================ // Validation Pipe & Decorators var validation_1 = require("./core/validation"); Object.defineProperty(exports, "ValidationPipe", { enumerable: true, get: function () { return validation_1.ValidationPipe; } }); Object.defineProperty(exports, "IsValidId", { enumerable: true, get: function () { return validation_1.IsValidId; } }); Object.defineProperty(exports, "IsRequiredEmail", { enumerable: true, get: function () { return validation_1.IsRequiredEmail; } }); Object.defineProperty(exports, "IsOptionalEmail", { enumerable: true, get: function () { return validation_1.IsOptionalEmail; } }); Object.defineProperty(exports, "IsPhoneNumber", { enumerable: true, get: function () { return validation_1.IsPhoneNumber; } }); Object.defineProperty(exports, "IsValidPagination", { enumerable: true, get: function () { return validation_1.IsValidPagination; } }); Object.defineProperty(exports, "IsValidSearch", { enumerable: true, get: function () { return validation_1.IsValidSearch; } }); Object.defineProperty(exports, "IsValidEntity", { enumerable: true, get: function () { return validation_1.IsValidEntity; } }); // Transform decorators Object.defineProperty(exports, "ToLowerCase", { enumerable: true, get: function () { return validation_1.ToLowerCase; } }); Object.defineProperty(exports, "Trim", { enumerable: true, get: function () { return validation_1.Trim; } }); Object.defineProperty(exports, "TransformDate", { enumerable: true, get: function () { return validation_1.TransformDate; } }); Object.defineProperty(exports, "TransformArray", { enumerable: true, get: function () { return validation_1.TransformArray; } }); // Standard DTOs Object.defineProperty(exports, "PaginationDto", { enumerable: true, get: function () { return validation_1.PaginationDto; } }); Object.defineProperty(exports, "SearchDto", { enumerable: true, get: function () { return validation_1.SearchDto; } }); Object.defineProperty(exports, "QueryDto", { enumerable: true, get: function () { return validation_1.QueryDto; } }); // Validation utilities Object.defineProperty(exports, "ValidationUtils", { enumerable: true, get: function () { return validation_1.ValidationUtils; } }); // ============================================================================ // KONG AUTHENTICATION - Gateway integration // ============================================================================ // Kong Auth System var auth_1 = require("./core/auth"); Object.defineProperty(exports, "KongUser", { enumerable: true, get: function () { return auth_1.KongUser; } }); Object.defineProperty(exports, "KongAuthGuard", { enumerable: true, get: function () { return auth_1.KongAuthGuard; } }); Object.defineProperty(exports, "createKongAuthGuard", { enumerable: true, get: function () { return auth_1.createKongAuthGuard; } }); Object.defineProperty(exports, "RequireRoles", { enumerable: true, get: function () { return auth_1.RequireRoles; } }); Object.defineProperty(exports, "extractKongUserContext", { enumerable: true, get: function () { return auth_1.extractKongUserContext; } }); Object.defineProperty(exports, "normalizeHeaders", { enumerable: true, get: function () { return auth_1.normalizeHeaders; } }); // ============================================================================ // REPOSITORY SYSTEM - Base classes & DTOs // ============================================================================ // Base Repository Classes var base_typeorm_repository_1 = require("./repositories/base-typeorm.repository"); Object.defineProperty(exports, "BaseTypeORMRepository", { enumerable: true, get: function () { return base_typeorm_repository_1.BaseTypeORMRepository; } }); var base_mongoose_repository_1 = require("./repositories/base-mongoose.repository"); Object.defineProperty(exports, "BaseMongooseRepository", { enumerable: true, get: function () { return base_mongoose_repository_1.BaseMongooseRepository; } }); // Aggregate Repository Classes - Unified aggregation for both ORMs var typeorm_aggregate_repository_1 = require("./repositories/typeorm-aggregate.repository"); Object.defineProperty(exports, "TypeORMAggregateRepository", { enumerable: true, get: function () { return typeorm_aggregate_repository_1.TypeORMAggregateRepository; } }); var mongoose_aggregate_repository_1 = require("./repositories/mongoose-aggregate.repository"); Object.defineProperty(exports, "MongooseAggregateRepository", { enumerable: true, get: function () { return mongoose_aggregate_repository_1.MongooseAggregateRepository; } }); // Enhanced Aggregation Repository - BLAZING FAST next-generation algorithms var enhanced_mongoose_aggregate_repository_1 = require("./repositories/enhanced-mongoose-aggregate.repository"); Object.defineProperty(exports, "EnhancedMongooseRepository", { enumerable: true, get: function () { return enhanced_mongoose_aggregate_repository_1.EnhancedMongooseRepository; } }); // Enhanced Aggregation Utils - Adaptive query planning and optimization var enhanced_aggregation_utils_1 = require("./utils/enhanced-aggregation.utils"); Object.defineProperty(exports, "AdaptiveQueryPlanner", { enumerable: true, get: function () { return enhanced_aggregation_utils_1.AdaptiveQueryPlanner; } }); Object.defineProperty(exports, "SmartCache", { enumerable: true, get: function () { return enhanced_aggregation_utils_1.SmartCache; } }); Object.defineProperty(exports, "PerformanceMonitor", { enumerable: true, get: function () { return enhanced_aggregation_utils_1.PerformanceMonitor; } }); Object.defineProperty(exports, "AggregationStrategy", { enumerable: true, get: function () { return enhanced_aggregation_utils_1.AggregationStrategy; } }); Object.defineProperty(exports, "QueryOptimizationLevel", { enumerable: true, get: function () { return enhanced_aggregation_utils_1.QueryOptimizationLevel; } }); Object.defineProperty(exports, "AggregationStepType", { enumerable: true, get: function () { return enhanced_aggregation_utils_1.AggregationStepType; } }); // Query DTOs with ICriteria transformation var dto_1 = require("./core/dto"); Object.defineProperty(exports, "BaseQueryDto", { enumerable: true, get: function () { return dto_1.BaseQueryDto; } }); Object.defineProperty(exports, "FindOneDto", { enumerable: true, get: function () { return dto_1.FindOneDto; } }); Object.defineProperty(exports, "FindManyDto", { enumerable: true, get: function () { return dto_1.FindManyDto; } }); Object.defineProperty(exports, "UserQueryDto", { enumerable: true, get: function () { return dto_1.UserQueryDto; } }); Object.defineProperty(exports, "FileQueryDto", { enumerable: true, get: function () { return dto_1.FileQueryDto; } }); // ============================================================================ // TYPES & CONSTANTS - Complete type safety // ============================================================================ // All types and interfaces __exportStar(require("./types"), exports); // All constants __exportStar(require("./constants"), exports); // All enums __exportStar(require("./enums"), exports); // Auth decorators and guards __exportStar(require("./decorators/auth.decorators"), exports); __exportStar(require("./guards/auth.guard"), exports);