Age | Commit message (Expand) | Author |
2023-03-13 | oauth2: 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-13 | auth: 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-10 | auth: data-migration: Fix minor bugs | Frederick Muriuki Muriithi |
2023-03-09 | auth: redis data: migrate data in redis...Implement the code to migrate the data from redis to SQLite.
| Frederick Muriuki Muriithi |
2023-03-09 | auth: 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-09 | auth: 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-08 | auth: 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-08 | Replace 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-07 | auth: group_roles: Enable addition/deletion of privileges | Frederick Muriuki Muriithi |
2023-03-07 | auth: resources: unassign roles on resource from a user. | Frederick Muriuki Muriithi |
2023-03-07 | auth: 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-06 | auth: resources: Enable assigning a user roles on resources | Frederick Muriuki Muriithi |
2023-03-06 | auth: resources: Link role's group to the resource's group | Frederick Muriuki Muriithi |
2023-03-06 | auth: resources: Get all users with access to a particular resource. | Frederick Muriuki Muriithi |
2023-03-03 | auth: Enable viewing group role details. | Frederick Muriuki Muriithi |
2023-03-03 | auth: group roles: enable creation and listing of group roles. | Frederick Muriuki Muriithi |
2023-03-02 | auth: user registration: Rework error checking. Add email validation | Frederick Muriuki Muriithi |
2023-02-28 | auth: Unlink data from resources...Enable the data editor to unlink data from a particular resource.
data-access-levels-endpoint | Frederick Muriuki Muriithi |
2023-02-28 | auth: Unlink data from resources...Enable the data editor to unlink data from a particular resource.
| Frederick Muriuki Muriithi |
2023-02-27 | auth: 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 |
2023-02-24 | auth: resources: Fix query for data not linked to resources | Frederick Muriuki Muriithi |
2023-02-24 | auth: resources: Fix queries loading resources data. | Frederick Muriuki Muriithi |
2023-02-24 | auth: resources: Link data to resources. | Frederick Muriuki Muriithi |
2023-02-23 | auth: Link data in MySQL to the groups (in SQLite)...In order for the group leaders (and other resource creators) to be able to
link data to the resources, the data needs to be first linked to the relevant
group.
This commit enables the system admin to link the data in MySQL to the groups.
| Frederick Muriuki Muriithi |
2023-02-22 | auth: List data not linked to any group. | Frederick Muriuki Muriithi |
2023-02-21 | auth: db: DEBUG: Output quer(y|ies) that were run. | Frederick Muriuki Muriithi |
2023-02-21 | auth: resources: Attach resource data and list unlinked data....Load the data that is attached to a particular resource together with the
resource.
List any unlinked data: useful when linking data to resources.
| Frederick Muriuki Muriithi |
2023-02-10 | Return empty tuple rather than Nothing...When user has no roles assigned, return an empty tuple rather than
pymonad.maybe.Nothing to ease maintenance.
| Frederick Muriuki Muriithi |
2023-02-09 | auth: Reject request to join a group....* gn3/auth/authorisation/groups/models.py: Modify function to either accept or
reject join requests.
* gn3/auth/authorisation/groups/views.py: Provide endpoint to reject join
requests.
* migrations/auth/20230207_01_r0bkZ-create-group-join-requests-table.py:
Prevent user from applying to join the same group more than once.
| Frederick Muriuki Muriithi |
2023-02-09 | auth: users: Check whether a user has an active join request. | Frederick Muriuki Muriithi |
2023-02-08 | auth: groups: handle join requests. | Frederick Muriuki Muriithi |
2023-02-07 | auth: groups: Enable users to request to join group. | Frederick Muriuki Muriithi |
2023-02-06 | auth: resource: Enable viewing the details of a resource. | Frederick Muriuki Muriithi |
2023-02-03 | auth: commit missing module. | Frederick Muriuki Muriithi |
2023-02-03 | oauth: enable resource creation | Frederick Muriuki Muriithi |
2023-02-03 | auth: tests: mock token acquisition. Fix minor bugs. | Frederick Muriuki Muriithi |
2023-02-02 | auth: Improve authorisation...Retrieve the token, and user in the authorisation decorator to enable checking
of privileges.
| Frederick Muriuki Muriithi |
2023-02-02 | auth: Reorganise modules/packages for easier dev and maintenance...Split the views/routes into separate modules each dealing with a narrower
scope of the application to aid in maintenance, and help with making the
development easier.
| Frederick Muriuki Muriithi |
2023-01-31 | auth: Retrieve group members. | Frederick Muriuki Muriithi |
2023-01-31 | auth: Remove the @authenticated_p decorator...The @authenticated_p decorator (and function), is an artifact of the original
development ideas and should be removed from use.
| Frederick Muriuki Muriithi |
2023-01-31 | auth: Set the token scope as a string, not a list...Setting the scope as a list of strings was leading to errors when attempting
to logout. This commit leaves the scope as a string to avoid the errors.
| Frederick Muriuki Muriithi |
2023-01-30 | auth: Do not treat not finding a group as an error...Stop treating not finding a group for a user as an error, since that is an
actual expected state in the system at some point. Rather, restore the use of
Maybe rather than using Either.
We can raise the NotFoundError at the API level rather than at database
retrival level.
| Frederick Muriuki Muriithi |
2023-01-30 | auth: API: retrieve resources | Frederick Muriuki Muriithi |
2023-01-30 | auth: groups: cleanup code...Refactor to use the `.either` method call in a cleaner way.
Rework the imports.
| Frederick Muriuki Muriithi |
2023-01-30 | auth: API: Retrieve a user's group...Add endpoint to retrieve the group in which the user is a member.
| Frederick Muriuki Muriithi |
2023-01-28 | auth: Enable retrieval of a role by id. | Frederick Muriuki Muriithi |
2023-01-28 | auth: rework dictify...Define a Protocol type to use with the `dictify` function and implement the
`dictify` methods for the various classes.
| Frederick Muriuki Muriithi |
2023-01-28 | auth: Store error_code in Exception for flexibility...To allow for different error codes for the various exceptions, store the
error_code in the exception objects and retrieve it from there when generating
the response.
| Frederick Muriuki Muriithi |
2023-01-23 | auth: Add missing module | Frederick Muriuki Muriithi |
2023-01-23 | auth: create group: Fix group creation....* gn3/auth/authorisation/checks.py: Enable passing user to authorisation
checking function. Raise error on authorisation failure for consistent error
handling.
* gn3/auth/authorisation/groups.py: Add user to group, updating the privileges
as appropriate.
* gn3/auth/authorisation/resources.py: Fix resources querying
* gn3/auth/authorisation/roles.py: Assign/revoke roles by name
* gn3/auth/authorisation/views.py: Create group
* migrations/auth/20221108_01_CoxYh-create-the-groups-table.py: Add
group_metadata field
* tests/unit/auth/fixtures/group_fixtures.py: fix tests
* tests/unit/auth/test_groups.py: fix tests
* tests/unit/auth/test_resources.py: fix tests
* tests/unit/auth/test_roles.py: fix tests
| Frederick Muriuki Muriithi |