From 2c539697df106e0e55142155bdeb42d302a267fc Mon Sep 17 00:00:00 2001
From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com>
Date: Tue, 19 Mar 2024 13:39:24 +0100
Subject: [PATCH] Feat: Remove orgSlug from create project endpoint

---
 backend/src/server/routes/v2/project-router.ts  | 4 +---
 backend/src/services/project/project-service.ts | 9 +--------
 backend/src/services/project/project-types.ts   | 1 -
 3 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/backend/src/server/routes/v2/project-router.ts b/backend/src/server/routes/v2/project-router.ts
index 7ae5b3508..3258be50a 100644
--- a/backend/src/server/routes/v2/project-router.ts
+++ b/backend/src/server/routes/v2/project-router.ts
@@ -150,8 +150,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => {
             message: "Slug must be a valid slug"
           })
           .optional()
-          .describe(PROJECTS.CREATE.slug),
-        organizationSlug: z.string().trim().describe(PROJECTS.CREATE.organizationSlug)
+          .describe(PROJECTS.CREATE.slug)
       }),
       response: {
         200: z.object({
@@ -166,7 +165,6 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => {
         actor: req.permission.type,
         actorOrgId: req.permission.orgId,
         actorAuthMethod: req.permission.authMethod,
-        orgSlug: req.body.organizationSlug,
         workspaceName: req.body.projectName,
         slug: req.body.slug
       });
diff --git a/backend/src/services/project/project-service.ts b/backend/src/services/project/project-service.ts
index 71703a50c..5eaf081dc 100644
--- a/backend/src/services/project/project-service.ts
+++ b/backend/src/services/project/project-service.ts
@@ -92,7 +92,6 @@ export const projectServiceFactory = ({
    * Create workspace. Make user the admin
    * */
   const createProject = async ({
-    orgSlug,
     actor,
     actorId,
     actorOrgId,
@@ -100,13 +99,7 @@ export const projectServiceFactory = ({
     workspaceName,
     slug: projectSlug
   }: TCreateProjectDTO) => {
-    if (!orgSlug) {
-      throw new BadRequestError({
-        message: "Must provide organization slug to create project"
-      });
-    }
-
-    const organization = await orgDAL.findOne({ slug: orgSlug });
+    const organization = await orgDAL.findOne({ id: actorOrgId });
 
     const { permission, membership: orgMembership } = await permissionService.getOrgPermission(
       actor,
diff --git a/backend/src/services/project/project-types.ts b/backend/src/services/project/project-types.ts
index 5b2b635f2..dcd424e18 100644
--- a/backend/src/services/project/project-types.ts
+++ b/backend/src/services/project/project-types.ts
@@ -24,7 +24,6 @@ export type TCreateProjectDTO = {
   actorAuthMethod: ActorAuthMethod;
   actorId: string;
   actorOrgId?: string;
-  orgSlug: string;
   workspaceName: string;
   slug?: string;
 };