edgehog icon indicating copy to clipboard operation
edgehog copied to clipboard

Use Relay connections for listing resources and relationships

Open davidebriani opened this issue 1 year ago • 1 comments

This PR paginates the "list" GraphQL queries and relationships using Relay connections.

All GraphQL query definitions are updated by specifying that pagination and Relay connections should be used. The same approach is used to expose the relationships between resources.

At the same time, the default read action is preferred as the backing bone of the functionality, removing the distinction of "get" and "list" actions: this distinction only becomes relevant in code interfaces or GraphQL APIs.

Close #522

Note: the relationships between devices and groups are left unpaginated: since it's a manual relationship based on the dynamic nature of group selectors, supporting paginated queries is not straightforward and will be evaluated in a future PR.

davidebriani avatar Jun 21 '24 22:06 davidebriani

I'm reverting the PR to a draft to highlight that we might want to avoid merging it now.

We can instead focus on getting both the backend and the frontend to a working status without pagination, and later incrementally introduce pagination with PRs that encompass both of them at the same time. This will allow to keep the development branch stable and introduce other features without waiting for pagination to be fully implemented.

davidebriani avatar Jun 25 '24 15:06 davidebriani