cosmic-greeter/cosmic-greeter-config/src/user.rs
2024-08-28 22:55:08 -04:00

20 lines
554 B
Rust

// Copyright 2024 System76 <info@system76.com>
// SPDX-License-Identifier: GPL-3.0-only
use std::num::NonZeroU32;
use serde::{Deserialize, Serialize};
/// Per user state for Greeter.
#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
pub struct UserState {
#[serde(skip_serializing_if = "invalid_uid")]
pub uid: NonZeroU32,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_session: Option<String>,
}
// Only serialize users not system accounts
const fn invalid_uid(uid: &NonZeroU32) -> bool {
uid.get() < 1000
}