54 lines
885 B
Python
54 lines
885 B
Python
|
from abc import ABCMeta, abstractmethod
|
||
|
from collections import namedtuple
|
||
|
|
||
|
from six import add_metaclass
|
||
|
|
||
|
class GlobalMessage(
|
||
|
namedtuple('GlobalMessage', [
|
||
|
'uuid',
|
||
|
'content',
|
||
|
'severity',
|
||
|
'media_type_name',
|
||
|
])):
|
||
|
|
||
|
def to_dict(self):
|
||
|
return {
|
||
|
'uuid': self.uuid,
|
||
|
'content': self.content,
|
||
|
'severity': self.severity,
|
||
|
'media_type': self.media_type_name,
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
@add_metaclass(ABCMeta)
|
||
|
class GlobalMessageDataInterface(object):
|
||
|
"""
|
||
|
Data interface for globalmessages API
|
||
|
"""
|
||
|
|
||
|
@abstractmethod
|
||
|
def get_all_messages(self):
|
||
|
"""
|
||
|
|
||
|
Returns:
|
||
|
list(GlobalMessage)
|
||
|
"""
|
||
|
|
||
|
@abstractmethod
|
||
|
def create_message(self, severity, media_type_name, content):
|
||
|
"""
|
||
|
|
||
|
Returns:
|
||
|
GlobalMessage or None
|
||
|
"""
|
||
|
|
||
|
@abstractmethod
|
||
|
def delete_message(self, uuid):
|
||
|
"""
|
||
|
|
||
|
Returns:
|
||
|
void
|
||
|
"""
|
||
|
|
||
|
|