From 4eaf23fd78cb19294edd35ff7ae2fa9018e02f5e Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Sun, 22 Jan 2023 02:19:44 +0100 Subject: [PATCH] Created the patchProject method in the projects.ts controller --- src/controller/projects.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/controller/projects.ts b/src/controller/projects.ts index 7f7ea93..3945b32 100644 --- a/src/controller/projects.ts +++ b/src/controller/projects.ts @@ -19,4 +19,18 @@ export const deleteProject = async (id: string) => { // TODO: Delete all licenses, groups, permissions, .. await project.delete(); +}; + +export const patchProject = async (id: string, config: { + name: string, defaults: { licenseKey: string, groups: [], permissions: [], expirationDate: Date } +}) => { + if (!Types.ObjectId.isValid(id)) + return { code: 3, message: "Invalid object id provided" }; + + const project = await Project.findById(id); + if (project === null) return { code: 5009, message: "The provided project id does not exist" }; + + // TODO: Check if groups & permissions exist + + await project.updateOne({ name: config.name, defaults: Object.assign(project.defaults, config.defaults) }); }; \ No newline at end of file