From adb897e14bac090c7e1927b72fcb4cabe7159daf Mon Sep 17 00:00:00 2001 From: Iain Learmonth Date: Fri, 22 Apr 2022 13:12:48 +0100 Subject: [PATCH] import: support more --- app/models.py | 54 +++++++++++++-------------------------------------- 1 file changed, 14 insertions(+), 40 deletions(-) diff --git a/app/models.py b/app/models.py index 3f3f618..0a7e16a 100644 --- a/app/models.py +++ b/app/models.py @@ -88,22 +88,11 @@ class Origin(AbstractConfiguration): alarms = db.relationship("Alarm", back_populates="origin") @classmethod - def csv_header(cls): - return [ - "id", "description", "added", "updated", "destroyed", "group_id", "domain_name" + def csv_header(self): + return super().csv_header() + [ + "group_id", "domain_name" ] - def as_dict(self): - return { - "id": self.id, - "group_id": self.group.id, - "group_name": self.group.group_name, - "domain_name": self.domain_name, - "description": self.description, - "added": self.added, - "updated": self.updated - } - def destroy(self): super().destroy() for proxy in self.proxies: @@ -114,7 +103,6 @@ class Origin(AbstractConfiguration): class Proxy(AbstractResource): - id = db.Column(db.Integer, primary_key=True) origin_id = db.Column(db.Integer, db.ForeignKey("origin.id"), nullable=False) provider = db.Column(db.String(20), nullable=False) slug = db.Column(db.String(20), nullable=True) @@ -124,38 +112,24 @@ class Proxy(AbstractResource): origin = db.relationship("Origin", back_populates="proxies") alarms = db.relationship("Alarm", back_populates="proxy") - def as_dict(self): - return { - "id": self.id, - "origin_id": self.origin.id, - "origin_domain_name": self.origin.domain_name, - "provider": self.provider, - "slug": self.slug, - "added": self.added, - "updated": self.updated - } + @classmethod + def csv_header(self): + return super().csv_header() + [ + "origin_id", "provider", "slug", "terraform_updated", "url" + ] -class Mirror(db.Model): - id = db.Column(db.Integer, primary_key=True) +class Mirror(AbstractResource): origin_id = db.Column(db.Integer, db.ForeignKey("origin.id"), nullable=False) url = db.Column(db.String(255), unique=True, nullable=False) - added = db.Column(db.DateTime(), default=datetime.utcnow, nullable=False) - updated = db.Column(db.DateTime(), default=datetime.utcnow, nullable=False) - deprecated = db.Column(db.DateTime(), nullable=True) - destroyed = db.Column(db.DateTime(), nullable=True) origin = db.relationship("Origin", back_populates="mirrors") - def as_dict(self): - return { - "id": self.id, - "origin_id": self.origin_id, - "origin_domain_name": self.origin.domain_name, - "url": self.url, - "added": self.added, - "updated": self.updated - } + @classmethod + def csv_header(self): + return super().csv_header() + [ + "origin_id", "url" + ] def __repr__(self): return '' % (self.origin.domain_name, self.id)