from fastapi import FastAPI, Query
from pydantic import BaseModel
from datetime import datetime
from typing import List

app = FastAPI()

# 메시지 저장을 위한 리스트
messages = []

class Message(BaseModel):
    name: str
    message: str

@app.post("/messages")  
def post_message(msg: Message):
    # 현재 시간을 YYYY-MM-DD HH:MM:SS 형식으로 저장
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    
    new_message = {
        "name": msg.name,
        "message": msg.message,
        "timestamp": timestamp
    }
    messages.append(new_message)
    
    return {
        "status": "success",
        "received": new_message,
        "timestamp": timestamp
    }

@app.get("/messages")
def get_messages(start: int = 0):
    # start 인덱스부터 끝까지의 메시지를 반환
    return messages[start:]

if __name__ == "__main__":
    import uvicorn
    # 터미널에서 직접 실행할 때를 위해 uvicorn 설정 추가
    uvicorn.run(app, host="0.0.0.0", port=8000)