Esempio n. 1
0
class Queue(db.Model, IDMixin):
    __tablename__ = 'queue'

    instance_id = db.Column(db.Integer, db.ForeignKey('instance.id'), nullable=False)
    song_id = db.Column(db.Integer, db.ForeignKey('song.id'), nullable=False)
    manual = db.Column(db.Boolean, nullable=False, default=False)
    place_in_queue = db.Column(db.Integer, nullable=False)
Esempio n. 2
0
class AlbumArtistMapping(db.Model, IDMixin):
    __tablename__ = 'albumartistmapping'

    album_id = db.Column(db.Integer, db.ForeignKey('album.id'), nullable=False)
    artist_id = db.Column(db.Integer, db.ForeignKey('artist.id'), nullable=False)

    album = db.relationship('Album')
    artist = db.relationship('Artist')
Esempio n. 3
0
class Song(db.Model, IDMixin):
    __tablename__ = 'song'

    identifier = db.Column(db.String, unique=True, nullable=False)
    name = db.Column(db.String, nullable=True)
    album_id = db.Column(db.Integer, db.ForeignKey('album.id'), nullable=True)

    album = db.relationship('Album')
Esempio n. 4
0
class SongArtistMapping(db.Model, IDMixin):
    __tablename__ = 'songartistmapping'

    song_id = db.Column(db.Integer, db.ForeignKey('song.id'), nullable=False)
    artist_id = db.Column(db.Integer, db.ForeignKey('artist.id'), nullable=False)

    song = db.relationship('Song')
    artist = db.relationship('Artist')
Esempio n. 5
0
class Instance(db.Model, IDMixin):
    __tablename__ = 'instance'

    name = db.Column(db.String, nullable=False)
    server_secret = db.Column(db.String, nullable=False, unique=True)
    venue_user_id = db.Column(db.Integer, db.ForeignKey('venueuser.id'), nullable=False)
    platform_id = db.Column(db.Integer, db.ForeignKey('platform.id'), nullable=False)

    venue_user = db.relationship('VenueUser')
    platform = db.relation('Platform')
Esempio n. 6
0
class HashedPasswordMixin(object):
    password = db.Column(db.String, nullable=False)
    salt = db.Column(db.String, nullable=False)

    @classmethod
    def generate_salt(cls):
        return uuid.uuid4().hex

    @classmethod
    def hash_password(cls, input_password, salt):
        return pbkdf2_sha512.hash(input_password + salt)
Esempio n. 7
0
class History(db.Model, IDMixin):
    __tablename__ = 'history'

    instance_id = db.Column(db.Integer, db.ForeignKey('instance.id'), nullable=False)
    song_id = db.Column(db.Integer, db.ForeignKey('song.id'), nullable=False)
    place_in_queue = db.Column(db.Integer, nullable=False)
Esempio n. 8
0
class VenueUser(db.Model, IDMixin, HashedPasswordMixin):
    __tablename__ = 'venueuser'

    username = db.Column(db.String, nullable=False, unique=True)
    email = db.Column(db.String, nullable=False)
    display_name = db.Column(db.String, nullable=False)
Esempio n. 9
0
class Platform(db.Model, IDMixin):
    __tablename__ = 'platform'

    name = db.Column(db.String, nullable=False, unique=True)
Esempio n. 10
0
class Album(db.Model, IDMixin):
    __tablename__ = 'album'

    name = db.Column(db.String, nullable=False)
Esempio n. 11
0
class Artist(db.Model, IDMixin):
    __tablename__ = 'artist'

    name = db.Column(db.String, nullable=False)
Esempio n. 12
0
class IDMixin(object):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=False)