ajout d'une route pour la récuperation de la photo d'un utilisateur
This commit is contained in:
33
src/main.py
33
src/main.py
@@ -12,7 +12,7 @@ import logging as log
|
||||
from logging.config import dictConfig
|
||||
from pprint import pprint
|
||||
|
||||
from flask import Flask, request, abort, jsonify, render_template, make_response
|
||||
from flask import Flask, request, abort, jsonify, render_template, make_response, send_file
|
||||
from flask_cors import CORS, cross_origin
|
||||
from flask.logging import default_handler
|
||||
from flask_api import status
|
||||
@@ -389,6 +389,37 @@ def reset_passwd_user(userId):
|
||||
content = {'message' : 'reset du mot de passe!'}
|
||||
return jsonify(content)
|
||||
|
||||
@app.route('/api/utilisateurs/<int:userId>/photo', methods=['GET'])
|
||||
@jwt_required()
|
||||
@dbmanage
|
||||
def get_photo(userId):
|
||||
''' Recupere la photo de l'utilisateur suivant son Id '''
|
||||
# Access the identity of the current user with get_jwt_identity
|
||||
current_user = get_jwt_identity()
|
||||
# Test si l'utilisateur courant est actif ou pas
|
||||
# Si l'utilisateur courant n'est pas administrateur, il ne peut voir que son profil
|
||||
if not current_user["Actif"] or current_user["Role"] != "Administrateur" and current_user['userId'] != userId:
|
||||
db.disconnect()
|
||||
abort(403, description='Utilisateur non autorisé')
|
||||
|
||||
# Hash du mot de passe
|
||||
passwd = generate_password_hash('provisoire', method='sha256')
|
||||
sql_statement = "SELECT * FROM utilisateur WHERE userid = {}".format(userId)
|
||||
|
||||
# Execution de la requete SQL
|
||||
etat, ret = db.execute(sql_statement, None, False)
|
||||
if not etat:
|
||||
db.disconnect()
|
||||
abort(500)
|
||||
else:
|
||||
if not ret:
|
||||
db.disconnect()
|
||||
abort(404)
|
||||
user = ret[0]
|
||||
if user['Photo']:
|
||||
return send_file(os.path.join('../', user['Photo']), mimetype='image/'+os.path.splitext(user['Photo'])[1].split('.')[1])
|
||||
return abort(404, description='Picture not found!')
|
||||
|
||||
@app.route('/api/utilisateurs/current', methods=['GET'])
|
||||
@jwt_required()
|
||||
def current_user():
|
||||
|
||||
Reference in New Issue
Block a user