| 31 | |
| 32 | |
| 33 | class EnvironmentFeatureVersion( # type: ignore[django-manager-missing] |
| 34 | SoftDeleteExportableModel, |
| 35 | abstract_base_auditable_model_factory(), # type: ignore[misc] |
| 36 | ): |
| 37 | uuid = models.UUIDField(primary_key=True, default=uuid.uuid4) |
| 38 | environment = models.ForeignKey( |
| 39 | "environments.Environment", on_delete=models.CASCADE |
| 40 | ) |
| 41 | feature = models.ForeignKey("features.Feature", on_delete=models.CASCADE) |
| 42 | |
| 43 | description = models.TextField(blank=True, null=True) |
| 44 | |
| 45 | created_at = models.DateTimeField(auto_now_add=True) |
| 46 | updated_at = models.DateTimeField(auto_now=True) |
| 47 | |
| 48 | published_at = models.DateTimeField(blank=True, null=True) |
| 49 | live_from = models.DateTimeField(null=True) |
| 50 | |
| 51 | created_by = models.ForeignKey( |
| 52 | settings.AUTH_USER_MODEL, |
| 53 | related_name="created_environment_feature_versions", |
| 54 | on_delete=models.SET_NULL, |
| 55 | null=True, |
| 56 | blank=True, |
| 57 | ) |
| 58 | created_by_api_key = models.ForeignKey( |
| 59 | "api_keys.MasterAPIKey", |
| 60 | related_name="created_environment_feature_versions", |
| 61 | on_delete=models.SET_NULL, |
| 62 | null=True, |
| 63 | blank=True, |
| 64 | ) |
| 65 | |
| 66 | published_by = models.ForeignKey( |
| 67 | settings.AUTH_USER_MODEL, |
| 68 | related_name="published_environment_feature_versions", |
| 69 | on_delete=models.SET_NULL, |
| 70 | null=True, |
| 71 | blank=True, |
| 72 | ) |
| 73 | published_by_api_key = models.ForeignKey( |
| 74 | "api_keys.MasterAPIKey", |
| 75 | related_name="published_environment_feature_versions", |
| 76 | on_delete=models.SET_NULL, |
| 77 | null=True, |
| 78 | blank=True, |
| 79 | ) |
| 80 | change_request = models.ForeignKey( |
| 81 | "workflows_core.ChangeRequest", |
| 82 | related_name="environment_feature_versions", |
| 83 | on_delete=models.CASCADE, |
| 84 | null=True, |
| 85 | blank=True, |
| 86 | ) |
| 87 | |
| 88 | pipeline_stage = models.ForeignKey( |
| 89 | "release_pipelines_core.PipelineStage", |
| 90 | related_name="environment_feature_versions", |
searching dependent graphs…