From 934180ef261cbd2c6575baa1623881d7eeb09260 Mon Sep 17 00:00:00 2001
From: teplyakov <teolyakov@perx.ru>
Date: Wed, 19 Feb 2025 16:27:04 +0300
Subject: [PATCH] feat: AUTO-3805 CollectionProps type

---
 perxis/collections/helpers.py | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/perxis/collections/helpers.py b/perxis/collections/helpers.py
index 44c99f8..28a74e4 100644
--- a/perxis/collections/helpers.py
+++ b/perxis/collections/helpers.py
@@ -1,5 +1,5 @@
 from perxis.collections import collections_pb2
-from typing import TypedDict
+from dataclasses import dataclass, asdict
 from typing_extensions import deprecated
 
 
@@ -22,11 +22,18 @@ def make_collection_instances(
     return collections
 
 
-class CollectionProps(TypedDict):
-   single: bool
-   system: bool
-   no_data: bool
-   hidden: bool
+@dataclass
+class CollectionProps:
+   single: bool = False
+   system: bool = False
+   no_data: bool = False
+   hidden: bool = False
+   no_revisions: bool = False
+   no_archive: bool = False
+   no_publish: bool = False
+
+   def to_dict(self) -> dict:
+       return asdict(self)  # noqa
 
 
 def init_collections(
@@ -41,7 +48,7 @@ def init_collections(
             collection_schema = file.read()
 
         kwargs = {
-            **(collections_settings_mapping.get(collection_id) or {}),
+            **(collections_settings_mapping.get(collection_id).to_dict()),
             "id": collection_id,
             "name": collection_name,
             "schema": collection_schema,
-- 
GitLab