54 lines
No EOL
885 B
Python
54 lines
No EOL
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
|
|
"""
|
|
|
|
|