import BaseService from "@Services/BaseService"; import "reflect-metadata"; import { Service } from "typedi"; import UsersRepository from "@Repositories/UsersRepository"; import User from "le-coffre-resources/dist/SuperAdmin"; import {Prisma, Users } 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): Promise { return this.userRepository.findMany(query); } /** * @description : Create a user * @throws {Error} If user couldn't be created */ public create(userEntity: User): Promise { return this.userRepository.create(userEntity); } /** * @description : Modify a user * @throws {Error} If user modification failed */ public update(uid: string, userEntity: User): Promise { return this.userRepository.update(uid, userEntity); } /** * @description : Get a user by uid * @throws {Error} If user cannot be get by uid */ public getByUid(uid: string, query?: any): Promise { return this.userRepository.findOneByUid(uid, query); } }