aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-08Correctly check for the refresh_token.Munyoki Kilyungi
* gn_auth/auth/authentication/oauth2/endpoints/utilities.py (query_token): Replace "if" with "match" syntax. Also, correctly check for the "refresh_token". Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-08Replace "if" branching with "monad_from_none_or_value".Munyoki Kilyungi
* gn_auth/auth/authentication/oauth2/models/authorization_code.py: Import "monad_from_none_or_value". (authorisation_code): Replace if branching for Nothing/Just check with "monad_from_none_or_value". * gn_auth/auth/authentication/oauth2/models/oauth2token.py: Import "monad_from_none_or_value". (__token_from_resultset__): Replace if branching for Nothing/Just check with "monad_from_none_or_value". (token_by_access_token): Ditto. (token_by_refresh_token): Ditto. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-08Rename "__5_MINUTES__" to "EXPIRY_IN_SECONDS".Munyoki Kilyungi
* gn_auth/auth/authentication/oauth2/models/authorization_code.py (AuthorisationCode.__5_MINUTES__): Rename this to EXPIRY_IN_SECONDS. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-08Explicitly add keyword arguments to AuthorisationCode.Munyoki Kilyungi
This improves readability. * gn_auth/auth/authentication/oauth2/grants/authorisation_code_grant.py (AuthorisationCodeGrant.save_authorization_code): Use keyword arguments. * gn_auth/auth/authentication/oauth2/models/authorization_code.py (authorisation_code): Ditto. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-08Remove "raise" in auth.db Protocol classes.Munyoki Kilyungi
* gn_auth/auth/db/protocols.py (DbCursor): Remove "raise" in DBCursor Protocol. See: <https://typing.readthedocs.io/en/latest/spec/protocol.html>
2024-03-04setup.py: Fix pylint errors.Munyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-04Add an extra endpoint for metadata authorisation.Munyoki Kilyungi
* gn_auth/auth/authorisation/data/views.py: (metadata_resources): New end-point for authorising metadata data. * gn_auth/auth/authorisation/resources/models.py: Import sqlite3.Row. (__metadata_resource_data__): New function. (__assign_resource_owner_role__): Add __metadata_resource_data__ to the "resource_data_function" map. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-04Fix minor typo.Munyoki Kilyungi
* gn_auth/auth/authorisation/data/views.py (authorisation): Fix typo. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-04Remove redundant error code for InvalidData.Munyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-02Use `find_packages()` and include static files and templates.Frederick Muriuki Muriithi
2024-03-01Put `GN_AUTH_SECRETS` config in the main configuration file.Frederick Muriuki Muriithi
2024-03-01Configs: Check that all mandatory settings exist and are non-empty.Frederick Muriuki Muriithi
2024-02-29Allow POST for JSON requests.Frederick Muriuki Muriithi
2024-02-28Handle the "NotFoundError" exception at the route levelFrederick Muriuki Muriithi
Handle the "NotFoundError" exception at the route level, since if we do not, the application level handler takes over and simply returns a JSON response with the details of the failure.
2024-02-27Remove use of instance path in configurations.Frederick Muriuki Muriithi
2024-02-27Update base template.Frederick Muriuki Muriithi
2024-01-30Add exception traces to error outputs.Frederick Muriuki Muriithi
2024-01-29Error handling: Handle 404 error.Frederick Muriuki Muriithi
2023-12-19README: Replace pylint and mypy CI badges with all-tests CI badge.Arun Isaac
2023-12-19guix: Add gn-auth-all-tests.Arun Isaac
* .guix/modules/gn-auth.scm: Import python-pylint from (gnu packages check) and python-mypy from (gnu packages python-check). (gn-auth-all-tests): New variable.
2023-12-19guix: Inherit gn-auth package from guix-bioinformatics.Arun Isaac
* .guix/modules/gn-auth.scm (gn-auth): Inherit from gn-auth in guix-bioinformatics.
2023-12-18Provide the correct Redis keyFrederick Muriuki Muriithi
Previously, when the user would request to either import or delete the collections they had created before logging in, the system would try deleting the collections from the wrong key, leading to the collections still showing up. This commit fixes that by providing the code with the correct Redis key to act upon.
2023-12-05mypy: Deactivate search for flask_cors stubsFrederick Muriuki Muriithi
2023-12-05Add missing scripts and update code to invoke themFrederick Muriuki Muriithi
Copy the missing scripts over from GN3 and update them for gn-auth. Update the code to invoke the scripts correctly. Set up correct redis keys for use with the scripts.
2023-12-05Enable CORS to allow access from GN2 javascriptFrederick Muriuki Muriithi
2023-11-28Remove bcrypt as a dependencyFrederick Muriuki Muriithi
BCrypt has been superceded by argon, and this commit removes it and all code depending on it from the repository.
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