about summary refs log tree commit diff
path: root/gn_auth/auth/authorisation/data
AgeCommit message (Collapse)Author
13 daysRemove dead code caught by vulture.Frederick Muriuki Muriithi
13 daysMove scripts to top-level gn_auth package.Frederick Muriuki Muriithi
In preparation for migrating to pyproject.toml (from setup.py and friends) we need to have only one top-level package. This will also help in improving testing and checks down the line, since everything will be relative to one single top-level directory.
13 daysRaise a NotFoundError if not a single resource is found.Frederick Muriuki Muriithi
14 daysInitialise initial value used in reduce.Frederick Muriuki Muriithi
To avoid failures later due to missing keys, we initialise the initial value used in reduce to a dict with empty tuples for every key.
2026-05-18Refactor authorisation-by-datasets-and-traits endpoint.Frederick Muriuki Muriithi
Fetch resources using the dataset names (and trait names where relevant) to simplify the code, and make it clearer what the endpoint actually does.
2026-05-18Fetch genotype resources by dataset.Frederick Muriuki Muriithi
2026-05-18Fetch mRNA resources by dataset name.Frederick Muriuki Muriithi
2026-05-18Fetch phenotype resources by dataset name and trait name.Frederick Muriuki Muriithi
2026-04-08user resources: return total with filtered records.Frederick Muriuki Muriithi
Return a count of the total number of resources that the user has access to even if we are only interested in a few of the records.
2026-02-10Use Auth function that checks for delete access.Frederick Muriuki Muriithi
2026-02-06Use AuthorisationError to indicate error condition.Frederick Muriuki Muriithi
2026-02-06Replace hard-coded email check with check against privilegesFrederick Muriuki Muriithi
Fix the check: rather than using a hard-coded email to check for authorisation, we instead check against the privileges the user has on the resource, or whether they have global privileges allowing them to act on any data.
2026-02-06Fetch a single resource ID: delete data from one resource at a time.Frederick Muriuki Muriithi
2026-01-30Add placeholder check for privilegesFrederick Muriuki Muriithi
For now, only one user is allowed to delete data from Genenetwork. To get the code online as quickly as possible, in order to test out the system, I have elected to do a quick and dirty check that prevents everyone except @acenteno from being able to delete data from the system. To fix this, I'll need to actually implement (a) new role(s) to grant certain users special permissions on **ALL** the data in the system regardless of who owns it.
2026-01-27Leave notes for tasks that need doing.Frederick Muriuki Muriithi
2026-01-27Proof-of-concept: Delete linked phenotype data.Frederick Muriuki Muriithi
2026-01-27Simplify relative import.Frederick Muriuki Muriithi
2025-06-09Use more flexible check for authorisation.Frederick Muriuki Muriithi
Use the more flexible check for authorisation that a user has on a specific resource.
2025-06-09Allow linking of data by passing the raw ids too.Frederick Muriuki Muriithi
2025-03-28Simplify line where it was unnecessarily checking request.json twicezsloan
2025-02-26Fix pylint errors.Frederick Muriuki Muriithi
2024-11-22Use code in gn_libs for MySQL/MariaDB connection.Frederick Muriuki Muriithi
Update the application to use the gn_libs code for connecting to the database, rather than using a local module.
2024-06-17Fix mypy errorsFrederick Muriuki Muriithi
2024-06-17Use the form's json attribute to retrieve sent dataFrederick Muriuki Muriithi
The system uses JSON as the default communication format, so we use the form's json attribute to get any data sent.
2024-04-24Move the errors module up one level to break circular dependencies.Frederick Muriuki Muriithi
2024-03-21Revert "Add an extra endpoint for metadata authorisation."Munyoki Kilyungi
This reverts commit f5e833c0d72eaec80425203b15210ed304cc4811. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-21Fix typo.Munyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-21Replace "the" prefix with an underscore.Munyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-13Remove unused imports.Munyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-13Define Group using a frozen dataclass.Munyoki Kilyungi
* gn_auth/auth/authorisation/data/genotypes.py: Import dataclasses.asdict. (link_genotype_data): Replace dictify with asdict. * gn_auth/auth/authorisation/data/mrna.py: Import dataclasses.asdict. (link_mrna_data): Replace dictify with asdict. * gn_auth/auth/authorisation/data/phenotypes.py: Import dataclasses.asdict. (link_phenotype_data): Replace dictify with asdict. * gn_auth/auth/authorisation/resources/groups/models.py: Import dataclass. (Group): Use frozen dataclass. (Group.dictify): Delete. (GroupRole.dictify): Replace dictify with asdict. * gn_auth/auth/authorisation/resources/groups/views.py: Import dataclasses.asdict. Remove dictify import. (list_groups): Replace dictify with asdict. (create_group): Ditto. * gn_auth/auth/authorisation/resources/views.py: (resource_users): Replace dictify with asdict. * gn_auth/auth/authorisation/users/views.py: Import dataclasses.asdict. Remove dictify import. (user_details): Replace dictify with asdict. (user_group): Ditto. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-13Define User using a frozen dataclass.Munyoki Kilyungi
* gn_auth/auth/authentication/users.py: Import dataclass. Remove NamedTuple and Tuple import. (User): Use a frozen dataclass. (User.get_user_id): Delete. (User.dictify): Ditto. * gn_auth/auth/authorisation/data/views.py: Import dataclasses.dict. (authorisation): Replace user._asdict() with asdict(user). (metadata_resources): Ditto. * gn_auth/auth/authorisation/resources/groups/views.py: (group_members): Replace dictify with asdict. * gn_auth/auth/authorisation/resources/models.py: Import dataclasses.asdict. (assign_resource_user): Replace dictify(user) with asdict(user). (unassign_resource_user): Ditto. * gn_auth/auth/authorisation/resources/views.py: (resource_users): Replace dictify with asdict. * gn_auth/auth/authorisation/users/masquerade/views.py: Import dataclasses.asdict. (masquerade): Replace masq_user._asdict() with asdict(masq_user). * gn_auth/auth/authorisation/users/views.py: (list_all_users): Replace dictify with asdict. 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-02-29Allow POST for JSON requests.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-08-08Use relative imports to break circular import errorsFrederick Muriuki Muriithi
2023-08-08Fix issues caught by linterFrederick Muriuki Muriithi
* Add a .pylintrc to silence annoying messages * Fix imports * Add missing `parse_db_url` function * Add a new `gn_auth.auth.db.redis` module
2023-08-07Add missing modulesFrederick Muriuki Muriithi
Copy over missing modules and functions to completely disconnect gn-auth from GN3.
2023-08-07Change imports to new unified db module.Frederick Muriuki Muriithi
2023-08-07Update module name/pathFrederick Muriuki Muriithi
Change from gn3 to gn_auth
2023-08-04Copy over files from GN3 repository.Frederick Muriuki Muriithi