1
0
mirror of https://github.com/spl0k/supysonic.git synced 2024-10-18 08:52:17 +00:00

Chat as feature

This commit is contained in:
spl0k 2014-03-15 19:47:44 +01:00
parent c6b197689a
commit 84c1582446
2 changed files with 21 additions and 15 deletions

View File

@ -204,7 +204,7 @@ from .scrobble import *
if config.getbool('features', 'star', True): if config.getbool('features', 'star', True):
from .star import * from .star import *
else: else:
app.add_url_rule('/rest/star.view', view_func = disabled_api_feature, methods = [ 'GET', 'POST' ]) app.add_url_rule('/rest/star.view', view_func = disabled_api_feature, methods = [ 'GET', 'POST' ])
app.add_url_rule('/rest/unstar.view', view_func = disabled_api_feature, methods = [ 'GET', 'POST' ]) app.add_url_rule('/rest/unstar.view', view_func = disabled_api_feature, methods = [ 'GET', 'POST' ])
if config.getbool('features', 'rating', True): if config.getbool('features', 'rating', True):
@ -212,7 +212,12 @@ if config.getbool('features', 'rating', True):
else: else:
app.add_url_rule('/rest/setRating.view', view_func = disabled_api_feature, methods = [ 'GET', 'POST' ]) app.add_url_rule('/rest/setRating.view', view_func = disabled_api_feature, methods = [ 'GET', 'POST' ])
from .chat import * if config.getbool('features', 'chat', True):
from .chat import *
else:
app.add_url_rule('/rest/getChatMessages.view', view_func = disabled_api_feature, methods = [ 'GET', 'POST' ])
app.add_url_rule('/rest/addChatMessage.view', view_func = disabled_api_feature, methods = [ 'GET', 'POST' ])
from .search import * from .search import *
from .playlists import * from .playlists import *

27
db.py
View File

@ -368,22 +368,23 @@ if config.getbool('features', 'rating', True):
user = relationship('User') user = relationship('User')
rated = relationship('Track') rated = relationship('Track')
class ChatMessage(Base): if config.getbool('features', 'chat', True):
__tablename__ = 'chat_message' class ChatMessage(Base):
__tablename__ = 'chat_message'
id = UUID.gen_id_column() id = UUID.gen_id_column()
user_id = Column(UUID, ForeignKey('user.id')) user_id = Column(UUID, ForeignKey('user.id'))
time = Column(Integer, default = lambda: int(time.time())) time = Column(Integer, default = lambda: int(time.time()))
message = Column(String(512)) message = Column(String(512))
user = relationship('User') user = relationship('User')
def responsize(self): def responsize(self):
return { return {
'username': self.user.name, 'username': self.user.name,
'time': self.time * 1000, 'time': self.time * 1000,
'message': self.message 'message': self.message
} }
playlist_track_assoc = Table('playlist_track', Base.metadata, playlist_track_assoc = Table('playlist_track', Base.metadata,
Column('playlist_id', UUID, ForeignKey('playlist.id')), Column('playlist_id', UUID, ForeignKey('playlist.id')),