Merge branch 'main' into feature/scholarship-edit-form

# Conflicts:
#	src/app.rs
#	src/common/mod.rs
#	src/pages/api/scholarships.rs
#	src/pages/comparison_test.rs
#	src/pages/home_page.rs
#	src/pages/mod.rs
#	src/pages/scholarship_info.rs
This commit is contained in:
alphafetus committed 2025-12-22 07:50:04 -05:00
commit 1d41d1cbf5
15 files changed
+289 -214

No files matched your search

+70 -69
View File
@@ -2,189 +2,190 @@
use crate::pages::utils::server_utils::create_dynamo_client;
#[cfg(feature = "ssr")]
use aws_sdk_dynamodb::{
error::ProvideErrorMetadata,
};
use aws_sdk_dynamodb::error::ProvideErrorMetadata;
use crate::common::{
ComparisonData, ComparisonType, MapListComparison, NumberComparison, NumberListComparison,
TextComparison, TextListComparison, ValueType,
};
use leptos::leptos_dom::log;
use leptos::prelude::ServerFnError;
use leptos::server;
use crate::common::{ComparisonData, ComparisonType, MapListComparison, NumberComparison, NumberListComparison, TextComparison, TextListComparison, ValueType};
/// Helper function to create all sports comparisons. Only used to create initial
/// comparison data, and should be removed upon completion of a comparison editor page.
fn create_sports_comparisons() -> Vec<ComparisonData> {
vec! [
vec![
ComparisonData::new(
"sports_football",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Football".to_string())),
"Sports Participation",
"Football"
"Football",
),
ComparisonData::new(
"sports_soccer",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Soccer".to_string())),
"Sports Participation",
"Soccer"
"Soccer",
),
ComparisonData::new(
"sports_cheerleading",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Cheerleading".to_string())),
"Sports Participation",
"Cheerleading"
"Cheerleading",
),
ComparisonData::new(
"sports_field_hockey",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Field Hockey".to_string())),
"Sports Participation",
"Field Hockey"
"Field Hockey",
),
ComparisonData::new(
"sports_swimming",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Swimming".to_string())),
"Sports Participation",
"Swimming"
"Swimming",
),
ComparisonData::new(
"sports_golf",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Golf".to_string())),
"Sports Participation",
"Golf"
"Golf",
),
ComparisonData::new(
"sports_basketball",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Basketball".to_string())),
"Sports Participation",
"Basketball"
"Basketball",
),
ComparisonData::new(
"sports_track",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Track".to_string())),
"Sports Participation",
"Track"
"Track",
),
ComparisonData::new(
"sports_gymnastics",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Gymnastics".to_string())),
"Sports Participation",
"Gymnastics"
"Gymnastics",
),
ComparisonData::new(
"sports_ice_hockey",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Ice Hockey".to_string())),
"Sports Participation",
"Ice Hockey"
"Ice Hockey",
),
ComparisonData::new(
"sports_ski",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Ski".to_string())),
"Sports Participation",
"Ski"
"Ski",
),
ComparisonData::new(
"sports_wrestling",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Wrestling".to_string())),
"Sports Participation",
"Wrestling"
"Wrestling",
),
ComparisonData::new(
"sports_lacrosse",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Lacrosse".to_string())),
"Sports Participation",
"Lacrosse"
"Lacrosse",
),
ComparisonData::new(
"sports_softball",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Softball".to_string())),
"Sports Participation",
"Softball"
"Softball",
),
ComparisonData::new(
"sports_tennis",
"sports_participation",
ComparisonType::MapList(MapListComparison::FlattenToTextList(
"sport_name".to_string(),
Box::new(TextListComparison::Contains)
Box::new(TextListComparison::Contains),
)),
ValueType::String(Some("Tennis".to_string())),
"Sports Participation",
"Tennis"
)
"Tennis",
),
]
}
#[server(CreateTestComparisons, endpoint = "/comparisons/create-test")]
pub async fn create_test_comparisons() -> Result<(), ServerFnError> {
pub async fn create_test_comparisons() -> Result<(), ServerFnError> {
let client = create_dynamo_client().await;
log!("Creating test comparisons");
@@ -195,96 +196,96 @@ pub async fn create_test_comparisons() -> Result<(), ServerFnError> {
ComparisonType::Number(NumberComparison::GreaterThanOrEqual),
ValueType::Number(Some(650.to_string())),
"Academic Information",
"Math SAT Score > 650"
"Math SAT Score > 650",
);
let service_hours_25 = ComparisonData::new(
"map_sum_comp",
"community_involvement",
ComparisonType::MapList(MapListComparison::FlattenToNumberList(
"service_hours".to_string(),
Box::new(NumberListComparison::Sum(
Box::new(NumberComparison::GreaterThanOrEqual)
))
Box::new(NumberListComparison::Sum(Box::new(
NumberComparison::GreaterThanOrEqual,
))),
)),
ValueType::Number(Some(25.to_string())),
"Community Involvement",
"25 service hours"
"25 service hours",
);
let service_hours_20 = ComparisonData::new(
"service_hours_20",
"community_involvement",
ComparisonType::MapList(MapListComparison::FlattenToNumberList(
"service_hours".to_string(),
Box::new(NumberListComparison::Sum(
Box::new(NumberComparison::GreaterThanOrEqual)
))
Box::new(NumberListComparison::Sum(Box::new(
NumberComparison::GreaterThanOrEqual,
))),
)),
ValueType::Number(Some(20.to_string())),
"Community Involvement",
"20 service hours"
"20 service hours",
);
let service_hours_30 = ComparisonData::new(
"service_hours_30",
"community_involvement",
ComparisonType::MapList(MapListComparison::FlattenToNumberList(
"service_hours".to_string(),
Box::new(NumberListComparison::Sum(
Box::new(NumberComparison::GreaterThanOrEqual)
))
Box::new(NumberListComparison::Sum(Box::new(
NumberComparison::GreaterThanOrEqual,
))),
)),
ValueType::Number(Some(30.to_string())),
"Community Involvement",
"30 service hours"
"30 service hours",
);
let residency_southbury = ComparisonData::new(
"residency_southbury",
"town",
ComparisonType::Text(TextComparison::Matches),
ValueType::String(Some("Southbury".to_string())),
"Residency",
"Southbury"
"Southbury",
);
let residency_middlebury = ComparisonData::new(
"residency_middlebury",
"town",
ComparisonType::Text(TextComparison::Matches),
ValueType::String(Some("Middlebury".to_string())),
"Residency",
"Middlebury"
"Middlebury",
);
let attended_bas = ComparisonData::new(
"attended_bas",
"attended_bas",
ComparisonType::Text(TextComparison::Matches),
ValueType::String(Some("Yes".to_string())),
"Miscellaneous",
"Attended BAS"
"Attended BAS",
);
let midd_south = ComparisonData::new(
"midd_south",
"middsouth_church",
ComparisonType::Text(TextComparison::Matches),
ValueType::String(Some("Yes".to_string())),
"Miscellaneous",
"Member of Midd-South Church"
"Member of Midd-South Church",
);
let family_military = ComparisonData::new(
"family_military",
"family_military_service",
ComparisonType::Text(TextComparison::Matches),
ValueType::String(Some("Yes".to_string())),
"Miscellaneous",
"Family with Military Service"
"Family with Military Service",
);
let mut sports_comps = create_sports_comparisons();
let mut major_comps = Vec::<ComparisonData>::new();
@@ -299,7 +300,7 @@ pub async fn create_test_comparisons() -> Result<(), ServerFnError> {
midd_south,
family_military,
];
comp_list.append(&mut sports_comps);
comp_list.append(&mut major_comps);
@@ -309,13 +310,13 @@ pub async fn create_test_comparisons() -> Result<(), ServerFnError> {
.table_name("leptos-comparison-test")
.set_item(Some(serde_dynamo::to_item(&comparison)?))
.send()
.await
.await
{
let msg = err.message().unwrap_or("An unknown error occurred");
return Err(ServerFnError::new(msg))
return Err(ServerFnError::new(msg));
}
}
Ok(())
}
@@ -340,7 +341,7 @@ pub async fn get_comparison_info() -> Result<Vec<ComparisonData>, ServerFnError>
} else {
Ok(vec![])
}
},
}
Err(err) => {
let msg = err.message().unwrap_or("An unknown error occurred");
Err(ServerFnError::new(msg))
+1 -1
View File
@@ -1,4 +1,4 @@
mod comparisons;
mod scholarships;
pub use self::{comparisons::*, scholarships::*};
pub use self::{comparisons::*, scholarships::*};