Skip to content

Database Schema

Streamliner edited this page Jul 19, 2017 · 5 revisions

MQTemplates

name type / linked key usage
name String Name of the template
created Timestamp Time of creation
created_by user_id Who created it
description String Description of the template
input_key String Topic suffix indicating an input message
output_key String Topic suffix indicating an output message
channels Array of Objects Device data channels
channels.rule String Topic string to match
channels.alias String Name of channel the topic string will be replaced with
channels.has_input Boolean Whether a particular channel accepts sending messages to it

MQDevices

name type / linked key usage
name String Name of the device
created Timestamp Time of creation
created_by user_id Who created it
description String Device Descriptions
base_template String Template on which the device is based
device_id String Device ID in MQTT topic string that will be replaced by the name
input_key String Topic suffix indicating an input message
output_key String Topic suffix indicating an output message
channels Array of Objects Device data channels
channels.rule String Topic string to match
channels.alias String Name of channel the topic string will be replaced with
channels.has_input Boolean Whether a particular channel accepts sending messages to it

Lambdas

name type / linked key usage
name String Name of lambda
description String Description of lambda
created Timestamp Time of creation
created_by user_id Who created it
language String Language of the code (Only supports python3 hehe)
code String The codefile
bindings List of strings RabbitMQ topics the lambda listens to
bind_multithreaded Boolean Whether each binding uses a separate thread (will result in duplicates)
durable Boolean Whether the lambda should remain active in case of runtime exception
recursive Boolean Whether the lambda listens to the egress stream (where all lambdas dump their outputs)
active Boolean Whether the lambda is enabled
remarks String Reason why a lambda was deactivated (read-only), set by the engine and cleared when client updates it
workers Integer Number of threads executing the lambda (aside of independently threaded bindings)

Users

name type / linked key usage source
enabled Boolean Whether a user is permitted to log in (Always disable a user rather than delete one) Default=True, Set by Admin
email String Email of the user User Registration
pwhash Binary Salted hash of password User Registration
role String admin or user User Creation by Admin
name String Real name of user Both Admin and Self
invite_id String Invitation key for Registration User Creation by Admin

Clone this wiki locally