notion_sdk/database/
select.rs

1use crate::database::Color;
2use serde::{Deserialize, Serialize};
3
4#[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone)]
5#[serde(transparent)]
6pub struct SelectOptionId(String);
7
8#[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)]
9pub struct SelectedValue {
10    #[serde(skip_serializing_if = "Option::is_none")]
11    pub id: Option<SelectOptionId>,
12    #[serde(skip_serializing_if = "Option::is_none")]
13    pub name: Option<String>,
14    pub color: Color,
15}
16#[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)]
17pub struct Select {
18    /// Sorted list of options available for this property.
19    pub options: Vec<SelectOption>,
20}
21
22#[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)]
23pub struct SelectOption {
24    pub name: String,
25    pub id: SelectOptionId,
26    pub color: Color,
27}