Skip to content
Snippets Groups Projects
Commit 79706540 authored by michael.minelli's avatar michael.minelli
Browse files

AssignmentRoutes => Publish: Test pipeline state before publish

parent 116b00cb
No related branches found
No related tags found
No related merge requests found
Pipeline #26631 passed
......@@ -22,6 +22,7 @@ import AssignmentManager from '../managers/AssignmentManager';
import GitlabVisibility from '../shared/types/Gitlab/GitlabVisibility';
import fs from 'fs';
import path from 'path';
import SharedAssignmentHelper from '../shared/helpers/Dojo/SharedAssignmentHelper';
class AssignmentRoutes implements RoutesManager {
......@@ -160,6 +161,13 @@ class AssignmentRoutes implements RoutesManager {
private changeAssignmentPublishedStatus(publish: boolean): (req: express.Request, res: express.Response) => Promise<void> {
return async (req: express.Request, res: express.Response): Promise<void> => {
if ( publish ) {
const isPublishable = await SharedAssignmentHelper.isPublishable(req.boundParams.assignment!.gitlabId);
if ( !isPublishable.isPublishable ) {
return req.session.sendResponse(res, StatusCodes.BAD_REQUEST, { lastPipeline: isPublishable.lastPipeline }, isPublishable.status?.message, isPublishable.status?.code);
}
}
try {
await GitlabManager.changeRepositoryVisibility(req.boundParams.assignment!.gitlabId, publish ? GitlabVisibility.INTERNAL : GitlabVisibility.PRIVATE);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment