import BaseService from "@Services/BaseService"; import { Service } from "typedi"; import UsersRepository from "@Repositories/UsersRepository"; import { Prisma } from "@prisma/client"; @Service() export default class UsersService extends BaseService { constructor(private userRepository: UsersRepository) { super(); } /** * @description : Get all users * @throws {Error} If users cannot be get */ public get(query: Prisma.UsersFindManyArgs) { return this.userRepository.findMany(query); } /** * @description : Get a user by uid * @throws {Error} If user cannot be get by uid */ public getByUid(uid: string, query?: Prisma.UsersInclude) { return this.userRepository.findOneByUid(uid, query); } /** * @description : Get a user by uid with office * @throws {Error} If user cannot be get by uid */ public getByUidWithOffice(uid: string) { return this.userRepository.findOneByUidWithOffice(uid); } /** * @description : Get a user by uid * @throws {Error} If user cannot be get by uid */ public getByProvider(providerName: string, id: string) { return this.userRepository.findOneByProvider(providerName, id); } }