// 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 pib_service_core_types::{BodyId, MeetingId, OrganizationId};
use serde::{Deserialize, Serialize};

pub mod by_id;
pub mod get;
pub mod post;

mod meeting_state;

pub use meeting_state::MeetingState;

#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
pub struct Meeting {
    pub id: MeetingId,
    pub body_id: BodyId,
    pub organization_id: OrganizationId,
    pub created: DateTime,
    pub modified: DateTime,
    pub name: Option<Name>,
    pub meeting_state: MeetingState,
    pub start: Option<DateTime>,
    pub end: Option<DateTime>,
    pub license: Option<Url>,
    pub web: Option<Url>,
}
