def post(self, uuid=None, perimeter_id=None, category_id=None, data_id=None, user_id=None): """Create an action assignment. :param uuid: uuid of the policy :param perimeter_id: uuid of the action (not used here) :param category_id: uuid of the action category (not used here) :param data_id: uuid of the action scope (not used here) :param user_id: user ID who do the request :request body: { "id": "UUID of the action", "category_id": "UUID of the category", "data_id": "UUID of the scope" } :return: { "action_data_id": { "policy_id": "ID of the policy", "object_id": "ID of the action", "category_id": "ID of the category", "assignments": "Assignments list (list of data_id)", } } :internal_api: update_action_assignment """ try: data_id = request.json.get("data_id") category_id = request.json.get("category_id") perimeter_id = request.json.get("id") data = PolicyManager.add_action_assignment( user_id=user_id, policy_id=uuid, action_id=perimeter_id, category_id=category_id, data_id=data_id) except Exception as e: logger.error(e, exc_info=True) return {"result": False, "error": str(e)}, 500 return {"action_assignments": data}
def add_action_assignment(policy_id, action_id, category_id, data_id): from python_moondb.core import PolicyManager return PolicyManager.add_action_assignment("", policy_id, action_id, category_id, data_id)