Skip to main content

rocie_client/models/
user.rs

1// rocie - An enterprise grocery management system
2//
3// Copyright (C) 2026 Benedikt Peetz <benedikt.peetz@b-peetz.de>
4// SPDX-License-Identifier: GPL-3.0-or-later
5//
6// This file is part of Rocie.
7//
8// You should have received a copy of the License along with this program.
9// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
10
11/*
12 * rocie-server
13 *
14 * An enterprise grocery management system - server
15 *
16 * The version of the OpenAPI document: 0.1.0
17 * Contact: benedikt.peetz@b-peetz.de
18 * Generated by: https://openapi-generator.tech
19 */
20
21use crate::models;
22use serde::{Deserialize, Serialize};
23
24/// User : The definition of an rocie user.
25#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
26pub struct User {
27    /// An description of this user.
28    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
29    pub description: Option<String>,
30    /// The unique ID for this user.
31    #[serde(rename = "id")]
32    pub id: models::UserId,
33    /// The user-displayed name of this user.
34    #[serde(rename = "name")]
35    pub name: String,
36    /// The hash of the user's password.
37    #[serde(rename = "password_hash")]
38    pub password_hash: models::PasswordHash,
39}
40
41impl User {
42    /// The definition of an rocie user.
43    pub fn new(id: models::UserId, name: String, password_hash: models::PasswordHash) -> User {
44        User {
45            description: None,
46            id,
47            name,
48            password_hash,
49        }
50    }
51}