Added /users/me endpoint to get info about the current user.
The user must perform the request with a valid auth token.
This commit is contained in:
parent
a6f7250eb3
commit
291a0b393e
@ -204,5 +204,5 @@ local_auth.setup_app(app, url_prefix='/auth')
|
|||||||
file_storage.setup_app(app, url_prefix='/storage')
|
file_storage.setup_app(app, url_prefix='/storage')
|
||||||
latest.setup_app(app, url_prefix='/latest')
|
latest.setup_app(app, url_prefix='/latest')
|
||||||
blender_cloud.setup_app(app, url_prefix='/bcloud')
|
blender_cloud.setup_app(app, url_prefix='/bcloud')
|
||||||
users.setup_app(app)
|
users.setup_app(app, url_prefix='/users')
|
||||||
nodes.setup_app(app)
|
nodes.setup_app(app)
|
||||||
|
@ -4,13 +4,24 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
import urllib
|
import urllib
|
||||||
|
|
||||||
from flask import g, current_app
|
from flask import g, current_app, Blueprint, make_response
|
||||||
from werkzeug.exceptions import Forbidden
|
from werkzeug.exceptions import Forbidden
|
||||||
from eve.utils import parse_request
|
from eve.utils import parse_request
|
||||||
|
from eve.methods.get import get
|
||||||
|
|
||||||
from application.utils.authorization import user_has_role
|
from application.utils.authorization import user_has_role, require_login
|
||||||
|
from application.utils import jsonify
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
blueprint = Blueprint('users', __name__)
|
||||||
|
|
||||||
|
|
||||||
|
@blueprint.route('/me')
|
||||||
|
@require_login()
|
||||||
|
def my_info():
|
||||||
|
eve_resp, _, _, status, _ = get('users', {'_id': g.current_user['user_id']})
|
||||||
|
resp = jsonify(eve_resp['_items'][0], status=status)
|
||||||
|
return resp
|
||||||
|
|
||||||
|
|
||||||
def gravatar(email, size=64):
|
def gravatar(email, size=64):
|
||||||
@ -122,7 +133,7 @@ def after_fetching_user_resource(response):
|
|||||||
after_fetching_user(user)
|
after_fetching_user(user)
|
||||||
|
|
||||||
|
|
||||||
def setup_app(app):
|
def setup_app(app, url_prefix):
|
||||||
app.on_pre_GET_users += check_user_access
|
app.on_pre_GET_users += check_user_access
|
||||||
app.on_post_GET_users += post_GET_user
|
app.on_post_GET_users += post_GET_user
|
||||||
app.on_pre_PUT_users += check_put_access
|
app.on_pre_PUT_users += check_put_access
|
||||||
@ -130,3 +141,5 @@ def setup_app(app):
|
|||||||
app.on_replaced_users += after_replacing_user
|
app.on_replaced_users += after_replacing_user
|
||||||
app.on_fetched_item_users += after_fetching_user
|
app.on_fetched_item_users += after_fetching_user
|
||||||
app.on_fetched_resource_users += after_fetching_user_resource
|
app.on_fetched_resource_users += after_fetching_user_resource
|
||||||
|
|
||||||
|
app.register_blueprint(blueprint, url_prefix=url_prefix)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user