def validate_update_session_permission_request()

in source/idea/idea-virtual-desktop-controller/src/ideavirtualdesktopcontroller/app/api/virtual_desktop_api.py [0:0]


    def validate_update_session_permission_request(self, request: UpdateSessionPermissionRequest) -> (bool, UpdateSessionPermissionRequest):
        is_valid_request = True
        if Utils.is_not_empty(request.create):
            for permission in request.create:
                permission, is_valid = self._validate_session_permission_create_request(permission)
                if is_valid:
                    session = self.get_session_if_owner(username=permission.idea_session_owner, idea_session_id=permission.idea_session_id)
                    is_valid, message = self._validate_session_for_session_permission_request(session)
                    if not is_valid:
                        permission.failure_reason = message
                is_valid_request = is_valid_request and is_valid

        if Utils.is_not_empty(request.update):
            for permission in request.update:
                permission, is_valid = self._validate_session_permission_update_request(permission)
                if is_valid:
                    session = self.get_session_if_owner(username=permission.idea_session_owner, idea_session_id=permission.idea_session_id)
                    is_valid, message = self._validate_session_for_session_permission_request(session)
                    if not is_valid:
                        permission.failure_reason = message
                is_valid_request = is_valid_request and is_valid

        '''
        for permission in request.delete:
            pass
        '''

        if is_valid_request:
            is_valid, message = self._validate_actors_for_session_permission_requests(request.create + request.update + request.delete)
            is_valid_request = is_valid_request and is_valid

        if not is_valid_request:
            for permission in request.create:
                if Utils.is_empty(permission.failure_reason):
                    permission.failure_reason = 'Invalid request. Rejecting all permissions'
            for permission in request.update:
                if Utils.is_empty(permission.failure_reason):
                    permission.failure_reason = 'Invalid request. Rejecting all permissions'
            for permission in request.delete:
                if Utils.is_empty(permission.failure_reason):
                    permission.failure_reason = 'Invalid request. Rejecting all permissions'
        return is_valid_request, request