feat: implement Redis session management and user authentication flow

This commit is contained in:
2025-12-30 01:38:09 +00:00
parent 1688ca0d23
commit 29523ef22f
20 changed files with 820 additions and 5 deletions
@@ -0,0 +1,34 @@
export interface UserRecord {
id: string;
username: string;
displayName: string;
passwordHash: string;
passwordSalt: string;
createdAt: string;
}
export interface PublicUser {
id: string;
username: string;
displayName: string;
createdAt: string;
}
export const toPublicUser = (user: UserRecord): PublicUser => ({
id: user.id,
username: user.username,
displayName: user.displayName,
createdAt: user.createdAt,
});
export interface CreateUserInput {
username: string;
password: string;
displayName?: string;
}
export interface UserRepository {
findByUsername(username: string): Promise<UserRecord | null>;
createUser(input: CreateUserInput): Promise<UserRecord>;
verifyPassword(user: UserRecord, password: string): Promise<boolean>;
}