Skip to content
Snippets Groups Projects
Commit bf97e881 authored by Eterevskiy Georgiy's avatar Eterevskiy Georgiy
Browse files

Merge branch 'feature/AUTO-2470' into 'master'

feat: AUTO-2470 Implement new provider methods

See merge request perxis/perxis-python!67
parents 55f6a5e9 3629499b
Branches
Tags v1.6.0
No related merge requests found
...@@ -64,7 +64,7 @@ class PerxisReferencesWrapper: ...@@ -64,7 +64,7 @@ class PerxisReferencesWrapper:
self, references: list[Reference], space_id: str, env_id: str self, references: list[Reference], space_id: str, env_id: str
) -> items_pb2.GetResponse: ) -> items_pb2.GetResponse:
"""Метод получения связей.""" """Метод получения связей."""
result = await self.__references.Get( message = await self.__references.Get(
references_pb2.GetRequest( references_pb2.GetRequest(
space_id=space_id, space_id=space_id,
env_id=env_id, env_id=env_id,
...@@ -74,7 +74,7 @@ class PerxisReferencesWrapper: ...@@ -74,7 +74,7 @@ class PerxisReferencesWrapper:
], ],
) )
) )
return result return message
class PerxisItemsWrapper: class PerxisItemsWrapper:
...@@ -83,11 +83,24 @@ class PerxisItemsWrapper: ...@@ -83,11 +83,24 @@ class PerxisItemsWrapper:
def __init__(self, items: items_pb2_grpc.ItemsStub): def __init__(self, items: items_pb2_grpc.ItemsStub):
self.__items = items self.__items = items
async def get(
self, item_id: str, collection_id: str, space_id: str, env_id: str
) -> items_pb2.GetResponse:
"""Получение записи по идентификатору."""
message = await self.__items.Get(
items_pb2.GetRequest(
item_id=item_id,
space_id=space_id,
env_id=env_id,
collection_id=collection_id,
)
)
return message
async def create( async def create(
self, data: Struct, collection_id: str, space_id: str, env_id: str self, data: Struct, collection_id: str, space_id: str, env_id: str
) -> items_pb2.CreateResponse: ) -> items_pb2.CreateResponse:
"""Сохранение данных формы в системе Perxis.""" message = await self.__items.Create(
result = await self.__items.Create(
items_pb2.CreateRequest( items_pb2.CreateRequest(
item=items_pb2.Item( item=items_pb2.Item(
space_id=space_id, space_id=space_id,
...@@ -97,13 +110,12 @@ class PerxisItemsWrapper: ...@@ -97,13 +110,12 @@ class PerxisItemsWrapper:
) )
) )
) )
return result return message
async def update( async def update(
self, item_id: str, data: Struct, collection_id: str, space_id: str, env_id: str self, item_id: str, data: Struct, collection_id: str, space_id: str, env_id: str
) -> Empty: ) -> Empty:
"""Метод обновления записи в коллекции.""" message = await self.__items.Update(
result = await self.__items.Update(
items_pb2.UpdateRequest( items_pb2.UpdateRequest(
item=items_pb2.Item( item=items_pb2.Item(
id=item_id, id=item_id,
...@@ -114,7 +126,7 @@ class PerxisItemsWrapper: ...@@ -114,7 +126,7 @@ class PerxisItemsWrapper:
) )
) )
) )
return result return message
async def find( async def find(
self, self,
...@@ -124,10 +136,15 @@ class PerxisItemsWrapper: ...@@ -124,10 +136,15 @@ class PerxisItemsWrapper:
filters: list[str] | None = None, filters: list[str] | None = None,
sort_by: list[str] | None = None, sort_by: list[str] | None = None,
fields: list[str] | None = None, fields: list[str] | None = None,
exclude_fields: bool = False,
limit: int | None = None, limit: int | None = None,
offset: int | None = None, offset: int | None = None,
page_num: int | None = None, page_num: int | None = None,
page_size: int | None = DEFAULT_PAGE_SIZE, page_size: int | None = DEFAULT_PAGE_SIZE,
deleted: bool = False,
regular: bool = False,
hidden: bool = False,
templates: bool = False,
) -> items_pb2.FindResponse: ) -> items_pb2.FindResponse:
"""Метод поиска записей в коллекции.""" """Метод поиска записей в коллекции."""
result = await self.__items.Find( result = await self.__items.Find(
...@@ -144,11 +161,16 @@ class PerxisItemsWrapper: ...@@ -144,11 +161,16 @@ class PerxisItemsWrapper:
fields=fields or [], fields=fields or [],
limit=limit, limit=limit,
offset=offset, offset=offset,
) exclude_fields=exclude_fields,
),
deleted=deleted,
regular=regular,
hidden=hidden,
templates=templates,
), ),
) )
) )
return result return message
async def find_published( async def find_published(
self, self,
...@@ -157,6 +179,7 @@ class PerxisItemsWrapper: ...@@ -157,6 +179,7 @@ class PerxisItemsWrapper:
env_id: str, env_id: str,
filters: list[str] | None = None, filters: list[str] | None = None,
fields: list[str] | None = None, fields: list[str] | None = None,
exclude_fields: bool = False,
sort_by: list[str] | None = None, sort_by: list[str] | None = None,
limit: int | None = None, limit: int | None = None,
offset: int | None = None, offset: int | None = None,
...@@ -164,7 +187,7 @@ class PerxisItemsWrapper: ...@@ -164,7 +187,7 @@ class PerxisItemsWrapper:
page_size: int | None = DEFAULT_PAGE_SIZE, page_size: int | None = DEFAULT_PAGE_SIZE,
) -> items_pb2.FindResponse: ) -> items_pb2.FindResponse:
"""Метод поиска опубликованных записей в коллекции.""" """Метод поиска опубликованных записей в коллекции."""
result = await self.__items.FindPublished( message = await self.__items.FindPublished(
items_pb2.FindPublishedRequest( items_pb2.FindPublishedRequest(
space_id=space_id, space_id=space_id,
env_id=env_id, env_id=env_id,
...@@ -178,11 +201,12 @@ class PerxisItemsWrapper: ...@@ -178,11 +201,12 @@ class PerxisItemsWrapper:
offset=offset, offset=offset,
page_num=page_num, page_num=page_num,
page_size=page_size, page_size=page_size,
exclude_fields=exclude_fields,
) )
), ),
) )
) )
return result return message
async def fetch_all_published( async def fetch_all_published(
self, self,
...@@ -191,6 +215,7 @@ class PerxisItemsWrapper: ...@@ -191,6 +215,7 @@ class PerxisItemsWrapper:
env_id: str, env_id: str,
filters: list[str] | None = None, filters: list[str] | None = None,
fields: list[str] | None = None, fields: list[str] | None = None,
exclude_fields: bool = False,
sort_by: list[str] | None = None, sort_by: list[str] | None = None,
page_size: int | None = DEFAULT_PAGE_SIZE, page_size: int | None = DEFAULT_PAGE_SIZE,
) -> items_pb2.FindResponse: ) -> items_pb2.FindResponse:
...@@ -200,6 +225,7 @@ class PerxisItemsWrapper: ...@@ -200,6 +225,7 @@ class PerxisItemsWrapper:
"filters": filters, "filters": filters,
"sort_by": sort_by, "sort_by": sort_by,
"fields": fields, "fields": fields,
"exclude_fields": exclude_fields,
"limit": page_size, "limit": page_size,
"offset": 0, "offset": 0,
"space_id": space_id, "space_id": space_id,
...@@ -223,7 +249,7 @@ class PerxisItemsWrapper: ...@@ -223,7 +249,7 @@ class PerxisItemsWrapper:
self, item_id: str, collection_id: str, space_id: str, env_id: str self, item_id: str, collection_id: str, space_id: str, env_id: str
) -> Empty: ) -> Empty:
"""Метод снятия с публикации записи в коллекции.""" """Метод снятия с публикации записи в коллекции."""
result = await self.__items.Unpublish( message = await self.__items.Unpublish(
items_pb2.UnpublishRequest( items_pb2.UnpublishRequest(
item=items_pb2.Item( item=items_pb2.Item(
id=item_id, id=item_id,
...@@ -233,13 +259,13 @@ class PerxisItemsWrapper: ...@@ -233,13 +259,13 @@ class PerxisItemsWrapper:
) )
) )
) )
return result return message
async def publish( async def publish(
self, item_id: str, collection_id: str, space_id: str, env_id: str self, item_id: str, collection_id: str, space_id: str, env_id: str
) -> Empty: ) -> Empty:
"""Метод публикации записи в коллекции.""" """Метод публикации записи в коллекции."""
result = await self.__items.Publish( message = await self.__items.Publish(
items_pb2.PublishRequest( items_pb2.PublishRequest(
item=items_pb2.Item( item=items_pb2.Item(
id=item_id, id=item_id,
...@@ -249,17 +275,22 @@ class PerxisItemsWrapper: ...@@ -249,17 +275,22 @@ class PerxisItemsWrapper:
) )
) )
) )
return result return message
async def fetch_all( async def fetch_all(
self, self,
collection_id: str, collection_id: str,
space_id: str, space_id: str,
env_id: str, env_id: str,
filters: list[str] | str = None, filters: list[str] | None = None,
fields: list[str] | None = None, fields: list[str] | None = None,
sort_by: list[str] | str = None, exclude_fields: bool = False,
sort_by: list[str] | None = None,
page_size: int | None = DEFAULT_PAGE_SIZE, page_size: int | None = DEFAULT_PAGE_SIZE,
deleted: bool = False,
regular: bool = False,
hidden: bool = False,
templates: bool = False,
) -> items_pb2.FindResponse: ) -> items_pb2.FindResponse:
"""Метод получения всех записей коллекции.""" """Метод получения всех записей коллекции."""
items = [] items = []
...@@ -271,6 +302,11 @@ class PerxisItemsWrapper: ...@@ -271,6 +302,11 @@ class PerxisItemsWrapper:
offset=0, offset=0,
filters=filters, filters=filters,
fields=fields, fields=fields,
exclude_fields=exclude_fields,
deleted=deleted,
regular=regular,
hidden=hidden,
templates=templates,
) )
items.extend(storage_data.items) items.extend(storage_data.items)
...@@ -292,10 +328,238 @@ class PerxisItemsWrapper: ...@@ -292,10 +328,238 @@ class PerxisItemsWrapper:
limit=page_size, limit=page_size,
offset=offset, offset=offset,
fields=fields, fields=fields,
exclude_fields=exclude_fields,
deleted=deleted,
regular=regular,
hidden=hidden,
templates=templates,
) )
items.extend(storage_data.items) items.extend(storage_data.items)
return items_pb2.FindResponse(items=items, total=len(items)) return items_pb2.FindResponse(items=items, total=len(items))
async def delete(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
update_attrs: bool = False,
erase: bool = True,
**kwargs,
) -> Empty:
message = await self.__items.Delete(
items_pb2.DeleteRequest(
item=items_pb2.Item(
id=item_id,
space_id=space_id,
env_id=env_id,
collection_id=collection_id,
**kwargs,
),
options=items_pb2.DeleteOptions(update_attrs=update_attrs, erase=erase),
)
)
return message
async def undelete(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
update_attrs: bool = False,
**kwargs,
) -> Empty:
message = await self.__items.Undelete(
items_pb2.UndeleteRequest(
item=items_pb2.Item(
id=item_id,
space_id=space_id,
env_id=env_id,
collection_id=collection_id,
**kwargs,
),
options=items_pb2.UndeleteOptions(update_attrs=update_attrs),
)
)
return message
async def get_published(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
locale_id: str | None = None,
) -> items_pb2.GetPublishedResponse:
message = await self.__items.GetPublished(
items_pb2.GetPublishedRequest(
item_id=item_id,
space_id=space_id,
env_id=env_id,
collection_id=collection_id,
options=items_pb2.GetPublishedOptions(locale_id=locale_id),
)
)
return message
async def aggregate(
self,
collection_id: str,
space_id: str,
env_id: str,
aggregate_options: dict[str, str] | None = None,
filters: list[str] | None = None,
) -> items_pb2.AggregateResponse:
message = await self.__items.Aggregate(
items_pb2.AggregateRequest(
space_id=space_id,
env_id=env_id,
collection_id=collection_id,
filter=items_pb2.Filter(q=filters or []),
options=items_pb2.AggregateOptions(fields=aggregate_options),
)
)
return message
async def aggregate_published(
self,
collection_id: str,
space_id: str,
env_id: str,
aggregate_options: dict[str, str] | None = None,
filters: list[str] | None = None,
) -> items_pb2.AggregatePublishedResponse:
message = await self.__items.AggregatePublished(
items_pb2.AggregatePublishedRequest(
space_id=space_id,
env_id=env_id,
collection_id=collection_id,
filter=items_pb2.Filter(q=filters or []),
options=items_pb2.AggregatePublishedOptions(fields=aggregate_options),
)
)
return message
async def get_revision(
self,
item_id: str,
revision_id: str,
collection_id: str,
space_id: str,
env_id: str,
) -> items_pb2.GetRevisionResponse:
message = await self.__items.GetRevision(
items_pb2.GetRevisionRequest(
item_id=item_id,
space_id=space_id,
env_id=env_id,
collection_id=collection_id,
revision_id=revision_id,
)
)
return message
async def list_revisions(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
sort_by: list[str] | None = None,
fields: list[str] | None = None,
exclude_fields: bool = False,
limit: int | None = None,
offset: int | None = None,
) -> items_pb2.ListRevisionsResponse:
message = await self.__items.ListRevisions(
items_pb2.ListRevisionsRequest(
item_id=item_id,
space_id=space_id,
env_id=env_id,
collection_id=collection_id,
options=items_pb2.ListRevisionsOptions(
options=common_pb2.FindOptions(
sort=sort_by or [],
fields=fields or [],
exclude_fields=exclude_fields,
offset=offset,
limit=limit,
)
),
)
)
return message
async def archive(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
) -> Empty:
message = await self.__items.Archive(
items_pb2.ArchiveRequest(
item=items_pb2.Item(
id=item_id,
space_id=space_id,
env_id=env_id,
collection_id=collection_id,
)
)
)
return message
async def unarchive(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
) -> Empty:
message = await self.__items.Unarchive(
items_pb2.UnarchiveRequest(
item=items_pb2.Item(
id=item_id,
space_id=space_id,
env_id=env_id,
collection_id=collection_id,
)
)
)
return message
async def find_archived(
self,
collection_id: str,
space_id: str,
env_id: str,
filters: list[str] | None = None,
sort_by: list[str] | None = None,
fields: list[str] | None = None,
exclude_fields: bool = False,
limit: int | None = None,
offset: int | None = None,
) -> items_pb2.FindArchivedResponse:
message = await self.__items.FindArchived(
items_pb2.FindArchivedRequest(
space_id=space_id,
env_id=env_id,
collection_id=collection_id,
filter=items_pb2.Filter(q=filters or []),
options=items_pb2.FindArchivedOptions(
options=common_pb2.FindOptions(
sort=sort_by or [],
fields=fields or [],
exclude_fields=exclude_fields,
offset=offset,
limit=limit,
)
),
)
)
return message
class PerxisDataProvider: class PerxisDataProvider:
def __init__( def __init__(
...@@ -314,74 +578,98 @@ class PerxisDataProvider: ...@@ -314,74 +578,98 @@ class PerxisDataProvider:
items=items_pb2_grpc.ItemsStub(self.channel.channel), items=items_pb2_grpc.ItemsStub(self.channel.channel),
) )
async def get(self, item_id: str, collection_id: str) -> items_pb2.GetResponse:
"""Получение записи по идентификатору."""
message = await self.items_wrapper.get(
item_id=item_id,
collection_id=collection_id,
space_id=self.space_id,
env_id=self.env_id,
)
return message
async def create( async def create(
self, data: Struct, collection_id: str self, data: Struct, collection_id: str
) -> items_pb2.CreateResponse: ) -> items_pb2.CreateResponse:
result = await self.items_wrapper.create( message = await self.items_wrapper.create(
data=data, data=data,
collection_id=collection_id, collection_id=collection_id,
space_id=self.space_id, space_id=self.space_id,
env_id=self.env_id, env_id=self.env_id,
) )
return result return message
async def update(self, item_id: str, data: Struct, collection_id: str) -> Empty: async def update(self, item_id: str, data: Struct, collection_id: str) -> Empty:
result = await self.items_wrapper.update( message = await self.items_wrapper.update(
item_id=item_id, item_id=item_id,
data=data, data=data,
collection_id=collection_id, collection_id=collection_id,
space_id=self.space_id, space_id=self.space_id,
env_id=self.env_id, env_id=self.env_id,
) )
return result return message
async def find( async def find(
self, self,
collection_id: str, collection_id: str,
filters: list[str] | None = None, filters: list[str] | None = None,
sort_by: list[str] | None = None, sort_by: list[str] | None = None,
fields: list[str] | None = None,
exclude_fields: bool = False,
limit: int | None = None, limit: int | None = None,
offset: int | None = None, offset: int | None = None,
page_num: int | None = None, page_num: int | None = None,
page_size: int | None = DEFAULT_PAGE_SIZE, page_size: int | None = DEFAULT_PAGE_SIZE,
deleted: bool = False,
regular: bool = False,
hidden: bool = False,
templates: bool = False,
) -> items_pb2.FindResponse: ) -> items_pb2.FindResponse:
result = await self.items_wrapper.find( message = await self.items_wrapper.find(
collection_id=collection_id, collection_id=collection_id,
space_id=self.space_id, space_id=self.space_id,
env_id=self.env_id, env_id=self.env_id,
filters=filters, filters=filters,
sort_by=sort_by, sort_by=sort_by,
fields=fields,
exclude_fields=exclude_fields,
limit=limit, limit=limit,
offset=offset, offset=offset,
page_num=page_num, page_num=page_num,
page_size=page_size, page_size=page_size,
deleted=deleted,
regular=regular,
hidden=hidden,
templates=templates,
) )
return result return message
async def find_published( async def find_published(
self, self,
collection_id: str, collection_id: str,
filters: list[str] | None = None, filters: list[str] | None = None,
fields: list[str] | None = None, fields: list[str] | None = None,
exclude_fields: bool = False,
sort_by: list[str] | None = None, sort_by: list[str] | None = None,
limit: int | None = None, limit: int | None = None,
offset: int | None = None, offset: int | None = None,
page_num: int | None = None, page_num: int | None = None,
page_size: int | None = DEFAULT_PAGE_SIZE, page_size: int | None = DEFAULT_PAGE_SIZE,
) -> items_pb2.FindResponse: ) -> items_pb2.FindResponse:
result = await self.items_wrapper.find_published( message = await self.items_wrapper.find_published(
collection_id=collection_id, collection_id=collection_id,
space_id=self.space_id, space_id=self.space_id,
env_id=self.env_id, env_id=self.env_id,
filters=filters, filters=filters,
fields=fields, fields=fields,
exclude_fields=exclude_fields,
sort_by=sort_by, sort_by=sort_by,
limit=limit, limit=limit,
offset=offset, offset=offset,
page_num=page_num, page_num=page_num,
page_size=page_size, page_size=page_size,
) )
return result return message
async def fetch_all_published( async def fetch_all_published(
self, self,
...@@ -415,22 +703,22 @@ class PerxisDataProvider: ...@@ -415,22 +703,22 @@ class PerxisDataProvider:
yield await self.find_published(**kwargs) yield await self.find_published(**kwargs)
async def unpublish(self, item_id: str, collection_id: str) -> Empty: async def unpublish(self, item_id: str, collection_id: str) -> Empty:
result = await self.items_wrapper.unpublish( message = await self.items_wrapper.unpublish(
item_id=item_id, item_id=item_id,
collection_id=collection_id, collection_id=collection_id,
space_id=self.space_id, space_id=self.space_id,
env_id=self.env_id, env_id=self.env_id,
) )
return result return message
async def publish(self, item_id: str, collection_id: str) -> Empty: async def publish(self, item_id: str, collection_id: str) -> Empty:
result = await self.items_wrapper.publish( message = await self.items_wrapper.publish(
item_id=item_id, item_id=item_id,
collection_id=collection_id, collection_id=collection_id,
space_id=self.space_id, space_id=self.space_id,
env_id=self.env_id, env_id=self.env_id,
) )
return result return message
async def fetch_all( async def fetch_all(
self, self,
...@@ -439,7 +727,7 @@ class PerxisDataProvider: ...@@ -439,7 +727,7 @@ class PerxisDataProvider:
sort_by: list[str] | str = None, sort_by: list[str] | str = None,
page_size: int | None = DEFAULT_PAGE_SIZE, page_size: int | None = DEFAULT_PAGE_SIZE,
) -> items_pb2.FindResponse: ) -> items_pb2.FindResponse:
result = await self.items_wrapper.fetch_all( message = await self.items_wrapper.fetch_all(
collection_id=collection_id, collection_id=collection_id,
space_id=self.space_id, space_id=self.space_id,
env_id=self.env_id, env_id=self.env_id,
...@@ -447,15 +735,203 @@ class PerxisDataProvider: ...@@ -447,15 +735,203 @@ class PerxisDataProvider:
sort_by=sort_by, sort_by=sort_by,
page_size=page_size, page_size=page_size,
) )
return result return message
async def get_references( async def get_references(
self, references: list[Reference] self, references: list[Reference]
) -> items_pb2.GetResponse: ) -> items_pb2.GetResponse:
result = await self.references_wrapper.get_references( message = await self.references_wrapper.get_references(
references=references, space_id=self.space_id, env_id=self.env_id references=references, space_id=self.space_id, env_id=self.env_id
) )
return result return message
async def delete(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
update_attrs: bool = False,
erase: bool = True,
**kwargs,
) -> Empty:
message = await self.items_wrapper.delete(
item_id=item_id,
collection_id=collection_id,
space_id=space_id,
env_id=env_id,
update_attrs=update_attrs,
erase=erase,
**kwargs,
)
return message
async def undelete(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
update_attrs: bool = False,
**kwargs,
) -> Empty:
message = await self.items_wrapper.undelete(
item_id=item_id,
collection_id=collection_id,
space_id=space_id,
env_id=env_id,
update_attrs=update_attrs,
**kwargs,
)
return message
async def get_published(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
locale_id: str | None = None,
) -> items_pb2.GetPublishedResponse:
message = await self.items_wrapper.get_published(
item_id=item_id,
collection_id=collection_id,
space_id=space_id,
env_id=env_id,
locale_id=locale_id,
)
return message
async def aggregate(
self,
collection_id: str,
space_id: str,
env_id: str,
aggregate_options: dict[str, str] | None = None,
filters: list[str] | None = None,
) -> items_pb2.AggregateResponse:
message = await self.items_wrapper.aggregate(
collection_id=collection_id,
space_id=space_id,
env_id=env_id,
aggregate_options=aggregate_options,
filters=filters,
)
return message
async def aggregate_published(
self,
collection_id: str,
space_id: str,
env_id: str,
aggregate_options: dict[str, str] | None = None,
filters: list[str] | None = None,
) -> items_pb2.AggregatePublishedResponse:
message = await self.items_wrapper.aggregate_published(
collection_id=collection_id,
space_id=space_id,
env_id=env_id,
aggregate_options=aggregate_options,
filters=filters,
)
return message
async def get_revision(
self,
item_id: str,
revision_id: str,
collection_id: str,
space_id: str,
env_id: str,
) -> items_pb2.GetRevisionResponse:
message = await self.items_wrapper.get_revision(
item_id=item_id,
revision_id=revision_id,
collection_id=collection_id,
space_id=space_id,
env_id=env_id,
)
return message
async def list_revisions(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
sort_by: list[str] | None = None,
fields: list[str] | None = None,
exclude_fields: bool = False,
limit: int | None = None,
offset: int | None = None,
) -> items_pb2.ListRevisionsResponse:
message = await self.items_wrapper.list_revisions(
item_id=item_id,
collection_id=collection_id,
space_id=space_id,
env_id=env_id,
sort_by=sort_by,
fields=fields,
exclude_fields=exclude_fields,
limit=limit,
offset=offset,
)
return message
async def archive(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
) -> Empty:
message = await self.items_wrapper.archive(
item_id=item_id,
collection_id=collection_id,
space_id=space_id,
env_id=env_id,
)
return message
async def unarchive(
self,
item_id: str,
collection_id: str,
space_id: str,
env_id: str,
) -> Empty:
message = await self.items_wrapper.archive(
item_id=item_id,
collection_id=collection_id,
space_id=space_id,
env_id=env_id,
)
return message
async def find_archived(
self,
collection_id: str,
space_id: str,
env_id: str,
filters: list[str] | None = None,
sort_by: list[str] | None = None,
fields: list[str] | None = None,
exclude_fields: bool = False,
limit: int | None = None,
offset: int | None = None,
) -> items_pb2.FindArchivedResponse:
message = await self.items_wrapper.find_archived(
collection_id=collection_id,
space_id=space_id,
env_id=env_id,
filters=filters,
sort_by=sort_by,
fields=fields,
exclude_fields=exclude_fields,
limit=limit,
offset=offset,
)
return message
class PerxisFileProvider: class PerxisFileProvider:
......
...@@ -14,7 +14,7 @@ def load_requirements(): ...@@ -14,7 +14,7 @@ def load_requirements():
setup( setup(
name='perxis', name='perxis',
version='1.5.0', version='1.6.0',
description='Perxis python client', description='Perxis python client',
long_description=long_description, long_description=long_description,
long_description_content_type='text/markdown', long_description_content_type='text/markdown',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment