import { OfficeFolders } from ".prisma/client"; import OfficeFoldersRepository from "@Repositories/OfficeFoldersRepository"; import BaseService from "@Services/BaseService"; import { OfficeFolder } from "le-coffre-resources/dist/SuperAdmin"; import Container, { Service } from "typedi"; @Service() export default class OfficeFoldersService extends BaseService { constructor() { super(); } /** * @description : Get all folders * @returns : OfficeFolders[] * @throws {Error} If folders cannot be get */ public async get(query: any) { //init repo const repo = Container.get(OfficeFoldersRepository); //call service to return prisma entity return await repo.findMany(query); } /** * @description : Create a new folder * @returns : T * @throws {Error} If folder cannot be created * @param : projectEntity: Partial */ public async create(officeFolderEntity: OfficeFolder): Promise { //init repo const repo = Container.get(OfficeFoldersRepository); // call service to return prisma entity return await repo.create(officeFolderEntity); } /** * @description : Modify a folder * @returns : T * @throws {Error} If folder cannot be modified * @param : projectEntity: Partial */ public async update(officeFolderEntity: OfficeFolder): Promise { //init repo const repo = Container.get(OfficeFoldersRepository); // call service to return prisma entity return await repo.update(officeFolderEntity); } /** * @description : Get a folder by uid * @returns : T * @throws {Error} If folder cannot be get by uid * @param : projectEntity: Partial */ public async getByUid(uid: string) { // const folder = await this.foldersRepository.findOne(uid); // if (!folder) Promise.reject(new Error("Cannot get folder by uid")); return { response: "/api/folders/:uid > GET : folder by uid > Not implemented yet" }; } }