SOLID Principles in JavaScript
Which SOLID principle is being violated in this authentication implementation?
class Authentication {
  constructor() {
    this.database = new MySQLDatabase();
    this.logger = new FileLogger();
    this.emailService = new SMTPEmailService();
  }
  login(username, password) {
    // Authentication logic using this.database
    this.logger.log('Login attempt');
    this.emailService.send('Login notification');
  }
}