Get correct overrides counts for a given environment. :param environment: environment to get overrides data for :return: overrides data getter dictionary of {feature_id: EnvironmentFeatureOverridesData}
(
environment: "Environment",
)
| 18 | |
| 19 | |
| 20 | def get_overrides_data( |
| 21 | environment: "Environment", |
| 22 | ) -> OverridesData: |
| 23 | """ |
| 24 | Get correct overrides counts for a given environment. |
| 25 | |
| 26 | :param environment: environment to get overrides data for |
| 27 | :return: overrides data getter dictionary of {feature_id: EnvironmentFeatureOverridesData} |
| 28 | """ |
| 29 | project = environment.project |
| 30 | |
| 31 | if project.enable_dynamo_db: |
| 32 | if project.edge_v2_identity_overrides_migrated: |
| 33 | # If v2 migration is complete, count segment overrides from Core |
| 34 | # and identity overrides from DynamoDB. |
| 35 | return get_edge_overrides_data(environment) |
| 36 | # If v2 migration is not started, in progress, or incomplete, |
| 37 | # only count segment overrides from Core. |
| 38 | # v1 Edge identity overrides are uncountable. |
| 39 | return get_core_overrides_data( |
| 40 | environment, |
| 41 | skip_identity_overrides=True, |
| 42 | ) |
| 43 | # For projects still fully on Core, count all overrides from Core. |
| 44 | return get_core_overrides_data(environment) |
| 45 | |
| 46 | |
| 47 | def get_core_overrides_data( |
searching dependent graphs…