Add rest API for user activity timeline
This commit is contained in:
parent
1d10e45282
commit
14d7375149
1 changed files with 16 additions and 0 deletions
|
@ -39,6 +39,10 @@ pub fn routes(rpc_server: &Arc<rpc::Server>, state: Arc<AppState>) -> Router<Bod
|
||||||
"/user_activity/summary",
|
"/user_activity/summary",
|
||||||
get(get_top_users_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))
|
.route("/project_metadata", get(get_project_metadata))
|
||||||
.layer(
|
.layer(
|
||||||
ServiceBuilder::new()
|
ServiceBuilder::new()
|
||||||
|
@ -282,6 +286,18 @@ async fn get_top_users_activity_summary(
|
||||||
Ok(ErasedJson::pretty(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)]
|
#[derive(Deserialize)]
|
||||||
struct GetProjectMetadataParams {
|
struct GetProjectMetadataParams {
|
||||||
project_id: u64,
|
project_id: u64,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue