aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-11-23Scripts: Update script for newer db schemaFrederick Muriuki Muriithi
The schema changed a while back, and the script that is used to make all existing data public needs to be updated for the new schema. This commit does exactly that.
2023-11-22Make existing user admin using core system functionsFrederick Muriuki Muriithi
Use the core system functions to both fetch the user and make them into a system admin, rather than fetching with raw queries. This way, if the way the users are fetched, or made into an admin, changes, we do not need to update the scripts for most part.
2023-11-22Move system admin creationFrederick Muriuki Muriithi
Make the system admin creation code part of the core system, and simply call it from the script(s). This will help with maintenance, since the changes are done in a single place only.
2023-11-22Only commit on successful queryFrederick Muriuki Muriithi
Only commit changes if the queries are successful.
2023-11-17Bug: Update query in scriptFrederick Muriuki Muriithi
Update query in script to provide resource_id for the user_roles tabel.
2023-11-17Add styles.Frederick Muriuki Muriithi
2023-11-17Setup path to static paths correctly.Frederick Muriuki Muriithi
2023-11-13Bug: Fix typo in queryFrederick Muriuki Muriithi
2023-11-13Update check for adminsFrederick Muriuki Muriithi
2023-11-02Config: Use instance_path to load secrets.Frederick Muriuki Muriithi
2023-11-02mypy: Fix typing errors.Frederick Muriuki Muriithi
2023-11-02pylint: Fix linting errors.Frederick Muriuki Muriithi
2023-10-27Use upstream `yoyo-migrations`Frederick Muriuki Muriithi
2023-10-27Configuration: OAUTH2_SCOPE - provide clarificationFrederick Muriuki Muriithi
Adds clarification that the `OAUTH2_SCOPE` setting is provided by default, and so the final settings are only necessary to override that.
2023-10-12migrations: Create role for dealing with inbredset groups.Frederick Muriuki Muriithi
2023-10-12Bugs: Fix query and provide default function for inbredset-groupFrederick Muriuki Muriithi
2023-10-12Assign role to act on InbredSets to admin.Frederick Muriuki Muriithi
2023-10-10Get authorisation by resource_idsFrederick Muriuki Muriithi
Add an endpoint to help users get the resources authorisation by the resource ids.
2023-10-10Temporarily return no data for resources of types system and group.Frederick Muriuki Muriithi
2023-10-09Fetch InbredSet group resource ID by SpeciesId and InbredSetIdFrederick Muriuki Muriithi
Get the resource used to control access to the InbredSet group by that group's SpeciesId and InbredSetId.
2023-10-09scripts: Provide script to link InbredSets to auth system.Frederick Muriuki Muriithi
2023-10-02migrations: New migration - InbredSet ResourcesFrederick Muriuki Muriithi
Provide a new migration to create tables to handle the InbredSet resources. The migration also sets up the resource category and the related privileges.
2023-09-29Make migrations directory a package.Frederick Muriuki Muriithi
2023-09-27Add missing importFrederick Muriuki Muriithi
2023-09-27List all packages to install.Frederick Muriuki Muriithi
2023-09-27Update setup.pyFrederick Muriuki Muriithi
- Update the name and version - Include the whole of gn-auth in the `packages` list - Include any non-python files in the install
2023-09-27Update dependency: Use upstream python-mypyFrederick Muriuki Muriithi
2023-09-27guix-bioinformatics: Update guix channel URLFrederick Muriuki Muriithi
2023-09-27typing: fix and ignore typing issues.Frederick Muriuki Muriithi
2023-09-27linting: Remove unused import, handle unused variableFrederick Muriuki Muriithi
2023-09-27Bug: Fix issue with viewing resources of type "group".Frederick Muriuki Muriithi
2023-09-26Update queryFrederick Muriuki Muriithi
Replace `group_user_roles_on_resources` table with `user_roles` for the query that checks whether the user has appropriate permissions to act on a specific resource.
2023-09-26Handle AuthorisationError at the top-levelFrederick Muriuki Muriithi
Add an error handler to gracefully handle the custom AuthorisationError at the application's top-level to avoid having to manually handle it everywhere that the error (and its sub-classes) might be raised.
2023-09-26Handle temporary edge casesFrederick Muriuki Muriithi
Fetching resource data: system and group categories of resources do not have associated genetic data. This commit adds some code to temporarily handle that case as an edge case before I can devote more time to fixing the issue in a much better way.
2023-09-26Add `public-view` role. Assign it to users.Frederick Muriuki Muriithi
Add a new `public-view` role to be assigned to all users on all resources that are defined as publicly viewable. Update code to make assign `public-view` role to a newly registered user for all publicly viewable roles. Update the code to assign/revoke the `public-view` role to/from users whenever the resource is toggled to and from being publicly viewable. Ensure that `public-view` is not revoked from system-administrators. Ensure that `public-view` is not revoked from the group administrators of the group that owns the resource.
2023-09-26Update fetching a single roleFrederick Muriuki Muriithi
2023-09-26Initialise package to handle resources of type "system".Frederick Muriuki Muriithi
2023-09-26Update /roles endpoint: rework code for new `user_roles` functionFrederick Muriuki Muriithi
The way the `gn_auth.auth.authorisation.roles.models.user_roles` function works has changed: this commit updates the code to take that into consideration and fix any errors.
2023-09-26Add default `REDIS_URI` configuration.Frederick Muriuki Muriithi
2023-09-26Add System resource, and group resource(s) to list of user resourcesFrederick Muriuki Muriithi
* The system resource is public, and should be present for all users. * Each user that is a member of a group, should have their group show up in their list of resources. * Fix the SQL join: add an `ON ...` clause.
2023-09-26Update `user_roles`: Return roles for user by resource.Frederick Muriuki Muriithi
2023-09-26Move `groups` package under `resources` packageFrederick Muriuki Muriithi
With user groups being resources that users can act on (with the recent changes), this commit moves the `groups` module to under the `resources` module. It also renames the `*_resources.py` modules by dropping the `_resources` part since the code is under the `resources` module anyway.
2023-09-26Update tests & fixtures to conform to schema changesFrederick Muriuki Muriithi
2023-09-26Remove group from resource objectsFrederick Muriuki Muriithi
With the new schema, not all Resource objects are "owned" by a group. Those that are, are linked together through a different db table (`resource_ownership`). This commit removes the `Group` object from `Resource` objects and updates the `resource_ownership` where relevant.
2023-09-26Raise exception if no group for `resource_group`Frederick Muriuki Muriithi
Rather than using pymonad's Maybe monad and dealing with the complexity it introduces, raise an exception if there is no group found for the given resource.
2023-09-26Add `resource_group` function to retrieve the owning groupFrederick Muriuki Muriithi
Some resources are "owned" by specific user groups. This commit adds a way to retrieve those "owners" where relevant.
2023-09-26Extract resource-type-specific code into separate modulesFrederick Muriuki Muriithi
For easier maintenance, extract the code that relates to specific resource types/categories into separate modules, each dealing with a single resource type/category.
2023-09-26Extract basic resource types to a separate module.Frederick Muriuki Muriithi
2023-09-26Fix foreign-key refs. Merge tables.Frederick Muriuki Muriithi
* Link the `role_id` field to the `roles` table rather than the `group_roles` table. * Merge the data in the `group_user_roles_on_resources` table in the `user_roles` table to have a single point-of-truth for all user roles on resources.
2023-09-26Add a 'system' resourceFrederick Muriuki Muriithi
Add a 'system' resource to allow users to have roles they can use to act on the system itself.