15 lines
597 B
TypeScript
15 lines
597 B
TypeScript
import type { Cookie } from "@/entities/models/cookie";
|
|
import type { Session } from "@/entities/models/session";
|
|
import type { User } from "@/entities/models/user";
|
|
|
|
export interface IAuthenticationService {
|
|
generateUserId(): string;
|
|
hashPassword(password: string): Promise<string>;
|
|
verifyPassword(hash: string, password: string): Promise<boolean>;
|
|
validateSession(
|
|
sessionId: string
|
|
): Promise<{ user: User; session: Session }>;
|
|
createSession(user: User): Promise<{ session: Session; cookie: Cookie }>;
|
|
invalidateSession(sessionId: string): Promise<{ blankCookie: Cookie }>;
|
|
}
|