diff --git a/src/graphql/queries/member_queries.rs b/src/graphql/queries/member_queries.rs index efa2ecf..049c45c 100644 --- a/src/graphql/queries/member_queries.rs +++ b/src/graphql/queries/member_queries.rs @@ -1,6 +1,8 @@ use async_graphql::{ComplexObject, Context, Object, Result}; use sqlx::PgPool; use std::sync::Arc; +use chrono::NaiveDate; + use crate::models::{ attendance::{AttendanceInfo, AttendanceSummaryInfo}, @@ -107,4 +109,22 @@ impl Member { .await .unwrap_or_default() } + + async fn status_update_count_by_date(&self, + ctx: &Context<'_>, + start_date:NaiveDate, + end_date:NaiveDate) + -> Result { + + let pool = ctx.data::>().expect("Pool must be in context."); + + let result : i64 = sqlx::query_scalar("SELECT count(*) as updatecount from statusupdatehistory where is_updated='t' and member_id=$1 and date between $2 and $3;") + .bind(self.member_id) + .bind(start_date) + .bind(end_date) + .fetch_one(pool.as_ref()) + .await?; + + Ok(result) + } }