aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2023-04-05Enable use of `database_connection` in scripts without current_app...There is need to run external scripts using the same configurations as the application but without the need to couple the script to the application. In this case, we provide the needed configuration directly in the CLI, and modify the existing `gn3.db_utils.database_connection` function to allow it to work coupled to the app or otherwise. Frederick Muriuki Muriithi
2023-04-04auth: Search for linking genotype datasets.Frederick Muriuki Muriithi
2023-04-04Add tables to link genotype dataFrederick Muriuki Muriithi
2023-03-23tests: Set up fixture and mock out config variableFrederick Muriuki Muriithi
2023-03-23auth: list the species in the database.Frederick Muriuki Muriithi
2023-03-23Docs: Add a note on how the configuration system works.Frederick Muriuki Muriithi
2023-03-23auth: Don't try loading the user if no client is found...Fix the bug where the system was trying to load a user from a non-existing OAuth2 client, leading to an exception. Frederick Muriuki Muriithi
2023-03-23conf: use flask.current_app.config not in gn3.settings...The configuration in gn3.settings can (and does) get overwritten by values in the environment variable `GN3_CONF` and any configurations passed in the call to the `gn3.app.create_app` function; as such, this commit changes the configuration used in the code to user the final configuration values that are in the running application's `flask.current_app.config` object. Frederick Muriuki Muriithi
2023-03-22auth: data linking: build functions to fetch unlinked phenotypes...This is an initial attempt: it does not allow a search to be carried out across the data available in the database. I will need to rework this, probably start from the UI and work backward. Frederick Muriuki Muriithi
2023-03-22auth: migrations for linking phenotype dataFrederick Muriuki Muriithi
2023-03-22auth: Enable linking multiple datasets to the group at once.Frederick Muriuki Muriithi
2023-03-22auth: Remove the tables used for linking data to resources...The way data is linked to the resources needs to be reworked. This commit removes all the existing migration scripts that created the tables formerly used for linking data in preparation for reworking the system. Frederick Muriuki Muriithi
2023-03-20Disable fetching case-attributes when getting sample data...* gn3/db/sample_data.py: Remove 're' import. (get_trait_csv_sample_data): Remove fetching sample data. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2023-03-20auth: data: Enable offset in queries...Enable the 'OFFSET' clause in the queries to allow for progressive fetching of data from the database using the 'Previous' and 'Next' buttons. Frederick Muriuki Muriithi
2023-03-20auth: data: List Phenotypes at the trait level...For Phenotypes, list the Phenotype traits rather than the dataset(s). Frederick Muriuki Muriithi
2023-03-20Fix get_all_species testzsloan
2023-03-18oauth2: resources: toggle whether a resource is public or notFrederick Muriuki Muriithi
2023-03-18auth: resources: Disallow duplicate resource names.Frederick Muriuki Muriithi
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 trigger...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. Frederick Muriuki Muriithi
2023-03-14auth: Fix some linting and typing issues.Frederick Muriuki Muriithi
2023-03-13Move doc to issue trackerPjotr Prins
2023-03-13oauth2: data: Temporarily escalate privileges to enable migration...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. Frederick Muriuki Muriithi
2023-03-13auth: separate user detail migration from data migration...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. Frederick Muriuki Muriithi
2023-03-13Add 'ON UPDATE/DELETE' clauses to foreign keys.Frederick Muriuki Muriithi
2023-03-13auth: cURL: Add some docs on using cURLFrederick Muriuki Muriithi
2023-03-10auth: data-migration: Fix minor bugsFrederick Muriuki Muriithi
2023-03-09auth: redis data: migrate data in redis...Implement the code to migrate the data from redis to SQLite. Frederick Muriuki Muriithi
2023-03-09auth: data migration: Data migration outline...Provide an outline of the data migration steps to be taken from some results of the experiments with the data in redis. Frederick Muriuki Muriithi
2023-03-09auth: introspection: Protect introspection endpoint...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. Frederick Muriuki Muriithi
2023-03-08auth: users: Use the same basic functions for password hashing...To avoid repeating the same thing in multiple places, leading to errors and breakages, reuse the same basic functions for password hashing. Frederick Muriuki Muriithi
2023-03-08Replace Bcrypt with Argon2 for better security....Bcrypt is now somewhat vulnerable to offline cracking, so we move our password hashing over to Argon2. Frederick Muriuki Muriithi
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 exception...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. Frederick Muriuki Muriithi
2023-03-06auth: privileges/roles: fix issues caught by tests.Frederick Muriuki Muriithi
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 sampledata...* 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> Munyoki Kilyungi
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