onadata.apps.messaging.backends package

Submodules

onadata.apps.messaging.backends.base module

Messaging notification base module.

class onadata.apps.messaging.backends.base.BaseBackend(options=None)

Bases: object

Base class for notification backends

send(instance)

This method actually sends the message

onadata.apps.messaging.backends.base.call_backend(backend, instance_id, backend_options=None)

Call notification backends like MQTT to send messages

onadata.apps.messaging.backends.mqtt module

Messaging notification backend for MQTT

class onadata.apps.messaging.backends.mqtt.MQTTBackend(options=None)

Bases: BaseBackend

Notification backend for MQTT

get_topic(instance)

Constructs the message topic

For sending messages it should look like:

/onadata/xform/[pk or uuid]/[verb]/messages/publish /onadata/projects/[pk or uuid]/[verb]/messages/publish /onadata/users/[pk or uuid]/[verb]/messages/publish

send(instance)

Sends the message to appropriate MQTT topic(s)

onadata.apps.messaging.backends.mqtt.get_payload(instance, verbose_payload: bool = False)

Constructs the message payload

onadata.apps.messaging.backends.mqtt.get_target_metadata(target_obj)

Gets the metadata of a Target object

Module contents