Files
tam3/api/routers/prefixes.py

40 lines
1.1 KiB
Python
Raw Normal View History

2025-09-21 00:09:19 -04:00
from fastapi import APIRouter
2025-09-23 22:20:53 -04:00
from repos.api_keys import ApiKeyRepo
2025-09-21 00:09:19 -04:00
from repos.prefixes import Prefix, PrefixRepo
2025-09-23 22:20:53 -04:00
from exceptions import bad_key
2025-09-21 00:09:19 -04:00
prefix_router = APIRouter(prefix="/api/prefixes")
@prefix_router.get("/")
2025-09-23 22:20:53 -04:00
def get_all_prefixes(api_key: str):
if not ApiKeyRepo().check_api(api_key):
raise bad_key
2025-09-21 00:09:19 -04:00
return PrefixRepo().get_all()
@prefix_router.get("/{prefix_name}/")
2025-09-23 22:20:53 -04:00
def get_one_prefix(api_key: str, prefix_name: str):
if not ApiKeyRepo().check_api(api_key):
raise bad_key
2025-09-21 00:09:19 -04:00
return PrefixRepo().get_one(prefix_name)
@prefix_router.post("/")
2025-09-28 22:53:09 -04:00
def post_one_prefix(api_key: str, p: Prefix | list[Prefix]):
2025-09-23 22:20:53 -04:00
if not ApiKeyRepo().check_api(api_key):
raise bad_key
2025-09-28 22:53:09 -04:00
if type(p) is list:
rep_detail = PrefixRepo().add_list(p)
elif type(p) is Prefix:
rep_detail = PrefixRepo().add_one(p)
2025-09-21 00:09:19 -04:00
return {"detail": rep_detail}
@prefix_router.delete("/")
2025-09-23 22:20:53 -04:00
def del_one_prefix(api_key: str, prefix_name: str):
if not ApiKeyRepo().check_api(api_key):
raise bad_key
2025-09-21 00:09:19 -04:00
rep_detail = PrefixRepo().del_one(prefix_name)
return {"detail": rep_detail}