Ejemplo n.º 1
0
    def update(self, instance: FeatureFlag, validated_data: Dict, *args: Any, **kwargs: Any) -> FeatureFlag:
        request = self.context["request"]
        validated_key = validated_data.get("key", None)
        if validated_key:
            FeatureFlag.objects.filter(key=validated_key, team=instance.team, deleted=True).delete()
        self._update_filters(validated_data)
        instance = super().update(instance, validated_data)

        posthoganalytics.capture(
            request.user.distinct_id, "feature flag updated", instance.get_analytics_metadata(),
        )
        return instance
Ejemplo n.º 2
0
    def update(self, instance: FeatureFlag, validated_data: Dict, *args: Any,
               **kwargs: Any) -> FeatureFlag:  # type: ignore
        request = self.context["request"]
        try:
            validated_key = validated_data.get("key", None)
            if validated_key:
                FeatureFlag.objects.filter(key=validated_key,
                                           team=instance.team,
                                           deleted=True).delete()
            self._update_filters(validated_data)
            instance = super().update(instance, validated_data)
        except IntegrityError:
            raise serializers.ValidationError("This key already exists.",
                                              code="key-exists")

        posthoganalytics.capture(
            request.user.distinct_id,
            "feature flag updated",
            instance.get_analytics_metadata(),
        )
        return instance