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

add route to move a repository

parent 7ad41b5c
Branches
No related tags found
No related merge requests found
Pipeline #32249 passed
...@@ -264,12 +264,23 @@ class GitlabManager { ...@@ -264,12 +264,23 @@ class GitlabManager {
async removeRepositoryMember(repoId : number, userId : number, skipSubresources: boolean = false, unassignIssuables : boolean = false) { async removeRepositoryMember(repoId : number, userId : number, skipSubresources: boolean = false, unassignIssuables : boolean = false) {
const response = await axios.delete<GitlabMember>(this.getApiUrl(GitlabRoute.REPOSITORY_MEMBER_DELETE).replace('{{id}}', String(repoId)).replace('{{user_id}}', String(userId)), { const response = await axios.delete<GitlabMember>(this.getApiUrl(GitlabRoute.REPOSITORY_MEMBER_DELETE).replace('{{id}}', String(repoId)).replace('{{user_id}}', String(userId)), {
data: { data: {
user_id : userId, user_id : userId,
skip_subresources : skipSubresources,
unassign_issuables : unassignIssuables
} }
}); });
return response.data; return response.data;
} }
async moveRepositorySubGroup(repoId : number, newRepoId : number) {
const response = await axios.put(this.getApiUrl(GitlabRoute.REPOSITORY_MOVE_SUBGROUP).replace('{{id}}', String(repoId)), {
namespace : newRepoId
}
);
return response.data;
}
} }
......
import { Express } from 'express-serve-static-core'; import { Express } from 'express-serve-static-core';
import express from 'express'; import express from 'express';
import * as ExpressValidator from 'express-validator'; import * as ExpressValidator from 'express-validator';
import { NON_AUTHORITATIVE_INFORMATION, StatusCodes } from 'http-status-codes'; import { StatusCodes } from 'http-status-codes';
import RoutesManager from '../express/RoutesManager'; import RoutesManager from '../express/RoutesManager';
import ParamsValidatorMiddleware from '../middlewares/ParamsValidatorMiddleware'; import ParamsValidatorMiddleware from '../middlewares/ParamsValidatorMiddleware';
import SecurityMiddleware from '../middlewares/SecurityMiddleware'; import SecurityMiddleware from '../middlewares/SecurityMiddleware';
...@@ -215,7 +215,9 @@ class AssignmentRoutes implements RoutesManager { ...@@ -215,7 +215,9 @@ 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
await GitlabManager.removeRepositoryMember(13893, 627); await GitlabManager.removeRepositoryMember(13893, 627);
await GitlabManager.moveRepositorySubGroup(13893, 14193);
await db.assignment.update({ await db.assignment.update({
where : { where : {
......
...@@ -17,6 +17,7 @@ enum GitlabRoute { ...@@ -17,6 +17,7 @@ enum GitlabRoute {
REPOSITORY_FILE = '/projects/{{id}}/repository/files/{{filePath}}', REPOSITORY_FILE = '/projects/{{id}}/repository/files/{{filePath}}',
REPOSITORY_PIPELINES = '/projects/{{id}}/pipelines', REPOSITORY_PIPELINES = '/projects/{{id}}/pipelines',
REPOSITORY_MEMBER_DELETE = '/projects/{{id}}/members/{{user_id}}', REPOSITORY_MEMBER_DELETE = '/projects/{{id}}/members/{{user_id}}',
REPOSITORY_MOVE_SUBGROUP = '/projects/{{id}}/transfer',
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment