refactor: moving more models to mapped_column
This commit is contained in:
parent
ea020d6edd
commit
75b2c1adf0
9 changed files with 272 additions and 94 deletions
|
@ -1,4 +1,7 @@
|
|||
import enum
|
||||
from typing import Any, Dict, List, TYPE_CHECKING
|
||||
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
from app.brm.brn import BRN
|
||||
from app.extensions import db
|
||||
|
@ -6,6 +9,10 @@ from app.models import AbstractConfiguration
|
|||
from app.models.mirrors import StaticOrigin
|
||||
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from app.models.bridges import Bridge
|
||||
|
||||
|
||||
class CloudProvider(enum.Enum):
|
||||
AWS = ("aws", "Amazon Web Services")
|
||||
AZURE = ("azure", "Microsoft Azure")
|
||||
|
@ -27,17 +34,17 @@ class CloudProvider(enum.Enum):
|
|||
|
||||
|
||||
class CloudAccount(AbstractConfiguration):
|
||||
provider = db.Column(db.Enum(CloudProvider))
|
||||
credentials = db.Column(db.JSON())
|
||||
enabled = db.Column(db.Boolean())
|
||||
provider: Mapped[CloudProvider]
|
||||
credentials: Mapped[Dict[str, Any]] = mapped_column(db.JSON())
|
||||
enabled: Mapped[bool]
|
||||
# CDN Quotas
|
||||
max_distributions = db.Column(db.Integer())
|
||||
max_sub_distributions = db.Column(db.Integer())
|
||||
max_distributions: Mapped[int]
|
||||
max_sub_distributions: Mapped[int]
|
||||
# Compute Quotas
|
||||
max_instances = db.Column(db.Integer())
|
||||
max_instances: Mapped[int]
|
||||
|
||||
bridges = db.relationship("Bridge", back_populates="cloud_account")
|
||||
statics = db.relationship("StaticOrigin", back_populates="storage_cloud_account", foreign_keys=[
|
||||
bridges: Mapped[List["Bridge"]] = relationship("Bridge", back_populates="cloud_account")
|
||||
statics: Mapped[List["StaticOrigin"]] = relationship("StaticOrigin", back_populates="storage_cloud_account", foreign_keys=[
|
||||
StaticOrigin.storage_cloud_account_id])
|
||||
|
||||
@property
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue