Skip to content

Commit 0a2464b

Browse files
authored
feat: upgrade flagsmith-flag-engine to v10 (#6653)
1 parent 86285a1 commit 0a2464b

52 files changed

Lines changed: 1080 additions & 130 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

api/app/pagination.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
from collections import OrderedDict
44
from typing import Any
55

6-
from flag_engine.identities.models import IdentityModel
76
from rest_framework.pagination import PageNumberPagination
87
from rest_framework.response import Response
98

9+
from util.engine_models.identities.models import IdentityModel
10+
1011

1112
class CustomPagination(PageNumberPagination):
1213
page_size = 999

api/e2etests/e2e_seed_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
VIEW_PROJECT,
1111
)
1212
from django.conf import settings
13-
from flag_engine.identities.models import IdentityModel as EngineIdentity
1413

1514
from edge_api.identities.models import EdgeIdentity
1615
from environments.identities.models import Identity
@@ -25,6 +24,7 @@
2524
from organisations.subscriptions.constants import ENTERPRISE
2625
from projects.models import Project, UserProjectPermission
2726
from users.models import FFAdminUser, UserPermissionGroup
27+
from util.engine_models.identities.models import IdentityModel as EngineIdentity
2828

2929
# Password used by all the test users
3030
PASSWORD = "Str0ngp4ssw0rd!"

api/edge_api/identities/export.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
from decimal import Decimal
55

66
from django.utils import timezone
7-
from flag_engine.identities.traits.types import map_any_value_to_trait_value
87

98
from edge_api.identities.models import EdgeIdentity
109
from environments.identities.traits.models import Trait
1110
from features.models import Feature, FeatureState
1211
from features.multivariate.models import MultivariateFeatureOption
12+
from util.engine_models.identities.traits.types import map_any_value_to_trait_value
1313

1414
EXPORT_EDGE_IDENTITY_PAGINATION_LIMIT = 20000
1515

api/edge_api/identities/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
from contextlib import suppress
44

55
from django.db.models import Prefetch, Q
6-
from flag_engine.features.models import FeatureStateModel
7-
from flag_engine.identities.models import IdentityFeaturesList, IdentityModel
86

97
from api_keys.user import APIKeyUser
108
from edge_api.identities.tasks import (
@@ -20,6 +18,8 @@
2018
from features.multivariate.models import MultivariateFeatureStateValue
2119
from features.versioning.versioning_service import get_environment_flags_dict
2220
from users.models import FFAdminUser
21+
from util.engine_models.features.models import FeatureStateModel
22+
from util.engine_models.identities.models import IdentityFeaturesList, IdentityModel
2323
from util.mappers import map_engine_identity_to_identity_document
2424

2525

api/edge_api/identities/serializers.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,6 @@
33

44
from django.utils import timezone
55
from drf_spectacular.utils import extend_schema_field
6-
from flag_engine.features.models import FeatureModel as EngineFeatureModel
7-
from flag_engine.features.models import FeatureStateModel as EngineFeatureStateModel
8-
from flag_engine.features.models import (
9-
MultivariateFeatureOptionModel as EngineMultivariateFeatureOptionModel,
10-
)
11-
from flag_engine.features.models import (
12-
MultivariateFeatureStateValueModel as EngineMultivariateFeatureStateValueModel,
13-
)
14-
from flag_engine.identities.models import IdentityModel as EngineIdentity
15-
from flag_engine.utils.exceptions import DuplicateFeatureState
166
from pydantic import ValidationError as PydanticValidationError
177
from pyngo import drf_error_details
188
from rest_framework import serializers
@@ -25,6 +15,18 @@
2515
from features.serializers import ( # type: ignore[attr-defined]
2616
FeatureStateValueSerializer,
2717
)
18+
from util.engine_models.features.models import FeatureModel as EngineFeatureModel
19+
from util.engine_models.features.models import (
20+
FeatureStateModel as EngineFeatureStateModel,
21+
)
22+
from util.engine_models.features.models import (
23+
MultivariateFeatureOptionModel as EngineMultivariateFeatureOptionModel,
24+
)
25+
from util.engine_models.features.models import (
26+
MultivariateFeatureStateValueModel as EngineMultivariateFeatureStateValueModel,
27+
)
28+
from util.engine_models.identities.models import IdentityModel as EngineIdentity
29+
from util.engine_models.utils.exceptions import DuplicateFeatureState
2830
from util.mappers import (
2931
map_engine_identity_to_identity_document,
3032
map_feature_to_engine,

api/edge_api/identities/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import typing
22

3-
from flag_engine.features.models import FeatureStateModel
3+
from util.engine_models.features.models import FeatureStateModel
44

55
if typing.TYPE_CHECKING:
66
from edge_api.identities.types import ChangeType, FeatureStateChangeDetails

api/edge_api/identities/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
)
1010
from django.shortcuts import get_object_or_404
1111
from drf_spectacular.utils import extend_schema
12-
from flag_engine.identities.models import IdentityFeaturesList, IdentityModel
13-
from flag_engine.identities.traits.models import TraitModel
1412
from pyngo import drf_error_details
1513
from rest_framework import status, viewsets
1614
from rest_framework.decorators import action, api_view, permission_classes
@@ -56,6 +54,8 @@
5654
from features.models import FeatureState
5755
from features.permissions import IdentityFeatureStatePermissions
5856
from projects.exceptions import DynamoNotEnabledError
57+
from util.engine_models.identities.models import IdentityFeaturesList, IdentityModel
58+
from util.engine_models.identities.traits.models import TraitModel
5959

6060
from . import edge_identity_service
6161
from .exceptions import TraitPersistenceError

api/environments/dynamodb/services.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
from decimal import Decimal
33
from typing import Generator, Iterable
44

5-
from flag_engine.identities.models import IdentityModel
6-
75
from environments.dynamodb import (
86
CapacityBudgetExceeded,
97
DynamoEnvironmentV2Wrapper,
@@ -16,6 +14,7 @@
1614
)
1715
from environments.models import Environment
1816
from projects.models import EdgeV2MigrationStatus
17+
from util.engine_models.identities.models import IdentityModel
1918
from util.mappers import map_engine_feature_state_to_identity_override
2019

2120
logger = logging.getLogger(__name__)

api/environments/dynamodb/types.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55

66
import boto3
77
from django.conf import settings
8-
from flag_engine.features.models import FeatureStateModel
98
from pydantic import BaseModel
109

10+
from util.engine_models.features.models import FeatureStateModel
11+
1112
if typing.TYPE_CHECKING:
1213
from projects.models import EdgeV2MigrationStatus
1314

api/environments/dynamodb/wrappers/identity_wrapper.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,17 @@
77
from boto3.dynamodb.conditions import Attr, Key
88
from django.conf import settings
99
from django.core.exceptions import ObjectDoesNotExist
10-
from flag_engine.context.mappers import map_environment_identity_to_context
11-
from flag_engine.environments.models import EnvironmentModel
12-
from flag_engine.identities.models import IdentityModel
13-
from flag_engine.segments.evaluator import get_context_segments
1410
from rest_framework.exceptions import NotFound
1511

1612
from edge_api.identities.search import EdgeIdentitySearchData
1713
from environments.dynamodb.constants import IDENTITIES_PAGINATION_LIMIT
1814
from environments.dynamodb.wrappers.exceptions import CapacityBudgetExceeded
15+
from util.engine_models.context.mappers import (
16+
get_context_segments,
17+
map_environment_identity_to_context,
18+
)
19+
from util.engine_models.environments.models import EnvironmentModel
20+
from util.engine_models.identities.models import IdentityModel
1921
from util.mappers import map_identity_to_identity_document
2022

2123
from .base import BaseDynamoWrapper

0 commit comments

Comments
 (0)