import: support more

This commit is contained in:
Iain Learmonth 2022-04-22 13:12:48 +01:00
parent f8e79eaee7
commit adb897e14b

View file

@ -88,22 +88,11 @@ class Origin(AbstractConfiguration):
alarms = db.relationship("Alarm", back_populates="origin") alarms = db.relationship("Alarm", back_populates="origin")
@classmethod @classmethod
def csv_header(cls): def csv_header(self):
return [ return super().csv_header() + [
"id", "description", "added", "updated", "destroyed", "group_id", "domain_name" "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): def destroy(self):
super().destroy() super().destroy()
for proxy in self.proxies: for proxy in self.proxies:
@ -114,7 +103,6 @@ class Origin(AbstractConfiguration):
class Proxy(AbstractResource): class Proxy(AbstractResource):
id = db.Column(db.Integer, primary_key=True)
origin_id = db.Column(db.Integer, db.ForeignKey("origin.id"), nullable=False) origin_id = db.Column(db.Integer, db.ForeignKey("origin.id"), nullable=False)
provider = db.Column(db.String(20), nullable=False) provider = db.Column(db.String(20), nullable=False)
slug = db.Column(db.String(20), nullable=True) slug = db.Column(db.String(20), nullable=True)
@ -124,38 +112,24 @@ class Proxy(AbstractResource):
origin = db.relationship("Origin", back_populates="proxies") origin = db.relationship("Origin", back_populates="proxies")
alarms = db.relationship("Alarm", back_populates="proxy") alarms = db.relationship("Alarm", back_populates="proxy")
def as_dict(self): @classmethod
return { def csv_header(self):
"id": self.id, return super().csv_header() + [
"origin_id": self.origin.id, "origin_id", "provider", "slug", "terraform_updated", "url"
"origin_domain_name": self.origin.domain_name, ]
"provider": self.provider,
"slug": self.slug,
"added": self.added,
"updated": self.updated
}
class Mirror(db.Model): class Mirror(AbstractResource):
id = db.Column(db.Integer, primary_key=True)
origin_id = db.Column(db.Integer, db.ForeignKey("origin.id"), nullable=False) origin_id = db.Column(db.Integer, db.ForeignKey("origin.id"), nullable=False)
url = db.Column(db.String(255), unique=True, 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") origin = db.relationship("Origin", back_populates="mirrors")
def as_dict(self): @classmethod
return { def csv_header(self):
"id": self.id, return super().csv_header() + [
"origin_id": self.origin_id, "origin_id", "url"
"origin_domain_name": self.origin.domain_name, ]
"url": self.url,
"added": self.added,
"updated": self.updated
}
def __repr__(self): def __repr__(self):
return '<Mirror %r_%r>' % (self.origin.domain_name, self.id) return '<Mirror %r_%r>' % (self.origin.domain_name, self.id)