Commit 709a9c4f authored by Jérémie Passerat's avatar Jérémie Passerat

Suppression d'un import erroné dans Utils

parent bec2f386
...@@ -3,8 +3,9 @@ import http ...@@ -3,8 +3,9 @@ import http
from distutils import util from distutils import util
import flask import flask
import pytest
from bson import json_util, ObjectId from bson import json_util, ObjectId
from flask import Flask, request, jsonify, Blueprint from flask import Flask, request, jsonify, Blueprint, make_response
from pymongo import MongoClient from pymongo import MongoClient
from config.utils import Utils from config.utils import Utils
...@@ -20,6 +21,11 @@ from flask import Flask ...@@ -20,6 +21,11 @@ from flask import Flask
from flask_cors import CORS, cross_origin from flask_cors import CORS, cross_origin
from flask_restx import Api, Resource, Namespace, namespace from flask_restx import Api, Resource, Namespace, namespace
from flask_jwt_extended import create_access_token
from flask_jwt_extended import get_jwt_identity
from flask_jwt_extended import jwt_required
from flask_jwt_extended import JWTManager
app = Flask(__name__) app = Flask(__name__)
cors = CORS(app) cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type' app.config['CORS_HEADERS'] = 'Content-Type'
...@@ -34,6 +40,9 @@ client = MongoClient('localhost', 27017) ...@@ -34,6 +40,9 @@ client = MongoClient('localhost', 27017)
base_donnees = client.squelette base_donnees = client.squelette
app.config["JWT_SECRET_KEY"] = "l'ordinateur-c'est-magique" # Change this!
jwt = JWTManager(app)
## ********************************************************************************************************************* ## *********************************************************************************************************************
## Entrées spécifique pour swagger ## Entrées spécifique pour swagger
blueprint = Blueprint('api', __name__) blueprint = Blueprint('api', __name__)
...@@ -66,9 +75,15 @@ class CreerUtilisateur(Resource): ...@@ -66,9 +75,15 @@ class CreerUtilisateur(Resource):
@users.doc(description="vérification qu'un utilisateur est enrengistré dans la base") @users.doc(description="vérification qu'un utilisateur est enrengistré dans la base")
class VerifierUtilisateur(Resource): class VerifierUtilisateur(Resource):
@users.response(200, "Vérification de l'utilisateur effectuée") @users.response(200, "Vérification de l'utilisateur effectuée")
@users.response(200, "Vérification de l'utilisateur ratée")
## vérification qu'un utilisateur est enrengistré dans la base ## vérification qu'un utilisateur est enrengistré dans la base
def get(self): def get(self):
return str(utilisateur_dao.presence_utilisateur(request.args.get("login"))), 200
if utilisateur_dao.presence_utilisateur(request.args.get("login")):
access_token = create_access_token(identity=request.args.get("login"))
return make_response(jsonify(access_token=access_token), 200)
else:
return "L'utilisateur n'existe pas", 404
@users.route('/changePassword') @users.route('/changePassword')
...@@ -77,6 +92,7 @@ class ChangerMdp(Resource): ...@@ -77,6 +92,7 @@ class ChangerMdp(Resource):
@users.response(200, "Mot de Passe changé") @users.response(200, "Mot de Passe changé")
@users.response(409, 'Erreur changement mot de passe') @users.response(409, 'Erreur changement mot de passe')
## changement du mot de passe d'un utilisateur ## changement du mot de passe d'un utilisateur
@jwt_required()
def patch(self): def patch(self):
pass pass
...@@ -86,6 +102,7 @@ class ChangerMdp(Resource): ...@@ -86,6 +102,7 @@ class ChangerMdp(Resource):
class RecupererTousLesUtilisateurs(Resource): class RecupererTousLesUtilisateurs(Resource):
@users.response(200, "Utilisateurs récupérés") @users.response(200, "Utilisateurs récupérés")
## récupération de tous les utilisateurs en base ## récupération de tous les utilisateurs en base
@jwt_required()
def get(self): def get(self):
return json.loads(json.dumps(list(utilisateur_dao.get_all_utilisateurs()), default=json_util.default)), 200 return json.loads(json.dumps(list(utilisateur_dao.get_all_utilisateurs()), default=json_util.default)), 200
...@@ -104,6 +121,7 @@ contenus = api.namespace('contenus', description='Entrées liées à la gestion ...@@ -104,6 +121,7 @@ contenus = api.namespace('contenus', description='Entrées liées à la gestion
class AjouterContenu(Resource): class AjouterContenu(Resource):
@contenus.response(201, "Contenu créé") @contenus.response(201, "Contenu créé")
## ajouter un nouveau contenu ## ajouter un nouveau contenu
@jwt_required()
def post(self): def post(self):
auteur = request.json["auteur"] auteur = request.json["auteur"]
contenu_a_ecrire = request.json["contenu_a_ecrire"] contenu_a_ecrire = request.json["contenu_a_ecrire"]
...@@ -120,6 +138,7 @@ class AjouterContenu(Resource): ...@@ -120,6 +138,7 @@ class AjouterContenu(Resource):
class AjouterTiers(Resource): class AjouterTiers(Resource):
@contenus.response(201, "Tiers créé") @contenus.response(201, "Tiers créé")
## ajouter un nouveau contenu tiers pour un auteur ## ajouter un nouveau contenu tiers pour un auteur
@jwt_required()
def patch(self): def patch(self):
id_tiers = json.loads(request.json["id_tiers"]) id_tiers = json.loads(request.json["id_tiers"])
contenu_dao.creer_tiers(request.json["auteur"], id_tiers["$oid"], request.json["version"]) contenu_dao.creer_tiers(request.json["auteur"], id_tiers["$oid"], request.json["version"])
...@@ -132,6 +151,7 @@ class AjouterTiers(Resource): ...@@ -132,6 +151,7 @@ class AjouterTiers(Resource):
class GetContenuParId(Resource): class GetContenuParId(Resource):
@contenus.response(200, "Contenu récupéré") @contenus.response(200, "Contenu récupéré")
## récupérer un contenu via son id ## récupérer un contenu via son id
@jwt_required()
def get(self, id): def get(self, id):
return json.loads(json.dumps(list(contenu_dao.get_contenu_par_id(int(id))), default=json_util.default)), 200 return json.loads(json.dumps(list(contenu_dao.get_contenu_par_id(int(id))), default=json_util.default)), 200
...@@ -144,6 +164,7 @@ class GetContenuParId(Resource): ...@@ -144,6 +164,7 @@ class GetContenuParId(Resource):
class GetContenuPanier(Resource): class GetContenuPanier(Resource):
@contenus.response(200, "Panier récupéré") @contenus.response(200, "Panier récupéré")
## récupérer le contenu du panier d'un auteur ## récupérer le contenu du panier d'un auteur
@jwt_required()
def get(self, auteur): def get(self, auteur):
auteur = auteur.replace("_", " ") auteur = auteur.replace("_", " ")
return json.loads( return json.loads(
...@@ -157,6 +178,7 @@ class GetContenuPanier(Resource): ...@@ -157,6 +178,7 @@ class GetContenuPanier(Resource):
class GetContenuBanque(Resource): class GetContenuBanque(Resource):
@contenus.response(200, "Banque récupérée") @contenus.response(200, "Banque récupérée")
## récupérer le contenu de la banque pour un auteur ## récupérer le contenu de la banque pour un auteur
@jwt_required()
def get(self, auteur): def get(self, auteur):
auteur = auteur.replace("_", " ") auteur = auteur.replace("_", " ")
return json.loads(json.dumps(list(contenu_dao.get_contenus_non_auteur(auteur)), return json.loads(json.dumps(list(contenu_dao.get_contenus_non_auteur(auteur)),
...@@ -168,6 +190,7 @@ class GetContenuBanque(Resource): ...@@ -168,6 +190,7 @@ class GetContenuBanque(Resource):
class SupprimerPerso(Resource): class SupprimerPerso(Resource):
@contenus.response(200, "Contenu supprimé") @contenus.response(200, "Contenu supprimé")
## supprimer un contenu ## supprimer un contenu
@jwt_required()
def delete(self, id_perso): def delete(self, id_perso):
id_perso = json.loads(id_perso) id_perso = json.loads(id_perso)
contenu_dao.supprimer_contenu(id_perso["$oid"]) contenu_dao.supprimer_contenu(id_perso["$oid"])
...@@ -181,6 +204,7 @@ class SupprimerPerso(Resource): ...@@ -181,6 +204,7 @@ class SupprimerPerso(Resource):
class supprimer_tiers(Resource): class supprimer_tiers(Resource):
@contenus.response(200, "Tiers supprimé") @contenus.response(200, "Tiers supprimé")
## supprimer un tiers pour un auteur ## supprimer un tiers pour un auteur
@jwt_required()
def delete(self): def delete(self):
id_tiers = json.loads(request.args.get("id_tiers")) id_tiers = json.loads(request.args.get("id_tiers"))
...@@ -197,6 +221,7 @@ class supprimer_tiers(Resource): ...@@ -197,6 +221,7 @@ class supprimer_tiers(Resource):
class creer_nouveau_contenu(Resource): class creer_nouveau_contenu(Resource):
@contenus.response(201, "Nouveau contenu créé") @contenus.response(201, "Nouveau contenu créé")
## créer un contenu à partir d'une demande de publication refusée ## créer un contenu à partir d'une demande de publication refusée
@jwt_required()
def post(self): def post(self):
id_demande_pub = json.loads(request.json["id_demande_pub"]) id_demande_pub = json.loads(request.json["id_demande_pub"])
contenu_dao.creer_nouveau_contenu(id_demande_pub["$oid"], request.json["auteur"]) contenu_dao.creer_nouveau_contenu(id_demande_pub["$oid"], request.json["auteur"])
...@@ -211,6 +236,7 @@ class creer_nouveau_contenu(Resource): ...@@ -211,6 +236,7 @@ class creer_nouveau_contenu(Resource):
class maj_contenu(Resource): class maj_contenu(Resource):
@contenus.response(200, "Contenu maj") @contenus.response(200, "Contenu maj")
## mettre à jour un contenu (en cours - le changement de version d'un contenu se fait via gerer_demande_pub)" ## mettre à jour un contenu (en cours - le changement de version d'un contenu se fait via gerer_demande_pub)"
@jwt_required()
def patch(self): def patch(self):
id_contenu_en_cours = json.loads(request.json["id_contenu_en_cours"]) id_contenu_en_cours = json.loads(request.json["id_contenu_en_cours"])
if request.json["auteur"] == "": if request.json["auteur"] == "":
...@@ -229,6 +255,7 @@ class maj_contenu(Resource): ...@@ -229,6 +255,7 @@ class maj_contenu(Resource):
class gerer_demande_pub(Resource): class gerer_demande_pub(Resource):
@contenus.response(200, "Réponse à la publication gérée") @contenus.response(200, "Réponse à la publication gérée")
## gerer la reponse à une demande de publication ## gerer la reponse à une demande de publication
@jwt_required()
def patch(self): def patch(self):
id_publication = json.loads(request.json["id_publication"]) id_publication = json.loads(request.json["id_publication"])
print("Je suis l'id de la publication : ", id_publication["$oid"]) print("Je suis l'id de la publication : ", id_publication["$oid"])
...@@ -241,6 +268,7 @@ class gerer_demande_pub(Resource): ...@@ -241,6 +268,7 @@ class gerer_demande_pub(Resource):
class get_tous_les_contenus(Resource): class get_tous_les_contenus(Resource):
@contenus.response(200, "Tous les contenus récupérés") @contenus.response(200, "Tous les contenus récupérés")
## récupérer tous les contenus ## récupérer tous les contenus
@jwt_required()
def get(self): def get(self):
return json.loads(json.dumps(list(contenu_dao.get_tous_les_contenus()), default=json_util.default)), 200 return json.loads(json.dumps(list(contenu_dao.get_tous_les_contenus()), default=json_util.default)), 200
...@@ -251,6 +279,7 @@ class get_tous_les_contenus(Resource): ...@@ -251,6 +279,7 @@ class get_tous_les_contenus(Resource):
class get_tags_contenu(Resource): class get_tags_contenu(Resource):
@contenus.response(200, "Tags récupérés") @contenus.response(200, "Tags récupérés")
## récupérer les tags d'un contenu ## récupérer les tags d'un contenu
@jwt_required()
def get(self, id_contenu): def get(self, id_contenu):
id_tiers = json.loads(request.json["id_tiers"]) id_tiers = json.loads(request.json["id_tiers"])
return json.loads(json.dumps(list(contenu_dao.get_tags_contenu(id_tiers["$oid"])), return json.loads(json.dumps(list(contenu_dao.get_tags_contenu(id_tiers["$oid"])),
...@@ -262,6 +291,7 @@ class get_tags_contenu(Resource): ...@@ -262,6 +291,7 @@ class get_tags_contenu(Resource):
class is_contenu_anonyme(Resource): class is_contenu_anonyme(Resource):
@contenus.response(200, "Résultat pour savoir si le contenu est anonyme ou non") @contenus.response(200, "Résultat pour savoir si le contenu est anonyme ou non")
## Résultat pour savoir si le contenu est anonyme ou non ## Résultat pour savoir si le contenu est anonyme ou non
@jwt_required()
def get(self, id_contenu): def get(self, id_contenu):
return str(contenu_dao.is_anonyme(id_contenu)), 200 return str(contenu_dao.is_anonyme(id_contenu)), 200
...@@ -271,6 +301,7 @@ class is_contenu_anonyme(Resource): ...@@ -271,6 +301,7 @@ class is_contenu_anonyme(Resource):
class is_maj_tiers_disponible(Resource): class is_maj_tiers_disponible(Resource):
@contenus.response(200, "Résultat pour savoir si des mises à jours tiers sont disponibles") @contenus.response(200, "Résultat pour savoir si des mises à jours tiers sont disponibles")
## Résultat pour savoir si des mises à jours tiers sont disponibles ## Résultat pour savoir si des mises à jours tiers sont disponibles
@jwt_required()
def get(self, auteur): def get(self, auteur):
return str(contenu_dao.is_tiers_maj(auteur)), 200 return str(contenu_dao.is_tiers_maj(auteur)), 200
...@@ -280,6 +311,7 @@ class is_maj_tiers_disponible(Resource): ...@@ -280,6 +311,7 @@ class is_maj_tiers_disponible(Resource):
class liste_maj_tiers(Resource): class liste_maj_tiers(Resource):
@contenus.response(200, "Liste des Maj Tiers récupérée") @contenus.response(200, "Liste des Maj Tiers récupérée")
## Liste des Maj Tiers récupérée ## Liste des Maj Tiers récupérée
@jwt_required()
def get(self, auteur): def get(self, auteur):
return json.loads(json.dumps(contenu_dao.liste_tiers_maj(auteur), default=json_util.default)), 200 return json.loads(json.dumps(contenu_dao.liste_tiers_maj(auteur), default=json_util.default)), 200
...@@ -293,6 +325,7 @@ class liste_maj_tiers(Resource): ...@@ -293,6 +325,7 @@ class liste_maj_tiers(Resource):
class gerer_maj_tiers(Resource): class gerer_maj_tiers(Resource):
@contenus.response(200, "Maj du tiers gérée") @contenus.response(200, "Maj du tiers gérée")
## gérer la réponse à une maj tiers ## gérer la réponse à une maj tiers
@jwt_required()
def patch(self): def patch(self):
id_tiers = json.loads(request.json["id_tiers"]) id_tiers = json.loads(request.json["id_tiers"])
...@@ -313,6 +346,7 @@ class gerer_maj_tiers(Resource): ...@@ -313,6 +346,7 @@ class gerer_maj_tiers(Resource):
class get_texte_contenu(Resource): class get_texte_contenu(Resource):
@contenus.response(200, "Texte du contenu changé pour la version en cours") @contenus.response(200, "Texte du contenu changé pour la version en cours")
## récupérer le texte de la version en cours du contenu ## récupérer le texte de la version en cours du contenu
@jwt_required()
def get(self, id_json): def get(self, id_json):
id_contenu = json.loads(id_json) id_contenu = json.loads(id_json)
return Utils().recuperer_contenu_fichier(id_contenu["$oid"]), 200 return Utils().recuperer_contenu_fichier(id_contenu["$oid"]), 200
...@@ -326,6 +360,7 @@ class get_texte_contenu(Resource): ...@@ -326,6 +360,7 @@ class get_texte_contenu(Resource):
class get_texte_version_contenu(Resource): class get_texte_version_contenu(Resource):
@contenus.response(200, "Texte du contenu récupéré pour la version renseignée") @contenus.response(200, "Texte du contenu récupéré pour la version renseignée")
## récupérer le texte d'une version donnée du contenu ## récupérer le texte d'une version donnée du contenu
@jwt_required()
def get(self, id_json, version): def get(self, id_json, version):
id_contenu = json.loads(id_json) id_contenu = json.loads(id_json)
return Utils().recuperer_contenu_version_fichier(id_contenu["$oid"], version), 200 return Utils().recuperer_contenu_version_fichier(id_contenu["$oid"], version), 200
...@@ -337,6 +372,7 @@ class get_texte_version_contenu(Resource): ...@@ -337,6 +372,7 @@ class get_texte_version_contenu(Resource):
class changer_texte_contenu(Resource): class changer_texte_contenu(Resource):
@contenus.response(200, "Texte du contenu changé") @contenus.response(200, "Texte du contenu changé")
## changer le texte d'un contenu (maj de la version en cours) ## changer le texte d'un contenu (maj de la version en cours)
@jwt_required()
def patch(self, id_contenu): def patch(self, id_contenu):
if len(id_contenu) % 12 == 0: if len(id_contenu) % 12 == 0:
id_contenu = ObjectId(id_contenu) id_contenu = ObjectId(id_contenu)
...@@ -359,6 +395,7 @@ en_cours = api.namespace('en_cours', description='Entrées liées à la gestion ...@@ -359,6 +395,7 @@ en_cours = api.namespace('en_cours', description='Entrées liées à la gestion
class GetTexteContenuEnCours(Resource): class GetTexteContenuEnCours(Resource):
@en_cours.response(200, "Texte du contenu en cours récupéré") @en_cours.response(200, "Texte du contenu en cours récupéré")
## récupérer le texte d'un contenu en cours ## récupérer le texte d'un contenu en cours
@jwt_required()
def get(self, id_en_cours): def get(self, id_en_cours):
if len(id_en_cours) % 12 == 0: if len(id_en_cours) % 12 == 0:
...@@ -375,6 +412,7 @@ class GetTexteContenuEnCours(Resource): ...@@ -375,6 +412,7 @@ class GetTexteContenuEnCours(Resource):
class GetContenuEnCours(Resource): class GetContenuEnCours(Resource):
@en_cours.response(200, "Contenu en cours récupéré") @en_cours.response(200, "Contenu en cours récupéré")
## récupérer un contenu en cours via son id ## récupérer un contenu en cours via son id
@jwt_required()
def get(self, id_en_cours): def get(self, id_en_cours):
return json.loads( return json.loads(
json.dumps(list(en_cours_dao.get_contenu_en_cours_via_id(id_en_cours)), default=json_util.default)), 200 json.dumps(list(en_cours_dao.get_contenu_en_cours_via_id(id_en_cours)), default=json_util.default)), 200
...@@ -385,6 +423,7 @@ class GetContenuEnCours(Resource): ...@@ -385,6 +423,7 @@ class GetContenuEnCours(Resource):
class GetAuteurOtigineContenuEnCours(Resource): class GetAuteurOtigineContenuEnCours(Resource):
@en_cours.response(200, "Auteur du contenu en cours récupéré") @en_cours.response(200, "Auteur du contenu en cours récupéré")
## récupérer l'auteur d'origine d'un contenu en cours ## récupérer l'auteur d'origine d'un contenu en cours
@jwt_required()
def get(self, id_en_cours): def get(self, id_en_cours):
return json.loads( return json.loads(
json.dumps(list(en_cours_dao.get_auteur_origine_contenu_en_cours(id_en_cours)), json.dumps(list(en_cours_dao.get_auteur_origine_contenu_en_cours(id_en_cours)),
...@@ -397,6 +436,7 @@ class GetAuteurOtigineContenuEnCours(Resource): ...@@ -397,6 +436,7 @@ class GetAuteurOtigineContenuEnCours(Resource):
class IsContenuDemandePublication(Resource): class IsContenuDemandePublication(Resource):
@en_cours.response(200, "Résultat pour savoir si le contenu en cours a fait l'objet d'une demande de publication") @en_cours.response(200, "Résultat pour savoir si le contenu en cours a fait l'objet d'une demande de publication")
## le contenu en cours à t'il fait l'objet d'une demande de publication par l'auteur renseigné ? ## le contenu en cours à t'il fait l'objet d'une demande de publication par l'auteur renseigné ?
@jwt_required()
def get(self, id_en_cours, auteur): def get(self, id_en_cours, auteur):
return str(en_cours_dao.is_en_cours_demande(id_en_cours, auteur)), 200 return str(en_cours_dao.is_en_cours_demande(id_en_cours, auteur)), 200
...@@ -406,6 +446,7 @@ class IsContenuDemandePublication(Resource): ...@@ -406,6 +446,7 @@ class IsContenuDemandePublication(Resource):
class SupprimerEnCoursParId(Resource): class SupprimerEnCoursParId(Resource):
@en_cours.response(200, "Contenu en cours supprimé") @en_cours.response(200, "Contenu en cours supprimé")
## supprimer un contenu en cours ## supprimer un contenu en cours
@jwt_required()
def delete(self, id_en_cours): def delete(self, id_en_cours):
id_contenu = json.loads(id_en_cours) id_contenu = json.loads(id_en_cours)
en_cours_dao.supprimer_contenu_en_cours_via_id(id_contenu["$oid"]) en_cours_dao.supprimer_contenu_en_cours_via_id(id_contenu["$oid"])
...@@ -421,6 +462,7 @@ class SupprimerEnCoursParId(Resource): ...@@ -421,6 +462,7 @@ class SupprimerEnCoursParId(Resource):
class CreerEnCours(Resource): class CreerEnCours(Resource):
@en_cours.response(200, "Contenu en cours créé") @en_cours.response(200, "Contenu en cours créé")
## créer un contenu en cours ## créer un contenu en cours
@jwt_required()
def post(self): def post(self):
id_contenu = json.loads(request.json["id_contenu"]) id_contenu = json.loads(request.json["id_contenu"])
en_cours_dao.creer_en_cours(request.json['auteur'], id_contenu["$oid"], request.json['version'], en_cours_dao.creer_en_cours(request.json['auteur'], id_contenu["$oid"], request.json['version'],
...@@ -436,6 +478,7 @@ class CreerEnCours(Resource): ...@@ -436,6 +478,7 @@ class CreerEnCours(Resource):
class CreerEnCoursRefuse(Resource): class CreerEnCoursRefuse(Resource):
@en_cours.response(201, "Contenu en cours mis à jour au statut de refusé") @en_cours.response(201, "Contenu en cours mis à jour au statut de refusé")
## créer un contenu en cours refusé, consécutivement à une demande de publication refusée ## créer un contenu en cours refusé, consécutivement à une demande de publication refusée
@jwt_required()
def patch(self): def patch(self):
id_contenu_en_cours = json.loads(request.json["id_contenu_en_cours"]) id_contenu_en_cours = json.loads(request.json["id_contenu_en_cours"])
...@@ -458,6 +501,7 @@ demande_pub = api.namespace('demande_pub', description='Entrées liées à la ge ...@@ -458,6 +501,7 @@ demande_pub = api.namespace('demande_pub', description='Entrées liées à la ge
class demande_de_publication(Resource): class demande_de_publication(Resource):
@demande_pub.response(201, "Demande de publication créée") @demande_pub.response(201, "Demande de publication créée")
## créer une demande de publication ## créer une demande de publication
@jwt_required()
def post(self): def post(self):
id_contenu = json.loads(request.json["id_contenu"]) id_contenu = json.loads(request.json["id_contenu"])
id_contenu_en_cours = json.loads(request.json["id_contenu_en_cours"]) id_contenu_en_cours = json.loads(request.json["id_contenu_en_cours"])
...@@ -474,6 +518,7 @@ class demande_de_publication(Resource): ...@@ -474,6 +518,7 @@ class demande_de_publication(Resource):
class get_demandes_pub(Resource): class get_demandes_pub(Resource):
@demande_pub.response(200, "Demande de publication récupérées pour l'auteur renseigné") @demande_pub.response(200, "Demande de publication récupérées pour l'auteur renseigné")
## récupérer les demandes de publication pour un auteur, proposées ou recues ## récupérer les demandes de publication pour un auteur, proposées ou recues
@jwt_required()
def get(self, auteur, emise): def get(self, auteur, emise):
return json.loads(json.dumps(list(demande_pub_Dao.get_demandes_pub(auteur, distutils.util.strtobool(emise))), return json.loads(json.dumps(list(demande_pub_Dao.get_demandes_pub(auteur, distutils.util.strtobool(emise))),
default=json_util.default)) default=json_util.default))
...@@ -484,6 +529,7 @@ class get_demandes_pub(Resource): ...@@ -484,6 +529,7 @@ class get_demandes_pub(Resource):
class supprimer_demande_pub(Resource): class supprimer_demande_pub(Resource):
@demande_pub.response(200, "Demande de publication supprimée") @demande_pub.response(200, "Demande de publication supprimée")
## supprimer une demande de publication ## supprimer une demande de publication
@jwt_required()
def delete(self, id_publication): def delete(self, id_publication):
id_publication = json.loads(id_publication) id_publication = json.loads(id_publication)
...@@ -504,6 +550,7 @@ evaluations = api.namespace('evaluations', description='Entrées liées à la ge ...@@ -504,6 +550,7 @@ evaluations = api.namespace('evaluations', description='Entrées liées à la ge
class creer_evaluation(Resource): class creer_evaluation(Resource):
@evaluations.response(201, "Evaluation créée") @evaluations.response(201, "Evaluation créée")
## créer une évaluation ## créer une évaluation
@jwt_required()
def post(self): def post(self):
evaluation_dao.creer_evaluation(request.args.get('contenus'), request.args.get('auteur')) evaluation_dao.creer_evaluation(request.args.get('contenus'), request.args.get('auteur'))
return "evaluation créée", 201 return "evaluation créée", 201
...@@ -514,6 +561,7 @@ class creer_evaluation(Resource): ...@@ -514,6 +561,7 @@ class creer_evaluation(Resource):
class get_evaluation(Resource): class get_evaluation(Resource):
@evaluations.response(200, "Evaluation récupérée") @evaluations.response(200, "Evaluation récupérée")
## récupérer une évaluation d'un auteur via son id ## récupérer une évaluation d'un auteur via son id
@jwt_required()
def get(self, auteur, id_evaluation): def get(self, auteur, id_evaluation):
return json.loads( return json.loads(
json.dumps(list(evaluation_dao.get_evaluations(auteur, id_evaluation)), default=json_util.default)), 200 json.dumps(list(evaluation_dao.get_evaluations(auteur, id_evaluation)), default=json_util.default)), 200
...@@ -524,6 +572,7 @@ class get_evaluation(Resource): ...@@ -524,6 +572,7 @@ class get_evaluation(Resource):
class get_all_evaluations(Resource): class get_all_evaluations(Resource):
@evaluations.response(200, "Toutes les évaluations récupérées") @evaluations.response(200, "Toutes les évaluations récupérées")
## récupérer toutes les évaluations d'un auteur ## récupérer toutes les évaluations d'un auteur
@jwt_required()
def get(self, auteur): def get(self, auteur):
return json.loads(json.dumps(list(evaluation_dao.get_evaluations(auteur, 0)), default=json_util.default)), 200 return json.loads(json.dumps(list(evaluation_dao.get_evaluations(auteur, 0)), default=json_util.default)), 200
...@@ -533,6 +582,7 @@ class get_all_evaluations(Resource): ...@@ -533,6 +582,7 @@ class get_all_evaluations(Resource):
class supprimer_evaluation(Resource): class supprimer_evaluation(Resource):
@evaluations.response(200, "Evaluation supprimée") @evaluations.response(200, "Evaluation supprimée")
## supprimer une évaluation ## supprimer une évaluation
@jwt_required()
def delete(self, id_evaluation): def delete(self, id_evaluation):
evaluation_dao.supprimer_evaluation(id_evaluation) evaluation_dao.supprimer_evaluation(id_evaluation)
return "Evaluation supprimée", 200 return "Evaluation supprimée", 200
......
from flask import Flask from flask import Flask
from flask_pymongo import PyMongo
from config.gitUtils import GitUtils from config.gitUtils import GitUtils
app = Flask(__name__)
app.config["MONGO_URI"] = "mongodb://localhost:27017/squelette"
mongo = PyMongo(app)
## Fonctions 'générales', principalement de manipulation des fichiers ## Fonctions 'générales', principalement de manipulation des fichiers
class Utils: class Utils:
## Fonction permettant de changer la version ## Fonction permettant de changer la version
......
...@@ -100,5 +100,5 @@ var classjinja2_1_1compiler_1_1_code_generator = ...@@ -100,5 +100,5 @@ var classjinja2_1_1compiler_1_1_code_generator =
[ "optimized", "classjinja2_1_1compiler_1_1_code_generator.html#a5ab6474ed31a2311422a69823d8dd8c4", null ], [ "optimized", "classjinja2_1_1compiler_1_1_code_generator.html#a5ab6474ed31a2311422a69823d8dd8c4", null ],
[ "optimizer", "classjinja2_1_1compiler_1_1_code_generator.html#a6e7f6ae6228957cb12294e2ffbc0fbc8", null ], [ "optimizer", "classjinja2_1_1compiler_1_1_code_generator.html#a6e7f6ae6228957cb12294e2ffbc0fbc8", null ],
[ "stream", "classjinja2_1_1compiler_1_1_code_generator.html#ae489866f8220882799d2786ca0690e5b", null ], [ "stream", "classjinja2_1_1compiler_1_1_code_generator.html#ae489866f8220882799d2786ca0690e5b", null ],
[ "tests", "classjinja2_1_1compiler_1_1_code_generator.html#aa58c6e40436bbb090294218b7d758a15", null ] [ "test", "classjinja2_1_1compiler_1_1_code_generator.html#aa58c6e40436bbb090294218b7d758a15", null ]
]; ];
\ No newline at end of file
...@@ -16,7 +16,7 @@ from modele.encours_dao import EncoursDao ...@@ -16,7 +16,7 @@ from modele.encours_dao import EncoursDao
class ContenuDao: class ContenuDao:
client = MongoClient('localhost', 27017) client = MongoClient('localhost', 27017)
chemin = "/home/passerat/Stage/flaskProject/contenus/" chemin = "/home/OpenQuizz/Flask/contenus/"
gitUtils = GitUtils() gitUtils = GitUtils()
## extraction d'une base de données. Si elle n'existe pas, elle esst créée ## extraction d'une base de données. Si elle n'existe pas, elle esst créée
......
import pytest
import os
import pytest
from app import app
from flask import url_for
@pytest.fixture
def client():
app.config['TESTING'] = True
app.config['SERVER_NAME'] = 'TEST'
client = app.test_client()
with app.app_context():
pass
app.app_context().push()
yield client
def test_multiplication():
assert 4 == 2 * 2
def test_index(client):
rv = client.get('/')
assert rv.status_code == 404
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment