Group metadata references

Managers

class whalesong.managers.group_metadata.GroupMetadataCollectionManager(driver, manager_path='')

Bases: whalesong.managers.BaseCollectionManager

Parameters:
__getitem__(name)

Get a submanager. It could be a explicit submanager or contained model manager.

Parameters:name (str) – Field where submanager was stored.
Return type:Union[BaseManager, ~MODEL_MANAGER_TYPE]
__getattr__(name)

Get a submanager. It could be a explicit submanager or contained model manager.

Parameters:name (str) – Field where submanager was stored.
Return type:Union[BaseManager, ~MODEL_MANAGER_TYPE]
add_submanager(name, submanager)

Add a submanager.

Parameters:
  • name (str) – Field where manager will be stored.
  • submanager (BaseManager) – Submanager
find_item_by_id(item_id)

Find model by identifier. If item is not in collection it will try to load it.

Parameters:item_id (str) – Model identifier.
Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_commands()

Get manager available static commands.

Return type:Result[List[str]]
Returns:Manager static commands.
get_first()

Get first item in collection.

Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_item_by_id(item_id)

Get model by identifier.

Parameters:item_id (str) – Model identifier.
Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_item_result_class()
Return type:Result[+MODEL_TYPE]
get_items()

Get all items on collection.

Return type:IteratorResult[+MODEL_TYPE]
Returns:Async iterator
get_iterator_result_class()
Return type:IteratorResult[+MODEL_TYPE]
get_last()

Get last item in collection.

Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_length()

Get collection items count.

Return type:Result[int]
Returns:Items count
get_monitor_result_class()
Return type:MonitorResult[+MODEL_TYPE]
get_submanager(name)

Get a submanager. It could be a explicit submanager or contained model manager.

Parameters:name (str) – Field where submanager was stored.
Return type:Union[BaseManager, ~MODEL_MANAGER_TYPE]
monitor_add()

Monitor add item collection. Iterate each time a item is added to collection.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model object iterator
monitor_change()

Monitor change item collection. Iterate each time a item change in collection.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model object iterator
monitor_field(field)

Monitor item’s field change. Iterate each time a field changed in any item of collection.

Return type:MonitorResult[Dict[str, Any]]
Returns:Model object iterator
monitor_remove()

Monitor remove item collection. Iterate each time a item is removed from collection.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model object iterator
remove_item_by_id(item_id)

Remove item by identifier.

Parameters:item_id (str) – Model identifier.
Return type:Result[None]
remove_submanager(name)

Remove a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:Result[~T]
MODEL_MANAGER_CLASS

alias of GroupMetadataManager

class whalesong.managers.group_metadata.GroupMetadataManager(driver, manager_path='')

Bases: whalesong.managers.BaseModelManager

Group metadata manager. It allows manage groups, further than a chat.

participants

ParticipantCollectionManager

Group’s participants collection manager.

__getitem__(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
__getattr__(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
add_submanager(name, submanager)

Add a submanager.

Parameters:
  • name (str) – Field where manager will be stored.
  • submanager (BaseManager) – Submanager
get_commands()

Get manager available static commands.

Return type:Result[List[str]]
Returns:Manager static commands.
get_field_monitor_result_class(field)
Return type:MonitorResult[Dict[str, Any]]
get_model()

Get model object

Return type:Result[+MODEL_TYPE]
Returns:Model object
get_model_result_class()
Return type:Result[+MODEL_TYPE]
get_monitor_result_class()
Return type:MonitorResult[+MODEL_TYPE]
get_submanager(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
map_model(data)
Return type:+MODEL_TYPE
monitor_field(field)

Monitor any change on a model’s field.

Parameters:field (str) – Field to monitor.
Return type:MonitorResult[Dict[str, Any]]
Returns:Model monitor
monitor_model()

Monitor any change on model.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model monitor
remove_submanager(name)

Remove a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:Result[~T]
MODEL_CLASS

alias of GroupMetadata

group_invite_code()
Return type:Result[None]
revoke_group_invite()
Return type:Result[None]
class whalesong.managers.group_metadata.ParticipantCollectionManager(driver, manager_path='')

Bases: whalesong.managers.BaseCollectionManager

Participant collection manager. It allows manage group participants.

Parameters:
__getitem__(name)

Get a submanager. It could be a explicit submanager or contained model manager.

Parameters:name (str) – Field where submanager was stored.
Return type:Union[BaseManager, ~MODEL_MANAGER_TYPE]
__getattr__(name)

Get a submanager. It could be a explicit submanager or contained model manager.

Parameters:name (str) – Field where submanager was stored.
Return type:Union[BaseManager, ~MODEL_MANAGER_TYPE]
MODEL_MANAGER_CLASS

alias of ParticipantManager

add_participants(contact_ids)
Return type:Result[None]
can_add(contact_id)
Return type:Result[bool]
remove_participants(contact_ids)
Return type:Result[None]
add_submanager(name, submanager)

Add a submanager.

Parameters:
  • name (str) – Field where manager will be stored.
  • submanager (BaseManager) – Submanager
can_remove(contact_id)
Return type:Result[bool]
find_item_by_id(item_id)

Find model by identifier. If item is not in collection it will try to load it.

Parameters:item_id (str) – Model identifier.
Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_commands()

Get manager available static commands.

Return type:Result[List[str]]
Returns:Manager static commands.
get_first()

Get first item in collection.

Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_item_by_id(item_id)

Get model by identifier.

Parameters:item_id (str) – Model identifier.
Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_item_result_class()
Return type:Result[+MODEL_TYPE]
get_items()

Get all items on collection.

Return type:IteratorResult[+MODEL_TYPE]
Returns:Async iterator
get_iterator_result_class()
Return type:IteratorResult[+MODEL_TYPE]
get_last()

Get last item in collection.

Return type:Result[+MODEL_TYPE]
Returns:Model object.
get_length()

Get collection items count.

Return type:Result[int]
Returns:Items count
get_monitor_result_class()
Return type:MonitorResult[+MODEL_TYPE]
get_submanager(name)

Get a submanager. It could be a explicit submanager or contained model manager.

Parameters:name (str) – Field where submanager was stored.
Return type:Union[BaseManager, ~MODEL_MANAGER_TYPE]
monitor_add()

Monitor add item collection. Iterate each time a item is added to collection.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model object iterator
monitor_change()

Monitor change item collection. Iterate each time a item change in collection.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model object iterator
monitor_field(field)

Monitor item’s field change. Iterate each time a field changed in any item of collection.

Return type:MonitorResult[Dict[str, Any]]
Returns:Model object iterator
monitor_remove()

Monitor remove item collection. Iterate each time a item is removed from collection.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model object iterator
remove_item_by_id(item_id)

Remove item by identifier.

Parameters:item_id (str) – Model identifier.
Return type:Result[None]
remove_submanager(name)

Remove a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:Result[~T]
promote_participants(contact_ids)
Return type:Result[None]
can_promote(contact_id)
Return type:Result[bool]
demote_participants(contact_ids)
Return type:Result[None]
can_demote(contact_id)
Return type:Result[bool]
class whalesong.managers.group_metadata.ParticipantManager(driver, manager_path='')

Bases: whalesong.managers.BaseModelManager

Participant manager.

Parameters:
__getitem__(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
__getattr__(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
MODEL_CLASS

alias of Participant

add_submanager(name, submanager)

Add a submanager.

Parameters:
  • name (str) – Field where manager will be stored.
  • submanager (BaseManager) – Submanager
get_commands()

Get manager available static commands.

Return type:Result[List[str]]
Returns:Manager static commands.
get_field_monitor_result_class(field)
Return type:MonitorResult[Dict[str, Any]]
get_model()

Get model object

Return type:Result[+MODEL_TYPE]
Returns:Model object
get_model_result_class()
Return type:Result[+MODEL_TYPE]
get_monitor_result_class()
Return type:MonitorResult[+MODEL_TYPE]
get_submanager(name)

Get a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:BaseManager
map_model(data)
Return type:+MODEL_TYPE
monitor_field(field)

Monitor any change on a model’s field.

Parameters:field (str) – Field to monitor.
Return type:MonitorResult[Dict[str, Any]]
Returns:Model monitor
monitor_model()

Monitor any change on model.

Return type:MonitorResult[+MODEL_TYPE]
Returns:Model monitor
remove_submanager(name)

Remove a submanager.

Parameters:name (str) – Field where submanager was stored.
Return type:Result[~T]

Models

Model whalesong.managers.group_metadata.Participant(data=None, flat=False, *args, **kwargs)

Bases: whalesong.models.BaseModel

property id: str [READ ONLY]

StringIdField field [READ ONLY]

property isAdmin: bool
Default value:False

BooleanField field

Aliases:
  • is_admin
property isSuperAdmin: bool

BooleanField field

Aliases:
  • is_super_admin
Model whalesong.managers.group_metadata.GroupMetadata(data=None, flat=False, *args, **kwargs)

Bases: whalesong.models.BaseModel

Group metadata model.

property announce: str

¿?

property creation: datetime

Group creation timestamp.

property desc: str

Group description.

property owner: str

Who made group.

property participants: List of Participant

List of participants.

property restrict: str

¿?

property id: str [READ ONLY]

StringIdField field [READ ONLY]

property descOwner: str

StringIdField field

Aliases:
  • desc_owner
property descTime: datetime

DateTimeField field

Aliases:
  • desc_time

StringIdField field

Aliases:
  • group_invite_link
property inviteCode: str

StringIdField field

Aliases:
  • invite_code