import { ServiceApiContract } from "@ethicdevs/react-monolith";
import { FastifyRequest } from "fastify";
import { Organization, OrganizationMembership, User } from "@prisma/client";
export interface UsersServiceAPI extends ServiceApiContract {
getUserById(userId: string): Promise<User | null>;
getUserByUsername(username: string): Promise<User | null>;
getUserByEmailAddress(emailAddress: string): Promise<User | null>;
getUserOrganizationMemberships(
userId: string
): Promise<OrganizationMembership[]>;
getUserOrganizations(userId: string): Promise<Organization[]>;
}
export interface UsersServiceDeps {
request: FastifyRequest;
}