Update change set

This commit is contained in:
wqy
2022-09-24 22:59:04 +08:00
parent 65df8c9f8d
commit 1a584424d9

View File

@@ -1,12 +1,22 @@
class ChangeSet:
def __init__(self) -> None:
def __init__(self):
self.operations : list[dict[str, str]] = []
def add(self, type: str, id: str) -> None:
def add(self, type: str, id: str):
self.operations.append({ 'operation': 'add', 'type': type, 'id': id })
return self
def delete(self, type: str, id: str) -> None:
def delete(self, type: str, id: str):
self.operations.append({ 'operation': 'delete', 'type': type, 'id': id })
return self
def update(self, type: str, id: str, property: str) -> None:
self.operations.append({ 'operation': 'update', 'type': type, 'id': id, 'property': property })
def update(self, type: str, id: str, properties: list[str]):
self.operations.append({ 'operation': 'update', 'type': type, 'id': id, 'properties': properties })
return self
def append(self, other) -> None:
self.operations += other.operations
return self
def compress(self) -> None:
return self