@kenniy/godeye-data-contracts
Version:
Enterprise-grade base repository architecture for GOD-EYE microservices with zero overhead and maximum code reuse
45 lines (44 loc) • 1.6 kB
TypeScript
/**
* Unified Swagger Documentation System
* Standardized API documentation across all services
*/
import { Type } from "@nestjs/common";
/**
* Configuration for description handling
*/
export interface DescriptionConfig {
maxLength?: number;
truncateAt?: number;
addEllipsis?: boolean;
preserveFormatting?: boolean;
}
/**
* Truncate and optimize description text for Swagger UI
* Handles large descriptions by truncating them and preserving important information
*/
export declare function optimizeDescription(description: string, config?: DescriptionConfig): {
description: string;
isTruncated: boolean;
originalLength: number;
};
/**
* Enhanced API decorator with description optimization
*/
export declare function ApiResponseWithOptimizedDescription<T>(dataType: Type<T>, options: {
description: string;
paginated?: boolean;
status_code?: number;
errors?: Array<"BadRequest" | "Unauthorized" | "Forbidden" | "NotFound" | "Conflict" | "UnprocessableEntity" | "TooManyRequests" | "InternalServerError">;
externalDocUrl?: string;
descriptionConfig?: DescriptionConfig;
}): MethodDecorator;
/**
* Unified API Response Decorator
* Replaces @ApiSuccessResponse, @ApiPaginatedResponse, @CommonApiErrorResponses
*/
export declare function ApiResponse<T>(dataType: Type<T>, options: {
description: string;
paginated?: boolean;
status_code?: number;
errors?: Array<"BadRequest" | "Unauthorized" | "Forbidden" | "NotFound" | "Conflict" | "UnprocessableEntity" | "TooManyRequests" | "InternalServerError">;
}): MethodDecorator;