using current user in some placesi

This commit is contained in:
2019-08-15 14:32:04 +02:00
parent 9ab0d43f43
commit 310d5f4820
3 changed files with 16 additions and 31 deletions

View File

@@ -8,15 +8,12 @@ Login through API does not start a new session, but instead returns JWT.
from datetime import datetime
from pprint import pprint
import flask
import jwt
from flask import request, jsonify, current_app, url_for
from flask_jwt_extended import get_jwt_identity, jwt_optional, jwt_required
from flask_jwt_extended import get_jwt_identity, jwt_required, current_user
from flask_restplus import Resource, fields, inputs
from backend import db, app, jwt_auth
from backend.api import api_bp, api_user
from backend.auth import oidc_auth
from backend.api import api_user
from backend.models.user_model import User, Group
user_model = api_user.model('User', {
@@ -36,6 +33,7 @@ user_update_parser.add_argument('nickname', type=str, required=False, store_miss
user_update_parser.add_argument('first_name', type=str, required=False, store_missing=False)
user_update_parser.add_argument('last_name', type=str, required=False, store_missing=False)
@api_user.route('/profile')
class Profile(Resource):
@jwt_required
@@ -47,19 +45,17 @@ class Profile(Resource):
return User.get_by_identifier(current_user_id)
@jwt_required
@api_user.expect(user_update_parser)
def put(self):
current_user_id = get_jwt_identity()
print(api_user.payload)
app.logger.info(current_user_id)
args = user_update_parser.parse_args()
args['last_time_modified'] = datetime.utcnow()
pprint(args)
num_rows_matched = User.query.filter_by(id=current_user_id).update(args)
print(current_user)
num_rows_matched = User.query.filter_by(id=current_user.id).update(args)
print(num_rows_matched)
if num_rows_matched < 1:
api_user.abort(404)
api_user.abort("Nothing has been updated!")
db.session.commit()
return "ok"