pib-service-inventory 0.13.1

Inventory interface library to be used in pib-service
Documentation
// SPDX-FileCopyrightText: Politik im Blick developers
// SPDX-FileCopyrightText: Wolfgang Silbermayr <wolfgang@silbermayr.at>
//
// SPDX-License-Identifier: AGPL-3.0-or-later OR EUPL-1.2

use oparl_types::{DateTime, EmailAddress, Name};
use uuid::Uuid;

use crate::Membership;

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Person {
    pub id: Uuid,
    pub created: DateTime,
    pub modified: DateTime,

    pub body: Uuid,
    pub name: Name,
    pub family_name: Option<Name>,
    pub given_name: Option<Name>,
    pub form_of_address: Option<String>,
    pub affix: Option<String>,
    pub title: Vec<String>,
    pub gender: Option<String>,
    pub phone: Vec<String>,
    pub email: Vec<EmailAddress>,

    pub membership: Vec<Membership>,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct NewPerson {
    pub body: String,
    pub name: Name,
    pub family_name: Option<Name>,
    pub given_name: Option<Name>,
    pub form_of_address: Option<String>,
    pub affix: Option<String>,
    pub title: Vec<String>,
    pub gender: Option<String>,
    pub phone: Vec<String>,
    pub email: Vec<String>,
}