aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2023-03-01Open lmdb path in readonly mode...* gn3/db/matrix.py (get_total_versions, get_nth_matrix, get_current_matrix): Open lmdb in readonly mode. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2023-03-01Create API endpoint for fetching trait metadata...* gn3/api/metadata.py (dataset_metadata): New function and endpoint. (jsonify_dataset_metadata): Rename to dataset_metadata. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2023-03-01Fetch trait metadata from RDF...* gn3/db/rdf.py (get_dataset_metadata): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2023-02-28auth: Unlink data from resources...Enable the data editor to unlink data from a particular resource. data-access-levels-endpointFrederick Muriuki Muriithi
2023-02-28auth: Unlink data from resources...Enable the data editor to unlink data from a particular resource. Frederick Muriuki Muriithi
2023-02-27auth: Endpoint to get access levels for data...When the endpoint is accessed with a list of traits, it should/will respond with the access privileges for each of the traits attached for the active user. Frederick Muriuki Muriithi
2023-02-24auth: resources: Fix query for data not linked to resourcesFrederick Muriuki Muriithi
2023-02-24auth: resources: Fix queries loading resources data.Frederick Muriuki Muriithi
2023-02-24auth: resources: Link data to resources.Frederick Muriuki Muriithi
2023-02-23auth: Link data in MySQL to the groups (in SQLite)...In order for the group leaders (and other resource creators) to be able to link data to the resources, the data needs to be first linked to the relevant group. This commit enables the system admin to link the data in MySQL to the groups. Frederick Muriuki Muriithi
2023-02-22auth: List data not linked to any group.Frederick Muriuki Muriithi
2023-02-21auth: db: DEBUG: Output quer(y|ies) that were run.Frederick Muriuki Muriithi
2023-02-21auth: resources: Attach resource data and list unlinked data....Load the data that is attached to a particular resource together with the resource. List any unlinked data: useful when linking data to resources. Frederick Muriuki Muriithi
2023-02-21auth: migrations: Link to data in main db...Provide the `linked_group_data` table to be used to link to data in the main database. Update the `mrna_resources`, `genotype_resources` and `phenotype_resources` tables to rely on the `linked_group_data` table. Frederick Muriuki Muriithi
2023-02-13scripts: Fallback to 1 worker when indexing....* scripts/index-genenetwork (worker_queue): Set default number of workers to 1 if the number of CPUs cannot be determined. Arun Isaac
2023-02-13scripts: Type hint xapian indexing script....* scripts/index-genenetwork: Import Callable, Generator, Iterable and List from typing. Type hint all functions. Arun Isaac
2023-02-10Return empty tuple rather than Nothing...When user has no roles assigned, return an empty tuple rather than pymonad.maybe.Nothing to ease maintenance. Frederick Muriuki Muriithi
2023-02-10Fix linting errors.Frederick Muriuki Muriithi
2023-02-10Add example utility script to run development serverFrederick Muriuki Muriithi
2023-02-10auth: CLI: Provide a way to set an existing user as a system admin...Provide a way to set a user as a system administrator via CLI. This method was chosen rather that using the WebUI since most users will not have access to the CLI. It also means that assigning system administration privileges will not be an accident, since one has to actually run the command manually on the CLI. Frederick Muriuki Muriithi
2023-02-10auth: migrations: new privilege and role...Add a new data distribution privilege Add a new system-administrator role Frederick Muriuki Muriithi
2023-02-09auth: Reject request to join a group....* gn3/auth/authorisation/groups/models.py: Modify function to either accept or reject join requests. * gn3/auth/authorisation/groups/views.py: Provide endpoint to reject join requests. * migrations/auth/20230207_01_r0bkZ-create-group-join-requests-table.py: Prevent user from applying to join the same group more than once. Frederick Muriuki Muriithi
2023-02-09auth: users: Check whether a user has an active join request.Frederick Muriuki Muriithi
2023-02-08auth: groups: handle join requests.Frederick Muriuki Muriithi
2023-02-07auth: groups: Enable users to request to join group.Frederick Muriuki Muriithi
2023-02-06Get the N-th matrix given N, an index value...* gn3/db/matrix.py (get_nth_matrix): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2023-02-06Get total number of versions that a database has...* gn3/db/matrix.py (get_total_versions): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2023-02-06Add method to fetch the current matrix...* gn3/db/matrix.py: New file. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2023-02-06auth: resource: Enable viewing the details of a resource.Frederick Muriuki Muriithi
2023-02-03auth: commit missing module.Frederick Muriuki Muriithi
2023-02-03oauth: enable resource creationFrederick Muriuki Muriithi
2023-02-03auth: tests: mock token acquisition. Fix minor bugs.Frederick Muriuki Muriithi
2023-02-02auth: Improve authorisation...Retrieve the token, and user in the authorisation decorator to enable checking of privileges. Frederick Muriuki Muriithi
2023-02-02auth: Reorganise modules/packages for easier dev and maintenance...Split the views/routes into separate modules each dealing with a narrower scope of the application to aid in maintenance, and help with making the development easier. Frederick Muriuki Muriithi
2023-01-31auth: Retrieve group members.Frederick Muriuki Muriithi
2023-01-31auth: Remove the @authenticated_p decorator...The @authenticated_p decorator (and function), is an artifact of the original development ideas and should be removed from use. Frederick Muriuki Muriithi
2023-01-31auth: Set the token scope as a string, not a list...Setting the scope as a list of strings was leading to errors when attempting to logout. This commit leaves the scope as a string to avoid the errors. Frederick Muriuki Muriithi
2023-01-30auth: Do not treat not finding a group as an error...Stop treating not finding a group for a user as an error, since that is an actual expected state in the system at some point. Rather, restore the use of Maybe rather than using Either. We can raise the NotFoundError at the API level rather than at database retrival level. Frederick Muriuki Muriithi
2023-01-30auth: API: retrieve resourcesFrederick Muriuki Muriithi
2023-01-30auth: groups: cleanup code...Refactor to use the `.either` method call in a cleaner way. Rework the imports. Frederick Muriuki Muriithi
2023-01-30auth: API: Retrieve a user's group...Add endpoint to retrieve the group in which the user is a member. Frederick Muriuki Muriithi
2023-01-28auth: Enable retrieval of a role by id.Frederick Muriuki Muriithi
2023-01-28auth: rework dictify...Define a Protocol type to use with the `dictify` function and implement the `dictify` methods for the various classes. Frederick Muriuki Muriithi
2023-01-28auth: Store error_code in Exception for flexibility...To allow for different error codes for the various exceptions, store the error_code in the exception objects and retrieve it from there when generating the response. Frederick Muriuki Muriithi
2023-01-25Some commentsPjotr Prins
2023-01-24tests: Expect exact integer value when applying SI suffix....* tests/unit/test_search.py (test_apply_si_suffix_kilo, test_apply_si_suffix_mega, test_apply_si_suffix_giga): Update docstring indicating that we expect the exact integer value. Arun Isaac
2023-01-24search: Use decimals, not floats, when converting to megabases....* gn3/api/search.py (parse_location_field): Use decimals, not floats, when converting to megabases. Arun Isaac
2023-01-24search: Support SI suffixes and point locations....* gn3/api/search.py (parse_position_field): New function. (parse_query): Associate the position prefix with the parse_position_field field processor. Arun Isaac
2023-01-24search: Abstract out parsing of position spec into separate function....* gn3/api/search.py (parse_position): New function. (parse_location_field): Use parse_position. * tests/unit/test_search.py: Import parse_position from gn3.api.search. (test_parse_position_close_to_zero_location): New test. Arun Isaac
2023-01-24search: Alias the position prefix with pos....* gn3/api/search.py (parse_query): Alias the position prefix with pos. Arun Isaac