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