From a2102a48ca2ac0a0c9b6f3353ee82befcb52758e Mon Sep 17 00:00:00 2001
From: Patrick Jentsch <p.jentsch@uni-bielefeld.de>
Date: Fri, 4 Dec 2020 14:16:00 +0100
Subject: [PATCH] Add url properties to db models

---
 web/app/models.py | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/web/app/models.py b/web/app/models.py
index 1fde6add..f22042d5 100644
--- a/web/app/models.py
+++ b/web/app/models.py
@@ -533,8 +533,13 @@ class Corpus(db.Model):
     def path(self):
         return os.path.join(self.creator.path, 'corpora', str(self.id))
 
+    @property
+    def url(self):
+        return url_for('corpora.corpus', corpus_id=self.id)
+
     def to_dict(self):
-        return {'id': self.id,
+        return {'url': self.url,
+                'id': self.id,
                 'user_id': self.user_id,
                 'creation_date': self.creation_date.timestamp(),
                 'description': self.description,
@@ -600,17 +605,28 @@ class QueryResult(db.Model):
     query_metadata = db.Column(db.JSON())
     title = db.Column(db.String(32))
 
+    @property
+    def download_url(self):
+        return url_for('corpora.download_query_result',
+                       query_result_id=self.id)
+
     @property
     def path(self):
         return os.path.join(
             self.creator.path, 'query_results', str(self.id), self.filename)
 
+    @property
+    def url(self):
+        return url_for('corpora.query_result', query_result_id=self.id)
+
     def delete(self):
         shutil.rmtree(self.path, ignore_errors=True)
         db.session.delete(self)
 
     def to_dict(self):
-        return {'id': self.id,
+        return {'download_url': self.download_url,
+                'url': self.url,
+                'id': self.id,
                 'user_id': self.user_id,
                 'description': self.description,
                 'filename': self.filename,
-- 
GitLab