Coverage for backend/django/flowsheetInternals/unitops/serializers/FlowsheetEditOperationSerializer.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-07-22 05:22 +0000

1from rest_framework import serializers 

2 

3from flowsheetInternals.unitops.models.FlowsheetEditOperation import ( 

4 FlowsheetEditOperation, 

5) 

6 

7 

8class FlowsheetEditOperationSerializer(serializers.ModelSerializer): 

9 """Public history metadata without internal forward/inverse payloads.""" 

10 

11 operation_id = serializers.IntegerField(source="pk", read_only=True) 

12 label = serializers.CharField(source="label_key", read_only=True) 

13 

14 class Meta: 

15 model = FlowsheetEditOperation 

16 fields = ( 

17 "operation_id", 

18 "kind", 

19 "label", 

20 "revision", 

21 "last_revision", 

22 "state", 

23 "schema_version", 

24 "affected_object_ids", 

25 "affected_group_ids", 

26 "created_at", 

27 "updated_at", 

28 ) 

29 

30 

31class FlowsheetEditTransitionSerializer(serializers.Serializer): 

32 """Response returned after applying an undo or redo transition.""" 

33 

34 operation_id = serializers.IntegerField() 

35 label = serializers.CharField() 

36 revision = serializers.IntegerField() 

37 state = serializers.CharField() 

38 affected_object_ids = serializers.ListField(child=serializers.IntegerField()) 

39 affected_group_ids = serializers.ListField(child=serializers.IntegerField()) 

40 

41 

42class FlowsheetEditTransitionRequestSerializer(serializers.Serializer): 

43 """Concurrency token supplied by the history list currently on screen.""" 

44 

45 expected_revision = serializers.IntegerField(min_value=0)