34 lines
901 B
TypeScript
34 lines
901 B
TypeScript
/**
|
|
* Repository Interface: IAvatarGenerationRepository
|
|
*
|
|
* Defines the contract for avatar generation request persistence.
|
|
*/
|
|
|
|
import type { AvatarGenerationRequest, AvatarGenerationRequestProps } from '../entities/AvatarGenerationRequest';
|
|
|
|
export interface IAvatarGenerationRepository {
|
|
/**
|
|
* Save an avatar generation request
|
|
*/
|
|
save(request: AvatarGenerationRequest): Promise<void>;
|
|
|
|
/**
|
|
* Find an avatar generation request by ID
|
|
*/
|
|
findById(id: string): Promise<AvatarGenerationRequest | null>;
|
|
|
|
/**
|
|
* Find all avatar generation requests for a user
|
|
*/
|
|
findByUserId(userId: string): Promise<AvatarGenerationRequest[]>;
|
|
|
|
/**
|
|
* Find the latest avatar generation request for a user
|
|
*/
|
|
findLatestByUserId(userId: string): Promise<AvatarGenerationRequest | null>;
|
|
|
|
/**
|
|
* Delete an avatar generation request
|
|
*/
|
|
delete(id: string): Promise<void>;
|
|
} |