So, we have users table with username and id columns. I think we should keep it as a cache for user information e.g. real name, maybe photo, and maybe some preferences in future.
When we start creating more database tables (channels, invitations, etc.) we'd need to decide if we should internally use user id or username (in case of Kolab it would be an email address, but maybe not always). I suppose we have to use username as a user identifier:
- to really make the users table optional
- to make user identifiers unique and constant across servers (federation, etc.)