From 5e10d7565130db5212d3599f0ac271cbd9cd0f39 Mon Sep 17 00:00:00 2001 From: topilski Date: Tue, 4 Jun 2019 23:42:14 -0400 Subject: [PATCH] Get playlist by service ID --- app/home/user_loging_manager.py | 5 ++++- app/service/view.py | 9 ++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/home/user_loging_manager.py b/app/home/user_loging_manager.py index 7914b1d..3857bf0 100644 --- a/app/home/user_loging_manager.py +++ b/app/home/user_loging_manager.py @@ -36,7 +36,7 @@ class User(UserMixin, Document): type = IntField(default=Type.USER) settings = EmbeddedDocumentField(Settings, default=Settings) - servers = ListField(ReferenceField(ServiceSettings), default=[]) + servers = ListField(ReferenceField(ServiceSettings, reverse_delete_rule=PULL), default=[]) def logout(self): session.pop(SERVER_POSITION_SESSION_FIELD) @@ -46,6 +46,9 @@ class User(UserMixin, Document): self.servers.append(server) self.save() + def remove_server(self, server: ServiceSettings): + server.delete() + def set_current_server_position(self, pos: int): session[SERVER_POSITION_SESSION_FIELD] = pos diff --git a/app/service/view.py b/app/service/view.py index d6673a7..a04b634 100644 --- a/app/service/view.py +++ b/app/service/view.py @@ -123,6 +123,13 @@ class ServiceView(FlaskView): return '
{0}
'.format(server.view_playlist()) return '''
Not found, please create server firstly.
''' + def playlist(self, sid): + server = ServiceSettings.objects(id=sid).first() + if server: + return server.generate_playlist(), 200 + + return jsonify(status='failed'), 404 + @login_required def view_log(self): server = current_user.get_current_server() @@ -175,7 +182,7 @@ class ServiceView(FlaskView): sid = request.form['sid'] server = ServiceSettings.objects(id=sid).first() if server: - server.delete() + current_user.remove_server(server) return jsonify(status='ok'), 200 return jsonify(status='failed'), 404