Skip to main content

opentalk_nextcloud_client/
share_type.rs

1// SPDX-FileCopyrightText: OpenTalk GmbH <mail@opentalk.eu>
2//
3// SPDX-License-Identifier: EUPL-1.2
4
5use serde::Serialize;
6
7#[derive(Default, Debug, Copy, Clone, PartialEq, Eq, Serialize)]
8pub enum ShareType {
9    User,
10    Group,
11    #[default]
12    PublicLink,
13    Email,
14    FederatedCloudShare,
15    Circle,
16    TalkConversation,
17}
18
19impl From<ShareType> for u8 {
20    fn from(value: ShareType) -> Self {
21        match value {
22            ShareType::User => 0,
23            ShareType::Group => 1,
24            ShareType::PublicLink => 3,
25            ShareType::Email => 4,
26            ShareType::FederatedCloudShare => 6,
27            ShareType::Circle => 7,
28            ShareType::TalkConversation => 10,
29        }
30    }
31}