Ejemplo n.º 1
0
class MusicFile(db.Model): 
    __tablename__ = "music_file"
    id = db.Column(db.Integer, primary_key=True)
    path = db.Column(db.String(120), nullable=False)
    musicitem_id = db.Column(db.Integer, db.ForeignKey('music_item.id'))
    music_item = db.relationship("MusicItem")
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user = db.relationship(User)
    
    def to_json(self):
        return dict(id=self.id, path=self.path)
Ejemplo n.º 2
0
class MusicItem(db.Model): 
    __tablename__ = "music_item"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(120), nullable=False)
    number = db.Column(db.String(120))
    key = db.Column(db.String(50))
    dateAdded = db.Column(db.Date, default=datetime.date.today())
    dateOfComposition = db.Column(db.Date)
    composer_id = db.Column(db.Integer, db.ForeignKey('composer.id'))
    composer = db.relationship(Composer)
    instruments = db.relationship(Instrument, secondary=musicitem_instruments)
    files = db.relationship(MusicFile)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user = db.relationship(User)
    
    def to_json(self):
        
        if self.dateAdded is None:
            dateAdded = "";
        else:
            dateAdded = self.dateAdded.isoformat()
            
        if self.dateOfComposition is None:
            dateOfComposition = "";
        else:
            dateOfComposition = self.dateAdded.isoformat()
        
        return dict(id=self.id, name=self.name, number=self.number,
                    key=self.key, dateAdded=dateAdded, dateOfComposition=dateOfComposition,
                    files=[f.to_json() for f in self.files])
Ejemplo n.º 3
0
class Composer(db.Model): 
    __tablename__ = "composer"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(120), nullable=False)
    dateOfBirth = db.Column(db.Date, nullable=False)
    dateOfDeath = db.Column(db.Date)
    musicItems = db.relationship("MusicItem")
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user = db.relationship(User)
    
    def to_json(self):
        
        if self.dateOfDeath is None:
            deathDate = "";
        else:
            deathDate = self.dateOfDeath.isoformat()
             
        return dict(id=self.id, name=self.name, dateOfBirth=self.dateOfBirth.isoformat(),
                    dateOfDeath=deathDate)
Ejemplo n.º 4
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(120), unique=True)
    password = db.Column(db.String(120))
    display_name = db.Column(db.String(120))
    facebook = db.Column(db.String(120))
    google = db.Column(db.String(120))
    twitter = db.Column(db.String(120))

    def __init__(self,
                 email=None,
                 password=None,
                 display_name=None,
                 facebook=None,
                 github=None,
                 google=None,
                 linkedin=None,
                 twitter=None,
                 bitbucket=None):
        if email:
            self.email = email.lower()
        if password:
            self.set_password(password)
        if display_name:
            self.display_name = display_name
        if facebook:
            self.facebook = facebook
        if google:
            self.google = google
        if twitter:
            self.twitter = twitter

    def set_password(self, password):
        self.password = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password, password)

    def to_json(self):
        return dict(id=self.id,
                    email=self.email,
                    displayName=self.display_name,
                    facebook=self.facebook,
                    google=self.google,
                    twitter=self.twitter)
Ejemplo n.º 5
0
class Instrument(db.Model): 
    __tablename__ = "instrument"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(120), nullable=False)
Ejemplo n.º 6
0
    name = db.Column(db.String(120), nullable=False)

class MusicFile(db.Model): 
    __tablename__ = "music_file"
    id = db.Column(db.Integer, primary_key=True)
    path = db.Column(db.String(120), nullable=False)
    musicitem_id = db.Column(db.Integer, db.ForeignKey('music_item.id'))
    music_item = db.relationship("MusicItem")
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user = db.relationship(User)
    
    def to_json(self):
        return dict(id=self.id, path=self.path)
    
musicitem_instruments = db.Table('musicitem_instruments', 
    db.Column('musicitem_id', db.Integer, db.ForeignKey('music_item.id')),
    db.Column('instrument_id', db.Integer, db.ForeignKey('instrument.id')))

class MusicItem(db.Model): 
    __tablename__ = "music_item"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(120), nullable=False)
    number = db.Column(db.String(120))
    key = db.Column(db.String(50))
    dateAdded = db.Column(db.Date, default=datetime.date.today())
    dateOfComposition = db.Column(db.Date)
    composer_id = db.Column(db.Integer, db.ForeignKey('composer.id'))
    composer = db.relationship(Composer)
    instruments = db.relationship(Instrument, secondary=musicitem_instruments)
    files = db.relationship(MusicFile)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))