Automated Action 545563e776 Implement comprehensive real-time chat API with NestJS
- 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.
2025-06-21 17:13:05 +00:00

40 lines
1.6 KiB
JavaScript

import metadata from '../../metadata.min.json' assert { type: 'json' }
import _isPossibleNumber from './isPossibleNumber.js'
function isPossibleNumber(...parameters) {
parameters.push(metadata)
return _isPossibleNumber.apply(this, parameters)
}
describe('isPossibleNumber', () => {
it('should work', function()
{
isPossibleNumber('+79992223344').should.equal(true)
isPossibleNumber({ phone: '1112223344', country: 'RU' }).should.equal(true)
isPossibleNumber({ phone: '111222334', country: 'RU' }).should.equal(false)
isPossibleNumber({ phone: '11122233445', country: 'RU' }).should.equal(false)
isPossibleNumber({ phone: '1112223344', countryCallingCode: 7 }).should.equal(true)
})
it('should work v2', () => {
isPossibleNumber({ nationalNumber: '111222334', countryCallingCode: 7 }, { v2: true }).should.equal(false)
isPossibleNumber({ nationalNumber: '1112223344', countryCallingCode: 7 }, { v2: true }).should.equal(true)
isPossibleNumber({ nationalNumber: '11122233445', countryCallingCode: 7 }, { v2: true }).should.equal(false)
})
it('should work in edge cases', () => {
// Invalid `PhoneNumber` argument.
expect(() => isPossibleNumber({}, { v2: true })).to.throw('Invalid phone number object passed')
// Empty input is passed.
// This is just to support `isValidNumber({})`
// for cases when `parseNumber()` returns `{}`.
isPossibleNumber({}).should.equal(false)
expect(() => isPossibleNumber({ phone: '1112223344' })).to.throw('Invalid phone number object passed')
// Incorrect country.
expect(() => isPossibleNumber({ phone: '1112223344', country: 'XX' })).to.throw('Unknown country')
})
})