
- 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.
35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
/**
|
|
* HMAC: RFC2104 message authentication code.
|
|
* @module
|
|
*/
|
|
import { Hash, type CHash, type Input } from './utils.ts';
|
|
export declare class HMAC<T extends Hash<T>> extends Hash<HMAC<T>> {
|
|
oHash: T;
|
|
iHash: T;
|
|
blockLen: number;
|
|
outputLen: number;
|
|
private finished;
|
|
private destroyed;
|
|
constructor(hash: CHash, _key: Input);
|
|
update(buf: Input): this;
|
|
digestInto(out: Uint8Array): void;
|
|
digest(): Uint8Array;
|
|
_cloneInto(to?: HMAC<T>): HMAC<T>;
|
|
clone(): HMAC<T>;
|
|
destroy(): void;
|
|
}
|
|
/**
|
|
* HMAC: RFC2104 message authentication code.
|
|
* @param hash - function that would be used e.g. sha256
|
|
* @param key - message key
|
|
* @param message - message data
|
|
* @example
|
|
* import { hmac } from '@noble/hashes/hmac';
|
|
* import { sha256 } from '@noble/hashes/sha2';
|
|
* const mac1 = hmac(sha256, 'key', 'message');
|
|
*/
|
|
export declare const hmac: {
|
|
(hash: CHash, key: Input, message: Input): Uint8Array;
|
|
create(hash: CHash, key: Input): HMAC<any>;
|
|
};
|
|
//# sourceMappingURL=hmac.d.ts.map
|