Repository for user operations with caching support. Provides methods for user CRUD operations while maintaining cache consistency.
Optional
Bans a user account with an optional reason.
The ID of the user to ban
Optional reason for the ban
Promise resolving to the updated user object
Creates a new user account.
The username for the new account
The email address for the new account
The password for the new account
Promise resolving to the created user object
Retrieves a user by their email address with cache-first strategy.
The email address to search for
Promise resolving to the user object or null if not found
Retrieves a user by their ID with cache-first strategy.
The user ID to search for
Protected
Unbans a previously banned user account.
The ID of the user to unban
Updates a user's bio/description.
The ID of the user to update
The new bio description
Updates a user's email address.
The new email address
Updates a user's password.
The new password (should be hashed)
Updates a user's profile banner.
The new profile banner URL or path
Updates a user's profile picture.
The new profile picture URL or path
Updates a user's username.
The new username
Repository for user operations with caching support. Provides methods for user CRUD operations while maintaining cache consistency.