rmq-service

RMQService

src/modules/system/rmq/rmq.service.ts

RabbitMQ-міст з рештою стеку. Connect on init, listeners + request/response.

Канали

Слухає

  • AcademyDropUsers — отримує {mentorId?, traineeIds?, bothIds?} і чистить курси:
    • bothIds (один user одночасно і Mentor, і Trainee) → знімає з усіх курсів обидві ролі
    • mentorId + traineeIds[] → знімає тільки конкретних Trainee від конкретного Mentor
    • traineeIds[] без mentorId → знімає Trainee з усіх курсів
    • mentorId без traineeIds → знімає Mentor + всі його Trainee

Посилає (request/response)

  • AcademyGetMentors.query — {searchedRole, stackIds?} → {id, name, surname}[]. Використовує mentor-service.
  • AcademyGetTrainees.query — {searchedRole, mentorId?, stackIds?} → {id, name, surname}[]. Використовує trainee-service.

Конфігурація

  • exchangeName — process.env.AMQP_EXCHANGE
  • queueName — process.env.NAME_MICROSERVICE
  • connect — на OnModuleInit