|
|
@ -23,6 +23,7 @@ class Ban(pw.Model):
|
|
|
|
class Meta:
|
|
|
|
class Meta:
|
|
|
|
database = db
|
|
|
|
database = db
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Song(pw.Model):
|
|
|
|
class Song(pw.Model):
|
|
|
|
id = pw.AutoField()
|
|
|
|
id = pw.AutoField()
|
|
|
|
date_added = pw.DateTimeField(default=datetime.now)
|
|
|
|
date_added = pw.DateTimeField(default=datetime.now)
|
|
|
@ -34,6 +35,17 @@ class Song(pw.Model):
|
|
|
|
karma = pw.IntegerField(default=5, index=True)
|
|
|
|
karma = pw.IntegerField(default=5, index=True)
|
|
|
|
banned = pw.BooleanField(default=False)
|
|
|
|
banned = pw.BooleanField(default=False)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
|
|
|
def to_json(self):
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
|
|
"title": self.title,
|
|
|
|
|
|
|
|
"utube_id": self.utube_id,
|
|
|
|
|
|
|
|
"added_by": self.added_by,
|
|
|
|
|
|
|
|
"duration": self.duration,
|
|
|
|
|
|
|
|
"karma": self.karma,
|
|
|
|
|
|
|
|
"banned": self.banned
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
@staticmethod
|
|
|
|
def delete_song(utube_id: str) -> bool:
|
|
|
|
def delete_song(utube_id: str) -> bool:
|
|
|
|
from ircradio.factory import app
|
|
|
|
from ircradio.factory import app
|
|
|
|