def detail(api, item_id): if request.method == 'PUT': return json_response(api.put(item_id, request.get_json())) elif request.method == 'DELETE': return json_response(api.delete(item_id)) elif request.method == 'GET': return json_response(api.get_by_id(item_id))
def wrapped_view(**kwargs): if g.user is None: return json_response({'error': 'Not logged in'}, 401) if 'admin' not in g.roles: return json_response({'error': 'Not authorized'}, 403) return view(**kwargs)
def login(): if request.method == 'POST': data = request.get_json() user = Authentication.login(data['username'], data['password']) if user: session['user_id'] = user['id'] return json_response({ 'user': { 'id': '%d' % user['id'], 'username': '******' % user['username'], 'created_at': '%s' % user['created_at'] } }) else: return json_response({'error': 'Invalid credentials'}, 401)
def get(api): return json_response(api.get())
def list(api): if request.method == 'POST': return json_response(api.post(request.get_json())) elif request.method == 'GET': return json_response(api.get())
def delete(api, item_id): return json_response(api.delete(item_id))
def put(api, item_id): return json_response(api.put(item_id, request.get_json()))
def post(api): return json_response(api.post(request.get_json()))
def logout(): session.pop('user_id', None) g.user = None return json_response({'data': 'Logged out'})
def register(): if request.method == 'POST': data = UserApi().post(request.get_json()) session['user_id'] = data['id'] return json_response(data)
def index(): return json_response( {'data': '%s is logged in' % escape(g.user['username'])})
def wrapped_view(**kwargs): if g.user is None: return json_response({'error': 'Not logged in'}, 401) return view(**kwargs)
def squadron_drone_list(squadron_id): return json_response(DroneApi().get_by_squadron_id(squadron_id))