2023-04-20 09:52:26 +02:00

66 lines
1.9 KiB
TypeScript

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<ProjectEntity>
*/
public async create(officeFolderEntity: OfficeFolder): Promise<OfficeFolders> {
//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<ProjectEntity>
*/
public async update(officeFolderEntity: OfficeFolder): Promise<OfficeFolders> {
//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<ProjectEntity>
*/
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" };
}
}