40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
from app.brm.brn import BRN
|
|
from app.extensions import db
|
|
from app.models import AbstractConfiguration, AbstractResource
|
|
|
|
|
|
class Onion(AbstractConfiguration):
|
|
@property
|
|
def brn(self) -> BRN:
|
|
return BRN(
|
|
group_id=self.group_id,
|
|
product="eotk",
|
|
provider="*",
|
|
resource_type="onion",
|
|
resource_id=self.onion_name
|
|
)
|
|
|
|
group_id = db.Column(db.Integer(), db.ForeignKey("group.id"), nullable=False)
|
|
domain_name = db.Column(db.String(255), nullable=False)
|
|
onion_name = db.Column(db.String(56), nullable=False, unique=True)
|
|
|
|
group = db.relationship("Group", back_populates="onions")
|
|
|
|
|
|
class Eotk(AbstractResource):
|
|
group_id = db.Column(db.Integer(), db.ForeignKey("group.id"), nullable=False)
|
|
instance_id = db.Column(db.String(100), nullable=True)
|
|
provider = db.Column(db.String(20), nullable=False)
|
|
region = db.Column(db.String(20), nullable=False)
|
|
|
|
group = db.relationship("Group", back_populates="eotks")
|
|
|
|
@property
|
|
def brn(self) -> BRN:
|
|
return BRN(
|
|
group_id=self.group_id,
|
|
provider=self.provider,
|
|
product="eotk",
|
|
resource_type="instance",
|
|
resource_id=self.region
|
|
)
|