Add office-scoped user-list API and management UI - #1734
Conversation
|
Drafting until DB changes are in. Did one endpoint to start so i can check performance of the endpoints as I go. |
MikeNeilson
left a comment
There was a problem hiding this comment.
Seems like a reasonable start.
| crud("/users/{user-name}", new UsersController(metrics), adminRoles); | ||
| get("/roles", new GetRolesController(metrics), adminRoles); | ||
| get("/user/profile", new UserProfileController(metrics), userRoles); | ||
| get("/user/list/{user-list-id}/members", new UserListMembersController(metrics), adminRoles); |
There was a problem hiding this comment.
long term, I'd probably group these by "/user/list" rather that method -> "/user/..."
But that's just me.
|
Added the next user-list GET endpoint under /user/list: GET /user/list/{user-list-id}?office={office} Returns metadata for a single office-scoped user list Separate from the existing members endpoint. EDIT: Going to resolve conflicts at the end when it's ready for merge (not draft) |
|
Spoke with Mike N on 07/24/2026 Needs to be behind a feature flag (togglez) to make sure the DB has it. This will make it not show it in swagger. and a proper unsupported response. Minimum schema version enum. Also to go ahead and PR this to have all the GET/POST/DELETE/etc for one larger review. All the user stuff should have add user handlers/function for grouping so things are more clear. |
Signed-off-by: Charles Graham, SWT <charles.r.graham@usace.army.mil>
Signed-off-by: Charles Graham, SWT <charles.r.graham@usace.army.mil>
Signed-off-by: Charles Graham, SWT <charles.r.graham@usace.army.mil>
Signed-off-by: Charles Graham, SWT <charles.r.graham@usace.army.mil>
Signed-off-by: Charles Graham, SWT <charles.r.graham@usace.army.mil>
Refs #1733.
Summary
Adds the complete, authenticated CDA user-list feature for office-scoped recipient groups:
Related Issue
Closes #1733
Database foundation: HydrologicEngineeringCenter/cwms-database#160. Two follow-up database commits for office scoping and CDA grants remain local for review before a separate database PR.
Validation
origin/developfetched and merged: already up to date:cwms-data-api:integrationTests --tests cwms.cda.api.users.UserListControllerTestIT: 5 passed:cwms-data-api:test --tests cwms.cda.features.CdaFeatureManagerProviderTest: 6 passed with the local runtime feature override isolatednpm run lint: passednpm run build: passedbuildcompleted compilation, WAR packaging, and the bundled UI build; its unit-test phase still reports unrelated existing Windows/JDK 21 fixture and Mockito failuresChecklist