Skip to content

Commit

Permalink
Merge pull request #87 from neuroforgede/consumer-inorder-non-blockin…
Browse files Browse the repository at this point in the history
…g-mode

change pushers in compose_client to use patch operations to not overw…
  • Loading branch information
s4ke authored Jan 21, 2024
2 parents 6219565 + b547d71 commit d76c006
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions client/compose_client/library/service/pusher.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ def _create_update_structure_elements(
if _type == 'dimensions':
_payload['reference'] = ds_url_by_external_id[_payload['reference']]

self.client.put(
self.client.patch(
url=self.client.url(f'{_base_path_data_series_by_external_id}{ds_external_id}/{_structure_path_elem}/{update_op.external_id}/'),
data=update_op.payload
)
Expand Down Expand Up @@ -208,7 +208,7 @@ def _migrate_bare_data_series(
external_id_to_rest_url[data_series.external_id] = data_series.url

for update_op in ds_ops_by_operation_type[OperationType.UPDATE]:
res_json = self.client.put(
res_json = self.client.patch(
url=self.client.url(f'{_base_path_data_series_by_external_id}{update_op.external_id}/'),
data=update_op.payload
)
Expand Down Expand Up @@ -259,7 +259,7 @@ def _simple_child_migrate_create_update(
)

for update_op in structure_ops_by_operation_type[OperationType.UPDATE]:
self.client.put(
self.client.patch(
url=self.client.url(f'{_base_path_data_series_by_external_id}{ds_external_id}/{child_type}/{update_op.external_id}/'),
data=update_op.payload
)
Expand Down Expand Up @@ -328,13 +328,13 @@ def push(self, data: Iterable[DataSeriesDefinitionDiff]) -> None:
pass
if permission_change.operation_type == OperationType.CREATE:
# we cant really create, but the dataseries was not there to begin with
self.client.put(
self.client.patch(
url=self.client.url(
f'{_base_path_data_series_by_external_id}{diff.external_id}/permission/group/{group_id_by_name[permission_change.name]}/'),
data=permission_change.payload
)
if permission_change.operation_type == OperationType.UPDATE:
self.client.put(
self.client.patch(
url=self.client.url(
f'{_base_path_data_series_by_external_id}{diff.external_id}/permission/group/{group_id_by_name[permission_change.name]}/'),
data=permission_change.payload
Expand Down Expand Up @@ -375,16 +375,16 @@ def push(self, data: Iterable[EngineDefinitionDiff]) -> None:
self.client.post(url=self.client.url('/api/flow/engine/'), data=elem.engine.payload)

if elem.engine.operation_type == OperationType.UPDATE:
self.client.put(url=self._get_engine(elem.external_id)['url'], data=elem.engine.payload)
self.client.patch(url=self._get_engine(elem.external_id)['url'], data=elem.engine.payload)

# migrate all secrets
if elem.secret is not None:
if elem.secret.operation_type == OperationType.CREATE:
# secret endpoint only supports put, because there will always be a secret
self.client.put(self._get_engine(elem.external_id)['secret'], data=elem.secret.payload)
self.client.patch(self._get_engine(elem.external_id)['secret'], data=elem.secret.payload)

if elem.secret.operation_type == OperationType.UPDATE:
self.client.put(self._get_engine(elem.external_id)['secret'], data=elem.secret.payload)
self.client.patch(self._get_engine(elem.external_id)['secret'], data=elem.secret.payload)

if not _engine_deleted:
_url = self._get_engine(elem.external_id)['url']
Expand All @@ -395,12 +395,12 @@ def push(self, data: Iterable[EngineDefinitionDiff]) -> None:
pass
if permission_change.operation_type == OperationType.CREATE:
# we cant really create, but the engine was not there to begin with
self.client.put(
self.client.patch(
url=f'{_url}permission/group/{group_id_by_name[permission_change.name]}/',
data=permission_change.payload
)
if permission_change.operation_type == OperationType.UPDATE:
self.client.put(
self.client.patch(
url=f'{_url}permission/group/{group_id_by_name[permission_change.name]}/',
data=permission_change.payload
)
Expand Down Expand Up @@ -446,7 +446,7 @@ def push(self, data: Iterable[HttpEndpointDefinitionDiff]) -> None:
if elem.http_endpoint.operation_type == OperationType.UPDATE:
_payload = elem.http_endpoint.payload
_payload['engine'] = engine_url_by_external_id[_payload['engine']]
self.client.put(url=self._get_http_endpoint(elem.external_id)['url'], data=_payload)
self.client.patch(url=self._get_http_endpoint(elem.external_id)['url'], data=_payload)

if not _endpoint_deleted:
_url = self._get_http_endpoint(elem.external_id)['url']
Expand All @@ -458,12 +458,12 @@ def push(self, data: Iterable[HttpEndpointDefinitionDiff]) -> None:
pass
if permission_change.operation_type == OperationType.CREATE:
# we cant really create, but the httpendpoint was not there to begin with
self.client.put(
self.client.patch(
url=f'{_url}permission/group/{group_id_by_name[permission_change.name]}/',
data=permission_change.payload
)
if permission_change.operation_type == OperationType.UPDATE:
self.client.put(
self.client.patch(
url=f'{_url}permission/group/{group_id_by_name[permission_change.name]}/',
data=permission_change.payload
)
Expand All @@ -480,7 +480,7 @@ def push(self, data: Iterable[GroupDefinitionDiff]) -> None:
# a different REST resource from the API standpoint)
if elem.group_permissions is not None:
if elem.group_permissions.operation_type == OperationType.DELETE:
self.client.put(self._get_group(elem.name)['permissions'], data={
self.client.patch(self._get_group(elem.name)['permissions'], data={
"group_permissions": []
})

Expand All @@ -493,14 +493,14 @@ def push(self, data: Iterable[GroupDefinitionDiff]) -> None:
self.client.post(url=self.client.url('/api/common/auth/group/'), data=elem.group.payload)

if elem.group.operation_type == OperationType.UPDATE:
self.client.put(url=self._get_group(elem.name)['url'], data=elem.group.payload)
self.client.patch(url=self._get_group(elem.name)['url'], data=elem.group.payload)

if elem.group_permissions is not None:
if elem.group_permissions.operation_type == OperationType.CREATE:
self.client.put(self._get_group(elem.name)['permissions'], data=elem.group_permissions.payload)
self.client.patch(self._get_group(elem.name)['permissions'], data=elem.group_permissions.payload)

if elem.group_permissions.operation_type == OperationType.UPDATE:
self.client.put(self._get_group(elem.name)['permissions'], data=elem.group_permissions.payload)
self.client.patch(self._get_group(elem.name)['permissions'], data=elem.group_permissions.payload)


class DataSeriesCreateViewOperationPusher(BasePusher):
Expand Down

0 comments on commit d76c006

Please sign in to comment.