from fastapi import FastAPI class EventStore: def __init__(self, max_events_per_user=10): self.events = {} self.max_events_per_user = max_events_per_user def get(self, user_id): """ Возвращает события для пользователя """ if user_id in self.events: user_events = self.events[user_id] else: user_events = [] return user_events def put(self, user_id, item_id): """ Сохраняет событие для пользователя """ user_events = self.get(user_id) self.events[user_id] = [item_id] + user_events[: self.max_events_per_user] events_store = EventStore() app = FastAPI(title="events") @app.post("/put") async def put(user_id: int, item_id: int): """ Сохраняет событие для user_id, item_id """ events_store.put(user_id, item_id) return {"result": "ok"} @app.get("/get") async def get(user_id: int, k: int = 10): """ Возвращает список последних k событий для пользователя user_id """ events = events_store.get(user_id)[:k] return {"events": events}