66 lines
1.9 KiB
TypeScript
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" };
|
|
}
|
|
}
|