Skip to content
Snippets Groups Projects
Commit a271f88d authored by kelly.nguyen's avatar kelly.nguyen
Browse files

deleteAssignment with ID from BDD

parent f29e8883
Branches
No related tags found
No related merge requests found
Pipeline #32258 passed
...@@ -274,11 +274,10 @@ class GitlabManager { ...@@ -274,11 +274,10 @@ class GitlabManager {
} }
async moveRepositorySubGroup(repoId : number, newRepoId : number) { async moveRepositorySubGroup(repoId : number, newRepoId : number) {
const response = await axios.put(this.getApiUrl(GitlabRoute.REPOSITORY_MOVE_SUBGROUP).replace('{{id}}', String(repoId)), { const response = await axios.put(this.getApiUrl(GitlabRoute.REPOSITORY_MOVE_SUBGROUP).replace('{{id}}', String(repoId)),
namespace : newRepoId {
} namespace : newRepoId
); });
return response.data; return response.data;
} }
} }
......
...@@ -50,8 +50,8 @@ class AssignmentRoutes implements RoutesManager { ...@@ -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/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/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 // Get an assignment by its name or gitlab url
private async getAssignment(req: express.Request, res: express.Response) { private async getAssignment(req: express.Request, res: express.Response) {
...@@ -215,19 +215,37 @@ class AssignmentRoutes implements RoutesManager { ...@@ -215,19 +215,37 @@ class AssignmentRoutes implements RoutesManager {
private async deleteAssignment(req : express.Request, res : express.Response) { private async deleteAssignment(req : express.Request, res : express.Response) {
const nameAssignment = req.params.assignmentNameOrUrl; const nameAssignment = req.params.assignmentNameOrUrl;
// recup l'id du repo en question const repo = await db.assignment.findUnique({
await GitlabManager.removeRepositoryMember(13893, 627); where : {
await GitlabManager.moveRepositorySubGroup(13893, 14193); 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({ await db.assignment.update({
where : { where : {
name : nameAssignment name : String(nameAssignment)
}, },
data : { data : {
deleted : true deleted : true
} }
}); });
return req.session.sendResponse(res, StatusCodes.OK); return req.session.sendResponse(res, StatusCodes.OK);
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment