feat(core): add application interfaces (repositories + services)

This commit is contained in:
2026-04-06 14:24:31 +02:00
parent bc78f2d366
commit f2bbd9791f
6 changed files with 44 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
import type { Cookie } from "@/entities/models/cookie.js";
import type { Session } from "@/entities/models/session.js";
import type { User } from "@/entities/models/user.js";
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 }>;
}

View File

@@ -0,0 +1,2 @@
export type { IAuthenticationService } from "./auth.service.interface.js";
export type { ITelemetryService } from "./telemetry.service.interface.js";

View File

@@ -0,0 +1,3 @@
export interface ITelemetryService {
startSpan<T>(name: string, fn: () => T | Promise<T>): Promise<T>;
}