diff --git a/ExpressAPI/src/managers/GitlabManager.ts b/ExpressAPI/src/managers/GitlabManager.ts
index 05d9f2e849dc10eab2445b8885c0b474774a7d43..096161b7087789b45ed5797e4202dca44d0d546d 100644
--- a/ExpressAPI/src/managers/GitlabManager.ts
+++ b/ExpressAPI/src/managers/GitlabManager.ts
@@ -274,11 +274,10 @@ class GitlabManager {
     }
     
     async moveRepositorySubGroup(repoId : number, newRepoId : number) {
-        const response = await axios.put(this.getApiUrl(GitlabRoute.REPOSITORY_MOVE_SUBGROUP).replace('{{id}}', String(repoId)), {
-            namespace : newRepoId
-        }
-    );
-
+        const response = await axios.put(this.getApiUrl(GitlabRoute.REPOSITORY_MOVE_SUBGROUP).replace('{{id}}', String(repoId)), 
+        { 
+            namespace : newRepoId 
+        });
         return response.data;
     }
 }
diff --git a/ExpressAPI/src/routes/AssignmentRoutes.ts b/ExpressAPI/src/routes/AssignmentRoutes.ts
index a0d2fa81f11851c98380a14c16ac4a25877e9716..0cdda907cba31b9873d68b41d42ae98102a24ed0 100644
--- a/ExpressAPI/src/routes/AssignmentRoutes.ts
+++ b/ExpressAPI/src/routes/AssignmentRoutes.ts
@@ -50,8 +50,8 @@ class AssignmentRoutes implements RoutesManager {
         
         backend.patch('/assignments/:assignmentNameOrUrl/publish', SecurityMiddleware.check(true, SecurityCheckType.ASSIGNMENT_STAFF), this.publishAssignment.bind(this));
         backend.patch('/assignments/:assignmentNameOrUrl/unpublish', SecurityMiddleware.check(true, SecurityCheckType.ASSIGNMENT_STAFF), this.unpublishAssignment.bind(this));
-
-        backend.patch('/assignments/:assignmentNameOrUrl/deleted', SecurityMiddleware.check(false, SecurityCheckType.ASSIGNMENT_STAFF), this.deleteAssignment.bind(this));
+        
+        backend.patch('/assignments/:assignmentNameOrUrl/deleted', SecurityMiddleware.check(true, SecurityCheckType.ASSIGNMENT_STAFF), this.deleteAssignment.bind(this));
     }
     // Get an assignment by its name or gitlab url
     private async getAssignment(req: express.Request, res: express.Response) {
@@ -215,19 +215,37 @@ class AssignmentRoutes implements RoutesManager {
     private async deleteAssignment(req : express.Request, res : express.Response) {
         const nameAssignment = req.params.assignmentNameOrUrl;
 
-        // recup l'id du repo en question
-        await GitlabManager.removeRepositoryMember(13893, 627);
-        await GitlabManager.moveRepositorySubGroup(13893, 14193);
+        const repo = await db.assignment.findUnique({
+            where : {
+                name : String(nameAssignment)
+            }
+        });
+
+        if (!repo) {
+            return req.session.sendResponse(res, StatusCodes.NOT_FOUND);
+        }
 
+        const members = await GitlabManager.getRepositoryMembers(String(repo['gitlabId']));
+        members.forEach(async member => {
+            if ( member.id !== Config.gitlab.account.id ) {
+                await GitlabManager.removeRepositoryMember(repo['gitlabId'], member.id);
+            }
+        });
+        await GitlabManager.moveRepositorySubGroup(repo['gitlabId'], 14193);
+        
+        // recup l'id du repo en question
+        await GitlabManager.removeRepositoryMember(repo['gitlabId'], 627);
+        
+        
         await db.assignment.update({
             where : {
-                name : nameAssignment
+                name : String(nameAssignment)
             },
             data : {
                 deleted : true
             }
         });
-
+        
         return req.session.sendResponse(res, StatusCodes.OK);
     }
 }