Age | Commit message (Expand) | Author |
2023-02-10 | auth: 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-10 | auth: migrations: new privilege and role...Add a new data distribution privilege
Add a new system-administrator role
| Frederick Muriuki Muriithi |
2023-02-09 | auth: 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-09 | auth: users: Check whether a user has an active join request. | Frederick Muriuki Muriithi |
2023-02-08 | auth: groups: handle join requests. | Frederick Muriuki Muriithi |
2023-02-07 | auth: groups: Enable users to request to join group. | Frederick Muriuki Muriithi |
2023-02-06 | Get 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-06 | Get 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-06 | Add method to fetch the current matrix...* gn3/db/matrix.py: New file.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
| Munyoki Kilyungi |
2023-02-06 | auth: resource: Enable viewing the details of a resource. | Frederick Muriuki Muriithi |
2023-02-03 | auth: commit missing module. | Frederick Muriuki Muriithi |
2023-02-03 | oauth: enable resource creation | Frederick Muriuki Muriithi |
2023-02-03 | auth: tests: mock token acquisition. Fix minor bugs. | Frederick Muriuki Muriithi |
2023-02-02 | auth: Improve authorisation...Retrieve the token, and user in the authorisation decorator to enable checking
of privileges.
| Frederick Muriuki Muriithi |
2023-02-02 | auth: 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-31 | auth: Retrieve group members. | Frederick Muriuki Muriithi |
2023-01-31 | auth: 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-31 | auth: 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-30 | auth: 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-30 | auth: API: retrieve resources | Frederick Muriuki Muriithi |
2023-01-30 | auth: groups: cleanup code...Refactor to use the `.either` method call in a cleaner way.
Rework the imports.
| Frederick Muriuki Muriithi |
2023-01-30 | auth: API: Retrieve a user's group...Add endpoint to retrieve the group in which the user is a member.
| Frederick Muriuki Muriithi |
2023-01-28 | auth: Enable retrieval of a role by id. | Frederick Muriuki Muriithi |
2023-01-28 | auth: 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-28 | auth: 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-25 | Some comments | Pjotr Prins |
2023-01-24 | tests: 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-24 | search: 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-24 | search: 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-24 | search: 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-24 | search: Alias the position prefix with pos....* gn3/api/search.py (parse_query): Alias the position prefix with pos.
| Arun Isaac |
2023-01-24 | search: Rename the mb prefix to position....* gn3/api/search.py (parse_query): Rename the mb prefix to position.
| Arun Isaac |
2023-01-24 | search: 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-24 | search: Use comprehension when splitting location....* gn3/api/search.py (parse_location_field): Use comprehension.
| Arun Isaac |
2023-01-24 | docs: Add information on running the OAuth2 server without HTTPS | Frederick Muriuki Muriithi |
2023-01-23 | auth: Add missing module | Frederick Muriuki Muriithi |
2023-01-23 | auth: 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-21 | tests: roles - Extract values from Maybe object | Frederick Muriuki Muriithi |
2023-01-21 | tests: Fix linting errors | Frederick Muriuki Muriithi |
2023-01-21 | auth: Groups - Fetch all existing groups | Frederick Muriuki Muriithi |
2023-01-21 | auth: Roles - Fix bug with role retrieval. | Frederick Muriuki Muriithi |
2023-01-21 | auth: Fix saving of scope values. Add scope items. | Frederick Muriuki Muriithi |
2023-01-20 | mypy: minor fixes to typing errors | Frederick Muriuki Muriithi |
2023-01-20 | auth: rename revocation endpoint | Frederick Muriuki Muriithi |
2023-01-20 | auth: Save token with update...If the token already exists, then update the details rather than trying to
insert.
| Frederick Muriuki Muriithi |
2023-01-20 | auth: 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-20 | auth: 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-19 | tests: Add unit tests for search....* tests/unit/test_search.py: New file.
| Arun Isaac |
2023-01-19 | search: Downcase before applying SI suffix....* gn3/api/search.py (apply_si_suffix): Downcase before applying SI suffix.
| Arun Isaac |
2023-01-19 | search: 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 |