
- Complete NestJS TypeScript implementation with WebSocket support - Direct messaging (DM) and group chat functionality - End-to-end encryption with AES encryption and key pairs - Media file support (images, videos, audio, documents) up to 100MB - Push notifications with Firebase Cloud Messaging integration - Mention alerts and real-time typing indicators - User authentication with JWT and Passport - SQLite database with TypeORM entities and relationships - Comprehensive API documentation with Swagger/OpenAPI - File upload handling with secure access control - Online/offline status tracking and presence management - Message editing, deletion, and reply functionality - Notification management with automatic cleanup - Health check endpoint for monitoring - CORS configuration for cross-origin requests - Environment-based configuration management - Structured for Flutter SDK integration Features implemented: ✅ Real-time messaging with Socket.IO ✅ User registration and authentication ✅ Direct messages and group chats ✅ Media file uploads and management ✅ End-to-end encryption ✅ Push notifications ✅ Mention alerts ✅ Typing indicators ✅ Message read receipts ✅ Online status tracking ✅ File access control ✅ Comprehensive API documentation Ready for Flutter SDK development and production deployment.
48 lines
2.4 KiB
TypeScript
48 lines
2.4 KiB
TypeScript
import { CanActivate, ExceptionFilter, NestInterceptor, PipeTransform, VersioningOptions, WebSocketAdapter } from '@nestjs/common';
|
|
import { GlobalPrefixOptions } from '@nestjs/common/interfaces';
|
|
import { InstanceWrapper } from './injector/instance-wrapper';
|
|
import { ExcludeRouteMetadata } from './router/interfaces/exclude-route-metadata.interface';
|
|
export declare class ApplicationConfig {
|
|
private ioAdapter;
|
|
private globalPrefix;
|
|
private globalPrefixOptions;
|
|
private globalPipes;
|
|
private globalFilters;
|
|
private globalInterceptors;
|
|
private globalGuards;
|
|
private versioningOptions;
|
|
private readonly globalRequestPipes;
|
|
private readonly globalRequestFilters;
|
|
private readonly globalRequestInterceptors;
|
|
private readonly globalRequestGuards;
|
|
constructor(ioAdapter?: WebSocketAdapter | null);
|
|
setGlobalPrefix(prefix: string): void;
|
|
getGlobalPrefix(): string;
|
|
setGlobalPrefixOptions(options: GlobalPrefixOptions<ExcludeRouteMetadata>): void;
|
|
getGlobalPrefixOptions(): GlobalPrefixOptions<ExcludeRouteMetadata>;
|
|
setIoAdapter(ioAdapter: WebSocketAdapter): void;
|
|
getIoAdapter(): WebSocketAdapter;
|
|
addGlobalPipe(pipe: PipeTransform<any>): void;
|
|
useGlobalPipes(...pipes: PipeTransform<any>[]): void;
|
|
getGlobalFilters(): ExceptionFilter[];
|
|
addGlobalFilter(filter: ExceptionFilter): void;
|
|
useGlobalFilters(...filters: ExceptionFilter[]): void;
|
|
getGlobalPipes(): PipeTransform<any>[];
|
|
getGlobalInterceptors(): NestInterceptor[];
|
|
addGlobalInterceptor(interceptor: NestInterceptor): void;
|
|
useGlobalInterceptors(...interceptors: NestInterceptor[]): void;
|
|
getGlobalGuards(): CanActivate[];
|
|
addGlobalGuard(guard: CanActivate): void;
|
|
useGlobalGuards(...guards: CanActivate[]): void;
|
|
addGlobalRequestInterceptor(wrapper: InstanceWrapper<NestInterceptor>): void;
|
|
getGlobalRequestInterceptors(): InstanceWrapper<NestInterceptor>[];
|
|
addGlobalRequestPipe(wrapper: InstanceWrapper<PipeTransform>): void;
|
|
getGlobalRequestPipes(): InstanceWrapper<PipeTransform>[];
|
|
addGlobalRequestFilter(wrapper: InstanceWrapper<ExceptionFilter>): void;
|
|
getGlobalRequestFilters(): InstanceWrapper<ExceptionFilter>[];
|
|
addGlobalRequestGuard(wrapper: InstanceWrapper<CanActivate>): void;
|
|
getGlobalRequestGuards(): InstanceWrapper<CanActivate>[];
|
|
enableVersioning(options: VersioningOptions): void;
|
|
getVersioning(): VersioningOptions | undefined;
|
|
}
|