documente_shared 0.1.164b2__tar.gz → 0.1.165__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/PKG-INFO +1 -1
  2. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/query_params.py +0 -0
  3. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/workspace_document.py +11 -14
  4. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/workspace_document_page.py +12 -0
  5. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/enums/processing_case.py +3 -3
  6. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/filters/workspace_document.py +0 -2
  7. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/pagination/entities.py +3 -0
  8. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/pyproject.toml +1 -1
  9. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/uv.lock +1 -1
  10. documente_shared-0.1.164b2/documente_shared/domain/entities/workspace_filters.py +0 -36
  11. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/.github/workflows/publish.yml +0 -0
  12. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/.gitignore +0 -0
  13. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/.vscode/settings.json +0 -0
  14. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/Dockerfile +0 -0
  15. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/Makefile +0 -0
  16. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/README.md +0 -0
  17. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/__init__.py +0 -0
  18. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/cases.py +0 -0
  19. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/docker-compose.yml +0 -0
  20. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/__init__.py +0 -0
  21. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/__init__.py +0 -0
  22. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/dates.py +0 -0
  23. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/digest.py +0 -0
  24. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/exceptions.py +0 -0
  25. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/files.py +0 -0
  26. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/json.py +0 -0
  27. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/logging.py +0 -0
  28. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/numbers.py +0 -0
  29. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/payloads.py +0 -0
  30. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/retry_utils.py +0 -0
  31. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/time_utils.py +0 -0
  32. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/application/timezone.py +0 -0
  33. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/__init__.py +0 -0
  34. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/base_enum.py +0 -0
  35. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/constants.py +0 -0
  36. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/__init__.py +0 -0
  37. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/document.py +0 -0
  38. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/document_metadata.py +0 -0
  39. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/document_type.py +0 -0
  40. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/in_memory_document.py +0 -0
  41. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/processing_case.py +0 -0
  42. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/processing_case_filters.py +0 -0
  43. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/processing_case_item.py +0 -0
  44. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/processing_case_item_filters.py +0 -0
  45. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/processing_documents.py +0 -0
  46. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/processing_event.py +0 -0
  47. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/processing_record.py +0 -0
  48. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/scaling.py +0 -0
  49. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/entities/workspace.py +0 -0
  50. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/enums/__init__.py +0 -0
  51. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/enums/circular_oficio.py +0 -0
  52. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/enums/common.py +0 -0
  53. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/enums/document.py +0 -0
  54. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/enums/document_type_record.py +0 -0
  55. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/enums/processing_case_validator.py +0 -0
  56. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/enums/workspace.py +0 -0
  57. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/exceptions.py +0 -0
  58. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/filters/__init__.py +0 -0
  59. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/filters/document_type.py +0 -0
  60. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/filters/workspace.py +0 -0
  61. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/filters/workspace_document_page.py +0 -0
  62. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/helpers/__init__.py +0 -0
  63. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/helpers/dicts.py +0 -0
  64. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/helpers/encoding.py +0 -0
  65. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/helpers/lists.py +0 -0
  66. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/helpers/values.py +0 -0
  67. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/interfaces/__init__.py +0 -0
  68. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/interfaces/queue.py +0 -0
  69. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/interfaces/scaling.py +0 -0
  70. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/pagination/__init__.py +0 -0
  71. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/pagination/response.py +0 -0
  72. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/repositories/__init__.py +0 -0
  73. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/repositories/document.py +0 -0
  74. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/repositories/document_type.py +0 -0
  75. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/repositories/processing_case.py +0 -0
  76. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/repositories/processing_case_item.py +0 -0
  77. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/repositories/processing_record.py +0 -0
  78. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/repositories/workspace.py +0 -0
  79. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/repositories/workspace_document.py +0 -0
  80. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/domain/repositories/workspace_document_page.py +0 -0
  81. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/__init__.py +0 -0
  82. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/batch_queue.py +0 -0
  83. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/documente_client.py +0 -0
  84. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/dynamo_table.py +0 -0
  85. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/lambdas.py +0 -0
  86. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/__init__.py +0 -0
  87. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/dynamo_document.py +0 -0
  88. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/dynamo_processing_case.py +0 -0
  89. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/dynamo_processing_case_item.py +0 -0
  90. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/http_document.py +0 -0
  91. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/http_processing_case.py +0 -0
  92. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/http_processing_case_item.py +0 -0
  93. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/http_processing_record.py +0 -0
  94. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/http_workspace.py +0 -0
  95. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/http_workspace_document.py +0 -0
  96. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/http_workspace_document_page.py +0 -0
  97. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/mem_document.py +0 -0
  98. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/mem_processing_case.py +0 -0
  99. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/mem_processing_case_item.py +0 -0
  100. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/repositories/mem_processing_record.py +0 -0
  101. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/s3_bucket.py +0 -0
  102. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/services/__init__.py +0 -0
  103. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/services/http_scaling.py +0 -0
  104. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/infrastructure/sqs_queue.py +0 -0
  105. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/presentation/__init__.py +0 -0
  106. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/documente_shared/presentation/presenters.py +0 -0
  107. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/publish.sh +0 -0
  108. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/__init__.py +0 -0
  109. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/__init__.py +0 -0
  110. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/application/__init__.py +0 -0
  111. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/application/test_files.py +0 -0
  112. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/application/test_payloads.py +0 -0
  113. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/conftest.py +0 -0
  114. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/domain/__init__.py +0 -0
  115. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/domain/entities/__init__.py +0 -0
  116. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/domain/entities/test_in_memory_document.py +0 -0
  117. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/domain/entities/test_processing_case.py +0 -0
  118. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/domain/entities/test_processing_case_item.py +0 -0
  119. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/domain/entities/test_processing_record.py +0 -0
  120. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/domain/enums/test_processing_case_validator.py +0 -0
  121. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/infrastructure/__init__.py +0 -0
  122. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/infrastructure/repositories/__init__.py +0 -0
  123. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documente_shared/infrastructure/repositories/test_http_processing_record.py +0 -0
  124. {documente_shared-0.1.164b2 → documente_shared-0.1.165}/tests/documents.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: documente_shared
3
- Version: 0.1.164b2
3
+ Version: 0.1.165
4
4
  Summary: Shared utilities for LlamitAI projects
5
5
  Author-email: Tech <tech@llamitai.com>
6
6
  License: MIT
@@ -9,7 +9,7 @@ from documente_shared.application.time_utils import get_datetime_from_data
9
9
  from documente_shared.domain.entities.in_memory_document import InMemoryDocument
10
10
  from documente_shared.domain.enums.common import ProcessingStatus
11
11
  from documente_shared.domain.enums.workspace import WorkspaceSource
12
- from documente_shared.domain.helpers.values import optional_str
12
+ from documente_shared.domain.helpers.values import optional_str, optional_datetime_str
13
13
 
14
14
 
15
15
  class WorkspaceDocument(BaseModel):
@@ -34,7 +34,6 @@ class WorkspaceDocument(BaseModel):
34
34
  completed_at: datetime | None = Field(default=None)
35
35
  failed_at: datetime | None = Field(default=None)
36
36
 
37
-
38
37
  @property
39
38
  def to_persist_dict(self) -> dict:
40
39
  return {
@@ -45,10 +44,12 @@ class WorkspaceDocument(BaseModel):
45
44
  "digest": self.digest,
46
45
  "status": str(self.status),
47
46
  "source": optional_str(self.source),
48
- "uploaded_at": (self.uploaded_at.isoformat() if self.uploaded_at else None),
49
- "started_at": (self.started_at.isoformat() if self.started_at else None),
50
- "completed_at": (self.completed_at.isoformat() if self.completed_at else None),
51
- "failed_at": (self.failed_at.isoformat() if self.failed_at else None),
47
+ "uploaded_at": optional_datetime_str(self.uploaded_at),
48
+ "created_at": optional_datetime_str(self.created_at),
49
+ "updated_at": optional_datetime_str(self.updated_at),
50
+ "started_at": optional_datetime_str(self.started_at),
51
+ "completed_at": optional_datetime_str(self.completed_at),
52
+ "failed_at": optional_datetime_str(self.failed_at),
52
53
  "processing_time": self.processing_time,
53
54
  "metadata": self.metadata or {},
54
55
  "extraction": self.extraction or {},
@@ -71,14 +72,10 @@ class WorkspaceDocument(BaseModel):
71
72
  "processing_time": optional_str(self.processing_time),
72
73
  "metadata": self.metadata,
73
74
  "extraction": self.extraction,
74
- "uploaded_at": (self.uploaded_at.isoformat() if self.uploaded_at else None),
75
- "created_at": (self.created_at.isoformat() if self.created_at else None),
76
- "updated_at": (self.updated_at.isoformat() if self.updated_at else None),
77
- "started_at": (self.started_at.isoformat() if self.started_at else None),
78
- "completed_at": (
79
- self.completed_at.isoformat() if self.completed_at else None
80
- ),
81
- "failed_at": (self.failed_at.isoformat() if self.failed_at else None),
75
+ "uploaded_at": optional_datetime_str(self.uploaded_at),
76
+ "started_at": optional_datetime_str(self.started_at),
77
+ "completed_at": optional_datetime_str(self.completed_at),
78
+ "failed_at": optional_datetime_str(self.failed_at),
82
79
  }
83
80
 
84
81
  @classmethod
@@ -17,6 +17,8 @@ class WorkspaceDocumentPage(BaseModel):
17
17
  tenant_slug: str | None = Field(default=None)
18
18
  page_file: InMemoryDocument | None = Field(default=None)
19
19
  page_file_url: str | None = Field(default=None)
20
+ cleaned_page_file: InMemoryDocument | None = Field(default=None)
21
+ cleaned_page_file_url: str | None = Field(default=None)
20
22
  created_at: datetime | None = Field(default=None)
21
23
  synced_at: datetime | None = Field(default=None)
22
24
 
@@ -44,6 +46,11 @@ class WorkspaceDocumentPage(BaseModel):
44
46
  if self.page_file else None
45
47
  ),
46
48
  "page_file_url": self.page_file_url,
49
+ "cleaned_page_file": (
50
+ self.cleaned_page_file.to_dict
51
+ if self.cleaned_page_file else None
52
+ ),
53
+ "cleaned_page_file_url": self.cleaned_page_file_url,
47
54
  "created_at": (
48
55
  self.created_at.isoformat()
49
56
  if self.created_at else None
@@ -68,6 +75,11 @@ class WorkspaceDocumentPage(BaseModel):
68
75
  if data.get('page_file') else None
69
76
  ),
70
77
  page_file_url=data.get('page_file_url'),
78
+ cleaned_page_file=(
79
+ InMemoryDocument.from_dict(data.get('cleaned_page_file'))
80
+ if data.get('cleaned_page_file') else None
81
+ ),
82
+ cleaned_page_file_url=data.get('cleaned_page_file_url'),
71
83
  created_at=get_datetime_from_data(input_datetime=data.get('created_at')),
72
84
  synced_at=get_datetime_from_data(input_datetime=data.get('synced_at')),
73
85
  )
@@ -6,7 +6,7 @@ class ProcessingCaseType(BaseEnum):
6
6
  UNIVIDA_SOAT = 'UNIVIDA_SOAT'
7
7
  AGNOSTIC = 'AGNOSTIC'
8
8
  CREDISEGURO_PARSE_CI = 'CREDISEGURO_PARSE_CI'
9
- WORKSPACE = 'WORKSPACE'
9
+ WORKSPACE_DOCUMENT = 'WORKSPACE_DOCUMENT'
10
10
 
11
11
  @property
12
12
  def is_bcp_microcredito(self):
@@ -25,8 +25,8 @@ class ProcessingCaseType(BaseEnum):
25
25
  return self == ProcessingCaseType.CREDISEGURO_PARSE_CI
26
26
 
27
27
  @property
28
- def is_workspace(self):
29
- return self == ProcessingCaseType.WORKSPACE
28
+ def is_workspace_document(self):
29
+ return self == ProcessingCaseType.WORKSPACE_DOCUMENT
30
30
 
31
31
 
32
32
  class ProcessingDocumentType(BaseEnum):
@@ -9,7 +9,6 @@ from documente_shared.domain.pagination.entities import ListFilters
9
9
 
10
10
 
11
11
  class WorkspaceDocumentFilters(ListFilters):
12
- workspace_id: UUID | None = Field(default=None)
13
12
  tenant_ids: list[UUID] | None = Field(default_factory=list)
14
13
  workspace_ids: list[UUID] | None = Field(default_factory=list)
15
14
  statuses: list[ProcessingStatus] | None = Field(default_factory=list)
@@ -33,7 +32,6 @@ class WorkspaceDocumentFilters(ListFilters):
33
32
  return cls(
34
33
  cursor=params.get("cursor", None),
35
34
  limit=params.get_int(key="limit", default=None),
36
- workspace_id=params.get_uuid(key="workspace_id", default=None),
37
35
  tenant_ids=params.get_uuid_list(key="tenant_ids", default=None),
38
36
  workspace_ids=params.get_uuid_list(key="workspace_ids", default=None),
39
37
  search=search_term.strip() if search_term else None,
@@ -9,6 +9,7 @@ from documente_shared.domain.helpers.encoding import decode_base64, encode_base6
9
9
 
10
10
 
11
11
  class ListFilters(BaseModel):
12
+ search: str | None = Field(default=None)
12
13
  cursor: str | None = Field(default=None)
13
14
  limit: int = Field(default=DEFAULT_PAGINATION_PAGE_SIZE)
14
15
 
@@ -24,6 +25,7 @@ class ListFilters(BaseModel):
24
25
  @classmethod
25
26
  def from_query_params(cls, params: dict) -> "ListFilters":
26
27
  return cls(
28
+ search=params.get("search"),
27
29
  cursor=params.get("cursor"),
28
30
  limit=params.get("limit"),
29
31
  )
@@ -31,6 +33,7 @@ class ListFilters(BaseModel):
31
33
  @property
32
34
  def to_dict(self) -> dict:
33
35
  return {
36
+ "search": self.search,
34
37
  "cursor": self.cursor,
35
38
  "limit": self.limit,
36
39
  }
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "documente_shared"
3
- version = "0.1.164b2"
3
+ version = "0.1.165"
4
4
  description = "Shared utilities for LlamitAI projects"
5
5
  authors = [{ name = "Tech", email = "tech@llamitai.com" }]
6
6
  license = { text = "MIT" }
@@ -138,7 +138,7 @@ wheels = [
138
138
 
139
139
  [[package]]
140
140
  name = "documente-shared"
141
- version = "0.1.164b2"
141
+ version = "0.1.165"
142
142
  source = { editable = "." }
143
143
  dependencies = [
144
144
  { name = "boto3" },
@@ -1,36 +0,0 @@
1
- from dataclasses import dataclass
2
- from typing import Optional
3
-
4
- from documente_shared.application.query_params import QueryParams
5
- from documente_shared.domain.helpers.dicts import filter_none_values
6
-
7
-
8
- @dataclass
9
- class WorkspaceFilters(object):
10
- sort_order: Optional[str] = None
11
- search: Optional[str] = None
12
- include_archived: bool = False
13
-
14
- def __post_init__(self):
15
- self.sort_order = self.sort_order or "desc"
16
-
17
- @property
18
- def to_params(self) -> dict:
19
- params = {
20
- "sort": self.sort_order,
21
- "search": self.search,
22
- "include_archived": str(self.include_archived).lower(),
23
- }
24
- return filter_none_values(params)
25
-
26
- @classmethod
27
- def from_params(cls, params: QueryParams) -> "WorkspaceFilters":
28
- search_term = params.get_str(key="search", default=None)
29
- return cls(
30
- sort_order=params.get(key="sort", default="desc"),
31
- search=search_term.strip() if search_term else None,
32
- include_archived=params.get_bool(
33
- key="include_archived",
34
- default=False,
35
- ),
36
- )