Add UserRegistry to store all existing users and UserCleanupJob to periodicly remove expired user #189

Merged
lars.winzer merged 12 commits from feat/user-serverside into main 2026-03-15 20:00:59 +01:00
lars.winzer commented 2026-03-15 19:58:46 +01:00 (Migrated from git.scicore.unibas.ch)

Adds the User class to store the username, user id and connect it to its session. If a user disconnects, the association (by the session id) is released and the user is left afloat. After a given time, the user is seen as expired and deleted.

All users are stored in the UserRegistry. It provides synchronized access to ensure data integrity.

The UserFactory is used to create new users and iterates over usernames until the desiredName (with suffix) is free.

As mentioned earlier, a UserCleanupJob has been put in place to periodicly check if any user expired and can be collected. If a user is able to reconnect within that timewindow, it can persist.

The user is later used to link the network to the domain.

Adds the User class to store the username, user id and connect it to its session. If a user disconnects, the association (by the session id) is released and the user is left afloat. After a given time, the user is seen as expired and deleted. All users are stored in the UserRegistry. It provides synchronized access to ensure data integrity. The UserFactory is used to create new users and iterates over usernames until the desiredName (with suffix) is free. As mentioned earlier, a UserCleanupJob has been put in place to periodicly check if any user expired and can be collected. If a user is able to reconnect within that timewindow, it can persist. The user is later used to link the network to the domain.
lars.winzer commented 2026-03-15 20:00:59 +01:00 (Migrated from git.scicore.unibas.ch)

mentioned in commit 47544c4f1b

mentioned in commit 47544c4f1be04c769193584aaa16e1180c856d64
lars.winzer (Migrated from git.scicore.unibas.ch) merged commit 47544c4f1b into main 2026-03-15 20:00:59 +01:00
This repo is archived. You cannot comment on pull requests.
No Reviewers
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: University-of-Basel-Studentprojects/Programmierprojekt#189