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.

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

  • exchangeNameprocess.env.AMQP_EXCHANGE
  • queueNameprocess.env.NAME_MICROSERVICE
  • connect — на OnModuleInit