Files
SerpentRace/SerpentRace_Backend/dist/Domain/IRepository/IUserRepository.d.ts
T

30 lines
1.3 KiB
TypeScript

import { UserAggregate } from '../User/UserAggregate';
export interface IUserRepository {
create(user: Partial<UserAggregate>): Promise<UserAggregate>;
findByPage(from: number, to: number): Promise<{
users: UserAggregate[];
totalCount: number;
}>;
findByPageIncludingDeleted(from: number, to: number): Promise<{
users: UserAggregate[];
totalCount: number;
}>;
findById(id: string): Promise<UserAggregate | null>;
findByIdIncludingDeleted(id: string): Promise<UserAggregate | null>;
findByUsername(username: string): Promise<UserAggregate | null>;
findByEmail(email: string): Promise<UserAggregate | null>;
findByToken(token: string): Promise<UserAggregate | null>;
search(query: string, limit?: number, offset?: number): Promise<{
users: UserAggregate[];
totalCount: number;
}>;
searchIncludingDeleted(query: string, limit?: number, offset?: number): Promise<{
users: UserAggregate[];
totalCount: number;
}>;
update(id: string, update: Partial<UserAggregate>): Promise<UserAggregate | null>;
delete(id: string): Promise<any>;
softDelete(id: string): Promise<UserAggregate | null>;
deactivate(id: string): Promise<UserAggregate | null>;
}
//# sourceMappingURL=IUserRepository.d.ts.map