def apply_reject(header, payload, state): reject_payload = task_transaction_pb2.RejectAddTaskAdmin() reject_payload.ParseFromString(payload.content) txn_signer_admin_address = addresser.make_task_admins_address( task_id=reject_payload.task_id, user_id=header.signer_public_key) state_entries = validate_task_admin_or_owner(header, reject_payload, txn_signer_admin_address, state) handle_reject(state_entries, header, reject_payload, state)
def apply_confirm(header, payload, state): confirm_payload = task_transaction_pb2.ConfirmAddTaskOwner() confirm_payload.ParseFromString(payload.content) task_owners_address = addresser.make_task_owners_address( task_id=confirm_payload.task_id, user_id=confirm_payload.user_id) txn_signer_admin_address = addresser.make_task_admins_address( task_id=confirm_payload.task_id, user_id=header.signer_public_key) state_entries = validate_task_admin_or_owner(header, confirm_payload, txn_signer_admin_address, state) handle_confirm_add(state_entries=state_entries, header=header, confirm=confirm_payload, task_rel_address=task_owners_address, state=state)
def apply_confirm(header, payload, state, is_remove=False): """Apply the (Add | Remove) TaskOwners transaction. Args: header (TransactionHeader): The protobuf TransactionHeader. payload (RBACPayload): The protobuf RBACPayload. state (Context): The class that handles state gets and sets. is_remove (boolean): Determines if task owner is being added or removed. Raises: InvalidTransaction: - The transaction is invalid. """ if not is_remove: confirm_payload = task_transaction_pb2.ConfirmAddTaskOwner() else: confirm_payload = task_transaction_pb2.ConfirmRemoveTaskOwner() confirm_payload.ParseFromString(payload.content) task_owners_address = addresser.make_task_owners_address( task_id=confirm_payload.task_id, user_id=confirm_payload.user_id) txn_signer_admin_address = addresser.make_task_admins_address( task_id=confirm_payload.task_id, user_id=header.signer_public_key) state_entries = validate_task_admin_or_owner( header=header, confirm=confirm_payload, txn_signer_rel_address=txn_signer_admin_address, task_rel_address=task_owners_address, state=state, is_remove=is_remove) handle_confirm(state_entries=state_entries, header=header, confirm=confirm_payload, task_rel_address=task_owners_address, state=state, is_remove=is_remove)