Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Backport workspace-pr-integr][Workspace][Feature]Setup workspace skeleton and implement basic CRUD… #246

Closed

Conversation

SuZhou-Joe
Copy link
Collaborator

@SuZhou-Joe SuZhou-Joe commented Oct 31, 2023

… API (opensearch-project#5075)

  • feature: setup workspace skeleton and implement basic CRUD API on workspace

  • feat: remove useless required plugins and logger typo

  • feat: setup public side skeleton

  • temp: add unit test

  • feat: add function test for workspace CRUD routes

  • feat: use saved objects client instead of internal repository

  • feat: update CHANGELOG

  • feat: exclude permission check wrapper

  • feat: add integration test

  • feat: add configuration

  • feat: enable workspace flag when run workspace related test

  • feat: optimization according to PR comments

  • feat: add JSDoc for workspace client

  • Update src/plugins/workspace/server/integration_tests/routes.test.ts

  • feat: remove hard-coded delay

  • feat: optimize unit test

  • fix: unit test

  • feat: Only allow workspace CRUD APIs to modify workspace metadata.

  • feat: add integration test for new changes


Description

Issues Resolved

Screenshot

Testing the changes

Check List

  • All tests pass
    • yarn test:jest
    • yarn test:jest_integration
    • yarn test:ftr
  • New functionality includes testing.
  • New functionality has been documented.
  • Update CHANGELOG.md
  • Commits are signed per the DCO using --signoff

SuZhou-Joe and others added 20 commits September 15, 2023 17:16
…search-project#130)

* feature: setup workspace skeleton and implement basic CRUD API on workspace

Signed-off-by: Zhou Su <[email protected]>

* feat: remove useless required plugins and logger typo

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: setup public side skeleton

Signed-off-by: SuZhou-Joe <[email protected]>

---------

Signed-off-by: Zhou Su <[email protected]>
Signed-off-by: SuZhou-Joe <[email protected]>
Co-authored-by: Zhou Su <[email protected]>
…ct#146)

* [Workspace] Add acl related functions for workspace

Signed-off-by: gaobinlong <[email protected]>

* Minor change

Signed-off-by: gaobinlong <[email protected]>

---------

Signed-off-by: gaobinlong <[email protected]>
The core workspace module(WorkspaceService) is a foundational component
that enables the implementation of workspace features within OSD
plugins. The purpose of the core workspace module is to provide
a framework for workspace implementations.

This module does not implement specific workspace
functionality but provides the essential infrastructure for plugins to
extend and customize workspace features, it maintains a shared
workspace state(observables) across the entire application to ensure
a consistent and up-to-date view of workspace-related information to
all parts of the application.

---------

Signed-off-by: Yulong Ruan <[email protected]>
…ct#182)

disable github workflows running on windows for development (opensearch-project#161)

---------

Signed-off-by: Yulong Ruan <[email protected]>
Signed-off-by: SuZhou-Joe <[email protected]>
Co-authored-by: SuZhou-Joe <[email protected]>
* temp: add unit test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add function test for workspace CRUD routes

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: use saved objects client instead of internal repository

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update CHANGELOG

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: exclude permission check wrapper

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add integration test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add configuration

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: enable workspace flag when run workspace related test

Signed-off-by: SuZhou-Joe <[email protected]>

---------

Signed-off-by: SuZhou-Joe <[email protected]>
Signed-off-by: Yulong Ruan <[email protected]>
…PI (opensearch-project#185)

* [Workspace] Add workspaces parameters to all saved objects API

Signed-off-by: gaobinlong <[email protected]>

* feat: update snapshot

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: optimize logic when checkConflict and bulkCreate (opensearch-project#189)

* feat: optimize logic when checkConflict and bulkCreate

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add options.workspace check

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: throw error when workspace check error in repository create

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: modify judgement

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: always get objects from DB when create-with-override

Signed-off-by: SuZhou-Joe <[email protected]>

---------

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: call get when create with override

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update test according to count

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add integration test

Signed-off-by: SuZhou-Joe <[email protected]>

* fix: unit test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: regenerate ids when import

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add more unit test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: minor changes logic on repository

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update unit test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: optimization according to comments

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: optimize code

Signed-off-by: SuZhou-Joe <[email protected]>

---------

Signed-off-by: gaobinlong <[email protected]>
Signed-off-by: SuZhou-Joe <[email protected]>
Co-authored-by: SuZhou-Joe <[email protected]>
…ement and SavedObject management as standalone app, retire dashboard management (opensearch-project#208)

* feat: init retire dashboard management

Signed-off-by: tygao <[email protected]>

* move index pattern to Library (opensearch-project#91)

* move index pattern to libaray

Signed-off-by: Hailong Cui <[email protected]>

* Remove it from Dashboards management when workspace is on

Signed-off-by: Hailong Cui <[email protected]>

---------

Signed-off-by: Hailong Cui <[email protected]>

index pattern always show under library

Signed-off-by: Hailong Cui <[email protected]>

* functional test

Signed-off-by: Hailong Cui <[email protected]>

* feat: move data source / advanced settings / saved objects management out of Dashboard management

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update snapshot

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update snapshot

Signed-off-by: SuZhou-Joe <[email protected]>

* fix: fix failed overview header ut

Signed-off-by: tygao <[email protected]>

* fix: deeplink inside saved objects management page

Signed-off-by: SuZhou-Joe <[email protected]>

* fix: unit test fail

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add unit test for each page wrapper

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: some optimization

Signed-off-by: SuZhou-Joe <[email protected]>

* remove management dependency

Signed-off-by: Hailong Cui <[email protected]>

* test: update cypress config to use workspace branch

Signed-off-by: tygao <[email protected]>

* Replace ManagementAppMountParams with AppMountParameters

Signed-off-by: Hailong Cui <[email protected]>

---------

Signed-off-by: tygao <[email protected]>
Signed-off-by: Hailong Cui <[email protected]>
Signed-off-by: SuZhou-Joe <[email protected]>
Co-authored-by: Hailong Cui <[email protected]>
Co-authored-by: SuZhou-Joe <[email protected]>
…pensearch-project#215)

Update test description per comment

Signed-off-by: Yulong Ruan <[email protected]>
Co-authored-by: Miki <[email protected]>
* feat: enable workspace id in basePath

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add unit test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: remove useless test object id

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add unit test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add unit test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update snapshot

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: move formatUrlWithWorkspaceId to core/public/utils

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: remove useless variable

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: remove useless variable

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: optimization

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: optimization

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: optimization

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: move workspace/utils to core

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: move workspace/utils to core

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update comment

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: optimize code

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update unit test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: optimization

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add space under license

Signed-off-by: SuZhou-Joe <[email protected]>

* fix: unit test

Signed-off-by: SuZhou-Joe <[email protected]>

---------

Signed-off-by: SuZhou-Joe <[email protected]>
* Delete saved objects by workspace

Signed-off-by: Hailong Cui <[email protected]>

fix osd boostrap

Signed-off-by: Hailong Cui <[email protected]>

* add unit test

Signed-off-by: Hailong Cui <[email protected]>

* fix can't delete workspace due to invalid permission

Signed-off-by: Hailong Cui <[email protected]>

---------

Signed-off-by: Hailong Cui <[email protected]>
…ect#210)

* feat: import sample data saved objects to workspace

Signed-off-by: Lin Wang <[email protected]>

* refactor: simplify sample data saved object id prefix logic (#1)

* refactor: simplify sample data saved object id prefix logic

Signed-off-by: Yulong Ruan <[email protected]>

* fix: align the prefix order of sample data install and uninstall

rename appendPrefix to addPrefix

Signed-off-by: Yulong Ruan <[email protected]>

---------

Signed-off-by: Yulong Ruan <[email protected]>

* refactor: assigned copied saved objects to new variables

Signed-off-by: Lin Wang <[email protected]>

---------

Signed-off-by: Lin Wang <[email protected]>
Signed-off-by: Yulong Ruan <[email protected]>
Co-authored-by: Yulong Ruan <[email protected]>
* consume permissions in repository

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: consume permissions in serializer

Signed-off-by: SuZhou-Joe <[email protected]>

* Add unit tests for consuming permissions in repository

Signed-off-by: gaobinlong <[email protected]>

* feat: update

Signed-off-by: SuZhou-Joe <[email protected]>

* fix: unit test

Signed-off-by: SuZhou-Joe <[email protected]>

---------

Signed-off-by: SuZhou-Joe <[email protected]>
Signed-off-by: gaobinlong <[email protected]>
Co-authored-by: gaobinlong <[email protected]>
…ect#192)

* add util function to filter workspace feature by wildcard

Signed-off-by: Yulong Ruan <[email protected]>

* resolve conflict

Signed-off-by: yuye-aws <[email protected]>

* update tests and snapshots

Signed-off-by: yuye-aws <[email protected]>

* small adjustment to left menu

Signed-off-by: yuye-aws <[email protected]>

* resolve git conflict

Signed-off-by: yuye-aws <[email protected]>

* rename nav link service function

Signed-off-by: yuye-aws <[email protected]>

* unit test for workspace plugin.ts

Signed-off-by: yuye-aws <[email protected]>

* update snapshots

Signed-off-by: yuye-aws <[email protected]>

* optimize code

Signed-off-by: yuye-aws <[email protected]>

* optimize code

Signed-off-by: yuye-aws <[email protected]>

* optimize code

Signed-off-by: yuye-aws <[email protected]>

* optimize code

Signed-off-by: yuye-aws <[email protected]>

* optimize code

Signed-off-by: yuye-aws <[email protected]>

* optimize code

Signed-off-by: yuye-aws <[email protected]>

---------

Signed-off-by: Yulong Ruan <[email protected]>
Signed-off-by: yuye-aws <[email protected]>
Co-authored-by: Yulong Ruan <[email protected]>
* Add copy saved objects API

Signed-off-by: gaobinlong <[email protected]>

* Modify file header

Signed-off-by: gaobinlong <[email protected]>

---------

Signed-off-by: gaobinlong <[email protected]>
…pensearch-project#236)

* feat: create management / public workspaces when calling list api

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: fix bootstrap

Signed-off-by: SuZhou-Joe <[email protected]>

* fix: integration test

Signed-off-by: SuZhou-Joe <[email protected]>

* fix: flaky test

Signed-off-by: SuZhou-Joe <[email protected]>

---------

Signed-off-by: SuZhou-Joe <[email protected]>
… API (opensearch-project#5075)

* feature: setup workspace skeleton and implement basic CRUD API on workspace

Signed-off-by: Zhou Su <[email protected]>

* feat: remove useless required plugins and logger typo

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: setup public side skeleton

Signed-off-by: SuZhou-Joe <[email protected]>

* temp: add unit test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add function test for workspace CRUD routes

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: use saved objects client instead of internal repository

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update CHANGELOG

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: exclude permission check wrapper

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add integration test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add configuration

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: enable workspace flag when run workspace related test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: optimization according to PR comments

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add JSDoc for workspace client

Signed-off-by: SuZhou-Joe <[email protected]>

* Update src/plugins/workspace/server/integration_tests/routes.test.ts

Co-authored-by: Josh Romero <[email protected]>
Signed-off-by: SuZhou-Joe <[email protected]>

* feat: remove hard-coded delay

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: optimize unit test

Signed-off-by: SuZhou-Joe <[email protected]>

* fix: unit test

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: Only allow workspace CRUD APIs to modify workspace metadata.

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add integration test for new changes

Signed-off-by: SuZhou-Joe <[email protected]>

---------

Signed-off-by: Zhou Su <[email protected]>
Signed-off-by: SuZhou-Joe <[email protected]>
Co-authored-by: Zhou Su <[email protected]>
Co-authored-by: Josh Romero <[email protected]>
@codecov-commenter
Copy link

codecov-commenter commented Oct 31, 2023

Codecov Report

Merging #246 (a556f5f) into workspace-pr-integr (8ff9e88) will decrease coverage by 10.62%.
The diff coverage is n/a.

@@                   Coverage Diff                    @@
##           workspace-pr-integr     #246       +/-   ##
========================================================
- Coverage                66.25%   55.63%   -10.62%     
========================================================
  Files                     3396     3130      -266     
  Lines                    65141    61387     -3754     
  Branches                 10508     9870      -638     
========================================================
- Hits                     43159    34153     -9006     
- Misses                   19350    25024     +5674     
+ Partials                  2632     2210      -422     
Flag Coverage Δ
Linux_ ?
_1 35.01% <ø> (?)
_2 ?
_3 44.45% <ø> (-0.01%) ⬇️
_4 34.85% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
src/plugins/workspace/public/plugin.ts 79.54% <ø> (ø)

... and 751 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Signed-off-by: SuZhou-Joe <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants