Skip to content

Personal private workspace

Adil Bektursunov edited this page Mar 26, 2025 · 1 revision

Design Item ID: DI-Portal-GF-009
Design Item Name: Personal Private Workspace
Related Design Items: -
Related API:

  • Create personal private package (POST /api/v2/users/{userId}/space)

Revision History:

Date Description

Description

Each user in Portal can create personal workspace that will be available only for the current user. Other users do not have read access to the workspace and all groups/package/dashboard inside this workspace. However, owner of personal workspace can give permissions to work with groups/package/dashboard for other users, but permission cannot be given to the entire workspace.
Only one private workspace can exist per user and the user who created personal workspace has Admin role for this space.
"User" table in db has required column "PrivateWorkspaceId". In case if there is integration with e.g. ADFS, PrivateWorkspaceId is automatically generated for the user by userId. During local user creation, there is an ability to specify PrivateWorkspaceId, but if it is not specified, then it will be generated automatically.

Start Point

  1. User navigates to APIHUB Portal → Private

Execution

To create a private workspace:

  1. User opens the Private tab.
  2. The system shows the page with the Create Private Workspace button if the user does not have a private workspace.
  3. User clicks Create Private Workspace button.
  4. The system creates a private workspace and opens it.
    • API to create the private workspace: POST /api/v2/users/{userId}/space
      • userId = Login of the current user

Screen View

tbd

Processes description
Technical articles
Design Items

General Functionality

Package Version

Dashboard version editing/creation

Package/Dashboard Settings

Package Settings

Operation Content View

Comparison

Portal Global Settings

Portal User Settings

Custom OpenAPI Extensions

Global Search

Agent

VS Code Extension

E2E Regression

UI Regression

Clone this wiki locally