Skip to content

App shell for Service Account Dashboard#103

Merged
jattasNI merged 20 commits intoni:mainfrom
Samuelsotogit:newUserServiceDashboard
Apr 13, 2026
Merged

App shell for Service Account Dashboard#103
jattasNI merged 20 commits intoni:mainfrom
Samuelsotogit:newUserServiceDashboard

Conversation

@reouct
Copy link
Copy Markdown
Collaborator

@reouct reouct commented Apr 1, 2026

Justification

This is a draft of the User Service Dashboard application to demonstrate that if you have sufficient privileges, you can list, create, and delete service account users using the UserService APIs.

#94

Implementation

Web App Design

  • Built using TypeScript + React (Vite) with Nimble design components.
  • App focus:
    • List all service account users in a table. It should show relevant metadata like their name (firstName, lastNmae), id (niuaID), and policies(policies).
      • This has been implemented in the current branch using some fake data. Next step will be to connect to the actual database using the right SystemLink APIs.
    • A way that you can select one or multiple service accounts and delete and edit this service account. There should be a confirmation dialog before actually deleting or editing the account. e.g. "Are you sure you want to delete the selected 23 service accounts?"
      • Selecting one or multiple service accounts using Nimble components has been implemented in the current branch using fake data. Next step for this functionality will be to connect to the actual database using the right SystemLink APIs and create the warning message.
    • A way to add a new service account. Users should be encouraged to follow these guidelines: Both firstName and lastName should be non-empty and use sentence casing. firstName should be a short descriptor that indicates the purpose/job/scope of the account. lastName should be "Service Account", optionally followed by a parenthesized purpose/scope detail. Names should not encode/include terms for the sake of programmatic logic. Properties should be used for that purpose. Readability is the priority, but it is OK to look "internal". GUIDs may be used but are not recommended. Semi-unique or unique-by-convention names are preferred (i.e. role name, routine name, org-specific qualifier).
      • This function has been implemented most of these using fake data. Next step will be to connect to the actual database using the right SystemLink APIs.
    • Include a way to set the policy when creating a service account and to modify the policy of an existing service account.
      • The current implementation can handle to set the policy when creating a service account using some fake data. Next step will be to add the functionality of modify the policy of an existing service account and connect it to the actual database using the SystemLink APIs.
    • Include a way to set the properties of a service account.
      • This has not been implemented in any way yet.
    • Include a way to set the keywords of a service account.
      • This has not been implemented in any way yet.

How to run this app locally.

  • Prerequisites: Node.js, npm.
  • run npm install and then npm run dev

@jattasNI jattasNI changed the title User Service Dashboard App shell for Service Account Dashboard Apr 13, 2026
@jattasNI jattasNI marked this pull request as ready for review April 13, 2026 14:58
@jattasNI
Copy link
Copy Markdown
Collaborator

@reouct I pushed some changes to your branch and merged the PR.

The biggest change was renaming the application, its containing directory, and some of the components. I also changed the create slideout to use the built in Nimble control labels.

@jattasNI jattasNI merged commit 4033d49 into ni:main Apr 13, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants