mirror of https://github.com/telemt/telemt.git
Compare commits
No commits in common. "fbee4631d6f26982869e9962efe0d32b221444e7" and "cb5753f77c9d7cb12fc68dc069ca70dad111e596" have entirely different histories.
fbee4631d6
...
cb5753f77c
|
|
@ -42,7 +42,6 @@ use events::ApiEventStore;
|
||||||
use http_utils::{error_response, read_json, read_optional_json, success_response};
|
use http_utils::{error_response, read_json, read_optional_json, success_response};
|
||||||
use model::{
|
use model::{
|
||||||
ApiFailure, CreateUserRequest, HealthData, PatchUserRequest, RotateSecretRequest, SummaryData,
|
ApiFailure, CreateUserRequest, HealthData, PatchUserRequest, RotateSecretRequest, SummaryData,
|
||||||
UserActiveIps,
|
|
||||||
};
|
};
|
||||||
use runtime_edge::{
|
use runtime_edge::{
|
||||||
EdgeConnectionsCacheEntry, build_runtime_connections_summary_data,
|
EdgeConnectionsCacheEntry, build_runtime_connections_summary_data,
|
||||||
|
|
@ -363,18 +362,6 @@ async fn handle(
|
||||||
);
|
);
|
||||||
Ok(success_response(StatusCode::OK, data, revision))
|
Ok(success_response(StatusCode::OK, data, revision))
|
||||||
}
|
}
|
||||||
("GET", "/v1/stats/users/active-ips") => {
|
|
||||||
let revision = current_revision(&shared.config_path).await?;
|
|
||||||
let usernames: Vec<_> = cfg.access.users.keys().cloned().collect();
|
|
||||||
let active_ips_map = shared.ip_tracker.get_active_ips_for_users(&usernames).await;
|
|
||||||
let mut data: Vec<UserActiveIps> = active_ips_map
|
|
||||||
.into_iter()
|
|
||||||
.filter(|(_, ips)| !ips.is_empty())
|
|
||||||
.map(|(username, active_ips)| UserActiveIps { username, active_ips })
|
|
||||||
.collect();
|
|
||||||
data.sort_by(|a, b| a.username.cmp(&b.username));
|
|
||||||
Ok(success_response(StatusCode::OK, data, revision))
|
|
||||||
}
|
|
||||||
("GET", "/v1/stats/users") | ("GET", "/v1/users") => {
|
("GET", "/v1/stats/users") | ("GET", "/v1/users") => {
|
||||||
let revision = current_revision(&shared.config_path).await?;
|
let revision = current_revision(&shared.config_path).await?;
|
||||||
let (detected_ip_v4, detected_ip_v6) = shared.detected_link_ips();
|
let (detected_ip_v4, detected_ip_v6) = shared.detected_link_ips();
|
||||||
|
|
|
||||||
|
|
@ -442,12 +442,6 @@ pub(super) struct UserInfo {
|
||||||
pub(super) links: UserLinks,
|
pub(super) links: UserLinks,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize)]
|
|
||||||
pub(super) struct UserActiveIps {
|
|
||||||
pub(super) username: String,
|
|
||||||
pub(super) active_ips: Vec<IpAddr>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Serialize)]
|
#[derive(Serialize)]
|
||||||
pub(super) struct CreateUserResponse {
|
pub(super) struct CreateUserResponse {
|
||||||
pub(super) user: UserInfo,
|
pub(super) user: UserInfo,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue