paperless_api/metadata/
document_type.rs1use serde::{Deserialize, Serialize};
4
5use paperless_api_macros::{CreateDto, Item, UpdateDto};
6
7use super::MatchAlgorithm;
8use super::permission::ItemPermissions;
9
10#[derive(Debug, Clone, Deserialize, Serialize, CreateDto, UpdateDto, Item)]
12#[api_info(endpoint = "document_types")]
13pub struct DocumentType {
14 #[dto(skip)]
16 pub id: crate::id::DocumentTypeId,
17
18 #[dto(skip)]
20 pub slug: String,
21
22 pub name: String,
24
25 #[serde(rename = "match")]
27 pub match_pattern: String,
28
29 pub matching_algorithm: MatchAlgorithm,
31
32 pub is_insensitive: Option<bool>,
34
35 #[dto(skip)]
37 #[serde(default)]
38 pub document_count: u32,
39
40 pub owner: Option<crate::id::UserId>,
42
43 #[dto(skip)]
45 #[serde(flatten)]
46 pub permissions: ItemPermissions,
47}