Add rest API for user activity timeline

This commit is contained in:
Max Brunsfeld 2022-06-28 15:40:48 -07:00
parent 1d10e45282
commit 14d7375149

View file

@ -39,6 +39,10 @@ pub fn routes(rpc_server: &Arc<rpc::Server>, state: Arc<AppState>) -> Router<Bod
"/user_activity/summary",
get(get_top_users_activity_summary),
)
.route(
"/user_activity/timeline/:user_id",
get(get_user_activity_timeline),
)
.route("/project_metadata", get(get_project_metadata))
.layer(
ServiceBuilder::new()
@ -282,6 +286,18 @@ async fn get_top_users_activity_summary(
Ok(ErasedJson::pretty(summary))
}
async fn get_user_activity_timeline(
Path(user_id): Path<i32>,
Query(params): Query<TimePeriodParams>,
Extension(app): Extension<Arc<AppState>>,
) -> Result<ErasedJson> {
let summary = app
.db
.get_user_activity_timeline(params.start..params.end, UserId(user_id))
.await?;
Ok(ErasedJson::pretty(summary))
}
#[derive(Deserialize)]
struct GetProjectMetadataParams {
project_id: u64,