32 lines
1023 B
Python
32 lines
1023 B
Python
from fastapi import APIRouter
|
|
from pydantic import BaseModel
|
|
import asyncio
|
|
|
|
router = APIRouter()
|
|
|
|
class FactionRequest(BaseModel):
|
|
faction_id: int
|
|
refresh_interval: int
|
|
|
|
async def update_friendly_faction_loop(faction_id: int, interval: int):
|
|
while True:
|
|
print(f"Refreshing friendly faction {faction_id}")
|
|
# call your update_friendly_faction() here
|
|
await asyncio.sleep(interval)
|
|
|
|
async def update_enemy_faction_loop(faction_id: int, interval: int):
|
|
while True:
|
|
print(f"Refreshing enemy faction {faction_id}")
|
|
# call your update_enemy_faction() here
|
|
await asyncio.sleep(interval)
|
|
|
|
@router.post("/refresh/friendly")
|
|
async def refresh_friendly(data: FactionRequest):
|
|
asyncio.create_task(update_friendly_faction_loop(data.faction_id, data.refresh_interval))
|
|
return {"status": "friendly loop started"}
|
|
|
|
@router.post("/refresh/enemy")
|
|
async def refresh_enemy(data: FactionRequest):
|
|
asyncio.create_task(update_enemy_faction_loop(data.faction_id, data.refresh_interval))
|
|
return {"status": "enemy loop started"}
|