OrganizersStore::getEventOrganizers() currently supports a limit parameter, and will also need to support basic pagination for T316137. However, I just realized that the existing logic is broken: the query is something like
SELECT ceo_user_id, ceo_role_id FROM ce_organizers WHERE ceo_event_id = 42 AND ceo_deleted_at IS NULL LIMIT 50
but this doesn't work because each user can have multiple rows, one for each role, so the limit could potentially truncate the result set, and only include a partial list of roles for a user.
Additionally, implementing pagination is not that easy, because the only unique key that we could use is ceo_id, but that cannot be easily represented in the code, because ceo_id identifies a user+event+role combination, not a user+event combination, and so it can't be unambiguously be stored inside a Organizer object.
Acceptance criteria
- Pagination is implemented in the backend
- The "List the organizers of an event" accepts a parameter for the last organizer ID and the parameter, as well as the response, are documented