Spaces:
Running
Running
File size: 2,014 Bytes
4ef118d 592cb1d 4ef118d 592cb1d 4ef118d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | """
Database proxy request/response models.
"""
from __future__ import annotations
from typing import Any, Literal
from pydantic import BaseModel, Field
class DbOrder(BaseModel):
column: str
ascending: bool = True
class DbRange(BaseModel):
from_: int = Field(alias="from")
to: int
class DbFilter(BaseModel):
op: Literal[
"eq",
"gt",
"lt",
"ilike",
"in",
"not_in",
"is_null",
"or",
]
column: str | None = None
value: Any | None = None
values: list[Any] | None = None
filters: list[DbFilter] | None = None
class DbRpc(BaseModel):
name: str
params: dict[str, Any] | None = None
class DbQueryRequest(BaseModel):
provider_id: str = Field(default="default", alias="providerId")
action: Literal[
"select",
"insert",
"update",
"delete",
"upsert",
"rpc",
"test",
]
table: str | None = None
columns: str | list[str] | None = None
filters: list[DbFilter] | None = None
order: list[DbOrder] | None = None
limit: int | None = None
range: DbRange | None = None
count: Literal["exact"] | None = None
single: bool | None = None
maybe_single: bool | None = Field(default=None, alias="maybeSingle")
values: list[dict[str, Any]] | dict[str, Any] | None = None
payload: dict[str, Any] | None = None
on_conflict: list[str] | str | None = Field(default=None, alias="onConflict")
rpc: DbRpc | None = None
class DbQueryResponse(BaseModel):
data: Any | None = None
error: str | None = None
count: int | None = None
class DbProviderUpsertRequest(BaseModel):
id: str = "default"
type: Literal["supabase", "sqlite", "postgres", "pgsql", "mysql", "mariadb"]
label: str | None = None
access_key: str | None = Field(default=None, alias="accessKey")
url: str | None = None
anon_key: str | None = Field(default=None, alias="anonKey")
path: str | None = None
|