import { FilterTasks } from "@/server/task/domain/models"; import { SendInvitation, UpdateUserMetadata, User, UserById, UserId } from "../domain/models"; export interface UserService { getAllUsers(userId: UserId): Promise; getUserWithTaskById(userId: UserId, filter: FilterTasks): Promise; sendInvitation(data: SendInvitation): Promise; updateUserClerk(data: Partial): Promise; createUserDb(data: User): Promise; updateUserDb(data: User): Promise; unbanUser(userId: UserId): Promise; banUser(userId: UserId): Promise; getUserById(userId: UserId): Promise; deleteUserClerk(userId: UserId): Promise; deleteUserDb(userId: UserId): Promise; findOrCreateUser(user: User): Promise; updateUserMetadataClerk(data: UpdateUserMetadata): Promise } export interface UserFacade { getAllUsers(userId: UserId): Promise; getUserById(userId: UserId): Promise; getUserWithTaskById(userId: UserId, filter: FilterTasks): Promise; sendInvitation(data: SendInvitation): Promise; updateUserClerk(data: Partial): Promise; createUserDb(data: User): Promise; updateUserDb(data: User): Promise; unbanUser(userId: UserId): Promise; banUser(userId: UserId): Promise; deleteUserClerk(userId: UserId): Promise; deleteUserDb(userId: UserId): Promise; findOrCreateUser(user:User): Promise; }