M: Add fixed ordering for data sent to frontend
Some checks failed
Frontend CI / build (22.x) (push) Waiting to run
Backend CI / build (3.12) (push) Has been cancelled

This commit is contained in:
Ivan 2024-09-02 12:32:42 +03:00
parent 6e0a80d9eb
commit 40b799d815
2 changed files with 5 additions and 5 deletions

View File

@ -84,10 +84,10 @@ class LibraryItemDetailsSerializer(serializers.ModelSerializer):
read_only_fields = ('owner', 'id', 'item_type') read_only_fields = ('owner', 'id', 'item_type')
def get_editors(self, instance: LibraryItem) -> list[int]: def get_editors(self, instance: LibraryItem) -> list[int]:
return list(instance.editors().values_list('pk', flat=True)) return list(instance.editors().order_by('pk').values_list('pk', flat=True))
def get_versions(self, instance: LibraryItem) -> list: def get_versions(self, instance: LibraryItem) -> list:
return [VersionInnerSerializer(item).data for item in instance.versions()] return [VersionInnerSerializer(item).data for item in instance.versions().order_by('pk')]
class UserTargetSerializer(serializers.Serializer): class UserTargetSerializer(serializers.Serializer):

View File

@ -207,10 +207,10 @@ class OperationSchemaSerializer(serializers.ModelSerializer):
result = LibraryItemDetailsSerializer(instance).data result = LibraryItemDetailsSerializer(instance).data
oss = OperationSchema(instance) oss = OperationSchema(instance)
result['items'] = [] result['items'] = []
for operation in oss.operations(): for operation in oss.operations().order_by('pk'):
result['items'].append(OperationSerializer(operation).data) result['items'].append(OperationSerializer(operation).data)
result['arguments'] = [] result['arguments'] = []
for argument in oss.arguments(): for argument in oss.arguments().order_by('pk'):
result['arguments'].append(ArgumentSerializer(argument).data) result['arguments'].append(ArgumentSerializer(argument).data)
result['substitutions'] = [] result['substitutions'] = []
for substitution in oss.substitutions().values( for substitution in oss.substitutions().values(
@ -221,6 +221,6 @@ class OperationSchemaSerializer(serializers.ModelSerializer):
original_term=F('original__term_resolved'), original_term=F('original__term_resolved'),
substitution_alias=F('substitution__alias'), substitution_alias=F('substitution__alias'),
substitution_term=F('substitution__term_resolved'), substitution_term=F('substitution__term_resolved'),
): ).order_by('pk'):
result['substitutions'].append(substitution) result['substitutions'].append(substitution)
return result return result