go2.0 / main.py
1234ty's picture
Update main.py
6739b87 verified
Raw
History Blame Contribute Delete
1.43 kB
from fastapi import FastAPI, Request
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel
import json
import os
app = FastAPI()
# --- คงเดิม: เพิ่ม CORS เพื่อให้หน้าเว็บเข้าถึง API ได้ ---
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"],
allow_headers=["*"],
)
# --- แก้ไขจุดนี้: ย้ายไปเก็บที่ /tmp ซึ่งเป็นที่ที่เขียนได้เสมอ ---
DB_FILE = "/tmp/update_data.json"
class UpdateData(BaseModel):
version: str
description: str
script: str
@app.get("/api/update")
async def get_update():
if os.path.exists(DB_FILE):
with open(DB_FILE, "r") as f:
return json.load(f)
# ถ้าไม่มีไฟล์ ให้คืนค่า Default
return {"version": "1.0", "description": "ระบบเริ่มต้น", "script": ""}
@app.post("/api/update")
async def post_update(data: UpdateData):
# เขียนไฟล์ลง /tmp/ แทน
with open(DB_FILE, "w") as f:
json.dump(data.model_dump(), f) # ใช้ .model_dump() แทน .dict() สำหรับ Pydantic v2
return {"status": "success"}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=7860)