paperless_api/
custom_field.rs1use serde::{Deserialize, Serialize};
2
3use crate::id::{CustomFieldId, SelectableOptionId};
4
5#[derive(Debug, Clone, Deserialize)]
7pub struct CustomField {
8 pub id: CustomFieldId,
10
11 pub name: String,
13
14 pub data_type: String,
16
17 pub extra_data: Option<CustomFieldExtraData>,
18}
19
20#[derive(Debug, Clone, Deserialize, Serialize)]
22pub struct DocumentCustomField {
23 pub field: CustomFieldId,
25
26 pub value: String,
28}
29
30#[derive(Debug, Clone, Deserialize, Serialize)]
31pub struct CustomFieldExtraData {
32 pub default_currency: Option<String>,
33 pub select_options: Option<Vec<SelectableOption>>,
34}
35
36#[derive(Debug, Clone, Deserialize, Serialize)]
37pub struct SelectableOption {
38 pub id: SelectableOptionId,
39 pub label: String,
40}