Change summary
crates/collab/src/api.rs | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
Detailed changes
@@ -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,