Skip to main content

opentalk_roomserver_common/settings/runtime_settings/
task.rs

1// SPDX-License-Identifier: EUPL-1.2
2// SPDX-FileCopyrightText: OpenTalk Team <mail@opentalk.eu>
3
4use crate::settings::{Conference, Defaults, Reports, settings_file};
5
6#[derive(Debug, Clone, Default, PartialEq, Eq)]
7pub struct Task {
8    pub conference: Conference,
9
10    pub defaults: Option<Defaults>,
11
12    pub reports: Reports,
13}
14
15impl From<settings_file::task::Task> for Task {
16    fn from(
17        settings_file::task::Task {
18            conference,
19            defaults,
20            reports,
21        }: settings_file::task::Task,
22    ) -> Self {
23        Self {
24            conference: conference.into(),
25            defaults: defaults.map(Into::into),
26            reports: reports.unwrap_or_default().into(),
27        }
28    }
29}