kenken999 commited on
Commit
a58c87f
·
1 Parent(s): d1ffbde
app/Http/controller/G1 CHANGED
@@ -1 +1 @@
1
- Subproject commit 51896796cfa2b30f88cd27da7daeb356bc3ff5a2
 
1
+ Subproject commit e10f2f202c1dfe7aa1823cf31d7f1b7b5d234e55
app/Http/controller/G4 ADDED
@@ -0,0 +1 @@
 
 
1
+ Subproject commit 0c647a6546b73c71d73253cd020a4e15028fd5a9
app/Http/controller/test_foldersa ADDED
@@ -0,0 +1 @@
 
 
1
+ Subproject commit ecdae954560ae7f9fe2ac2473eddf89053dc46fb
routers/proxy.py CHANGED
@@ -1,9 +1,10 @@
1
  from fastapi import APIRouter, Request, HTTPException, Response
2
  import httpx
 
 
3
 
4
  LARAVEL_URL = "http://localhost:8000"
5
  router = APIRouter(prefix="/laravel", tags=["laravel"])
6
-
7
  # GET
8
  @router.get("/route/{path:path}")
9
  async def proxy_get(path: str, request: Request):
 
1
  from fastapi import APIRouter, Request, HTTPException, Response
2
  import httpx
3
+ rom fastapi import APIRouter, Request, HTTPException, Response
4
+ import httpx
5
 
6
  LARAVEL_URL = "http://localhost:8000"
7
  router = APIRouter(prefix="/laravel", tags=["laravel"])
 
8
  # GET
9
  @router.get("/route/{path:path}")
10
  async def proxy_get(path: str, request: Request):
routers/supebase.py ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI, HTTPException
2
+ from pydantic import BaseModel
3
+ import requests
4
+ from fastapi import APIRouter, Request, HTTPException, Response
5
+ import httpx
6
+
7
+ LARAVEL_URL = "http://localhost:8000"
8
+ router = APIRouter(prefix="/supabase", tags=["supabase"])
9
+ #app = FastAPI()
10
+
11
+ # Supabase 設定
12
+ SUPABASE_URL = "https://rootomzbucovwdqsscqd.supabase.co"
13
+ SUPABASE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." # 略
14
+ SERVICE_ROLE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." # 略
15
+
16
+ # データモデル
17
+ class Message(BaseModel):
18
+ content: str
19
+
20
+ class MessageUpdate(BaseModel):
21
+ id: int
22
+ content: str
23
+
24
+ headers = {
25
+ "apikey": SUPABASE_KEY,
26
+ "Authorization": f"Bearer {SERVICE_ROLE_KEY}",
27
+ "Content-Type": "application/json"
28
+ }
29
+
30
+ # GET: 全取得(10件)
31
+ @router.get("/messages")
32
+ def read_messages():
33
+ url = f"{SUPABASE_URL}/rest/v1/messages?select=*&limit=10&order=id.desc"
34
+ res = requests.get(url, headers=headers)
35
+ if res.status_code != 200:
36
+ raise HTTPException(status_code=res.status_code, detail=res.text)
37
+ return res.json()
38
+
39
+ # GET: 特定ID
40
+ @router.get("/messages/{message_id}")
41
+ def read_message(message_id: int):
42
+ url = f"{SUPABASE_URL}/rest/v1/messages?id=eq.{message_id}&select=*"
43
+ res = requests.get(url, headers=headers)
44
+ if res.status_code != 200 or not res.json():
45
+ raise HTTPException(status_code=404, detail="Message not found")
46
+ return res.json()[0]
47
+
48
+ # POST: 新規作成
49
+ @router.post("/messages")
50
+ def create_message(msg: Message):
51
+ url = f"{SUPABASE_URL}/rest/v1/messages"
52
+ res = requests.post(url, headers={**headers, "Prefer": "return=representation"}, json=msg.dict())
53
+ if res.status_code >= 300:
54
+ raise HTTPException(status_code=res.status_code, detail=res.text)
55
+ return res.json()
56
+
57
+ # PUT: 更新
58
+ @router.put("/messages/{message_id}")
59
+ def update_message(message_id: int, msg: Message):
60
+ url = f"{SUPABASE_URL}/rest/v1/messages?id=eq.{message_id}"
61
+ res = requests.patch(url, headers={**headers, "Prefer": "return=representation"}, json=msg.dict())
62
+ if res.status_code >= 300 or not res.json():
63
+ raise HTTPException(status_code=404, detail="Update failed")
64
+ return res.json()
65
+
66
+ # DELETE: 削除
67
+ @router.delete("/messages/{message_id}")
68
+ def delete_message(message_id: int):
69
+ url = f"{SUPABASE_URL}/rest/v1/messages?id=eq.{message_id}"
70
+ res = requests.delete(url, headers=headers)
71
+ if res.status_code >= 300:
72
+ raise HTTPException(status_code=res.status_code, detail="Delete failed")
73
+ return {"status": "deleted", "id": message_id}