burn_central_client/model/
mod.rs1pub mod response;
2
3use crate::{
4 Client, ClientError,
5 model::response::{ModelDownloadResponse, ModelResponse, ModelVersionResponse},
6};
7
8impl Client {
9 pub fn get_model(
13 &self,
14 namespace: &str,
15 project_name: &str,
16 model_name: &str,
17 ) -> Result<ModelResponse, ClientError> {
18 let url = self.join(&format!(
19 "projects/{namespace}/{project_name}/models/{model_name}"
20 ));
21
22 self.get_json::<ModelResponse>(url)
23 }
24
25 pub fn get_model_version(
29 &self,
30 namespace: &str,
31 project_name: &str,
32 model_name: &str,
33 version: u32,
34 ) -> Result<ModelVersionResponse, ClientError> {
35 let url = self.join(&format!(
36 "projects/{namespace}/{project_name}/models/{model_name}/versions/{version}"
37 ));
38
39 self.get_json::<ModelVersionResponse>(url)
40 }
41
42 pub fn presign_model_download(
46 &self,
47 namespace: &str,
48 project_name: &str,
49 model_name: &str,
50 version: u32,
51 ) -> Result<ModelDownloadResponse, ClientError> {
52 let url = self.join(&format!(
53 "projects/{namespace}/{project_name}/models/{model_name}/versions/{version}/download"
54 ));
55
56 self.get_json::<ModelDownloadResponse>(url)
57 }
58}