notion_api_client/models/
users.rs1use crate::ids::UserId;
2use serde::{Deserialize, Serialize};
3
4#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
5pub struct UserCommon {
6 pub id: UserId,
7 pub name: Option<String>,
8 pub avatar_url: Option<String>,
9}
10
11#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
12pub struct Person {
13 pub email: String,
14}
15
16#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
17pub struct Bot {
18 pub email: String,
19}
20
21#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
22#[serde(tag = "type", rename_all = "snake_case")]
23pub enum User {
24 Person {
25 #[serde(flatten)]
26 common: UserCommon,
27 person: Person,
28 },
29 Bot {
30 #[serde(flatten)]
31 common: UserCommon,
32 bot: Bot,
33 },
34}