platypush/platypush/schemas/gotify.py

68 lines
1.5 KiB
Python

from marshmallow import fields
from marshmallow.schema import Schema
from . import DateTime
class GotifyMessageSchema(Schema):
title = fields.String(
metadata=dict(
description='Message title',
example='Test title',
)
)
message = fields.String(
required=True,
metadata=dict(
description='Message body (markdown is supported)',
example='Test message',
)
)
priority = fields.Int(
missing=0,
metadata=dict(
description='Message priority',
example=2,
)
)
extras = fields.Dict(
metadata=dict(
description='Extra payload to be delivered with the message',
example={
'home::appliances::lighting::on': {
'brightness': 15
},
'home::appliances::thermostat::change_temperature': {
'temperature': 23
}
},
)
)
id = fields.Int(
required=True,
dump_only=True,
metadata=dict(
description='Message ID',
example=1,
)
)
appid = fields.Int(
dump_only=True,
metadata=dict(
description='ID of the app that posted the message',
example=1,
)
)
date = DateTime(
dump_only=True,
metadata=dict(
description='Message date',
)
)