
- 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.
62 lines
3.4 KiB
JavaScript
62 lines
3.4 KiB
JavaScript
var __assign = (this && this.__assign) || function () {
|
|
__assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
s = arguments[i];
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
t[p] = s[p];
|
|
}
|
|
return t;
|
|
};
|
|
return __assign.apply(this, arguments);
|
|
};
|
|
import { TransformOperationExecutor } from './TransformOperationExecutor';
|
|
import { TransformationType } from './enums';
|
|
import { defaultOptions } from './constants/default-options.constant';
|
|
var ClassTransformer = /** @class */ (function () {
|
|
function ClassTransformer() {
|
|
}
|
|
ClassTransformer.prototype.instanceToPlain = function (object, options) {
|
|
var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, __assign(__assign({}, defaultOptions), options));
|
|
return executor.transform(undefined, object, undefined, undefined, undefined, undefined);
|
|
};
|
|
ClassTransformer.prototype.classToPlainFromExist = function (object, plainObject, options) {
|
|
var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, __assign(__assign({}, defaultOptions), options));
|
|
return executor.transform(plainObject, object, undefined, undefined, undefined, undefined);
|
|
};
|
|
ClassTransformer.prototype.plainToInstance = function (cls, plain, options) {
|
|
var executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, __assign(__assign({}, defaultOptions), options));
|
|
return executor.transform(undefined, plain, cls, undefined, undefined, undefined);
|
|
};
|
|
ClassTransformer.prototype.plainToClassFromExist = function (clsObject, plain, options) {
|
|
var executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, __assign(__assign({}, defaultOptions), options));
|
|
return executor.transform(clsObject, plain, undefined, undefined, undefined, undefined);
|
|
};
|
|
ClassTransformer.prototype.instanceToInstance = function (object, options) {
|
|
var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, __assign(__assign({}, defaultOptions), options));
|
|
return executor.transform(undefined, object, undefined, undefined, undefined, undefined);
|
|
};
|
|
ClassTransformer.prototype.classToClassFromExist = function (object, fromObject, options) {
|
|
var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, __assign(__assign({}, defaultOptions), options));
|
|
return executor.transform(fromObject, object, undefined, undefined, undefined, undefined);
|
|
};
|
|
ClassTransformer.prototype.serialize = function (object, options) {
|
|
return JSON.stringify(this.instanceToPlain(object, options));
|
|
};
|
|
/**
|
|
* Deserializes given JSON string to a object of the given class.
|
|
*/
|
|
ClassTransformer.prototype.deserialize = function (cls, json, options) {
|
|
var jsonObject = JSON.parse(json);
|
|
return this.plainToInstance(cls, jsonObject, options);
|
|
};
|
|
/**
|
|
* Deserializes given JSON string to an array of objects of the given class.
|
|
*/
|
|
ClassTransformer.prototype.deserializeArray = function (cls, json, options) {
|
|
var jsonObject = JSON.parse(json);
|
|
return this.plainToInstance(cls, jsonObject, options);
|
|
};
|
|
return ClassTransformer;
|
|
}());
|
|
export { ClassTransformer };
|
|
//# sourceMappingURL=ClassTransformer.js.map
|