Skip to content

Commit 9120fc5

Browse files
404 rather than 500 on missisng pool, add comment (#1525)
1 parent d1c7351 commit 9120fc5

File tree

6 files changed

+22
-9
lines changed

6 files changed

+22
-9
lines changed

pgml-dashboard/src/api/deployment/deployment_models.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use std::collections::HashMap;
1818

1919
// Returns models page
2020
#[get("/models")]
21-
pub async fn deployment_models(cluster: &Cluster) -> Result<ResponseOk, Error> {
21+
pub async fn deployment_models(cluster: &Cluster, _connected: ConnectedCluster<'_>) -> Result<ResponseOk, Error> {
2222
let mut layout = crate::templates::WebAppBase::new("Dashboard", &cluster);
2323
layout.breadcrumbs(vec![NavLink::new("Models", &urls::deployment_models()).active()]);
2424

@@ -34,7 +34,7 @@ pub async fn deployment_models(cluster: &Cluster) -> Result<ResponseOk, Error> {
3434

3535
// Returns models page
3636
#[get("/models/<model_id>")]
37-
pub async fn model(cluster: &Cluster, model_id: i64) -> Result<ResponseOk, Error> {
37+
pub async fn model(cluster: &Cluster, model_id: i64, _connected: ConnectedCluster<'_>) -> Result<ResponseOk, Error> {
3838
let model = models::Model::get_by_id(cluster.pool(), model_id).await?;
3939
let project = models::Project::get_by_id(cluster.pool(), model.project_id).await?;
4040

pgml-dashboard/src/api/deployment/notebooks.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use crate::utils::urls;
2020

2121
// Returns notebook page
2222
#[get("/notebooks")]
23-
pub async fn notebooks(cluster: &Cluster) -> Result<ResponseOk, Error> {
23+
pub async fn notebooks(cluster: &Cluster, _connected: ConnectedCluster<'_>) -> Result<ResponseOk, Error> {
2424
let mut layout = crate::templates::WebAppBase::new("Dashboard", &cluster);
2525
layout.breadcrumbs(vec![NavLink::new("Notebooks", &urls::deployment_notebooks()).active()]);
2626

@@ -36,7 +36,11 @@ pub async fn notebooks(cluster: &Cluster) -> Result<ResponseOk, Error> {
3636

3737
// Returns the specified notebook page.
3838
#[get("/notebooks/<notebook_id>")]
39-
pub async fn notebook(cluster: &Cluster, notebook_id: i64) -> Result<ResponseOk, Error> {
39+
pub async fn notebook(
40+
cluster: &Cluster,
41+
notebook_id: i64,
42+
_connected: ConnectedCluster<'_>,
43+
) -> Result<ResponseOk, Error> {
4044
let notebook = models::Notebook::get_by_id(cluster.pool(), notebook_id).await?;
4145

4246
let mut layout = crate::templates::WebAppBase::new("Dashboard", &cluster);

pgml-dashboard/src/api/deployment/projects.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use crate::utils::urls;
1616

1717
// Returns the deployments projects page.
1818
#[get("/projects")]
19-
pub async fn projects(cluster: &Cluster) -> Result<ResponseOk, Error> {
19+
pub async fn projects(cluster: &Cluster, _connected: ConnectedCluster<'_>) -> Result<ResponseOk, Error> {
2020
let mut layout = crate::templates::WebAppBase::new("Dashboard", &cluster);
2121
layout.breadcrumbs(vec![NavLink::new("Projects", &urls::deployment_projects()).active()]);
2222

@@ -32,7 +32,11 @@ pub async fn projects(cluster: &Cluster) -> Result<ResponseOk, Error> {
3232

3333
// Return the specified project page.
3434
#[get("/projects/<project_id>")]
35-
pub async fn project(cluster: &Cluster, project_id: i64) -> Result<ResponseOk, Error> {
35+
pub async fn project(
36+
cluster: &Cluster,
37+
project_id: i64,
38+
_connected: ConnectedCluster<'_>,
39+
) -> Result<ResponseOk, Error> {
3640
let project = models::Project::get_by_id(cluster.pool(), project_id).await?;
3741

3842
let mut layout = crate::templates::WebAppBase::new("Dashboard", &cluster);

pgml-dashboard/src/api/deployment/snapshots.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use std::collections::HashMap;
1717

1818
// Returns snapshots page
1919
#[get("/snapshots")]
20-
pub async fn snapshots(cluster: &Cluster) -> Result<ResponseOk, Error> {
20+
pub async fn snapshots(cluster: &Cluster, _connected: ConnectedCluster<'_>) -> Result<ResponseOk, Error> {
2121
let mut layout = crate::templates::WebAppBase::new("Dashboard", &cluster);
2222
layout.breadcrumbs(vec![NavLink::new("Snapshots", &urls::deployment_snapshots()).active()]);
2323

@@ -33,7 +33,11 @@ pub async fn snapshots(cluster: &Cluster) -> Result<ResponseOk, Error> {
3333

3434
// Returns the specific snapshot page
3535
#[get("/snapshots/<snapshot_id>")]
36-
pub async fn snapshot(cluster: &Cluster, snapshot_id: i64) -> Result<ResponseOk, Error> {
36+
pub async fn snapshot(
37+
cluster: &Cluster,
38+
snapshot_id: i64,
39+
_connected: ConnectedCluster<'_>,
40+
) -> Result<ResponseOk, Error> {
3741
let snapshot = models::Snapshot::get_by_id(cluster.pool(), snapshot_id).await?;
3842

3943
let mut layout = crate::templates::WebAppBase::new("Dashboard", &cluster);

pgml-dashboard/src/api/deployment/uploader.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use crate::utils::urls;
1919

2020
// Returns the uploader page.
2121
#[get("/uploader")]
22-
pub async fn uploader(cluster: &Cluster) -> Result<ResponseOk, Error> {
22+
pub async fn uploader(cluster: &Cluster, _connected: ConnectedCluster<'_>) -> Result<ResponseOk, Error> {
2323
let mut layout = crate::templates::WebAppBase::new("Dashboard", &cluster);
2424
layout.breadcrumbs(vec![NavLink::new("Upload Data", &urls::deployment_uploader()).active()]);
2525

pgml-dashboard/src/guards.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ pub struct ConnectedCluster<'a> {
8282
pub inner: &'a Cluster,
8383
}
8484

85+
// 404 rather than 500 if the cluster is not connected.
8586
#[rocket::async_trait]
8687
impl<'r> FromRequest<'r> for ConnectedCluster<'r> {
8788
type Error = ();

0 commit comments

Comments
 (0)