Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit028e7c9

Browse files
Revert "Revert "Dan product left nav update"" (#1466)
1 parentd31b6f4 commit028e7c9

File tree

63 files changed

+1309
-806
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+1309
-806
lines changed

‎pgml-dashboard/src/api/cms.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1123,7 +1123,7 @@ This is the end of the markdown
11231123
}
11241124
}
11251125

1126-
// Ensure Docs render andther are no unparsed gitbook compnents.
1126+
// Ensure Docs render andthere are no unparsed gitbook compnents.
11271127
#[sqlx::test]
11281128
asyncfnrender_guides_test(){
11291129
let client =Client::tracked(rocket().await).await.unwrap();
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
use rocket::route::Route;
2+
use sailfish::TemplateOnce;
3+
4+
usecrate::{
5+
guards::ConnectedCluster,
6+
responses::{Error,ResponseOk},
7+
};
8+
9+
usecrate::templates::{components::NavLink,*};
10+
11+
usecrate::models;
12+
usecrate::templates;
13+
usecrate::utils::tabs;
14+
usecrate::utils::urls;
15+
16+
use std::collections::HashMap;
17+
18+
// Returns models page
19+
#[get("/models")]
20+
pubasyncfndeployment_models(cluster:ConnectedCluster<'_>) ->Result<ResponseOk,Error>{
21+
letmut layout =crate::templates::WebAppBase::new("Dashboard",&cluster.inner.context);
22+
layout.breadcrumbs(vec![NavLink::new("Models",&urls::deployment_models()).active()]);
23+
24+
let tabs =vec![tabs::Tab{
25+
name:"Models",
26+
content:ModelsTab{}.render_once().unwrap(),
27+
}];
28+
29+
let nav_tabs = tabs::Tabs::new(tabs,Some("Models"),Some("Models"))?;
30+
31+
Ok(ResponseOk(layout.render(templates::Dashboard{tabs: nav_tabs})))
32+
}
33+
34+
// Returns models page
35+
#[get("/models/<model_id>")]
36+
pubasyncfnmodel(cluster:ConnectedCluster<'_>,model_id:i64) ->Result<ResponseOk,Error>{
37+
let model = models::Model::get_by_id(cluster.pool(), model_id).await?;
38+
let project = models::Project::get_by_id(cluster.pool(), model.project_id).await?;
39+
40+
letmut layout =crate::templates::WebAppBase::new("Dashboard",&cluster.inner.context);
41+
layout.breadcrumbs(vec![
42+
NavLink::new("Models",&urls::deployment_models()),
43+
NavLink::new(&project.name,&urls::deployment_project_by_id(project.id)),
44+
NavLink::new(&model.algorithm,&urls::deployment_model_by_id(model.id)).active(),
45+
]);
46+
47+
let tabs =vec![tabs::Tab{
48+
name:"Model",
49+
content:ModelTab{ model_id}.render_once().unwrap(),
50+
}];
51+
52+
let nav_tabs = tabs::Tabs::new(tabs,Some("Models"),Some("Models"))?;
53+
54+
Ok(ResponseOk(layout.render(templates::Dashboard{tabs: nav_tabs})))
55+
}
56+
57+
#[get("/models_turboframe")]
58+
pubasyncfnmodels_index(cluster:ConnectedCluster<'_>) ->Result<ResponseOk,Error>{
59+
let projects = models::Project::all(cluster.pool()).await?;
60+
letmut models =HashMap::new();
61+
// let mut max_scores = HashMap::new();
62+
// let mut min_scores = HashMap::new();
63+
64+
for projectin&projects{
65+
let project_models = models::Model::get_by_project_id(cluster.pool(), project.id).await?;
66+
// let mut key_metrics = project_models
67+
// .iter()
68+
// .map(|m| m.key_metric(project).unwrap_or(0.))
69+
// .collect::<Vec<f64>>();
70+
// key_metrics.sort_by(|a, b| a.partial_cmp(b).unwrap());
71+
72+
// max_scores.insert(project.id, key_metrics.iter().last().unwrap_or(&0.).clone());
73+
// min_scores.insert(project.id, key_metrics.iter().next().unwrap_or(&0.).clone());
74+
75+
models.insert(project.id, project_models);
76+
}
77+
78+
Ok(ResponseOk(
79+
templates::Models{
80+
projects,
81+
models,
82+
// min_scores,
83+
// max_scores,
84+
}
85+
.render_once()
86+
.unwrap(),
87+
))
88+
}
89+
90+
#[get("/models_turboframe/<id>")]
91+
pubasyncfnmodels_get(cluster:ConnectedCluster<'_>,id:i64) ->Result<ResponseOk,Error>{
92+
let model = models::Model::get_by_id(cluster.pool(), id).await?;
93+
let snapshot =ifletSome(snapshot_id) = model.snapshot_id{
94+
Some(models::Snapshot::get_by_id(cluster.pool(), snapshot_id).await?)
95+
}else{
96+
None
97+
};
98+
99+
let project = models::Project::get_by_id(cluster.pool(), model.project_id).await?;
100+
101+
Ok(ResponseOk(
102+
templates::Model{
103+
deployed: model.deployed(cluster.pool()).await?,
104+
model,
105+
snapshot,
106+
project,
107+
}
108+
.render_once()
109+
.unwrap(),
110+
))
111+
}
112+
113+
pubfnroutes() ->Vec<Route>{
114+
routes![deployment_models, model, models_index, models_get,]
115+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
use rocket::route::Route;
2+
use sailfish::TemplateOnce;
3+
4+
usecrate::{
5+
guards::ConnectedCluster,
6+
responses::{Error,ResponseOk},
7+
};
8+
9+
usecrate::models;
10+
usecrate::templates;
11+
12+
use std::collections::HashMap;
13+
14+
pubmod deployment_models;
15+
pubmod notebooks;
16+
pubmod projects;
17+
pubmod snapshots;
18+
pubmod uploader;
19+
20+
#[get("/deployments")]
21+
pubasyncfndeployments_index(cluster:ConnectedCluster<'_>) ->Result<ResponseOk,Error>{
22+
let projects = models::Project::all(cluster.pool()).await?;
23+
letmut deployments =HashMap::new();
24+
25+
for projectin projects.iter(){
26+
deployments.insert(
27+
project.id,
28+
models::Deployment::get_by_project_id(cluster.pool(), project.id).await?,
29+
);
30+
}
31+
32+
Ok(ResponseOk(
33+
templates::Deployments{ projects, deployments}.render_once().unwrap(),
34+
))
35+
}
36+
37+
#[get("/deployments/<id>")]
38+
pubasyncfndeployments_get(cluster:ConnectedCluster<'_>,id:i64) ->Result<ResponseOk,Error>{
39+
let deployment = models::Deployment::get_by_id(cluster.pool(), id).await?;
40+
let project = models::Project::get_by_id(cluster.pool(), deployment.project_id).await?;
41+
let model = models::Model::get_by_id(cluster.pool(), deployment.model_id).await?;
42+
43+
Ok(ResponseOk(
44+
templates::Deployment{
45+
project,
46+
deployment,
47+
model,
48+
}
49+
.render_once()
50+
.unwrap(),
51+
))
52+
}
53+
54+
pubfnroutes() ->Vec<Route>{
55+
letmut routes =routes![deployments_index, deployments_get,];
56+
57+
routes.extend(deployment_models::routes());
58+
routes.extend(notebooks::routes());
59+
routes.extend(projects::routes());
60+
routes.extend(snapshots::routes());
61+
routes.extend(uploader::routes());
62+
routes
63+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp