2023-05-15 10:09:51 +02:00

46 lines
1.2 KiB
TypeScript

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<Users[]> {
return this.userRepository.findMany(query);
}
/**
* @description : Create a user
* @throws {Error} If user couldn't be created
*/
public create(userEntity: User): Promise<Users> {
return this.userRepository.create(userEntity);
}
/**
* @description : Modify a user
* @throws {Error} If user modification failed
*/
public update(uid: string, userEntity: User): Promise<Users> {
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<Users | null> {
return this.userRepository.findOneByUid(uid, query);
}
}