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

Internal Module Permission #712

Merged
merged 1 commit into from
May 23, 2022
Merged

Conversation

helllllllder
Copy link
Collaborator

@helllllllder helllllllder commented May 20, 2022

What

  • Create check_module_permission to set the module permission on a user(only if it is a module)
  • Update WeniOIDCAuthenticationBackend's create_user and update_user to set module permission if it is a module user.

Why

  • Start the removal proccess of gRPC

…icationBackend to add permission if the user is a module
@sonarcloud
Copy link

sonarcloud bot commented May 20, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@coveralls
Copy link

Pull Request Test Coverage Report for Build 4516

  • 1 of 7 (14.29%) changed or added relevant lines in 2 files are covered.
  • 1 unchanged line in 1 file lost coverage.
  • Overall coverage decreased (-0.09%) to 79.857%

Changes Missing Coverage Covered Lines Changed/Added Lines %
bothub/authentication/authorization.py 1 3 33.33%
bothub/api/v2/internal/permissions.py 0 4 0.0%
Files with Coverage Reduction New Missed Lines %
bothub/authentication/authorization.py 1 50.68%
Totals Coverage Status
Change from base Build 4490: -0.09%
Covered Lines: 4127
Relevant Lines: 5168

💛 - Coveralls

@helllllllder helllllllder merged commit 38175c2 into develop May 23, 2022
helllllllder added a commit that referenced this pull request Jul 21, 2022
* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* Develop (#709)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module (#712)

* Feature/internal endpoint organization (#713)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* Feature/internal endpoint repository (#714)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* code smells

* duplicated lines

* fix code smells

* Feature/internal endpoint user (#715)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* Feature/connect rest client (#716)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* implement connect rest client

* fix code smells

* black

* Feature/add csp (#717)

* Develop (#709) (#710)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* add regex remotion of special characters from username when creating from keycloak

* add django_csp and settings

* configure csp

* fix settings

* black

* Feature/internal endpoint user (#718)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* fix user endpoints

* Feature/add csp (#719)

* Develop (#709) (#710)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* add regex remotion of special characters from username when creating from keycloak

* add django_csp and settings

* configure csp

* fix settings

* black

* fix csp settings

* fix csp settings

* Feature/internal endpoint user (#720)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* fix user endpoints

* fix connect client

* Fix the repository get_user_authorization method

The updated method compares repository and organization authorizations and uses the highest role level without overwriting the repository's authorization level

* Update rule with repository authorization role overwriting

The method now overwrites the repository's authorization role if is lower than 4 (i.e. ROLE_TRANSLATOR), as of this level on, it no longer has corresponding roles at the client app.

* Linting

* feat: update list_project_organization endpoint removing the celery call

* feat: update list_project_organization endpoint removing the celery call (#725)

* feat: update all code that called celery tasks for communicating with connect to calls directly into ConnectRESTClient

* Feature/remove rest client from celery (#726)

* feat: update list_project_organization endpoint removing the celery call

* feat: update all code that called celery tasks for communicating with connect to calls directly into ConnectRESTClient

* bugfix: remove task.result after condition to user or not grpc endpoints, as it was conflicting with the rest call

* feat: cache request result in list_classifiers

Co-authored-by: Victor Salles <victorsalles1997@gmail.com>
Co-authored-by: vitusalis <49169676+vitusalis@users.noreply.github.com>
helllllllder added a commit that referenced this pull request Jul 27, 2022
* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module (#712)

* Feature/internal endpoint organization (#713)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* Feature/internal endpoint repository (#714)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* code smells

* duplicated lines

* fix code smells

* Feature/internal endpoint user (#715)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* Feature/connect rest client (#716)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* implement connect rest client

* fix code smells

* black

* Feature/add csp (#717)

* Develop (#709) (#710)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* add regex remotion of special characters from username when creating from keycloak

* add django_csp and settings

* configure csp

* fix settings

* black

* Feature/internal endpoint user (#718)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* fix user endpoints

* Feature/add csp (#719)

* Develop (#709) (#710)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* add regex remotion of special characters from username when creating from keycloak

* add django_csp and settings

* configure csp

* fix settings

* black

* fix csp settings

* fix csp settings

* Feature/internal endpoint user (#720)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* fix user endpoints

* fix connect client

* Fix the repository get_user_authorization method

The updated method compares repository and organization authorizations and uses the highest role level without overwriting the repository's authorization level

* Update rule with repository authorization role overwriting

The method now overwrites the repository's authorization role if is lower than 4 (i.e. ROLE_TRANSLATOR), as of this level on, it no longer has corresponding roles at the client app.

* Linting

* feat: update list_project_organization endpoint removing the celery call (#725)

* Feature/remove rest client from celery (#726)

* feat: update list_project_organization endpoint removing the celery call

* feat: update all code that called celery tasks for communicating with connect to calls directly into ConnectRESTClient

* Feature/remove rest client from celery (#727)

* feat: update list_project_organization endpoint removing the celery call

* feat: update all code that called celery tasks for communicating with connect to calls directly into ConnectRESTClient

* bugfix: remove task.result after condition to user or not grpc endpoints, as it was conflicting with the rest call

* Feature/remove rest client from celery (#730)

* Develop (#709) (#710)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* feat: update list_project_organization endpoint removing the celery call

* feat: update all code that called celery tasks for communicating with connect to calls directly into ConnectRESTClient

* bugfix: remove task.result after condition to user or not grpc endpoints, as it was conflicting with the rest call

* feat: cache request result in list_classifiers

* Feature/remove rest client from celery (#731)

* Develop (#709) (#710)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* feat: update list_project_organization endpoint removing the celery call

* feat: update all code that called celery tasks for communicating with connect to calls directly into ConnectRESTClient

* bugfix: remove task.result after condition to user or not grpc endpoints, as it was conflicting with the rest call

* feat: cache request result in list_classifiers

* feat: delete cache when creating and removing a classifier

* Revert "Feature/remove rest client from celery (#731)" (#733)

This reverts commit 4a0b7f2.

* Revert "Feature/remove rest client from celery (#730)" (#734)

This reverts commit 8e42c7d.

Co-authored-by: Victor Salles <victorsalles1997@gmail.com>
Co-authored-by: vitusalis <49169676+vitusalis@users.noreply.github.com>
helllllllder added a commit that referenced this pull request Jul 27, 2022
* Develop (#709)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* feat: Change gRPC call to REST calls

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module (#712)

* Feature/internal endpoint organization (#713)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* Feature/internal endpoint repository (#714)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* code smells

* duplicated lines

* fix code smells

* Feature/internal endpoint user (#715)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* Feature/connect rest client (#716)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* implement connect rest client

* fix code smells

* black

* Feature/add csp (#717)

* Develop (#709) (#710)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* add regex remotion of special characters from username when creating from keycloak

* add django_csp and settings

* configure csp

* fix settings

* black

* Feature/internal endpoint user (#718)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* fix user endpoints

* Feature/add csp (#719)

* Develop (#709) (#710)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* add regex remotion of special characters from username when creating from keycloak

* add django_csp and settings

* configure csp

* fix settings

* black

* fix csp settings

* fix csp settings

* Feature/internal endpoint user (#720)

* Create internal module, module permission and updated WeniOIDCAuthenticationBackend to add permission if the user is a module

* Add organization internal endpoints

* add repository endpoints

* add user endpoints

* flake8 and black

* fix user endpoints

* fix connect client

* Fix the repository get_user_authorization method

The updated method compares repository and organization authorizations and uses the highest role level without overwriting the repository's authorization level

* Update rule with repository authorization role overwriting

The method now overwrites the repository's authorization role if is lower than 4 (i.e. ROLE_TRANSLATOR), as of this level on, it no longer has corresponding roles at the client app.

* Linting

* feat: update list_project_organization endpoint removing the celery call (#725)

* Feature/remove rest client from celery (#726)

* feat: update list_project_organization endpoint removing the celery call

* feat: update all code that called celery tasks for communicating with connect to calls directly into ConnectRESTClient

* Feature/remove rest client from celery (#727)

* feat: update list_project_organization endpoint removing the celery call

* feat: update all code that called celery tasks for communicating with connect to calls directly into ConnectRESTClient

* bugfix: remove task.result after condition to user or not grpc endpoints, as it was conflicting with the rest call

* Feature/remove rest client from celery (#730)

* Develop (#709) (#710)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* feat: update list_project_organization endpoint removing the celery call

* feat: update all code that called celery tasks for communicating with connect to calls directly into ConnectRESTClient

* bugfix: remove task.result after condition to user or not grpc endpoints, as it was conflicting with the rest call

* feat: cache request result in list_classifiers

* Feature/remove rest client from celery (#731)

* Develop (#709) (#710)

* Fix: Remove ai from project (#707)

* remove document deletion from delete_nlp_logs task

* inconsistency number and debug errors fixed

* add user_email to remove_authorizations_project

* Feature/health check blocklist (#708)

* remove document deletion from delete_nlp_logs task

* add a blocklist for not saving logs depending on the authorization user

* inconsistency number and debug errors fixed

* change the REPOSITORY_BLOCK_USER_LOGS values from users to repository authorizations

* change readme

* pass on sonarcloud

* change admins settings

* transform uuid into string

* convert uuid into string at test_blocked_user

* feat: update list_project_organization endpoint removing the celery call

* feat: update all code that called celery tasks for communicating with connect to calls directly into ConnectRESTClient

* bugfix: remove task.result after condition to user or not grpc endpoints, as it was conflicting with the rest call

* feat: cache request result in list_classifiers

* feat: delete cache when creating and removing a classifier

* Revert "Feature/remove rest client from celery (#731)" (#733)

This reverts commit 4a0b7f2.

* Revert "Feature/remove rest client from celery (#730)" (#734)

This reverts commit 8e42c7d.

Co-authored-by: Victor Salles <victorsalles1997@gmail.com>
Co-authored-by: vitusalis <49169676+vitusalis@users.noreply.github.com>

Co-authored-by: Victor Salles <victorsalles1997@gmail.com>
Co-authored-by: vitusalis <49169676+vitusalis@users.noreply.github.com>
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.

None yet

3 participants