USACE / USACE/cwms-data-api

Add Bio, Picture, and Filtering to the USERS endpoints

Open
#1,496 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
28
Forks
25
Avg merge
4d 22h
Merged PRs (30d)
20

Description

Is your feature request related to a problem? Please describe.
I'm making an internal bio page for SWT. We have one now.

However, I would like our admin (and users) to be able to alter their own profiles. This make it so a dev does not need to tweak a static config (json file) for this.

Describe the solution you'd like
User clicks their profile icon in a web interface, hits the edit button for bio and adds the text. Clicks the image to upload their image. Then they hit save.

This uses the CDA endpoints to write this data to CDA.

NO PII OR PHI - OPT IN FOR USERS

Describe alternatives you've considered
Write data to a JSON file in a private source repository, which requires a dev to update it (gets out of date with turnover)

Write data to the blob endpoint when the blob endpoints are PRIVATE

Additional context
Would also like to have category/other type fields to allow for filtering.

Need to be able to set user categories outside the usual roles.

Want category/search features on the users endpoint that could let you say

"Give me all users for SWT that are in the "web/about" category" to decide explicitly which users might show up in a given context.
or
"Give me all users with the 'Create TimeSeries'" role - (Not needed for this issue but could be another filter column)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by tracing the existing USERS and CDA endpoints, then review how the private blob endpoint and profile data are handled. Define the supported bio, picture, category, filtering, and opt-in behavior before implementation; done should include documented endpoint behavior and tests for profile updates and filtering.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.