Files
SerpentRace/SerpentRace_Backend/dist/Infrastructure/Repository/ChatRepository.d.ts
T

31 lines
1.6 KiB
TypeScript

import { ChatAggregate } from '../../Domain/Chat/ChatAggregate';
import { ChatArchiveAggregate } from '../../Domain/Chat/ChatArchiveAggregate';
import { IChatRepository } from '../../Domain/IRepository/IChatRepository';
export declare class ChatRepository implements IChatRepository {
private repo;
private archiveRepo;
constructor();
create(chat: Partial<ChatAggregate>): Promise<Partial<ChatAggregate> & ChatAggregate>;
findByPage(from: number, to: number): Promise<{
chats: ChatAggregate[];
totalCount: number;
}>;
findByPageIncludingDeleted(from: number, to: number): Promise<{
chats: ChatAggregate[];
totalCount: number;
}>;
findById(id: string): Promise<ChatAggregate | null>;
findByIdIncludingDeleted(id: string): Promise<ChatAggregate | null>;
findByUserId(userId: string): Promise<ChatAggregate[]>;
findByUserIdIncludingDeleted(userId: string): Promise<ChatAggregate[]>;
findByGameId(gameId: string): Promise<ChatAggregate | null>;
findActiveChatsForUser(userId: string): Promise<ChatAggregate[]>;
findInactiveChats(inactivityMinutes: number): Promise<ChatAggregate[]>;
update(id: string, update: Partial<ChatAggregate>): Promise<ChatAggregate | null>;
delete(id: string): Promise<import("typeorm").DeleteResult>;
softDelete(id: string): Promise<ChatAggregate | null>;
archiveChat(chat: ChatAggregate): Promise<ChatArchiveAggregate>;
getArchivedChat(chatId: string): Promise<ChatArchiveAggregate | null>;
restoreFromArchive(chatId: string): Promise<ChatAggregate | null>;
}
//# sourceMappingURL=ChatRepository.d.ts.map