/
Lexus_666
/
PIR_LAB_4
Обзор
Документация
Войти
/
Lexus_666
/
PIR_LAB_4
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
common/models.py
69 строк
2 KB
Lexus-666
Lab_4_done added client + server + test run
25 дек 2025, 02:27
25 дек 2025, 02:27
1e2f432
Код
Авторство
О чём код?
from datetime import datetime from typing import Optional, Dict, Any import uuid class User: def __init__(self, username: str, email: str, full_name: Optional[str] = None): self.id = None self.username = username self.email = email self.full_name = full_name self.created_at = datetime.now() self.updated_at = datetime.now() def to_dict(self) -> Dict[str, Any]: return { 'id': self.id, 'username': self.username, 'email': self.email, 'full_name': self.full_name, 'created_at': self.created_at.isoformat() if self.created_at else None, 'updated_at': self.updated_at.isoformat() if self.updated_at else None } @classmethod def from_dict(cls, data: Dict[str, Any]) -> 'User': user = cls( username=data['username'], email=data['email'], full_name=data.get('full_name') ) if 'id' in data: user.id = data['id'] return user class RequestMessage: def __init__(self, action: str, data: Dict[str, Any], auth: str): self.id = str(uuid.uuid4()) self.version = 'v1' self.action = action self.data = data self.auth = auth def to_dict(self) -> Dict[str, Any]: return { 'id': self.id, 'version': self.version, 'action': self.action, 'data': self.data, 'auth': self.auth } class ResponseMessage: def __init__(self, correlation_id: str, status: str, data: Optional[Dict[str, Any]] = None, error: Optional[str] = None): self.correlation_id = correlation_id self.status = status self.data = data self.error = error def to_dict(self) -> Dict[str, Any]: return { 'correlation_id': self.correlation_id, 'status': self.status, 'data': self.data, 'error': self.error }