1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-07-29 22:01:14 +03:00

Make the last activity timestamp and IP available through the API

This commit is contained in:
Quentin Gliech
2023-09-19 19:25:58 +02:00
parent b85655b944
commit 50558a7319
17 changed files with 2562 additions and 2329 deletions

View File

@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
use std::net::IpAddr;
use chrono::{DateTime, Utc};
use serde::Serialize;
use ulid::Ulid;
@ -80,6 +82,8 @@ pub struct CompatSession {
pub device: Device,
pub created_at: DateTime<Utc>,
pub is_synapse_admin: bool,
pub last_active_at: Option<DateTime<Utc>>,
pub last_active_ip: Option<IpAddr>,
}
impl std::ops::Deref for CompatSession {

View File

@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
use std::net::IpAddr;
use chrono::{DateTime, Utc};
use oauth2_types::scope::Scope;
use serde::Serialize;
@ -73,6 +74,8 @@ pub struct Session {
pub user_session_id: Option<Ulid>,
pub client_id: Ulid,
pub scope: Scope,
pub last_active_at: Option<DateTime<Utc>>,
pub last_active_ip: Option<IpAddr>,
}
impl std::ops::Deref for Session {

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
use std::ops::Deref;
use std::{net::IpAddr, ops::Deref};
use chrono::{DateTime, Duration, Utc};
use rand::{Rng, SeedableRng};
@ -81,6 +81,8 @@ pub struct BrowserSession {
pub created_at: DateTime<Utc>,
pub finished_at: Option<DateTime<Utc>>,
pub user_agent: Option<String>,
pub last_active_at: Option<DateTime<Utc>>,
pub last_active_ip: Option<IpAddr>,
}
impl BrowserSession {
@ -101,6 +103,8 @@ impl BrowserSession {
created_at: now,
finished_at: None,
user_agent: Some("Mozilla/5.0".to_owned()),
last_active_at: Some(now),
last_active_ip: None,
})
.collect()
}