radical-api/api.py

70 lines
1.5 KiB
Python
Raw Normal View History

2021-08-17 02:51:42 +00:00
import sys
from target import Target
from fastapi import FastAPI, status
from response import Response
api = FastAPI()
api_data = {"version": "2021.8.4.0", "author": "Riley Housden"}
@api.post("/update")
def update():
sys.exit(36)
@api.post("/restart")
def stop():
sys.exit(26)
@api.get("/")
def quack():
return "quack!"
@api.get("/target/points")
def list_points(name: str):
try:
target = Target.from_data(name)
return Response(status.HTTP_200_OK, target.points)
except FileNotFoundError:
return Response(status.HTTP_204_NO_CONTENT, {})
@api.get("/target/points/add")
def add_point(name: str, datestr: str, value: int):
try:
target = Target.from_data(name)
except FileNotFoundError:
target = Target(name, [])
target.add_point(datestr, value)
return Response(status.HTTP_200_OK, target).to_json()
@api.put("/target/points/modify")
def modify_point(name: str, datestr: str, value: int):
target = Target.from_data(name)
target.modify_point(datestr, value)
return 200
@api.delete("/target/points/delete")
def delete_point(name: str, datestr: str):
target = Target.from_data(name)
target.delete_point(datestr)
return 200
@api.get("/target/rename")
def rename_target(name: str, new_name: str):
target = Target.from_data(name)
target.rename(new_name)
return 200
@api.delete("/target/delete")
def delete_target(name: str):
target = Target.from_data(name)
target.delete()