Untitled

 avatar
4ae4d
plain_text
2 months ago
1.7 kB
5
Indexable
        _ = event_service.create_from_wizard(data, message.peer)


    def create_from_wizard(self, data: dict[str, Any], peer) -> dict[str, Any]:
        title = data.get("event_name", "")
        description = data.get("event_description", "")
        date_obj = data.get("event_date", "")
        time_obj = data.get("event_time", "")
        # надо додел
        gosp_id = data.get("gosp_id", "666666666666")
        # пока не делаем пусть отдыхает
        project_id = data.get("project_id", "")
        hours = data.get("hours", "")

        verification_code = data.get("event_bonus_code", "")
        # Теги: массив UUID, уже сформированный в хендлере
        tags: list[str] = data.get("event_app_tag_ids") or []
        # === Формирование RFC3339-совместимой строки ===
        event_dt = datetime.combine(date_obj, time_obj).replace(tzinfo=timezone.utc)
        date_time = event_dt.isoformat().replace("+00:00", "Z")

        resp = self.client.create_event(
            title=title,
            description=description,
            date_time=date_time,
            gosp_id=gosp_id,
            project_id=project_id,
            verification_code=verification_code,
            hours=hours,
            requester_messenger_id=peer.id,
            tags=tags if tags else None,
        )

        if resp.status_code not in [200, 201]:
            raise HTTPError(f"Error while creating event: {resp.status_code}\n{resp.text}")
        # подключить когда сделают карточку мероприятия
        return {}
Editor is loading...
Leave a Comment