|
1 |
| -from main import db |
2 |
| -import flask_sqlalchemy as sa |
| 1 | +from database import db |
| 2 | +from datetime import datetime |
3 | 3 |
|
4 |
| -class List(db.Model): |
| 4 | + |
| 5 | +class Audited: |
| 6 | + created_at = db.Column("created_at", |
| 7 | + db.DateTime, nullable=False, default=datetime.now()) |
| 8 | + modified_at = db.Column("modified_at", |
| 9 | + db.DateTime, nullable=False, default=datetime.now()) |
| 10 | + |
| 11 | + |
| 12 | +class List(db.Model, Audited): |
5 | 13 | ''' This class represents a list '''
|
6 |
| - |
| 14 | + __tablename__ = "lists" |
| 15 | + id = db.Column("id", db.Integer, primary_key=True) |
| 16 | + name = db.Column("name", db.String, nullable=False) |
| 17 | + recurring_deadline = db.Column("recurring_deadline", |
| 18 | + db.Time, nullable=False) |
| 19 | + tasks = db.relationship("Task", backref="task_list") |
| 20 | + list_properties = db.relationship("ListProperty", backref="task_list") |
| 21 | + |
| 22 | + |
| 23 | +class Task(db.Model, Audited): |
| 24 | + id = db.Column("id", db.Integer, primary_key=True) |
| 25 | + name = db.Column("name", db.String, nullable=False) |
| 26 | + status = db.Column("status", db.String, nullable=False) |
| 27 | + description = db.Column("description", db.String) |
| 28 | + list_id = db.Column("list_id", db.ForeignKey(List.id), |
| 29 | + nullable=False) |
| 30 | + soft_deleted = db.Column("soft_deleted", db.BOOLEAN, nullable=False) |
| 31 | + |
| 32 | + |
| 33 | +class ListProperty(db.Model, Audited): |
| 34 | + id = db.Column("id", db.Integer, primary_key=True) |
| 35 | + name = db.Column("name", db.String, nullable=False) |
| 36 | + value = db.Column("value", db.String, nullable=False) |
| 37 | + list_id = db.Column("list_id", db.ForeignKey(List.id), |
| 38 | + nullable=False) |
0 commit comments