
- 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.
39 lines
1.7 KiB
TypeScript
39 lines
1.7 KiB
TypeScript
import { LoggerService, ModuleMetadata } from '@nestjs/common';
|
|
import { NestApplicationContextOptions } from '@nestjs/common/interfaces/nest-application-context-options.interface';
|
|
import { ModuleDefinition } from '@nestjs/core/interfaces/module-definition.interface';
|
|
import { MetadataScanner } from '@nestjs/core/metadata-scanner';
|
|
import { MockFactory, OverrideBy } from './interfaces';
|
|
import { OverrideModule } from './interfaces/override-module.interface';
|
|
import { TestingModule } from './testing-module';
|
|
/**
|
|
* @publicApi
|
|
*/
|
|
export declare class TestingModuleBuilder {
|
|
private readonly metadataScanner;
|
|
private readonly applicationConfig;
|
|
private readonly container;
|
|
private readonly overloadsMap;
|
|
private readonly moduleOverloadsMap;
|
|
private readonly module;
|
|
private testingLogger;
|
|
private mocker?;
|
|
constructor(metadataScanner: MetadataScanner, metadata: ModuleMetadata);
|
|
setLogger(testingLogger: LoggerService): this;
|
|
overridePipe<T = any>(typeOrToken: T): OverrideBy;
|
|
useMocker(mocker: MockFactory): TestingModuleBuilder;
|
|
overrideFilter<T = any>(typeOrToken: T): OverrideBy;
|
|
overrideGuard<T = any>(typeOrToken: T): OverrideBy;
|
|
overrideInterceptor<T = any>(typeOrToken: T): OverrideBy;
|
|
overrideProvider<T = any>(typeOrToken: T): OverrideBy;
|
|
overrideModule(moduleToOverride: ModuleDefinition): OverrideModule;
|
|
compile(options?: Pick<NestApplicationContextOptions, 'snapshot' | 'preview'>): Promise<TestingModule>;
|
|
private override;
|
|
private createOverrideByBuilder;
|
|
private applyOverloadsMap;
|
|
private getModuleOverloads;
|
|
private getRootModule;
|
|
private createInstancesOfDependencies;
|
|
private createModule;
|
|
private applyLogger;
|
|
}
|