| 241 | |
| 242 | # KEEP in oss/ |
| 243 | class AppVariantDB(Base): |
| 244 | __tablename__ = "app_variants" |
| 245 | |
| 246 | id = Column( |
| 247 | UUID(as_uuid=True), |
| 248 | primary_key=True, |
| 249 | default=uuid.uuid7, |
| 250 | unique=True, |
| 251 | nullable=False, |
| 252 | ) |
| 253 | app_id = Column(UUID(as_uuid=True), ForeignKey("app_db.id", ondelete="CASCADE")) |
| 254 | variant_name = Column(String) |
| 255 | revision = Column(Integer) |
| 256 | project_id = Column( |
| 257 | UUID(as_uuid=True), ForeignKey("projects.id", ondelete="CASCADE") |
| 258 | ) |
| 259 | modified_by_id = Column(UUID(as_uuid=True), ForeignKey("users.id")) |
| 260 | base_name = Column(String) |
| 261 | base_id = Column(UUID(as_uuid=True), ForeignKey("bases.id")) |
| 262 | config_name = Column(String, nullable=False) |
| 263 | config_parameters = Column( |
| 264 | mutable_json_type(dbtype=JSONB, nested=True), # type: ignore |
| 265 | nullable=False, |
| 266 | default=dict, |
| 267 | ) |
| 268 | hidden = Column(Boolean, nullable=True) |
| 269 | created_at = Column( |
| 270 | DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) |
| 271 | ) |
| 272 | updated_at = Column( |
| 273 | DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) |
| 274 | ) |
| 275 | |
| 276 | app = relationship("AppDB", back_populates="variant") |
| 277 | project = relationship("oss.src.models.db_models.ProjectDB") |
| 278 | modified_by = relationship("UserDB", foreign_keys=[modified_by_id]) |
| 279 | base = relationship("VariantBaseDB") |
| 280 | variant_revision = relationship( |
| 281 | "AppVariantRevisionsDB", |
| 282 | cascade=CASCADE_ALL_DELETE, |
| 283 | backref="variant_revision", |
| 284 | ) |
| 285 | |
| 286 | |
| 287 | # KEEP in oss/ |
no outgoing calls
no test coverage detected