Clearly specify missing basic database enteries

This commit is contained in:
Evie Viau-Chow-Stuart 2023-02-07 01:50:42 -08:00
parent 211306aae5
commit 90f0217df4
Signed by: evie
GPG key ID: 928652CDFCEC8099
4 changed files with 40 additions and 28 deletions

View file

@ -108,24 +108,27 @@ pub(crate) async fn root(
}
).collect();
let menu: Vec<menu_entry::Model> = Menu::find()
let menu: Vec<menu_entry::Model> = match Menu::find()
.filter(menu::Column::Name.eq("primary"))
.one(&state.db_conn)
.await
.expect("Failed to get primary menu! HALTING")
.unwrap()
.find_related(MenuEntry)
.expect("Failed to get primary menu! HALTING") {
Some(menu) => menu,
None => panic!("Missing \"primary\" menu in database!"),
}.find_related(MenuEntry)
.order_by_asc(menu_entry::Column::Order)
.all(&state.db_conn)
.await
.expect("Failed to get primary menu items!");
let settings: settings::Model = Settings::find()
let settings: settings::Model = match Settings::find()
.filter(settings::Column::Id.eq("current"))
.one(&state.db_conn)
.await
.expect("Failed to get site settings!")
.unwrap();
.expect("Failed to get site settings!") {
Some (settings) => settings,
None => panic!("Missing \"current\" settings in database!")
};
HomeSpecialTemplate {
title: page_meta.clone().title,

View file

@ -17,24 +17,27 @@ pub(crate) async fn resolver(
state: State<AppState>
) -> impl IntoResponse {
let menu: Vec<menu_entry::Model> = Menu::find()
let menu: Vec<menu_entry::Model> = match Menu::find()
.filter(menu::Column::Name.eq("primary"))
.one(&state.db_conn)
.await
.expect("Failed to get primary menu! HALTING")
.unwrap()
.find_related(MenuEntry)
.expect("Failed to get primary menu! HALTING") {
Some(menu) => menu,
None => panic!("Missing \"primary\" menu in database!"),
}.find_related(MenuEntry)
.order_by_asc(menu_entry::Column::Order)
.all(&state.db_conn)
.await
.expect("Failed to get primary menu items!");
let settings: settings::Model = Settings::find()
let settings: settings::Model = match Settings::find()
.filter(settings::Column::Id.eq("current"))
.one(&state.db_conn)
.await
.expect("Failed to get site settings!")
.unwrap();
.expect("Failed to get site settings!") {
Some (settings) => settings,
None => panic!("Missing \"current\" settings in database!")
};
let page_search: Result<Option<page::Model>, DbErr> = Page::find()
.filter(page::Column::Slug.eq(&slug))

View file

@ -17,24 +17,27 @@ pub(crate) async fn resolver(
state: State<AppState>
) -> impl IntoResponse {
let menu: Vec<menu_entry::Model> = Menu::find()
let menu: Vec<menu_entry::Model> = match Menu::find()
.filter(menu::Column::Name.eq("primary"))
.one(&state.db_conn)
.await
.expect("Failed to get primary menu! HALTING")
.unwrap()
.find_related(MenuEntry)
.expect("Failed to get primary menu! HALTING") {
Some(menu) => menu,
None => panic!("Missing \"primary\" menu in database!"),
}.find_related(MenuEntry)
.order_by_asc(menu_entry::Column::Order)
.all(&state.db_conn)
.await
.expect("Failed to get primary menu items!");
let settings: settings::Model = Settings::find()
let settings: settings::Model = match Settings::find()
.filter(settings::Column::Id.eq("current"))
.one(&state.db_conn)
.await
.expect("Failed to get site settings!")
.unwrap();
.expect("Failed to get site settings!") {
Some (settings) => settings,
None => panic!("Missing \"current\" settings in database!")
};
let post_search: Result<Option<post::Model>, DbErr> = Post::find()
.filter(post::Column::Slug.eq(&slug))

View file

@ -17,24 +17,27 @@ pub(crate) struct PageTemplate {
}
pub(crate) async fn posts(state: State<AppState>) -> impl IntoResponse {
let menu: Vec<menu_entry::Model> = Menu::find()
let menu: Vec<menu_entry::Model> = match Menu::find()
.filter(menu::Column::Name.eq("primary"))
.one(&state.db_conn)
.await
.expect("Failed to get primary menu! HALTING")
.unwrap()
.find_related(MenuEntry)
.expect("Failed to get primary menu! HALTING") {
Some(menu) => menu,
None => panic!("Missing \"primary\" menu in database!"),
}.find_related(MenuEntry)
.order_by_asc(menu_entry::Column::Order)
.all(&state.db_conn)
.await
.expect("Failed to get primary menu items!");
let settings: settings::Model = Settings::find()
let settings: settings::Model = match Settings::find()
.filter(settings::Column::Id.eq("current"))
.one(&state.db_conn)
.await
.expect("Failed to get site settings!")
.unwrap();
.expect("Failed to get site settings!") {
Some (settings) => settings,
None => panic!("Missing \"current\" settings in database!")
};
let posts: Vec<post::Model> = Post::find()
.filter(post::Column::Draft.eq(false))