def role_permission_post(): """Function which binds permission with role. :rtype: JSON :request args example: `{permission_id: 5, role_id: 4}` :return: - If request data is not valid: ``{'status': False, 'error': [list of errors]}`` - If all ok: ``{'added_role_permission_for_role': 'role_id'}`` :statuscode 400: if role has assigned permissions or request invalid :statuscode 200: if no errors """ data = request.get_json() valid = validator.role_permission_post(data) if valid['status']: db.add_role_permission(data['role_id'], data['permission_id']) response = jsonify(added_role_permission_for_role=data['role_id']) session['access_control'] = permission_control.reload_dct() else: response = Response(json.dumps(valid), mimetype='application/json'), 400 return response
def role_permission_put(): """Function which sets list of permission to role. Before sets removes all permissions from role. :return: If request data is not invalid': {'status': False, 'error': [list of errors]} If all ok: {'msg': 'edited permission'} """ data = request.get_json() logger.info('Role permission has been changed.') db.delete_permissions_by_role_id(data['role_id']) for perm_id in data['permission_id']: db.add_role_permission(data['role_id'], perm_id) response = jsonify(msg='edited permission') session['access_control'] = permission_control.reload_dct() return response
def role_permission_post(): """Function which binds permission with role. :return: If request data is not valid: {'status': False, 'error': [list of errors]} If all ok: {'added_role_permission_for_role': 'role_id'} """ data = request.get_json() valid = validator.role_permission_post(data) if valid['status']: db.add_role_permission(data['role_id'], data['permission_id']) response = jsonify(added_role_permission_for_role=data['role_id']) session['access_control'] = permission_control.reload_dct() else: response = Response(json.dumps(valid), mimetype='application/json'), 400 return response