| 25 | logger.debug("Sent event to Heap. Response code was: %s" % response.status_code) |
| 26 | |
| 27 | def generate_user_data( |
| 28 | self, |
| 29 | identity: Identity, |
| 30 | feature_states: typing.List[FeatureState], |
| 31 | trait_models: typing.List[Trait] = None, # type: ignore[assignment] |
| 32 | ) -> dict: # type: ignore[type-arg] |
| 33 | feature_properties = {} |
| 34 | |
| 35 | for feature_state in feature_states: |
| 36 | value = feature_state.get_feature_state_value(identity=identity) |
| 37 | feature_properties[feature_state.feature.name] = ( |
| 38 | value |
| 39 | if (feature_state.enabled and value is not None) |
| 40 | else feature_state.enabled |
| 41 | ) |
| 42 | |
| 43 | return { |
| 44 | "app_id": self.api_key, |
| 45 | "identity": identity.identifier, |
| 46 | "event": "Flagsmith Feature Flags", |
| 47 | "properties": feature_properties, |
| 48 | } |