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, Name, Url};
use uuid::Uuid;

use crate::{AgendaItem, MeetingState};

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

    pub body: Uuid,
    pub organization: Uuid,
    pub start: Option<DateTime>,
    pub end: Option<DateTime>,

    pub name: Option<String>,
    pub meeting_state: MeetingState,

    pub agenda_item: Vec<AgendaItem>,

    pub keyword: Vec<String>,
    pub license: Option<Url>,
    pub web: Option<Url>,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct NewMeeting {
    pub body_id: Uuid,
    pub organization_id: Uuid,

    pub start: Option<DateTime>,
    pub end: Option<DateTime>,

    pub name: Option<Name>,
    pub state: MeetingState,

    pub keyword: Option<Vec<String>>,
    pub license: Option<Url>,
    pub web: Option<Url>,
}