Skip to main content

paperless_api/metadata/
storage_path.rs

1//! Types related to storage paths.
2
3use serde::{Deserialize, Serialize};
4
5use paperless_api_macros::{CreateDto, Item, UpdateDto};
6
7use super::MatchAlgorithm;
8use super::permission::ItemPermissions;
9
10/// A storage path
11#[derive(Debug, Clone, Deserialize, Serialize, CreateDto, UpdateDto, Item)]
12#[api_info(endpoint = "storage_paths")]
13pub struct StoragePath {
14    #[dto(skip)]
15    pub id: crate::id::StoragePathId,
16
17    #[dto(skip)]
18    pub slug: String,
19
20    pub name: String,
21    pub path: String,
22
23    #[serde(rename = "match")]
24    pub match_pattern: Option<String>,
25    pub matching_algorithm: MatchAlgorithm,
26    pub is_insensitive: bool,
27
28    #[dto(skip)]
29    #[serde(default)]
30    pub document_count: u32,
31
32    pub owner: Option<crate::id::UserId>,
33
34    /// The permissions for this tag.
35    #[dto(skip)]
36    #[serde(flatten)]
37    pub permissions: ItemPermissions,
38}