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
No related branches found
No related tags found
No related merge requests found
Pipeline #32258 passed
......@@ -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)), {
const response = await axios.put(this.getApiUrl(GitlabRoute.REPOSITORY_MOVE_SUBGROUP).replace('{{id}}', String(repoId)),
{
namespace : newRepoId
}
);
});
return response.data;
}
}
......
......@@ -51,7 +51,7 @@ 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,13 +215,31 @@ class AssignmentRoutes implements RoutesManager {
private async deleteAssignment(req : express.Request, res : express.Response) {
const nameAssignment = req.params.assignmentNameOrUrl;
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(13893, 627);
await GitlabManager.moveRepositorySubGroup(13893, 14193);
await GitlabManager.removeRepositoryMember(repo['gitlabId'], 627);
await db.assignment.update({
where : {
name : nameAssignment
name : String(nameAssignment)
},
data : {
deleted : true
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment