
- 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.
57 lines
1.6 KiB
TypeScript
57 lines
1.6 KiB
TypeScript
export = fetch;
|
|
|
|
/**
|
|
* Node-style callback as used by {@link util.fetch}.
|
|
* @typedef FetchCallback
|
|
* @type {function}
|
|
* @param {?Error} error Error, if any, otherwise `null`
|
|
* @param {string} [contents] File contents, if there hasn't been an error
|
|
* @returns {undefined}
|
|
*/
|
|
type FetchCallback = (error: Error, contents?: string) => void;
|
|
|
|
/**
|
|
* Options as used by {@link util.fetch}.
|
|
* @typedef FetchOptions
|
|
* @type {Object}
|
|
* @property {boolean} [binary=false] Whether expecting a binary response
|
|
* @property {boolean} [xhr=false] If `true`, forces the use of XMLHttpRequest
|
|
*/
|
|
|
|
interface FetchOptions {
|
|
binary?: boolean;
|
|
xhr?: boolean
|
|
}
|
|
|
|
/**
|
|
* Fetches the contents of a file.
|
|
* @memberof util
|
|
* @param {string} filename File path or url
|
|
* @param {FetchOptions} options Fetch options
|
|
* @param {FetchCallback} callback Callback function
|
|
* @returns {undefined}
|
|
*/
|
|
declare function fetch(filename: string, options: FetchOptions, callback: FetchCallback): void;
|
|
|
|
/**
|
|
* Fetches the contents of a file.
|
|
* @name util.fetch
|
|
* @function
|
|
* @param {string} path File path or url
|
|
* @param {FetchCallback} callback Callback function
|
|
* @returns {undefined}
|
|
* @variation 2
|
|
*/
|
|
declare function fetch(path: string, callback: FetchCallback): void;
|
|
|
|
/**
|
|
* Fetches the contents of a file.
|
|
* @name util.fetch
|
|
* @function
|
|
* @param {string} path File path or url
|
|
* @param {FetchOptions} [options] Fetch options
|
|
* @returns {Promise<string|Uint8Array>} Promise
|
|
* @variation 3
|
|
*/
|
|
declare function fetch(path: string, options?: FetchOptions): Promise<(string|Uint8Array)>;
|