1use actrix_proto::{RealmInfo, admin::v1::SecretRotationState};
2use platform::realm::Realm;
3
4pub fn realm_to_proto(realm: &Realm) -> RealmInfo {
6 let secret_rotation_state = if !realm.secret_current.is_empty() {
7 let (previous_hash, previous_valid_until) = match &realm.secret_previous {
8 Some((hash, valid_until)) => (Some(hash.clone()), Some(*valid_until as i64)),
9 None => (None, None),
10 };
11 Some(SecretRotationState {
12 current_hash_preview: realm.secret_current.clone(),
13 previous_hash_preview: previous_hash,
14 previous_valid_until,
15 })
16 } else {
17 None
18 };
19
20 RealmInfo {
21 realm_id: realm.id,
22 name: realm.name.clone(),
23 enabled: realm.enabled,
24 created_at: realm.created_at as i64,
25 updated_at: realm.updated_at.map(|v| v as i64),
26 expires_at: realm.expires_at.unwrap_or(0),
27 status: realm.status.to_string(),
28 secret_rotation_state,
29 }
30}