MCPcopy Create free account
hub / github.com/Flagsmith/flagsmith / create

Method create

api/features/views.py:707–744  ·  view source on GitHub ↗

DEPRECATED: please use `/features/featurestates/` instead. Override create method to add environment and identity (if present) from URL parameters.

(self, request, *args, **kwargs)

Source from the content-addressed store, hash-verified

705 return environment
706
707 def create(self, request, *args, **kwargs): # type: ignore[no-untyped-def]
708 """
709 DEPRECATED: please use `/features/featurestates/` instead.
710 Override create method to add environment and identity (if present) from URL parameters.
711 """
712 data = request.data
713 if "feature" not in data:
714 error = {"detail": "Feature not provided"}
715 return Response(error, status=status.HTTP_400_BAD_REQUEST)
716
717 environment = self.get_environment_from_request() # type: ignore[no-untyped-call]
718 data["environment"] = environment.id
719
720 identity_pk = self.kwargs.get("identity_pk")
721 if identity_pk:
722 data["identity"] = identity_pk
723
724 require_direct_state_write(
725 environment=environment,
726 is_identity_override=bool(identity_pk),
727 )
728
729 serializer = self.get_serializer(data=data)
730
731 if serializer.is_valid(raise_exception=True):
732 feature_state = serializer.save()
733 headers = self.get_success_headers(serializer.data)
734
735 if "feature_state_value" in data:
736 self.update_feature_state_value( # type: ignore[no-untyped-call]
737 data["feature_state_value"], feature_state
738 )
739
740 return Response(
741 FeatureStateSerializerBasic(feature_state).data,
742 status=status.HTTP_201_CREATED,
743 headers=headers,
744 )
745
746 def update(self, request, *args, **kwargs): # type: ignore[no-untyped-def]
747 """

Callers 4

createMethod · 0.45

Calls 7

is_validMethod · 0.80
getMethod · 0.45
saveMethod · 0.45

Tested by

no test coverage detected