round 3
This commit is contained in:
18
events/types/child_add.py
Normal file
18
events/types/child_add.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class ChildAdd(Payload):
|
||||
def __init__(self, child_id: str, status: str):
|
||||
super().__init__({
|
||||
'child_id': child_id,
|
||||
'status': status,
|
||||
})
|
||||
|
||||
@property
|
||||
def child_id(self) -> str:
|
||||
return self.get("child_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
18
events/types/child_delete.py
Normal file
18
events/types/child_delete.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class ChildDelete(Payload):
|
||||
def __init__(self, child_id: str, status: str):
|
||||
super().__init__({
|
||||
'child_id': child_id,
|
||||
'status': status,
|
||||
})
|
||||
|
||||
@property
|
||||
def child_id(self) -> str:
|
||||
return self.get("child_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
18
events/types/child_update.py
Normal file
18
events/types/child_update.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class ChildUpdate(Payload):
|
||||
def __init__(self, child_id: str, status: str):
|
||||
super().__init__({
|
||||
'child_id': child_id,
|
||||
'status': status,
|
||||
})
|
||||
|
||||
@property
|
||||
def child_id(self) -> str:
|
||||
return self.get("child_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
18
events/types/event.py
Normal file
18
events/types/event.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from dataclasses import dataclass, field
|
||||
import time
|
||||
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
@dataclass
|
||||
class Event:
|
||||
type: str
|
||||
payload: Payload
|
||||
timestamp: float = field(default_factory=time.time)
|
||||
|
||||
def to_dict(self):
|
||||
return {
|
||||
'type': self.type,
|
||||
'payload': self.payload.data,
|
||||
'timestamp': self.timestamp
|
||||
}
|
||||
19
events/types/event_types.py
Normal file
19
events/types/event_types.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from enum import Enum
|
||||
|
||||
|
||||
class EventType(Enum):
|
||||
TASK_UPDATE = "task_update"
|
||||
TASK_SET = "task_set"
|
||||
TASK_TEST = "task_test"
|
||||
REWARD_UPDATE = "reward_update"
|
||||
REWARD_SET = "reward_set"
|
||||
CHILD_UPDATE = "child_update"
|
||||
CHILD_ADD = "child_add"
|
||||
CHILD_DELETE = "child_delete"
|
||||
TASK_CREATED = "task_created"
|
||||
TASK_DELETED = "task_deleted"
|
||||
TASK_EDITED = "task_edited"
|
||||
REWARD_CREATED = "reward_created"
|
||||
REWARD_DELETED = "reward_deleted"
|
||||
REWARD_EDITED = "reward_edited"
|
||||
# Add more event types here
|
||||
6
events/types/payload.py
Normal file
6
events/types/payload.py
Normal file
@@ -0,0 +1,6 @@
|
||||
class Payload:
|
||||
def __init__(self, data: dict):
|
||||
self.data = data
|
||||
|
||||
def get(self, key: str, default=None):
|
||||
return self.data.get(key, default)
|
||||
19
events/types/reward_created.py
Normal file
19
events/types/reward_created.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class RewardCreated(Payload):
|
||||
def __init__(self, reward_id: str, status: str):
|
||||
super().__init__({
|
||||
'reward_id': reward_id,
|
||||
'status': status
|
||||
})
|
||||
|
||||
@property
|
||||
def reward_id(self) -> str:
|
||||
return self.get("reward_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
|
||||
19
events/types/reward_deleted.py
Normal file
19
events/types/reward_deleted.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class RewardDeleted(Payload):
|
||||
def __init__(self, reward_id: str, status: str):
|
||||
super().__init__({
|
||||
'reward_id': reward_id,
|
||||
'status': status
|
||||
})
|
||||
|
||||
@property
|
||||
def reward_id(self) -> str:
|
||||
return self.get("reward_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
|
||||
19
events/types/reward_edited.py
Normal file
19
events/types/reward_edited.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class RewardEdited(Payload):
|
||||
def __init__(self, reward_id: str, status: str):
|
||||
super().__init__({
|
||||
'reward_id': reward_id,
|
||||
'status': status
|
||||
})
|
||||
|
||||
@property
|
||||
def reward_id(self) -> str:
|
||||
return self.get("reward_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
|
||||
19
events/types/reward_set.py
Normal file
19
events/types/reward_set.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class RewardSet(Payload):
|
||||
def __init__(self, child_id: str, status: str):
|
||||
super().__init__({
|
||||
'child_id': child_id,
|
||||
'status': status
|
||||
})
|
||||
|
||||
@property
|
||||
def child_id(self) -> str:
|
||||
return self.get("child_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
|
||||
29
events/types/reward_update.py
Normal file
29
events/types/reward_update.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class RewardUpdate(Payload):
|
||||
def __init__(self, reward_id: str, child_id: str, status: str, points: int):
|
||||
super().__init__({
|
||||
'reward_id': reward_id,
|
||||
'child_id': child_id,
|
||||
'status': status,
|
||||
'points': points
|
||||
})
|
||||
|
||||
@property
|
||||
def reward_id(self) -> str:
|
||||
return self.get("reward_id")
|
||||
|
||||
@property
|
||||
def child_id(self) -> str:
|
||||
return self.get("child_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
@property
|
||||
def points(self) -> int:
|
||||
return self.get("points", 0)
|
||||
|
||||
|
||||
19
events/types/task_created.py
Normal file
19
events/types/task_created.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class TaskCreated(Payload):
|
||||
def __init__(self, task_id: str, status: str):
|
||||
super().__init__({
|
||||
'task_id': task_id,
|
||||
'status': status
|
||||
})
|
||||
|
||||
@property
|
||||
def task_id(self) -> str:
|
||||
return self.get("task_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
|
||||
19
events/types/task_deleted.py
Normal file
19
events/types/task_deleted.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class TaskDeleted(Payload):
|
||||
def __init__(self, task_id: str, status: str):
|
||||
super().__init__({
|
||||
'task_id': task_id,
|
||||
'status': status
|
||||
})
|
||||
|
||||
@property
|
||||
def task_id(self) -> str:
|
||||
return self.get("task_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
|
||||
19
events/types/task_edited.py
Normal file
19
events/types/task_edited.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class TaskEdited(Payload):
|
||||
def __init__(self, task_id: str, status: str):
|
||||
super().__init__({
|
||||
'task_id': task_id,
|
||||
'status': status
|
||||
})
|
||||
|
||||
@property
|
||||
def task_id(self) -> str:
|
||||
return self.get("task_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
|
||||
19
events/types/task_set.py
Normal file
19
events/types/task_set.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class TaskSet(Payload):
|
||||
def __init__(self, child_id: str, status: str):
|
||||
super().__init__({
|
||||
'child_id': child_id,
|
||||
'status': status
|
||||
})
|
||||
|
||||
@property
|
||||
def child_id(self) -> str:
|
||||
return self.get("child_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
|
||||
17
events/types/task_test.py
Normal file
17
events/types/task_test.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class TaskTest(Payload):
|
||||
def __init__(self, task_id: str, message: str):
|
||||
super().__init__({
|
||||
'task_id': task_id,
|
||||
'message': message
|
||||
})
|
||||
|
||||
@property
|
||||
def task_id(self) -> str:
|
||||
return self.get("task_id")
|
||||
|
||||
@property
|
||||
def message(self) -> str:
|
||||
return self.get("message")
|
||||
29
events/types/task_update.py
Normal file
29
events/types/task_update.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from events.types.payload import Payload
|
||||
|
||||
|
||||
class TaskUpdate(Payload):
|
||||
def __init__(self, task_id: str, child_id: str, status: str, points: int):
|
||||
super().__init__({
|
||||
'task_id': task_id,
|
||||
'child_id': child_id,
|
||||
'status': status,
|
||||
'points': points
|
||||
})
|
||||
|
||||
@property
|
||||
def task_id(self) -> str:
|
||||
return self.get("task_id")
|
||||
|
||||
@property
|
||||
def child_id(self) -> str:
|
||||
return self.get("child_id")
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
return self.get("status")
|
||||
|
||||
@property
|
||||
def points(self) -> int:
|
||||
return self.get("points", 0)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user