|  | @@ -158,3 +158,126 @@ class File(db.Model):
 | 
	
		
			
				|  |  |          lazy='subquery',
 | 
	
		
			
				|  |  |          backref=db.backref('pages', lazy=True)
 | 
	
		
			
				|  |  |      )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +class Motion(db.Model):
 | 
	
		
			
				|  |  | +    """Model for Motion"""
 | 
	
		
			
				|  |  | +    id = db.Column(db.Integer, primary_key=True)
 | 
	
		
			
				|  |  | +    name = db.Column(db.String, nullable=False)
 | 
	
		
			
				|  |  | +    description = db.Column(db.String)
 | 
	
		
			
				|  |  | +    start_at = db.Column(db.DateTime, default=datetime.utcnow)
 | 
	
		
			
				|  |  | +    end_at = db.Column(db.DateTime, nullable=False)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    user_id = db.Column(
 | 
	
		
			
				|  |  | +        db.Integer,
 | 
	
		
			
				|  |  | +        db.ForeignKey("user.id")
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +    user = db.relationship(
 | 
	
		
			
				|  |  | +        "User",
 | 
	
		
			
				|  |  | +        backref=db.backref("motions", lazy="dynamic")
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    priority_id = db.Column(
 | 
	
		
			
				|  |  | +        db.Integer,
 | 
	
		
			
				|  |  | +        db.ForeignKey("priority.id")
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +    priority = db.relationship(
 | 
	
		
			
				|  |  | +        "Priority",
 | 
	
		
			
				|  |  | +        backref=db.backref("motions", lazy="dynamic")
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +class Priority(db.Model):
 | 
	
		
			
				|  |  | +    """Model for Priority"""
 | 
	
		
			
				|  |  | +    id = db.Column(db.Integer, primary_key=True)
 | 
	
		
			
				|  |  | +    name = db.Column(db.String, nullable=False)
 | 
	
		
			
				|  |  | +    description = db.Column(db.String, nullable=False)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +class Vote(db.Model):
 | 
	
		
			
				|  |  | +    """Model for Vote"""
 | 
	
		
			
				|  |  | +    id = db.Column(db.Integer, primary_key=True)
 | 
	
		
			
				|  |  | +    value = db.Column(db.Boolean)
 | 
	
		
			
				|  |  | +    datetime = db.Column(db.DateTime, default=datetime.utcnow)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    motion_id = db.Column(
 | 
	
		
			
				|  |  | +        db.Integer,
 | 
	
		
			
				|  |  | +        db.ForeignKey("motion.id")
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +    motion = db.relationship(
 | 
	
		
			
				|  |  | +        "Motion",
 | 
	
		
			
				|  |  | +        backref=db.backref("votes", lazy="dynamic")
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    candidate_id = db.Column(
 | 
	
		
			
				|  |  | +        db.Integer,
 | 
	
		
			
				|  |  | +        db.ForeignKey("candidate.id")
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +    motion = db.relationship(
 | 
	
		
			
				|  |  | +        "Candidate",
 | 
	
		
			
				|  |  | +        backref=db.backref("votes", lazy="dynamic")
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +election_function = db.Table(
 | 
	
		
			
				|  |  | +    'election_function',
 | 
	
		
			
				|  |  | +    db.Column(
 | 
	
		
			
				|  |  | +        'election_id',
 | 
	
		
			
				|  |  | +        db.Integer,
 | 
	
		
			
				|  |  | +        db.ForeignKey('election.id'),
 | 
	
		
			
				|  |  | +        primary_key=True
 | 
	
		
			
				|  |  | +    ),
 | 
	
		
			
				|  |  | +    db.Column(
 | 
	
		
			
				|  |  | +        'function_id',
 | 
	
		
			
				|  |  | +        db.Integer,
 | 
	
		
			
				|  |  | +        db.ForeignKey('function.id'),
 | 
	
		
			
				|  |  | +        primary_key=True
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +class Election(db.Model):
 | 
	
		
			
				|  |  | +    """Model for Election"""
 | 
	
		
			
				|  |  | +    id = db.Column(db.Integer, primary_key=True)
 | 
	
		
			
				|  |  | +    start_at = db.Column(db.DateTime, default=datetime.utcnow)
 | 
	
		
			
				|  |  | +    end_at = db.Column(db.DateTime, nullable=False)
 | 
	
		
			
				|  |  | +    name = db.Column(db.String, nullable=False)
 | 
	
		
			
				|  |  | +    description = db.Column(db.String)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +class Function(db.Model):
 | 
	
		
			
				|  |  | +    """Model for Function"""
 | 
	
		
			
				|  |  | +    id = db.Column(db.Integer, primary_key=True)
 | 
	
		
			
				|  |  | +    name = db.Column(db.String, nullable=False)
 | 
	
		
			
				|  |  | +    description = db.Column(db.String)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    elections = db.relationship(
 | 
	
		
			
				|  |  | +        'Election',
 | 
	
		
			
				|  |  | +        secondary=election_function,
 | 
	
		
			
				|  |  | +        lazy='subquery',
 | 
	
		
			
				|  |  | +        backref=db.backref('functions', lazy=True)
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +class Candidate(db.Model):
 | 
	
		
			
				|  |  | +    """Model for Candidate"""
 | 
	
		
			
				|  |  | +    id = db.Column(db.Integer, primary_key=True)
 | 
	
		
			
				|  |  | +    motivation = db.Column(db.String)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    user_id = db.Column(
 | 
	
		
			
				|  |  | +        db.Integer,
 | 
	
		
			
				|  |  | +        db.ForeignKey("user.id")
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +    user = db.relationship(
 | 
	
		
			
				|  |  | +        "User",
 | 
	
		
			
				|  |  | +        backref=db.backref("eligible", lazy="dynamic")
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    function_id = db.Column(
 | 
	
		
			
				|  |  | +        db.Integer,
 | 
	
		
			
				|  |  | +        db.ForeignKey("function.id")
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +    user = db.relationship(
 | 
	
		
			
				|  |  | +        "Function",
 | 
	
		
			
				|  |  | +        backref=db.backref("candidates", lazy="dynamic")
 | 
	
		
			
				|  |  | +    )
 |