aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-07auth: Remove obsoleted scopeFrederick Muriuki Muriithi
2023-06-07Add publication end-pointMunyoki Kilyungi
* gn3/api/metadata.py: Import get_publication_metadata (publication): New endpoint. * gn3/db/rdf.py (get_dataset_metadata): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-07Nest duplicate entries into a list from a sparql resultMunyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-07Remove trait_metadata endpointMunyoki Kilyungi
* gn3/api/metadata.py: Remove get_trait_metadata import. (trait_metadata): Delete. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-06Pass geoSeries as a URLMunyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-06Rename gn:geoPlatform -> gn:geoPlatformUrlMunyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-06Match how dataset metadata is fetched with GN1Munyoki Kilyungi
* gn3/db/rdf.py (sparql_query): Parse CONSTRUCTS and SELECTS differently. (strip_url): Rename to ... (get_url_local_name): ... this. (get_dataset_metadata): Fetch extra fields in RDF. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-06Replace taxon prefix with ncbiTaxon which references NCBIMunyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-06Rename dataset_metadata -> datasetMunyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-05Logging: Don't allow getting user info to stop application startingFrederick Muriuki Muriithi
In certain scenarios (probably due to host contamination) the effective UID of the running application is not the expected "genenetwork" user, rather, it is a user on the host system, which leads to the error: KeyError: 'getpwuid(): uid not found: 1000' This commit prevents the application from failing in such a case, but still logs out such weirdness.
2023-06-05Logging: Get user information.Frederick Muriuki Muriithi
2023-06-05Logging: Get guix profile information if present.Frederick Muriuki Muriithi
Useful for debugging issues within the guix containers.
2023-06-05Logging: Get info about pythonFrederick Muriuki Muriithi
This information is useful to assist with debugging issues within the guix containers.
2023-06-05Handle unhandled SQLite3 errors.Frederick Muriuki Muriithi
2023-06-02Replace SELECT with CONSTRUCT when fetching a dataset's metadataMunyoki Kilyungi
* gn3/db/rdf.py: Importh pymonad.Nothing. (get_dataset_metadata): Replace SELECT with CONSTRUCT. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-02Create a function for stripping the last bit from a URLMunyoki Kilyungi
* gn3/db/rdf.py: Import unquote and urlparse. (strip_url): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-06-02auth: Increase limit to 100K recordsFrederick Muriuki Muriithi
2023-06-02auth: Add delay between DB insertsFrederick Muriuki Muriithi
Add delays to avoid overwhelming the DB server.
2023-06-02Auth: Bug: Display all admins before taking choiceFrederick Muriuki Muriithi
2023-05-31scripts: Write table checksums into index.Arun Isaac
* scripts/index-genenetwork (main): Write table checksums into index.
2023-05-31scripts: Introduce SQLTableClause.Arun Isaac
* scripts/index-genenetwork (SQLTableClause): New variable. (genes_query, phenotypes_query): Express tables using SQLTableClause. (serialize_sql): Serialize SQLTableClause.
2023-05-31scripts: Fold long lines.Arun Isaac
* scripts/index-genenetwork (write_document, index_query): Fold long lines.
2023-05-31scripts: Ensure only one indexing job may run at a time.Arun Isaac
* scripts/index-genenetwork (main): Ensure no other indexing job is running.
2023-05-30Fix linting errors and failing testsFrederick Muriuki Muriithi
* scripts/register_sys_admin.py: fix linting error * tests/unit/auth/fixtures/oauth2_client_fixtures.py: hash client secret in database. The code expects it hashed in the database.
2023-05-30Provide logout link.Frederick Muriuki Muriithi
2023-05-30Enable registering sys-admin on CLIFrederick Muriuki Muriithi
To ease registration of system-admin user, provide a CLI script to register the user and mark them as sys admin in one go.
2023-05-30auth: Change check for client secretFrederick Muriuki Muriithi
We are saving the client secret in an encrypted form, meaning we have to verify that the CLIENT_SECRET that is provided is the same one as was generated at registration in a different way. Initially, I was doing a direct comparison, having saved the CLIENT_SECRET value as unencrypted plain-text.
2023-05-29auth: Enable registration of OAuth2 clientsFrederick Muriuki Muriithi
Add UI and code to enable the administrative user to register new OAuth2 clients that can access the API server.
2023-05-29Enable Administrator login on GN3Frederick Muriuki Muriithi
* gn3/auth/authentication/oauth2/views.py: Remove endpoint * gn3/auth/authorisation/users/admin/__init__.py: New admin module * gn3/auth/authorisation/users/admin/ui.py: New admin module * gn3/auth/authorisation/users/admin/views.py: New admin module * gn3/auth/views.py: Use new admin module * gn3/errors.py: Fix linting errors * gn3/templates/login.html: New html template * main.py: Fix linting errors
2023-05-29Move docs to Gemtext repo.Frederick Muriuki Muriithi
2023-05-27Document Use of OAuth2 ClientsFrederick Muriuki Muriithi
* docs/authentication_and_authorisation/oauth2_clients.md: New documentation * gn3/auth/authentication/oauth2/server.py: Raise appropriate error if no client is found. * gn3/auth/authentication/oauth2/views.py: Handle exception in the case where a UI should be presented to the user, rather than presenting the raw JSON response to the user. * gn3/errors.py: Handle any authlib OAuth2Error at the application's top-level * gn3/templates/oauth2/oauth2_error.html: Handle any authlib OAuth2Error at the application's top-level
2023-05-27Add notes on retrieving user IDsFrederick Muriuki Muriithi
2023-05-26Document CLI Utility CommandsFrederick Muriuki Muriithi
Document some CLI utility commands useful for development and for supporting the operation of the GN3 app.
2023-05-25Add some error checks.Frederick Muriuki Muriithi
2023-05-25Script to assign existing data to publicly-visible resourcesFrederick Muriuki Muriithi
A script to assign existing data not assigned to any group to publicly-visible resources.
2023-05-25Set whether resource is publicly viewable on creationFrederick Muriuki Muriithi
2023-05-23auth: Enable user masqueradeFrederick Muriuki Muriithi
Enable users with the appropriate privileges to masquerade as other users by providing an endpoint that provides a new token for the "masqueradee"
2023-05-23Document how to log out information in GN3Frederick Muriuki Muriithi
2023-05-22Use string literal concatenation to make genofile_path line shorterzsloan
2023-05-22Fix quotes when setting genofile_pathzsloan
2023-05-22Fix return typing for get_trait_sample_datazsloan
2023-05-22Change type from 'any' to 'Any'zsloan
2023-05-22Use f-string for setting genofile_pathzsloan
Also set default value for os.environ.get("GENENETWORK_FILES")
2023-05-22Include encoding in open statement to address pylint W1514zsloan
2023-05-22Initialize 'line'; previous pylint complained because line might not be ↵zsloan
initialized (if the genofile was empty, for example)
2023-05-22Use 'with open()' syntaxzsloan
Initialize samplelist variable
2023-05-22Remove unused variable this_datazsloan
2023-05-22Include all samples in trait sample datazsloan
This is necessary in order to allow for editing the values of samples that don't currently have values
2023-05-22Fix sample data CSV query to only fetch distinct sampleszsloan
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
2023-05-22Fix get_trait_sample_data functionzsloan