Skip to content
Snippets Groups Projects
Commit 77fed69d authored by vincent.steinman's avatar vincent.steinman Committed by michael.minelli
Browse files

fix connect

parent dea427bd
No related branches found
No related tags found
No related merge requests found
import { Prisma } from '@prisma/client';
import { Assignment, User } from '../types/DatabaseTypes';
import { Prisma, Tag } from '@prisma/client';
import db from '../helpers/DatabaseHelper';
enum TagType{
Language,
Framework,
Theme,
UserDefined
}
class TagManager {
async get(name: string, include: Prisma.ExerciseInclude | undefined = undefined): Promise<Tag | undefined> {
return await db.exercise.findUnique({
where : {
id: name
},
include: include
}) as unknown as Tag ?? undefined;
}
}
......
import { Express } from 'express-serve-static-core';
import express from 'express';
import { StatusCodes } from 'http-status-codes';
import ExerciseManager from '../managers/ExerciseManager.js';
import AssignmentManager from '../managers/AssignmentManager.js';
import TagsManager from 'src/managers/TagsManager';
import ExerciseManager from '../managers/ExerciseManager';
import AssignmentManager from '../managers/AssignmentManager';
import TagManager from '../managers/TagManager';
type GetFunction = (id: string | number, ...args: Array<unknown>) => Promise<unknown>
......@@ -47,12 +47,11 @@ class ParamsCallbackManager {
results : true
} ], 'exercise');
//Patch? Delete? à la place de .get
this.listenParam('tagId', backend, (TagsManager.get as GetFunction).bind(TagsManager), [ {
this.listenParam('tagId', backend, (TagManager.get as GetFunction).bind(TagManager), [ {
} ], 'tag');
this.listenParam('tagProposalName', backend, (TagsManager.get as GetFunction).bind(TagsManager), [ {
this.listenParam('tagProposalName', backend, (TagManager.get as GetFunction).bind(TagManager), [ {
} ], 'tag');
}
......
......@@ -6,26 +6,8 @@ import RoutesManager from '../express/RoutesManager';
import ParamsValidatorMiddleware from '../middlewares/ParamsValidatorMiddleware';
import SecurityMiddleware from '../middlewares/SecurityMiddleware';
import SecurityCheckType from '../types/SecurityCheckType';
import GitlabUser from '../shared/types/Gitlab/GitlabUser';
import GitlabManager from '../managers/GitlabManager';
import Config from '../config/Config';
import GitlabMember from '../shared/types/Gitlab/GitlabMember';
import GitlabAccessLevel from '../shared/types/Gitlab/GitlabAccessLevel';
import GitlabRepository from '../shared/types/Gitlab/GitlabRepository';
import { AxiosError, HttpStatusCode } from 'axios';
import logger from '../shared/logging/WinstonLogger';
import DojoValidators from '../helpers/DojoValidators';
import { Prisma } from '@prisma/client';
import db from '../helpers/DatabaseHelper';
import { Tags } from '../types/DatabaseTypes';
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';
import GlobalHelper from '../helpers/GlobalHelper';
import DojoStatusCode from '../shared/types/Dojo/DojoStatusCode';
import TagsManager from '../managers/TagManager';
import { TagType } from '@prisma/client';
......@@ -58,8 +40,10 @@ class TagRoutes implements RoutesManager {
private async addTag(req: express.Request, res: express.Response) {
const tagName = req.body.name
const tagType = req.body.type
console.log("Popipo");
if(tagType != TagType.USERDEFINED && !req.session.profile.isAdmin) {
console.log("Hehehehe");
return req.session.sendResponse(res, StatusCodes.FORBIDDEN);
}
......@@ -77,7 +61,8 @@ class TagRoutes implements RoutesManager {
}, "Tag ajouté avec succès");
}
private async deleteTag(req: express.Request, res: express.Response) {
let tagName = req.body.name
console.log("DELETE");
const tagName = req.body.name
db.tag.delete({
where : { name: tagName }
......@@ -85,11 +70,13 @@ class TagRoutes implements RoutesManager {
return req.session.sendResponse(res, StatusCodes.OK, "Tag supprimé avec succès");
}
private async getSubmittedTag(req: express.Request, res: express.Response) {
let tagState = req.body.state
if(req.body.state == null){
tagState = tagState.PendingApproval
}
//TODO Here?
const tagName = req.body.name
db.submissionTag.findMany({
where : {
name: tagName
},
})
return req.session.sendResponse(res, StatusCodes.OK, {
name : req.body.name,
tag : (req.boundParams.tag as Tags)
......@@ -99,7 +86,7 @@ class TagRoutes implements RoutesManager {
const tagName = req.body.name
const tagType = req.body.type
db.tag.upsert({
db.submissionTag.upsert({
where : { name: tagName },
update: {},
create: {
......@@ -119,8 +106,8 @@ class TagRoutes implements RoutesManager {
} else if (req.body.state == SubmitStatus.Declined){
return req.session.sendResponse(res, StatusCodes.OK, req.body.details);
} else{
let tagName = req.params.tagProposalName
let tagType = req.body.type
const tagName = req.params.tagProposalName
const tagType = req.body.type
db.tag.upsert({
where : { name: tagName },
update: {},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment