# import standard modules
from fastapi import APIRouter, Request, Response, HTTPException, status
-from fastapi.responses import FileResponse, JSONResponse, RedirectResponse
+from fastapi.responses import FileResponse
import ipaddress
import time
import os
alias_id = add_alias(data)
if(alias_id > 0):
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
- return JSONResponse(
- status_code=status.HTTP_200_OK,
- content={
+ return {
"code": "ALIAS_ADDED",
"status": "success",
"message": "Alias added successfully",
"alias_id": alias_id,
"took_ms": took_ms,
- },
- )
+ }
# Already present
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
updated = update_alias(alias_id, data)
if updated:
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
- return JSONResponse(
- status_code=status.HTTP_200_OK,
- content={
+ return {
"code": "ALIAS_UPDATED",
"status": "success",
"message": "Alias updated successfully",
"alias_id": alias_id,
"took_ms": took_ms,
- },
- )
+ }
# Not Found
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
deleted = delete_alias(alias_id)
if deleted:
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
- return JSONResponse(
- status_code=status.HTTP_200_OK,
- content={
+ return {
"code": "ALIAS_DELETED",
"status": "success",
"message": "Alias deleted successfully",
"details": {"took_ms": took_ms, "alias_id": alias_id,},
- },
- )
+ }
# Not Found
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
# import standard modules
from fastapi import APIRouter, Request, Response, HTTPException, status
-from fastapi.responses import FileResponse, JSONResponse, RedirectResponse
+from fastapi.responses import FileResponse
import asyncio
import json
import os
save_aliases()
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
- return JSONResponse(
- status_code=status.HTTP_200_OK,
- content={
+ return {
"code": "BACKUP_OK",
"status": "success",
"message": "BACKUP executed successfully",
"took_ms": took_ms,
- },
- )
+ }
except HTTPException:
raise
# import standard modules
from fastapi import APIRouter, Request, Response, HTTPException, status
-from fastapi.responses import FileResponse, JSONResponse, RedirectResponse
+from fastapi.responses import FileResponse
import asyncio
import csv
import json
# RELOAD DHCP
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
- return JSONResponse(
- status_code=status.HTTP_200_OK,
- content={
+ return {
"code": "DHCP_RELOAD_OK",
"status": "success",
"message": "DHCP configuration reload successfully",
"took_ms": took_ms,
- },
- )
+ }
except HTTPException:
raise
with path.open("r", encoding="utf-8", newline="") as f:
reader = csv.DictReader(f)
if not reader.fieldnames:
- return JSONResponse(
- status_code=status.HTTP_200_OK,
- content={
+ return {
"total": 0, "items": []
- },
- )
+ }
for raw in reader:
rec = { _norm(k): (v if v is not None else "") for k, v in raw.items() }
}
items.append(item)
- return JSONResponse(
- status_code=status.HTTP_200_OK,
- content={
+ return {
"total": len(items),
"items": items
- },
- )
+ }
except Exception as err:
logger.exception("Error reading DHCP leases: %s", str(err).strip())
# import standard modules
from fastapi import APIRouter, Request, Response, HTTPException, status
-from fastapi.responses import FileResponse, JSONResponse, RedirectResponse
+from fastapi.responses import FileResponse
import asyncio
import json
import os
# RELOAD DNS
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
- return JSONResponse(
- status_code=status.HTTP_200_OK,
- content={
+ return {
"code": "DNS_RELOAD_OK",
"status": "success",
"message": "DNS configuration reload successfully",
"took_ms": took_ms,
- },
- )
+ }
except HTTPException:
raise
# import standard modules
from fastapi import APIRouter, Request, Response, HTTPException, status
-from fastapi.responses import FileResponse, JSONResponse, RedirectResponse
+from fastapi.responses import FileResponse
import ipaddress
import time
import os
host_id = add_host(data)
if(host_id > 0):
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
- return JSONResponse(
- status_code=status.HTTP_200_OK,
- content={
+ return {
"code": "HOST_ADDED",
"status": "success",
"message": "Host added successfully",
"host_id": host_id,
"took_ms": took_ms,
- },
- )
+ }
# Already present
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
updated = update_host(host_id, data)
if updated:
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
- return JSONResponse(
- status_code=status.HTTP_200_OK,
- content={
+ return {
"code": "HOST_UPDATED",
"status": "success",
"message": "Host updated successfully",
"host_id": host_id,
"took_ms": took_ms,
- },
- )
+ }
# Not Found
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
deleted = delete_host(host_id)
if deleted:
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
- return JSONResponse(
- status_code=status.HTTP_200_OK,
- content={
+ return {
"code": "HOST_DELETED",
"status": "success",
"message": "Host deleted successfully",
"details": {"took_ms": took_ms, "host_id": host_id,},
- },
- )
+ }
# Not Found
took_ms = (time.monotonic_ns() - start_ns) / 1_000_000
# import standard modules
from fastapi import APIRouter, Request, Response, HTTPException, status
-from fastapi.responses import FileResponse, RedirectResponse
+from fastapi.responses import FileResponse
import os
import time