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

feat: Allow users to sign up as beta-testers #1959

Merged
merged 1 commit into from
Nov 12, 2024
Merged

Conversation

zusorio
Copy link
Member

@zusorio zusorio commented Nov 5, 2024

Closes #1952

Copy link

github-actions bot commented Nov 5, 2024

The generated OpenAPI client is not up to date with the latest changes in the OpenAPI specification.
Please run make openapi locally and commit the changes.

Copy link

github-actions bot commented Nov 5, 2024

API Changelog 4.12.1.dev8+g312d1887

GET /api/v1/events

  • added the required property '/items/executor/beta_tester' to the response with the '200' status
  • added the required property '/items/user/beta_tester' to the response with the '200' status

GET /api/v1/projects/{project_slug}/events

  • added the required property 'items/items/executor/beta_tester' to the response with the '200' status
  • added the required property 'items/items/user/beta_tester' to the response with the '200' status

GET /api/v1/projects/{project_slug}/models

  • ⚠️ the '/items/version/config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the '/items/version/config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property '/items/version/config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property '/items/version/config/sessions/persistent/image/regular' to the response with the '200' status

POST /api/v1/projects/{project_slug}/models

  • ⚠️ the 'version/config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the 'version/config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property 'version/config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property 'version/config/sessions/persistent/image/regular' to the response with the '200' status

GET /api/v1/projects/{project_slug}/models/{model_slug}

  • ⚠️ the 'version/config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the 'version/config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property 'version/config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property 'version/config/sessions/persistent/image/regular' to the response with the '200' status

PATCH /api/v1/projects/{project_slug}/models/{model_slug}

  • ⚠️ the 'version/config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the 'version/config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property 'version/config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property 'version/config/sessions/persistent/image/regular' to the response with the '200' status

GET /api/v1/projects/{project_slug}/models/{model_slug}/backups/pipelines/{pipeline_id}/runs

  • added the required property 'items/items/triggerer/beta_tester' to the response with the '200' status

POST /api/v1/projects/{project_slug}/models/{model_slug}/backups/pipelines/{pipeline_id}/runs

  • added the required property 'triggerer/beta_tester' to the response with the '200' status

GET /api/v1/projects/{project_slug}/models/{model_slug}/backups/pipelines/{pipeline_id}/runs/{pipeline_run_id}

  • added the required property 'triggerer/beta_tester' to the response with the '200' status

GET /api/v1/projects/{project_slug}/users

  • added the required property '/items/user/beta_tester' to the response with the '200' status

POST /api/v1/projects/{project_slug}/users

  • added the required property 'user/beta_tester' to the response with the '200' status

GET /api/v1/projects/{project_slug}/users/current

  • added the required property 'user/beta_tester' to the response with the '200' status

GET /api/v1/sessions

  • ⚠️ the '/items/version/config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the '/items/version/config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property '/items/owner/beta_tester' to the response with the '200' status
  • added the required property '/items/shared_with/items/user/beta_tester' to the response with the '200' status
  • added the required property '/items/version/config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property '/items/version/config/sessions/persistent/image/regular' to the response with the '200' status

POST /api/v1/sessions

  • ⚠️ the 'version/config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the 'version/config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property 'owner/beta_tester' to the response with the '200' status
  • added the required property 'shared_with/items/user/beta_tester' to the response with the '200' status
  • added the required property 'version/config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property 'version/config/sessions/persistent/image/regular' to the response with the '200' status

GET /api/v1/sessions/{session_id}

  • ⚠️ the 'version/config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the 'version/config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property 'owner/beta_tester' to the response with the '200' status
  • added the required property 'shared_with/items/user/beta_tester' to the response with the '200' status
  • added the required property 'version/config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property 'version/config/sessions/persistent/image/regular' to the response with the '200' status

POST /api/v1/sessions/{session_id}/shares

  • added the required property 'user/beta_tester' to the response with the '200' status

GET /api/v1/settings/configurations/global

  • added the required property 'beta' to the response with the '200' status

PUT /api/v1/settings/configurations/global

  • added the new optional request property 'beta'
  • added the required property 'beta' to the response with the '200' status

GET /api/v1/tools/*/versions

  • ⚠️ the '/items/config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the '/items/config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property '/items/config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property '/items/config/sessions/persistent/image/regular' to the response with the '200' status

GET /api/v1/tools/{_tool_id}/versions/default

  • ⚠️ the 'config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the 'config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property 'config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property 'config/sessions/persistent/image/regular' to the response with the '200' status

GET /api/v1/tools/{tool_id}/versions

  • ⚠️ the '/items/config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the '/items/config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property '/items/config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property '/items/config/sessions/persistent/image/regular' to the response with the '200' status

POST /api/v1/tools/{tool_id}/versions

  • ⚠️ removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the 'config/sessions/persistent/image' request property 'anyOf' list
  • ⚠️ the 'config/sessions/persistent/image' request property type/format changed from ''/'' to 'object'/''
  • ⚠️ the 'config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • added the new optional request property 'config/sessions/persistent/image/beta'
  • added the new optional request property 'config/sessions/persistent/image/regular'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the 'config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property 'config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property 'config/sessions/persistent/image/regular' to the response with the '200' status

GET /api/v1/tools/{tool_id}/versions/{version_id}

  • ⚠️ the 'config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the 'config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property 'config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property 'config/sessions/persistent/image/regular' to the response with the '200' status

PUT /api/v1/tools/{tool_id}/versions/{version_id}

  • ⚠️ removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the 'config/sessions/persistent/image' request property 'anyOf' list
  • ⚠️ the 'config/sessions/persistent/image' request property type/format changed from ''/'' to 'object'/''
  • ⚠️ the 'config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • added the new optional request property 'config/sessions/persistent/image/beta'
  • added the new optional request property 'config/sessions/persistent/image/regular'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the 'config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property 'config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property 'config/sessions/persistent/image/regular' to the response with the '200' status

GET /api/v1/users

  • added the required property '/items/beta_tester' to the response with the '200' status

POST /api/v1/users

  • added the new optional request property 'beta_tester'
  • added the required property 'beta_tester' to the response with the '200' status

GET /api/v1/users/beta

  • endpoint added

GET /api/v1/users/current

  • added the required property 'beta_tester' to the response with the '200' status

GET /api/v1/users/{user_id}

  • added the required property 'beta_tester' to the response with the '200' status

PATCH /api/v1/users/{user_id}

  • added the new optional request property 'beta_tester'
  • added the required property 'beta_tester' to the response with the '200' status

GET /api/v1/users/{user_id}/events

  • added the required property '/items/executor/beta_tester' to the response with the '200' status
  • added the required property '/items/user/beta_tester' to the response with the '200' status

GET /api/v1/users/{user_id}/sessions

  • ⚠️ the '/items/version/config/sessions/persistent/image' response's property type/format changed from ''/'' to 'object'/'' for status '200'
  • removed 'subschema Add License and copyright statement #1, subschema Small redesign & unbranding #2' from the '/items/version/config/sessions/persistent/image' response property 'anyOf' list for the response status '200'
  • added the required property '/items/owner/beta_tester' to the response with the '200' status
  • added the required property '/items/shared_with/items/user/beta_tester' to the response with the '200' status
  • added the required property '/items/version/config/sessions/persistent/image/beta' to the response with the '200' status
  • added the required property '/items/version/config/sessions/persistent/image/regular' to the response with the '200' status

Copy link

codecov bot commented Nov 5, 2024

Codecov Report

Attention: Patch coverage is 94.44444% with 3 lines in your changes missing coverage. Please review.

Project coverage is 84.71%. Comparing base (f4fe754) to head (f6c4883).
Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
backend/capellacollab/users/routes.py 88.23% 2 Missing ⚠️
...end/capellacollab/settings/configuration/routes.py 66.66% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1959      +/-   ##
==========================================
+ Coverage   84.63%   84.71%   +0.08%     
==========================================
  Files         211      211              
  Lines        6945     6995      +50     
  Branches      483      491       +8     
==========================================
+ Hits         5878     5926      +48     
- Misses        904      906       +2     
  Partials      163      163              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

github-actions bot commented Nov 5, 2024

A Storybook preview is available for commit 312d188.
➡️ View Storybook
➡️ View Chromatic build

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@zusorio zusorio marked this pull request as ready for review November 6, 2024 14:25
@zusorio zusorio requested a review from MoritzWeber0 as a code owner November 6, 2024 14:25

This comment has been minimized.

@MoritzWeber0 MoritzWeber0 force-pushed the beta-testing branch 2 times, most recently from 0f025de to b48ca51 Compare November 11, 2024 05:40

This comment has been minimized.

This comment has been minimized.

Copy link
Member

@MoritzWeber0 MoritzWeber0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the implementation! Just some smaller comments, the general structure looks good.

backend/capellacollab/feedback/util.py Outdated Show resolved Hide resolved
backend/capellacollab/core/database/migration.py Outdated Show resolved Hide resolved
backend/capellacollab/sessions/util.py Outdated Show resolved Hide resolved
backend/capellacollab/tools/models.py Outdated Show resolved Hide resolved
backend/capellacollab/users/exceptions.py Outdated Show resolved Hide resolved
backend/tests/test_beta.py Outdated Show resolved Hide resolved

This comment has been minimized.

Copy link

sonarcloud bot commented Nov 12, 2024

Copy link

This report was generated by comparing 312d188 with f4fe754.
If you would like to check difference, please check here.

new items

ArtifactName: reg

item count
pass 342
change 0
new 4
delete 0
📝 Report

New Items

Settings Components_Users Profile_Beta Testing_Opt Into Beta_desktop.png

NewItem

Settings Components_Users Profile_Beta Testing_Opt Into Beta_mobile.png

NewItem

Settings Components_Users Profile_Beta Testing_Opt Out Of Beta_desktop.png

NewItem

Settings Components_Users Profile_Beta Testing_Opt Out Of Beta_mobile.png

NewItem

@MoritzWeber0 MoritzWeber0 merged commit 4fe9a8d into main Nov 12, 2024
31 checks passed
@MoritzWeber0 MoritzWeber0 deleted the beta-testing branch November 12, 2024 12:43
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.

Offer a beta program for new features
2 participants