aboutsummaryrefslogtreecommitdiff
path: root/gn2
AgeCommit message (Collapse)Author
2024-08-28Remove obsolete configurations.Frederick Muriuki Muriithi
2024-08-28bug: add missing `count_per_page` variable.Frederick Muriuki Muriithi
2024-08-28Use auto-created and auto-rotated JSON Web KeysFrederick Muriuki Muriithi
Use auto-created JWKs for better security.
2024-08-28Use JWKs from auth server public endpointFrederick Muriuki Muriithi
* Fetch keys from auth server * Validate token is signed with one of the keys from server * Ensure refreshing of token is still synchronised
2024-08-28Add module to help with rotation of JSON Web Keys.Frederick Muriuki Muriithi
2024-08-28Fix correlation bug caused by a result trait not having a locationzsloan
2024-08-28Fix misnamed variable that caused correlation location filter to not workzsloan
2024-08-28Fix collections import by allowing GET method for collections/add endpointzsloan
2024-08-28Improve loggingFrederick Muriuki Muriithi
Add more logging information to help with tracking and fixing bugs.
2024-08-28Synchronise token refreshesFrederick Muriuki Muriithi
The application can be run in a multi-threaded server, leading to a situation where the multiple threads attempt to get a new JWT using the exact same refresh token. This synchronises the various threads ensuring only a single thread is able to retrieve the new JWT that all the rest of the threads then use.
2024-08-28Fix GN3 URIs for case attribute editingzsloan
Also improve error logging somewhat (but still need to properly display the error in a template)
2024-08-28Include trait and dataset name in hmac passed to search results page for ↵zsloan
non-xapian results Previously it only had the hmac, which caused adding to a collection to not work for such searches
2024-08-28Include CaseAttribute.InbredSetId in the query that fetches case attributeszsloan
Previously issues could occur if a difference InbredSet had the same CaseAtribute Id
2024-08-28Add BXD-JAX-OFS to BXD_GROUP_EXCEPTIONzsloan
2024-08-28Use JSON rather than X-Form-URL-encoded data with auth server.Frederick Muriuki Muriithi
2024-08-28Run GN2 multithreaded by defaultFrederick Muriuki Muriithi
The service runs multithreaded on production, thus running it multithreaded during dev should help with exposing otherwise difficult/impossible to debug issues if running single-threaded.
2024-08-28Provide PoC public-jwks endpoint.Frederick Muriuki Muriithi
2024-08-28Stop using the escape function for descriptions on the search result pagezsloan
Apparently escape is deprecated, and it's also introducing some issues. We may encounter other descriptions with problems as a result of this, but they should be fixed in a different way.
2024-08-28Also address the issue with trait IDs being detected as substrings for ↵zsloan
searches including the group codes, like BXD_27538
2024-08-28Change text for Block filtering options to Filter to more accurately reflect ↵zsloan
their current use
2024-08-28This prevents phenotype trait IDs (numeric search terms that are 5 digits in ↵zsloan
length) from being searched as a partial term (since some phenotype IDs were showing up in PubMed_IDs and corrupting search results)
2024-08-28Fix premature session expirationFrederick Muriuki Muriithi
With the change to JWTs the time-to-live for each token is severely curtailed to help with security in case of a token theft. We, therefore, can no longer rely on the TTL for session expiration, rather, we will rely of the token-refresh mechanism to expire a token after a long while.
2024-08-28Remove redundant import.Frederick Muriuki Muriithi
2024-08-28Remove token and user detail handling from @app.before_requestFrederick Muriuki Muriithi
The token and user details information is handled in the `gn2.wqflask.oauth2.session`. Other parts of the system should make use of that. It also helps avoid some weird "action-at-a-distance" interactions - this forces the code to request what it needs when it needs it and not rely on some global variables.
2024-08-28Reorganise code to do ALL configs at the top and then loggingFrederick Muriuki Muriithi
In order to ensure that logging works as expected, make sure it is set up after all settings are in place.
2024-08-28Add two new links to tutorials pagezsloan
2024-08-28Add Peak Chr and Peak Mb columns to ProbeSet export in the GN2 REST APIzsloan
2024-08-28fix: show no_data instead of Loading when there is no results from searchJohn Nduli
2024-08-28fix: correct javascript if statementJohn Nduli
2024-08-28fix: datatables error when search returns empty resultJohn Nduli
2024-08-28fix: cleaner handling for gsearch errorsJohn Nduli
2024-08-28Add link to GeneCup to tool buttonszsloan
This also includes a function for converting a list of traits/datasets to symbols, which was added to trait.py
2024-08-28Link to global search syntax document as markdown on githubzsloan
2024-08-28Put SQL search code into function, and default to that function if the ↵zsloan
Xapian search returns no results or throws an error (so search will still work if GN3 is down)
2024-08-28Automatically decide whether to use Xapian or SQL (uses Xapian if possible) ↵zsloan
+ remove separate search button Change logic so that SQL is used for non-term Publish searches, since searches for phenotype trait IDs currently don't work in Xapian
2024-08-28Increase MAX_SEARCH_RESULTS to 50000zsloan
2024-08-28Fix LRS/LOD Xapian searches when there are 5 terms (where position range is ↵zsloan
included)
2024-08-28Fix some issues with handling Xapian search outputzsloan
- Description trimming is now handled in the python code - HMAC generation function is changed to be the same as the one used by global search - Search terms that currently don't support Xapian searches are now 'routed' to the SQL search
2024-08-28Set default value for Mean and Additive Effectzsloan
2024-08-28Add default value for location and symbolzsloan
Adding these in the DataTables column definitions is convenient because it means they don't need to be dealt with in the Python code
2024-08-28Create trait objects from Xapian search results to pass to DataTableszsloan
This means the result table should be displayed now. The only issue is that this involves a significant amount of duplicated code from gsearch.py; I'm not sure how best to avoid this, but this is okay for now.
2024-08-28Raise ValueError if dataset type isn't ProbeSet/Publish/Genozsloan
2024-08-28Add doctstrings for new functions in search_results.pyzsloan
Replace dataset name with fullname (this will need to be changed back when the Xapian indexing is rerun)
2024-08-28Begin adding Xapian queries for the non-global search and submit request to GN3zsloan
Still need to handle the output and address a bug that is also affecting the global search
2024-08-28Add separate button for Xapian searchzsloan
This will be temporary in the longer run, but can stay until all functionality is reproduced.
2024-08-28Make UI items more flexible.Frederick Muriuki Muriithi
2024-08-28Remove flawed "group role" idea: use just "role".Frederick Muriuki Muriithi
2024-08-28Remove deprecated endpoints/views and templatesFrederick Muriuki Muriithi
2024-08-28Fix error display logicFrederick Muriuki Muriithi
2024-08-28Fetch the active user's roles on a particular resource.Frederick Muriuki Muriithi