datasets api crud

This commit is contained in:
Xi Yan 2024-10-14 13:54:16 -07:00
parent f046899a1c
commit a9210cd416
4 changed files with 151 additions and 24 deletions

View file

@ -115,6 +115,27 @@ DatasetDef = Annotated[
]
class DatasetsResponseStatus(Enum):
success = "success"
fail = "fail"
@json_schema_type
class CreateDatasetResponse(BaseModel):
status: DatasetsResponseStatus = Field(
description="Return status of the dataset creation",
)
msg: Optional[str] = None
@json_schema_type
class DeleteDatasetResponse(BaseModel):
status: DatasetsResponseStatus = Field(
description="Return status of the dataset creation",
)
msg: Optional[str] = None
class BaseDataset(ABC, Generic[TDatasetSample]):
def __init__(self) -> None:
self.type: str = self.__class__.__name__
@ -146,16 +167,19 @@ class Datasets(Protocol):
async def create_dataset(
self,
dataset_def: DatasetDef,
) -> None: ...
) -> CreateDatasetResponse: ...
@webmethod(route="/datasets/get")
@webmethod(route="/datasets/get", method="GET")
async def get_dataset(
self,
dataset_identifier: str,
) -> DatasetDef: ...
) -> Optional[DatasetDef]: ...
@webmethod(route="/datasets/delete")
async def delete_dataset(
self,
dataset_identifier: str,
) -> None: ...
) -> DeleteDatasetResponse: ...
@webmethod(route="/datasets/list", method="GET")
async def list_datasets(self) -> List[DatasetDef]: ...