summaryrefslogtreecommitdiffstats
path: root/app/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/app/models.py b/app/models.py
new file mode 100644
index 0000000..4df6689
--- /dev/null
+++ b/app/models.py
@@ -0,0 +1,33 @@
+from app import db
+import datetime
+
+class User(db.Model):
+ id = db.Column(db.Integer, primary_key=True)
+ nickname = db.Column(db.String(64), index=True, unique=True)
+ email = db.Column(db.String(120), index=True, unique=True)
+ opened = db.relationship('Ticket', backref='opened_by', lazy='dynamic', primaryjoin = 'Ticket.opened_by_user_id == User.id')
+ assigned = db.relationship('Ticket', backref='assigned_to', lazy='dynamic', primaryjoin = 'Ticket.assigned_to_user_id == User.id')
+
+
+ def __repr__(self):
+ return '<User %r>' % (self.nickname)
+
+class Ticket(db.Model):
+ id = db.Column(db.Integer, primary_key=True)
+
+ summary = db.Column(db.String(140), nullable=False)
+ body = db.Column(db.Text, nullable=False)
+
+ opened_at = db.Column(db.DateTime, nullable=False)
+ updated_at = db.Column(db.DateTime)
+
+ status = db.Column(db.String(64), nullable=False, default='open')
+ resolution = db.Column(db.String(64))
+ reason = db.Column(db.String(140))
+ deleted = db.Column(db.Boolean, default=False)
+
+ opened_by_user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
+ assigned_to_user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
+
+ def __repr__(self):
+ return '<Ticket %r>' % (self.id)