Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Endpoints for aiida-explorer #69

Open
13 of 16 tasks
eimrek opened this issue May 29, 2024 · 3 comments
Open
13 of 16 tasks

Endpoints for aiida-explorer #69

eimrek opened this issue May 29, 2024 · 3 comments
Assignees

Comments

@eimrek
Copy link
Member

eimrek commented May 29, 2024

The current (old) AiiDA Exporer

We're (mainly @SharanRP) working on the new AiiDA explorer (https://github.com/aiidateam/aiida-explorer) with the goal to replace the old one and the plan is to use this REST API (aiida-restapi) for it.

Currently it's not clear (maybe just undocumented, or potentially unimplmeneted) if all the endpoints that are needed are present.

Below I will list the endpoints of the old aiida REST API that the current/old AiiDA explorer is using. The goal of this issue would be to document (in documentation or examples folder) or implement all the endpoints needed for the new aiida-explorer. The new endspoints do not need to match exactly, of course, but just the data needs to be accessible.

List of old endpoints (demonstrated with the MC3D database) organized by the parts of the frontend:

Note: could be that i missed something and will add it later.

@agoscinski agoscinski self-assigned this May 29, 2024
@eimrek
Copy link
Member Author

eimrek commented Jun 5, 2024

Many of the endpoints seem to be present by checking /redoc (e.g. /nodes) but everything is undocumented. Would be great to have documentation on the REST endpoints here: https://aiida-restapi.readthedocs.io/en/latest/user_guide/index.html

@eimrek
Copy link
Member Author

eimrek commented Jun 6, 2024

Note that there is also a "REST migration guide" in the docs: https://aiida-restapi.readthedocs.io/en/latest/user_guide/graphql.html#rest-migration-guide

This shows how many of the required REST endpoints can be recreated via GraphQL queries.

@agoscinski
Copy link
Collaborator

Hey small update,

I went through the list in this issue and made a PR agoscinski#3 with examples that recreate the endpoints from the old restapi using the graphql endpoint with queries in the body of the message. I ticked the ones that we can recreate with the current state of the cade.

There is another issue #12 with a list of missing endpoints which however seems a bit out of date as it contains endpoints that are already implemented (e.g. /api/v4/nodes/<id>/). I am not sure if the idea was to support these endpoints both over fastapi and over graphql or to just drop any other fastapi endpoint than graphqll. From this issue #16 it seems that implementing dynamic queries into the fastapi needs some closer design consideration. Therefore I would for now implement missing endpoints on the side that is easier to implement.

agoscinski added a commit to agoscinski/aiida-restapi that referenced this issue Jul 25, 2024
This endpoint needed to be implemented on the FastAPI side as graphql
does not all dynamic field entries. An implementation on the GraphQL
would require to change the format of the output of download_formats
from the old restapi.

I moved part of the code of aiida.restapi.common.identifiers and
aiida.restapi.common.exceptions to this repo that is required to get all
download formats.

Fixes subpoints of issues aiidateam#69 and aiidateam#12
agoscinski added a commit to agoscinski/aiida-restapi that referenced this issue Nov 20, 2024
I moved part of the code of aiida.restapi.common.identifiers and
aiida.restapi.common.exceptions to this repo that is required to get all
download formats.

Fixes subpoints of issues aiidateam#69 and aiidateam#12.
agoscinski added a commit to agoscinski/aiida-restapi that referenced this issue Nov 20, 2024
I moved part of the code of aiida.restapi.common.identifiers and
aiida.restapi.common.exceptions to this repo that is required to get all
download formats.

Fixes subpoints of issues aiidateam#69 and aiidateam#12.
agoscinski added a commit to agoscinski/aiida-restapi that referenced this issue Nov 20, 2024
I moved part of the code of aiida.restapi.common.identifiers and
aiida.restapi.common.exceptions to this repo that is required to get all
download formats.

Fixes subpoints of issues aiidateam#69 and aiidateam#12.
agoscinski added a commit to agoscinski/aiida-restapi that referenced this issue Nov 20, 2024
I moved part of the code of aiida.restapi.common.identifiers and
aiida.restapi.common.exceptions to this repo that is required to get all
download formats.

Fixes subpoints of issues aiidateam#69 and aiidateam#12.
agoscinski added a commit to agoscinski/aiida-restapi that referenced this issue Nov 20, 2024
I moved part of the code of aiida.restapi.common.identifiers and
aiida.restapi.common.exceptions to this repo that is required to get all
download formats.

Fixes subpoints of issues aiidateam#69 and aiidateam#12.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants