wip close round/campaign/war + refacto json None

This commit is contained in:
Maxime Réaux 2026-02-11 19:22:43 +01:00
parent 4c8086caf4
commit 6cbb7c6534
26 changed files with 474 additions and 108 deletions

View file

@ -4,10 +4,10 @@ from uuid import uuid4
class Objective:
def __init__(self, name: str, description: str):
def __init__(self, name: str, description: str | None):
self.id: str = str(uuid4())
self.name: str = name
self.description: str = description
self.description: str | None = description
def set_id(self, new_id: str) -> None:
self.id = new_id
@ -15,18 +15,18 @@ class Objective:
def set_name(self, new_name: str) -> None:
self.name = new_name
def set_description(self, new_description: str) -> None:
def set_description(self, new_description: str | None) -> None:
self.description = new_description
def toDict(self) -> Dict[str, Any]:
return {
"id": self.id,
"name": self.name,
"description": self.description,
"description": self.description or None,
}
@staticmethod
def fromDict(data: Dict[str, Any]) -> Objective:
obj = Objective(data["name"], data["description"])
obj = Objective(data["name"], data["description"] or None)
obj.set_id(data["id"])
return obj