aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
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
2023-01-24search: Rename the mb prefix to position....* gn3/api/search.py (parse_query): Rename the mb prefix to position. Arun Isaac
2023-01-24search: Assume triplets mean synteny is requested....* gn3/api/search.py (query_subqueries, query_terms, parse_synteny_field, is_synteny_on, remove_synteny_field): Delete functions. (parse_query): Assume triplets mean synteny is requested. Arun Isaac
2023-01-24search: Use comprehension when splitting location....* gn3/api/search.py (parse_location_field): Use comprehension. Arun Isaac
2023-01-24docs: Add information on running the OAuth2 server without HTTPSFrederick Muriuki Muriithi
2023-01-23auth: Add missing moduleFrederick Muriuki Muriithi
2023-01-23auth: create group: Fix group creation....* gn3/auth/authorisation/checks.py: Enable passing user to authorisation checking function. Raise error on authorisation failure for consistent error handling. * gn3/auth/authorisation/groups.py: Add user to group, updating the privileges as appropriate. * gn3/auth/authorisation/resources.py: Fix resources querying * gn3/auth/authorisation/roles.py: Assign/revoke roles by name * gn3/auth/authorisation/views.py: Create group * migrations/auth/20221108_01_CoxYh-create-the-groups-table.py: Add group_metadata field * tests/unit/auth/fixtures/group_fixtures.py: fix tests * tests/unit/auth/test_groups.py: fix tests * tests/unit/auth/test_resources.py: fix tests * tests/unit/auth/test_roles.py: fix tests Frederick Muriuki Muriithi
2023-01-21tests: roles - Extract values from Maybe objectFrederick Muriuki Muriithi
2023-01-21tests: Fix linting errorsFrederick Muriuki Muriithi
2023-01-21auth: Groups - Fetch all existing groupsFrederick Muriuki Muriithi
2023-01-21auth: Roles - Fix bug with role retrieval.Frederick Muriuki Muriithi
2023-01-21auth: Fix saving of scope values. Add scope items.Frederick Muriuki Muriithi
2023-01-20mypy: minor fixes to typing errorsFrederick Muriuki Muriithi
2023-01-20auth: rename revocation endpointFrederick Muriuki Muriithi
2023-01-20auth: Save token with update...If the token already exists, then update the details rather than trying to insert. Frederick Muriuki Muriithi
2023-01-20auth: Setup the user correctly...* gn3/auth/authentication/oauth2/grants/password_grant.py: Return user rather than boolean * gn3/auth/authentication/oauth2/models/oauth2client.py: provide optional `user` argument to allow flexibility in setting up the client's user * gn3/auth/authentication/oauth2/models/oauth2token.py: Set token and client user correctly * gn3/auth/authentication/oauth2/server.py: Set token user from the request Frederick Muriuki Muriithi
2023-01-20auth: Add development utils/tools...To avoid having to manually rebuild some default data for exploration of concepts while developing the system, add a way to build up the test users and oauth2 clients to use for testing. Frederick Muriuki Muriithi
2023-01-19tests: Add unit tests for search....* tests/unit/test_search.py: New file. Arun Isaac
2023-01-19search: Downcase before applying SI suffix....* gn3/api/search.py (apply_si_suffix): Downcase before applying SI suffix. Arun Isaac
2023-01-19search: Use decimals, not floats, to manipulate range limits....Decimals are exact and do not introduce tiny errors in the range limits like floats are wont to do. * gn3/api/search.py: Import Decimal from decimal. (apply_si_suffix): Use decimals, not floats, to manipulate range limits. Arun Isaac
2023-01-19search: Only look for SI suffix in the last character....Suffixes are the last character, not everything but the last character. * gn3/api/search.py (apply_si_suffix): Only look for SI suffix in the last character. Arun Isaac
2023-01-19search: Apply SI suffix only if last character is an actual suffix....Prior to this commit, when there was no SI suffix (such as in a plain suffix-less number), the last digit would be dropped! * gn3/api/search.py (apply_si_suffix): Apply SI suffix only if last character is an actual suffix. Arun Isaac
2023-01-19auth: Fix user registration...The code checking for errors was buggy and would let empty values through. The sqlite3.IntegrityError exception was not being handled correctly, and would cause a failure in the application. This commit fixes the issues noted above. * gn3/auth/authorisation/roles.py: fix bug in generating query params * gn3/auth/authorisation/views.py: fix error checking code. Raise exception if email is already registered. Frederick Muriuki Muriithi
2023-01-18search: Ensure limits of chromosomal interval is non-negative....* gn3/api/search.py (parse_location_field): Ensure limits of chromosomal interval is non-negative. Arun Isaac
2023-01-18search: Convert point locations to a +/- 50 kbase range....* gn3/api/search.py (parse_location_field): Convert point locations to a +/- 50 kbase range. Arun Isaac