use crate::Result;
use async_trait::async_trait;
use unitycatalog_common::models::registered_models::v1::*;
#[async_trait]
pub trait RegisteredModelHandler<Cx = crate::api::RequestContext>: Send + Sync + 'static {
async fn list_registered_models(
&self,
request: ListRegisteredModelsRequest,
context: Cx,
) -> Result<ListRegisteredModelsResponse>;
async fn create_registered_model(
&self,
request: CreateRegisteredModelRequest,
context: Cx,
) -> Result<RegisteredModel>;
async fn get_registered_model(
&self,
request: GetRegisteredModelRequest,
context: Cx,
) -> Result<RegisteredModel>;
async fn update_registered_model(
&self,
request: UpdateRegisteredModelRequest,
context: Cx,
) -> Result<RegisteredModel>;
async fn delete_registered_model(
&self,
request: DeleteRegisteredModelRequest,
context: Cx,
) -> Result<()>;
}