aboutsummaryrefslogtreecommitdiff
path: root/gn3
AgeCommit message (Collapse)Author
2023-03-17Add conn.commit() to queries in sample_data.pyzsloan
2023-03-17Change get_all_species query to order by Familyzsloan
2023-03-15auth: Data Migrations: Rework migration triggerFrederick Muriuki Muriithi
Rework the migration trigger endpoint such that it does a bulk import of all the resources in the redis store. It also expects that the user that triggers the migration have the appropriate privileges.
2023-03-14auth: Fix some linting and typing issues.Frederick Muriuki Muriithi
2023-03-13oauth2: data: Temporarily escalate privileges to enable migrationFrederick Muriuki Muriithi
The functions that fetch the unlinked data have checks to ensure they are called by users with the appropriate privileges. This commit enables a temporary escalation of privileges to enable fetching the data, so as to allow successful data migration.
2023-03-13auth: separate user detail migration from data migrationFrederick Muriuki Muriithi
Due to the fact that the data migration requires higher privileges than the user details, separate the user details migration endpoint from the data migrations endpoint.
2023-03-10auth: data-migration: Fix minor bugsFrederick Muriuki Muriithi
2023-03-09auth: redis data: migrate data in redisFrederick Muriuki Muriithi
Implement the code to migrate the data from redis to SQLite.
2023-03-09auth: data migration: Data migration outlineFrederick Muriuki Muriithi
Provide an outline of the data migration steps to be taken from some results of the experiments with the data in redis.
2023-03-09auth: introspection: Protect introspection endpointFrederick Muriuki Muriithi
The introspection endpoint could contain privileged information, thus requires that the endpoint be protected. This commit ensures that a user has authenticated to the system and that the client they are using be one of the allowed clients.
2023-03-08auth: users: Use the same basic functions for password hashingFrederick Muriuki Muriithi
To avoid repeating the same thing in multiple places, leading to errors and breakages, reuse the same basic functions for password hashing.
2023-03-08Replace Bcrypt with Argon2 for better security.Frederick Muriuki Muriithi
Bcrypt is now somewhat vulnerable to offline cracking, so we move our password hashing over to Argon2.
2023-03-07auth: group_roles: Enable addition/deletion of privilegesFrederick Muriuki Muriithi
2023-03-07auth: resources: unassign roles on resource from a user.Frederick Muriuki Muriithi
2023-03-07auth: user_by_id: Return a user or raise an exceptionFrederick Muriuki Muriithi
Fetching the user by id should return the user, or raise an exception. We get rid of the Maybe monad here since it is leading to some weird code flows - probably the wrong monad to use here.
2023-03-06auth: resources: Enable assigning a user roles on resourcesFrederick Muriuki Muriithi
2023-03-06auth: resources: Link role's group to the resource's groupFrederick Muriuki Muriithi
2023-03-06auth: resources: Get all users with access to a particular resource.Frederick Muriuki Muriithi
2023-03-03auth: Enable viewing group role details.Frederick Muriuki Muriithi
2023-03-03auth: group roles: enable creation and listing of group roles.Frederick Muriuki Muriithi
2023-03-02auth: user registration: Rework error checking. Add email validationFrederick Muriuki Muriithi
2023-03-01Fetch sampledataMunyoki Kilyungi
* gn3/api/sampledata.py (get_sampledata): New end-point. * gn3/app.py: Register above end-point. * gn3/settings.py: Add new conf variable for LMDB. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-03-01Open lmdb path in readonly modeMunyoki Kilyungi
* 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>
2023-03-01Create API endpoint for fetching trait metadataMunyoki Kilyungi
* 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>
2023-03-01Fetch trait metadata from RDFMunyoki Kilyungi
* gn3/db/rdf.py (get_dataset_metadata): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-02-28auth: Unlink data from resourcesdata-access-levels-endpointFrederick Muriuki Muriithi
Enable the data editor to unlink data from a particular resource.
2023-02-28auth: Unlink data from resourcesFrederick Muriuki Muriithi
Enable the data editor to unlink data from a particular resource.
2023-02-27auth: Endpoint to get access levels for dataFrederick Muriuki Muriithi
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.
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)Frederick Muriuki Muriithi
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.
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.Frederick Muriuki Muriithi
Load the data that is attached to a particular resource together with the resource. List any unlinked data: useful when linking data to resources.
2023-02-10Return empty tuple rather than NothingFrederick Muriuki Muriithi
When user has no roles assigned, return an empty tuple rather than pymonad.maybe.Nothing to ease maintenance.
2023-02-09auth: Reject request to join a group.Frederick Muriuki Muriithi
* 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.
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 valueMunyoki Kilyungi
* gn3/db/matrix.py (get_nth_matrix): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-02-06Get total number of versions that a database hasMunyoki Kilyungi
* gn3/db/matrix.py (get_total_versions): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-02-06Add method to fetch the current matrixMunyoki Kilyungi
* gn3/db/matrix.py: New file. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
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 authorisationFrederick Muriuki Muriithi
Retrieve the token, and user in the authorisation decorator to enable checking of privileges.
2023-02-02auth: Reorganise modules/packages for easier dev and maintenanceFrederick Muriuki Muriithi
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.
2023-01-31auth: Retrieve group members.Frederick Muriuki Muriithi