aboutsummaryrefslogtreecommitdiff
path: root/gn3
AgeCommit message (Expand)Author
2023-05-22Fix sample data CSV query to only fetch distinct samples...There's probably a better way to fix this query (it was previously returning each sample twice), but DISTINCT was the easiest way I could come up with zsloan
2023-05-22Fix get_trait_sample_data functionzsloan
2023-05-22Fix retrieve_sample_list function to correctly get genofile_pathzsloan
2023-05-22Commit update/insert queries, since they don't seem to be executed otherwise ...zsloan
2023-05-22Add function for retrieving group name (given group ID)zsloan
2023-05-22Add function for retrieving phenotype sample data as dictzsloan
2023-05-22Add function for retrieving samplelist from .geno filezsloan
2023-05-19auth: Provide user and resource info in the trait data...Provide the user and resource_id information in each trait's authorisation details to help with linking on the UI end. Frederick Muriuki Muriithi
2023-05-19auth: Check for json on authorisation endpoint. Add user data....Ensure the authorisation endpoint expects only JSON. Add the user data to the response from the endpoint. Frederick Muriuki Muriithi
2023-05-18auth: Rename collections...Enable renaming collections. Frederick Muriuki Muriithi
2023-05-18auth: user collections: Add and/or remove traits.Frederick Muriuki Muriithi
2023-05-17auth: Delete collections by ID.Frederick Muriuki Muriithi
2023-05-17auth: Import/Delete Anonymous Collections...Add code to enable the importation/deletion of anonymous collections in the active session to the authenticated user's collections. Frederick Muriuki Muriithi
2023-05-16auth: View a collection by its ID.Frederick Muriuki Muriithi
2023-05-15collections: Move code to new package. Create new collections....Move the code to a new package. Enable the creation of new collection by both authenticated and anonymous users. Frederick Muriuki Muriithi
2023-05-12auth: Provide separate endpoint for anonymous collections.Frederick Muriuki Muriithi
2023-05-11auth: Fix bug with migration of user collections...The code, as written previously had a subtle bug - if the user created a new collection before they had tried accessing their list of collections, the older code would not have migrated the older collections. This commit fixes that by enabling the migration of older collections, whether or not the user has created a collection with their new accounts. Frederick Muriuki Muriithi
2023-05-10auth: Add the /oauth2/user/collections/list endpoint...Add an endpoint to list a user's collections. This only works for logged in users. Frederick Muriuki Muriithi
2023-05-10auth: Only check deliverability of emails at registration....Check only that the email format is correct, but don't bother with the deliverability check during authentication. The deliverability check is done at registration. Frederick Muriuki Muriithi
2023-05-09auth: Implement "Authorization Code Flow"...Implement the "Authorization Code Flow" for the authentication of users. * gn3/auth/authentication/oauth2/grants/authorisation_code_grant.py: query and save the authorisation code. * gn3/auth/authentication/oauth2/models/authorization_code.py: Implement the `AuthorisationCode` model * gn3/auth/authentication/oauth2/models/oauth2client.py: Fix typo * gn3/auth/authentication/oauth2/server.py: Register the `AuthorisationCodeGrant` grant with the server. * gn3/auth/authentication/oauth2/views.py: Implement `/authorise` endpoint * gn3/templates/base.html: New HTML Templates of authorisation UI * gn3/templates/common-macros.html: New HTML Templates of authorisation UI * gn3/templates/oauth2/authorise-user.html: New HTML Templates of authorisation UI * main.py: Allow both "code" and "token" response types. auth/implement-authorization-code-flowFrederick Muriuki Muriithi
2023-04-27auth: Retrieve `system:*` privileges from resource roles...With the assignment of `system:*` privileges to roles, we need to check for their existence when doing authorisation. This commit provides a hack for that, seeing as user groups (and the system itself) are not treated as resources, and therefore the way to fetch the privileges is not entirely consistent. Frederick Muriuki Muriithi
2023-04-27auth: List also the non-resource privileges the user has...While creating new group roles, enable the listing of non-resource privileges, e.g. `system:group:*` and `system:user:*` that the user has to allow for them to be used in role creation. Frederick Muriuki Muriithi
2023-04-27auth: Add authorisation checks for role editting.Frederick Muriuki Muriithi
2023-04-27oauth2: Provide missing `user_editable` argument.Frederick Muriuki Muriithi
2023-04-25auth: bug: Provide missing `user_editable` argument.Frederick Muriuki Muriithi
2023-04-25auth: provide `user_editable` flag in dictified outputFrederick Muriuki Muriithi
2023-04-25auth: Roles: Check for editability...Some roles should not be user-editable, and as such, we need to check before allowing any edits on such roles. This commit makes that possible. Frederick Muriuki Muriithi
2023-04-24auth: Return the actual privileges for the user...Previously, the `oauth2/data/authorisation` endpoint was returning hard-coded values for the privileges assigned to the user for each resource. In this change, we rework to return the actual privileges for the user. Frederick Muriuki Muriithi
2023-04-21logging: Set LOG LEVEL on root logger to enable logsFrederick Muriuki Muriithi
2023-04-21auth: Attach linked data to specific resources.Frederick Muriuki Muriithi
2023-04-21Setup module for logging...During development, we need logging sometimes to help with troubleshooting problems. This commit provides a module to help set up the logging in a separate module from the app module. Frederick Muriuki Muriithi
2023-04-21auth: Fetch user group phenotypes not attached to a resource.Frederick Muriuki Muriithi
2023-04-19oauth2: Link the phenotype traits to user groups.Frederick Muriuki Muriithi
2023-04-19Fix minor linting and typing issuesFrederick Muriuki Muriithi
2023-04-19auth: Setup selected traits correctly...Fix bugs with setting up of the selected traits for use while filtering the search results. Frederick Muriuki Muriithi
2023-04-19auth: phenotypes - provide default empty list for selected traits.Frederick Muriuki Muriithi
2023-04-18auth: Pass `--per-page` and `--selected` options.Frederick Muriuki Muriithi
2023-04-18auth: Consistently JSON encode values....Consistently encode all values for the top-level keys stored in redis to avoid issues with json encode/decode Frederick Muriuki Muriithi
2023-04-17Fix typo, os.environment -> os.environ...Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2023-04-17Update the default SPARQL endpoint...Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2023-04-17Create new endpoint for fetching GeneRIF entries...* gn3/api/metadata.py: Import Template, sparql_query and RDF_PREFIXES. (get_genewiki_entries): New endpoint. * gn3/db/rdf.py: Add new constant for storing rdf prefixes. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2023-04-17Hook up code to use external search script for phenotypesFrederick Muriuki Muriithi
2023-04-17auth: Delete code that is no longer usedFrederick Muriuki Muriithi
2023-04-15Decouple `gn3.db_utils` from `flask.current_app`....Decouple the `gn3.db_utils` module from the global `flask.current_app` object, ensuring that the database uri value is passed in as a required argument to the `gn3.db_utils.database_connection` function. Frederick Muriuki Muriithi
2023-04-14auth: Add external script to search for phenotypes...We need a search through the available phenotype traits in the database when linking the traits to user groups. Unfortunately, the Xapian Search indexes do not (and should not) include the internal identifiers we use to disambiguate the traits. On the other hand, we do not want to present the user with traits that have already been linked to any user group within the search results. The script in this commit, together with the modified queries for fetching the phenotype data form a "hack" of sorts to wrap around the way the search works while ensuring we do not present the user with "non-actionable" (linked) traits in the search results. Frederick Muriuki Muriithi
2023-04-14auth: Disconnect module from flask application...To avoid application context errors in external scripts, disconnect the `gn3.auth.db` module from the `flask.current_app` dependency. Frederick Muriuki Muriithi
2023-04-12auth: Enable listing of unlinked genotype/mRNA group data.Frederick Muriuki Muriithi
2023-04-10Add search and link for mRNA Assay datasets.Frederick Muriuki Muriithi
2023-04-10Update expected request key.Frederick Muriuki Muriithi
2023-04-10Enable search, filtering out selected, but not linked data...When a user selects some datasets and does a new search, we filter out the selected datasets too, even though they are yet to be linked. Frederick Muriuki Muriithi