| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Welcome to Commt's NodeJS package – the heart of secure chat functionalities for your NodeJS applications! Commt is a versatile chat plugin designed to seamlessly integrate secure and customizable chat functionalities into your applications. Commt ensures a secure and reliable real-time communication experience for your users.
For detailed installation instructions and configuration options, please refer to our documentation.
Get started with Commt in just a few steps:
Check out our documentation for comprehensive usage examples and API reference.
You can get client configs info from Commt Dashboard
index.ts
import { Commt } from "@commt/node-sdk";
// Initiate Commt in your app/index file
Commt.init({
apiKey: "123456789?",
projectId: "0987654321?",
secret: "4k4hum6rfuvxorul94zimh55", // Must to be 16, 24 or 32 bytes
});
global.commt = Commt.with(); // Define it as a global variable
chat.js
router.post('/save-message', async (req, res) => {
try {
// Get encrypted message from req.body
const { message: cipher, iv } = req.body;
// Decrypt it by using commt and parse it to object
const result = JSON.parse(commt.decrypt({ cipher, iv }));
// Get required parameters from decrypted result
const {roomId, message} = result;
// Save message to your database
await MessageModel.create({
roomId,
type: message.type,
senderId: message.senderId,
createdAt: message.createdAt,
message: message.text,
});
// Return 200 status code
res.status(200).send();
} catch (err) {
res.status(500).send(err.message);
}
});
room.ts
router.post('/create-room', async (req, res) => {
try {
// Get array of string participants
const { participants } = req.body;
// Inform commt for newly created room by passing array of chatAuthIds of the users and get chatRoomAuthId field in return
const chatRoomAuthId = commt.createRoom(participants.chatAuthIds);
// Create new room with given data
await RoomModel.create({
roomId,
chatRoomAuthId,
participants: participants.ids,
...(communityAvatar && communityName && { communityAvatar, communityName})
});
// Return 200 status code
res.status(200).send();
} catch (err) {
res.status(500).send(err.message);
}
});
Commt is compatible with:
For any questions, feedback or issues, feel free to reach out to us via contact@commt.co.
| Back | FazBrowse Home | New Git URL |