Coverage for src/paperap/models/saved_view/model.py: 100%
22 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-22 16:02 -0400
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-22 16:02 -0400
1"""
2----------------------------------------------------------------------------
4 METADATA:
6 File: saved_view.py
7 Project: paperap
8 Created: 2025-03-04
9 Version: 0.0.9
10 Author: Jess Mann
11 Email: jess@jmann.me
12 Copyright (c) 2025 Jess Mann
14----------------------------------------------------------------------------
16 LAST MODIFIED:
18 2025-03-04 By Jess Mann
20"""
22from __future__ import annotations
24from typing import Any
26from pydantic import Field
28from paperap.const import SavedViewDisplayFieldType, SavedViewDisplayModeType, SavedViewFilterRuleType
29from paperap.models.abstract.model import StandardModel
30from paperap.models.saved_view.queryset import SavedViewQuerySet
32DEFAULT_DISPLAY_FIELDS = [
33 SavedViewDisplayFieldType.TITLE,
34 SavedViewDisplayFieldType.CREATED,
35 SavedViewDisplayFieldType.TAGS,
36 SavedViewDisplayFieldType.CORRESPONDENT,
37 SavedViewDisplayFieldType.DOCUMENT_TYPE,
38 SavedViewDisplayFieldType.STORAGE_PATH,
39 SavedViewDisplayFieldType.NOTES,
40 SavedViewDisplayFieldType.OWNER,
41 SavedViewDisplayFieldType.SHARED,
42 SavedViewDisplayFieldType.PAGE_COUNT,
43]
46class SavedView(StandardModel):
47 """
48 Represents a saved view in Paperless-NgX.
49 """
51 name: str
52 show_on_dashboard: bool | None = None
53 show_in_sidebar: bool | None = None
54 sort_field: str | None = None
55 sort_reverse: bool | None = None
56 filter_rules: list[SavedViewFilterRuleType] = Field(default_factory=list)
57 page_size: int | None = None
58 display_mode: SavedViewDisplayModeType | None = None
59 display_fields: list[SavedViewDisplayFieldType] = Field(default_factory=list)
60 owner: int | None = None
61 user_can_change: bool | None = None
63 class Meta(StandardModel.Meta):
64 # Fields that should not be modified
65 read_only_fields = {"owner", "user_can_change"}
66 queryset = SavedViewQuerySet