
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
@icapps/chat-astrum
Advanced tools
Module to create custom chat setup
This module allows to have conversations with one or more recipients into a chat. Socket.io is being used for realtime messages.
Install via npm
npm install @icapps/chat-astrum
or via yarn
yarn add @icapps/chat-astrum
const chat = require('@icapps/chat-astrum');
import * as chat from '@icapps/chat-astrum';
The module uses a MongoDB database combined with mongoose. In order to run everything smoothly you have to make sure a mongoDB is available.
More information on MongoDB
These are related to all MongoDB operations.
Open a connection to MongoDB. This is required to do before trying to fetch any data from other methods below.
db.openConnection('mongodb://localhost:27017/db')
These are related to all socket.io operations
Start a new socket server instance. This should be called before trying to use any other socket methods. This uses a global singleton so you will always have one connection being used throughout all socket functions.
const app = http.createServer(); // Also works with Express server
const connection = socket.startSockerServer(app, {
path: '/socket',
serveClient: false,
...more socket options
});
All options can be found here
More information on socket.io
Add a new namespace onto the socket. Will always check if the namespace already exists and only add when non-existing.
socket.addNamespace('superCoolNamespace');
Find an existing by its id (asynchronous)
await conversation.findConversationById('...');
List all available conversations for a specific department and employment. (asynchronous)
await conversation.findMyConversations({
departmentId: '...',
employmentId: '...',
},
{
limit: 10, // Optional
offset: 0, // Optional
})
Start a new conversation (asynchronous)
await conversation.startConversation({
employmentIds: ['firstId', 'secondId'],
});
Leave a conversation (asynchronous)
await conversation.leave('myConvId', 'myEmplId');
Deletes a conversation (asynchronous)
await conversation.deleteConversation('myConvId');
Mark a conversation as read (asynchronous)
await conversation.markAsRead('myConvId', 'myEmplId');
Adds a meta tag indicating when an employment joined a department conversation
await conversation.addJoinedDepartmentLaterOn('employmentId', ['departmentId']);
Send a message to a specific room (conversation)
await message.sendMessage('myRoomId', {
message: 'This is a message',
senderId: 'specificEmploymentId',
firstName: 'Willem',
lastName: 'Le carrotier',
});
npm run test
to run all testsnpm run test:coverage
to run all tests with coverage reportFAQs
Chat module ESS
The npm package @icapps/chat-astrum receives a total of 3 weekly downloads. As such, @icapps/chat-astrum popularity was classified as not popular.
We found that @icapps/chat-astrum demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.