linkding/
bookmark_assets.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize, PartialEq, Default)]
4#[serde(rename_all = "snake_case")]
5#[cfg_attr(feature = "ffi", derive(uniffi::Enum))]
6pub enum BookmarkAssetType {
7    Upload,
8    #[default]
9    Snapshot,
10}
11
12#[derive(Debug, Serialize, Deserialize, PartialEq, Default)]
13#[serde(rename_all = "snake_case")]
14#[cfg_attr(feature = "ffi", derive(uniffi::Enum))]
15pub enum BookmarkAssetStatus {
16    #[default]
17    Pending,
18    Complete,
19    Failure,
20}
21
22#[derive(Debug, Serialize, Deserialize)]
23#[cfg_attr(feature = "ffi", derive(uniffi::Record))]
24pub struct BookmarkAsset {
25    pub id: i32,
26    pub bookmark: i32,
27    pub asset_type: BookmarkAssetType,
28    pub date_created: String,
29    pub content_type: String,
30    pub display_name: String,
31    pub status: BookmarkAssetStatus,
32}
33
34#[derive(Debug, Serialize, Deserialize)]
35#[cfg_attr(feature = "ffi", derive(uniffi::Record))]
36pub struct ListBookmarkAssetsResponse {
37    pub count: i32,
38    pub next: Option<String>,
39    pub previous: Option<String>,
40    pub results: Vec<BookmarkAsset>,
41}