Add queueing system to sync room access info for one room
This MR introduces a method to send events for syncing room access.
The core listens to events in the queue backend.event.room.access.sync.request
.
On a new request, it gets the current room and creates one answer event including all access, which gets sent to backend.event.room.access.sync.response
.
The system doesn't use a direct exchange because the process of syncing room access data is split up into the following steps:
- auth-service realizes that data is missing and sents a request
- core gets the request, collects all data and sends it to the response queue
- auth-service listens to response queues and updates data if useful (if data is newer based on the
rev
)