aboutsummaryrefslogtreecommitdiff
path: root/gn_auth/auth/authorisation/resources
AgeCommit message (Expand)Author
2024-11-22Use code in gn_libs for MySQL/MariaDB connection....Update the application to use the gn_libs code for connecting to the database, rather than using a local module. Frederick Muriuki Muriithi
2024-10-09Put routes behind auth.Frederick Muriuki Muriithi
2024-10-03BugFix: Fetch also roles assigned to user...When fetching the resource roles, fetch also any roles that are assigned to the user for that resource. Frederick Muriuki Muriithi
2024-10-03BugFix: Remove duplicates from resources list...Issue: https://issues.genenetwork.org/issues/gn-auth/resources-duplicates-in-resources-list The query was returning multiple instances of the same resource in situations where a user had more than one role of a particular resource. Frederick Muriuki Muriithi
2024-09-30Refactor: Initialise phenotype package...* Move code into a new phenotypes package and update references. * Add new functions to fetch linked resources from GN3 data identifiers — this is useful for auth * Provide endpoint to fetch authorisation details for a specific phenotype. Frederick Muriuki Muriithi
2024-09-30Extract function to prevent circular dependencies.Frederick Muriuki Muriithi
2024-09-26Add type annotation to variable.Frederick Muriuki Muriithi
2024-09-26Bugfix: Fix bugs that were preventing creation of geno resource...Fix the bugs that were causing the creation of a genotype resource via API to fail. Frederick Muriuki Muriithi
2024-09-25Implement genotype resource creation via API with resource data...Create the resource, assign the resource-owner role and link the resource's data in a single API call. Frederick Muriuki Muriithi
2024-09-25Extract common role assignment to its own moduleFrederick Muriuki Muriithi
2024-09-16Create population resource and assign appropriate roles...Provide an endpoint to create a new population resource (inbredset-group) and assign the active user with the appropriate privileges against the new resource. Frederick Muriuki Muriithi
2024-09-16Rename blueprint and register it one level lower...Register the populations/inbredset blueprint with the "resources" blueprint rather than at the higher level "auth" blueprint to retain the hierarchy of the blueprints and make maintenance arguably easier. Frederick Muriuki Muriithi
2024-09-16Pass cursor rather than connection to create_resource function...In order to decouple the `create_resource` function from the related functions that assign roles to users, this commit changes the code to pass in a cursor rather than a connection. The cursor will be the same cursor passed into the role assignment functions ensuring that the resource creation and role assignment happen in a single transaction. Frederick Muriuki Muriithi
2024-09-13Notes: Add note on some items that could go into hooks.Frederick Muriuki Muriithi
2024-08-15Fix a bunch of linting errors.Frederick Muriuki Muriithi
2024-08-15fix: bugs in masquerade apiJohn Nduli
2024-08-05Fix linting errors.Frederick Muriuki Muriithi
2024-08-01Handle generic exception and return a value.enable-key-rotationFrederick Muriuki Muriithi
2024-07-31Ignore warning from mypy.Frederick Muriuki Muriithi
2024-07-31Remove obsoleted SSL_PRIVATE_KEY configuration...With the key rotation in place, eliminate the use of the SSL_PRIVATE_KEY configuration which pointed to a specific non-changing JWK. Frederick Muriuki Muriithi
2024-07-17Add non-interactive script to assign make data public by default.Frederick Muriuki Muriithi
2024-06-25Roles: Get rid of use of GroupRole; use Role directly for resources...The GroupRole idea was flawed, and led to a critical bug that would have allowed privilege escalation. This uses the Role directly acting on a specific resource when assigning said role to a user. Frederick Muriuki Muriithi
2024-06-20Reorganise test fixtures. Fix tests and issues caught....Reorganise test fixtures to more closely follow the design of the auth system. Fix the broken tests due to refactors and fix all issues caught by the running tests. Frederick Muriuki Muriithi
2024-06-18fix mypy errorsFrederick Muriuki Muriithi
2024-06-17Fix mypy errorsFrederick Muriuki Muriithi
2024-06-17Remove obsolete endpoint.Frederick Muriuki Muriithi
2024-06-17Fix linting errorsFrederick Muriuki Muriithi
2024-06-17Remove deprecated endpoint.Frederick Muriuki Muriithi
2024-06-17Retrieve complete list of a users roles on a particular resource.Frederick Muriuki Muriithi
2024-06-17Fix linting errors.Frederick Muriuki Muriithi
2024-06-17Create a resource role.Frederick Muriuki Muriithi
2024-06-17Don't save the resource-owner role as a resource role...The 'resource-owner' role is a system-default role that applies to most resources, but should not be editable by users. This commit removes the code that was linking the role with each resource, leading it to being presented to the user as a editable role. Frederick Muriuki Muriithi
2024-06-17Use the form's json attribute to retrieve sent data...The system uses JSON as the default communication format, so we use the form's json attribute to get any data sent. Frederick Muriuki Muriithi
2024-06-11Fix typo.Frederick Muriuki Muriithi
2024-06-11Temporary fix to retrieve users with read access to resource.Frederick Muriuki Muriithi
2024-06-11List users assigned a particular role on a specific resource.handle-role-privilege-escalationFrederick Muriuki Muriithi
2024-06-11Import the symbols we use in the module directly....Import the modules directly to help with reducing line-length and unnecessary typing. Frederick Muriuki Muriithi
2024-06-11Unassign privilege from resource role.Frederick Muriuki Muriithi
2024-06-10Fetch a role by its ID.Frederick Muriuki Muriithi
2024-06-10Use new db resultset conversion functions.Frederick Muriuki Muriithi
2024-06-10Provide resource roles endpoint...Provide an endpoint that returns all the roles that a particular user has on a specific resource. Frederick Muriuki Muriithi
2024-06-10Share reusable functionFrederick Muriuki Muriithi
2024-06-07Replace `…/group/roles` endpoint with `…/resource/…/roles` endpoint....The `…/group/roles` endpoint relied on the now deleted `group_roles` table that caused the implementation to be prone to privilege escalation attacks. This commit provides the `…/resource/…/roles` endpoint that provides the required functionality without the exposure. Frederick Muriuki Muriithi
2024-06-07Update role assignment: user resource_roles table...We no longer use the group_roles table, and have moved to the less privilege-escalation-prone resource_roles table. This commit updates the queries to use the newer resource_roles table. Frederick Muriuki Muriithi
2024-06-06Add deprecation warning to /group-privileges endpoint function.Frederick Muriuki Muriithi
2024-06-05Bug: Point to correct key to avoid errorsFrederick Muriuki Muriithi
2024-06-03Move user creation from db resultset into static method...Creation of a User object from the database resultset will mostly be the same. This commit moves the repetitive code into a static method that can be called wherever we need it. This improves maintainability, since we only ever need to do an update in one place now. Frederick Muriuki Muriithi
2024-04-30Create a JWT token when querying a user's role an a resource....* gn_auth/auth/authorisation/resources/views.py: Import time. (get_user_roles_on_resource): Add a JWT bearer token to the responses's header. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2024-04-24Move the errors module up one level to break circular dependencies.Frederick Muriuki Muriithi
2024-04-23pylint: Fix linting errors.Frederick Muriuki Muriithi