Skip to content

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

The current spec

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

Edited by Zachary Sabourin