* [Backend] Canvas support (#1705) * feat(http): added new parameters to start response and new endpoint for canvas screenshorts * fix(http): added new topic to dockerfile * feat(http): try different multipart parser * feat(image-storage): reused the same workflow for canvas topic handler * feat(video-storage): new canvas parser and ffmpeg script * feat(video-storage): use correct replay name for canvas * feat(backend): added new message (CanvasNode) * feat(backend): add canvas record events to db * Async chalice.core.tenants:tenants_exists, and propagate * rework after review * chore(api): asyncify `/projects` and propagate. Impact on the following routes: /projects /v1/projects /passowrd/reset /metadata/session_search * fix(api): there is no cnx.mogrify method. In psycopg v3, the mogrify method is only available on cursor objects. In other words, just use cnx.execute(query, kwargs), except when opening an "explicit cursor session". ref: https://www.psycopg.org/psycopg3/docs/api/cursors.html#psycopg.ClientCursor.mogrify --------- Co-authored-by: Alexander <zavorotynskiy@pm.me>
22 lines
728 B
Python
22 lines
728 B
Python
from decouple import config
|
|
from fastapi import HTTPException, status
|
|
|
|
from chalicelib.core import health, tenants
|
|
from routers.base import get_routers
|
|
|
|
public_app, app, app_apikey = get_routers()
|
|
|
|
|
|
@app.get('/healthz', tags=["health-check"])
|
|
def get_global_health_status():
|
|
if config("LOCAL_DEV", cast=bool, default=False):
|
|
return {"data": ""}
|
|
return {"data": health.get_health()}
|
|
|
|
|
|
if not tenants.tenants_exists_sync(use_pool=False):
|
|
@public_app.get('/health', tags=["health-check"])
|
|
async def get_public_health_status():
|
|
if await tenants.tenants_exists():
|
|
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=f"Not Found")
|
|
return {"data": health.get_health()}
|