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 від конкретного MentortraineeIds[]без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_EXCHANGEqueueName—process.env.NAME_MICROSERVICEconnect— наOnModuleInit