Implement phase 1 of account/profile API
We would like to decouple the profile/api endpoint from Drupal. I expect this project to be a 2 quarter MBO.
Q1. Phase 1
Q2. We implement the new profile API in D9 (Drupal)
Q3. We finalize the endpoint and deploy to production. \
The user info endpoint is documented here: https://api.eclipse.org/#tag/User-Profiles
The new profile endpoint on accounts.eclipse.org will only return data that we track in that website. The goal of this new Quarkus API will be to aggregate user data from different data sources such as accounts.eclipse.org, foundationdb, ldap,eclipsedb...
Data you can expect from the new accounts.eclipse.org profile endpoint
{
"uid": 9,
"name": "cguindon",
"first_name": "Christopher",
"last_name": "Guindon",
"twitter_handle": "chrisguindon",
"org": "Eclipse Foundation",
"job_title": "Lead Web Application Developper",
"website": "http://www.chrisguindon.com/",
"country": {
"code": "CA",
"name": "Canada"
},
"bio": "Hello world! When I am not at a computer, which is rare, I spend my time playing the drums, watching hockey or at the top of a hill snowboarding. I am also very passionate about music and live concerts!",
"interests": [
"Snowboarding",
"webdev",
"php",
"javascript",
"Drums"
]
}
Data that we need to fetch from different data sources
{
"mail": null, // LDAP
"eca": {
"signed": true // FOUNDATION DB
},
"is_committer": true, //FOUNDATION DB
"friends": {
"friend_id": 6104 // Eclipse database
},
}
Since the new API does not exist, you can use the existing endpoint to fetch data that you can expect from the new API. The idea is that you will simply need to update the URL from api.eclipse.org/account/profile to accounts.eclipse.org/account/profile once it's ready.
Not in the scope for phase 1.
- forums post
- I will try to deprecate this functionality in Q1
- Project Relationship
- The data here should be available in the foundation DB
- Gerrit review count
- This requires fetching data from Gerrit API
- Mailing list subscriptions
- I believe this data is available in the eclipse database. However, we might want to use the new mailing list API for this.
- Current user / Search for a user
- Does not need to integrate with LDAP for POC
@zacharysabourin Can you start by breaking down this project into smaller issues/tasks that you think is needed to complete for phase 1? This can be done by adding tasks to this issue or by creating new issues for bigger and more complex tasks.
I've added some of the issues that have been created so far.