Age | Commit message (Expand) | Author |
2023-05-12 | auth: Provide separate endpoint for anonymous collections. | Frederick Muriuki Muriithi |
2023-05-11 | auth: 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-10 | auth: 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-10 | auth: 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-09 | auth: 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-flow | Frederick Muriuki Muriithi |
2023-04-27 | auth: 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-27 | auth: 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-27 | auth: Add authorisation checks for role editting. | Frederick Muriuki Muriithi |
2023-04-27 | oauth2: Provide missing `user_editable` argument. | Frederick Muriuki Muriithi |
2023-04-25 | auth: bug: Provide missing `user_editable` argument. | Frederick Muriuki Muriithi |
2023-04-25 | auth: provide `user_editable` flag in dictified output | Frederick Muriuki Muriithi |
2023-04-25 | auth: 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-24 | auth: 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-21 | logging: Set LOG LEVEL on root logger to enable logs | Frederick Muriuki Muriithi |
2023-04-21 | auth: Attach linked data to specific resources. | Frederick Muriuki Muriithi |
2023-04-21 | Setup 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-21 | auth: Fetch user group phenotypes not attached to a resource. | Frederick Muriuki Muriithi |
2023-04-19 | oauth2: Link the phenotype traits to user groups. | Frederick Muriuki Muriithi |
2023-04-19 | Fix minor linting and typing issues | Frederick Muriuki Muriithi |
2023-04-19 | auth: 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-19 | auth: phenotypes - provide default empty list for selected traits. | Frederick Muriuki Muriithi |
2023-04-18 | auth: Pass `--per-page` and `--selected` options. | Frederick Muriuki Muriithi |
2023-04-18 | auth: 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-17 | Fix typo, os.environment -> os.environ...Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
| Munyoki Kilyungi |
2023-04-17 | Update the default SPARQL endpoint...Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
| Munyoki Kilyungi |
2023-04-17 | Create 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-17 | Hook up code to use external search script for phenotypes | Frederick Muriuki Muriithi |
2023-04-17 | auth: Delete code that is no longer used | Frederick Muriuki Muriithi |
2023-04-15 | Decouple `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-14 | auth: 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-14 | auth: 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-12 | auth: Enable listing of unlinked genotype/mRNA group data. | Frederick Muriuki Muriithi |
2023-04-10 | Add search and link for mRNA Assay datasets. | Frederick Muriuki Muriithi |
2023-04-10 | Migrations for linking genotype files. | Frederick Muriuki Muriithi |
2023-04-10 | Update expected request key. | Frederick Muriuki Muriithi |
2023-04-10 | Enable 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 |
2023-04-08 | auth: Link genotype datasets to groups. | Frederick Muriuki Muriithi |
2023-04-06 | Fix linting issues | Frederick Muriuki Muriithi |
2023-04-06 | Remove deprecated `gn3.db_utils.database_connector` function...Remove the deprecated function and fix a myriad of bugs that arise from
removing the function.
Issue: https://issues.genenetwork.org/issues/bugfix_coupling_current_app_and_db_utils
| Frederick Muriuki Muriithi |
2023-04-05 | Enable 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-04 | auth: Search for linking genotype datasets. | Frederick Muriuki Muriithi |
2023-04-04 | Add tables to link genotype data | Frederick Muriuki Muriithi |
2023-03-23 | tests: Set up fixture and mock out config variable | Frederick Muriuki Muriithi |
2023-03-23 | auth: list the species in the database. | Frederick Muriuki Muriithi |
2023-03-23 | Docs: Add a note on how the configuration system works. | Frederick Muriuki Muriithi |
2023-03-23 | auth: 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-23 | conf: 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-22 | auth: 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-22 | auth: migrations for linking phenotype data | Frederick Muriuki Muriithi |
2023-03-22 | auth: Enable linking multiple datasets to the group at once. | Frederick Muriuki Muriithi |