Phase 1 - POC - Migration from Drupal
The Task
As part of the migration from Drupal 7, the Eclipse USS
service is moving to Quarkus. Below is an outlined description of the service.
The current logic. One main thing to note is the use of the required header params in the Drupal version.
The current DB table definition uses the eclipse_api
DB and the eclipse_api_blob
table.
Endpoints
ROUTE | METHOD | SCOPE | DESCRIPTION | RETURN CODES |
---|---|---|---|---|
/uss/blob/ |
GET | uss_retrieve |
Fetch list of blobs for user | 200, 401 |
/uss/blob/{application_token}/{blob_key} |
GET | uss_retrieve |
Search specific user blob object | 200, 401 |
/uss/blob/{application_token}/{blob_key} |
DEL | uss_update |
Delete a blob for a user | 204, 401 |
/uss/blob/{application_token}/{blob_key} |
PUT | uss_update |
Update/create a blob for a user | 200, 201, 401 |
Logging the API's usage
Each endpoint will invoke a hook that logs the current action. The hook implementations are here: https://gitlab.eclipse.org/eclipsefdn/it/websites/drupal/eclipse_api/-/blob/7.x-1.x/eclipse_api.module
Tracking MPC Favorites
This functionality is not being migrated as of right now, but may need to be added if the plan listed here does not succeed.
The deletion process checks if the token and key match the MPC favorites token/key pair and deletes all favorites records that match the user's uid.
The create/update hook also makes a call to EclipseApiHelper::addRemoveFavorites($blob)
. This process parses the blob for content_ids and adds/removes any records in the mpc_favorites
table