@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
JavaScript
;
/**
* @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);