Enhance settings and integrate Baileys controller for WhatsApp functionality

- Added `wavoipToken` field to `Setting` model in both MySQL and PostgreSQL schemas.
- Updated `package.json` and `package-lock.json` to include `mime-types` and `socket.io-client` dependencies.
- Introduced `BaileysController` and `BaileysRouter` for handling WhatsApp interactions.
- Refactored media type handling to use `mime-types` instead of `mime` across various services.
- Updated DTOs and validation schemas to accommodate the new `wavoipToken` field.
- Implemented voice call functionalities using the Wavoip service in the Baileys integration.
- Enhanced event handling in the WebSocket controller to support new features.
This commit is contained in:
Davidson Gomes
2025-01-16 11:58:33 -03:00
parent 616ae0a7eb
commit 540467293c
30 changed files with 748 additions and 36 deletions

View File

@@ -43,6 +43,7 @@ export const instanceSchema: JSONSchema7 = {
readMessages: { type: 'boolean' },
readStatus: { type: 'boolean' },
syncFullHistory: { type: 'boolean' },
wavoipToken: { type: 'string' },
// Proxy
proxyHost: { type: 'string' },
proxyPort: { type: 'string' },

View File

@@ -31,7 +31,24 @@ export const settingsSchema: JSONSchema7 = {
readMessages: { type: 'boolean' },
readStatus: { type: 'boolean' },
syncFullHistory: { type: 'boolean' },
wavoipToken: { type: 'string' },
},
required: ['rejectCall', 'groupsIgnore', 'alwaysOnline', 'readMessages', 'readStatus', 'syncFullHistory'],
...isNotEmpty('rejectCall', 'groupsIgnore', 'alwaysOnline', 'readMessages', 'readStatus', 'syncFullHistory'),
required: [
'rejectCall',
'groupsIgnore',
'alwaysOnline',
'readMessages',
'readStatus',
'syncFullHistory',
'wavoipToken',
],
...isNotEmpty(
'rejectCall',
'groupsIgnore',
'alwaysOnline',
'readMessages',
'readStatus',
'syncFullHistory',
'wavoipToken',
),
};