feat: implement Redis session management and user authentication flow

This commit is contained in:
Hide_D committed 2025-12-30 01:38:09 +00:00
1 parent 1688ca0d23
commit 29523ef22f
20 files changed
+820 -5

No files matched your search

@@ -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>;
}