Enforce deterministic ordering for plugin settings (#11643)
* Enforce deterministic ordering for plugin settings * Fix typo
This commit is contained in:
parent
e4ac02a840
commit
5f3e9a0652
|
|
@ -97,6 +97,10 @@ class MachineSettingList(APIView):
|
|||
)
|
||||
all_settings.extend(list(settings_dict.values()))
|
||||
|
||||
# Sort settings by the 'key' field before returning,
|
||||
# to ensure a deterministic order in the API response
|
||||
all_settings = sorted(all_settings, key=lambda x: x.key)
|
||||
|
||||
results = MachineSerializers.MachineSettingSerializer(
|
||||
all_settings, many=True
|
||||
).data
|
||||
|
|
|
|||
|
|
@ -380,8 +380,12 @@ class PluginAllSettingList(APIView):
|
|||
settings_definition=settings, plugin=plugin.plugin_config()
|
||||
)
|
||||
|
||||
# Sort settings by the 'key' field before returning,
|
||||
# to ensure a deterministic order in the API response
|
||||
settings_values = sorted(settings_dict.values(), key=lambda x: x.key)
|
||||
|
||||
results = PluginSerializers.PluginSettingSerializer(
|
||||
list(settings_dict.values()), many=True
|
||||
settings_values, many=True
|
||||
).data
|
||||
return Response(results)
|
||||
|
||||
|
|
@ -444,8 +448,12 @@ class PluginUserSettingList(APIView):
|
|||
user=request.user,
|
||||
)
|
||||
|
||||
# Sort settings by the 'key' field before returning,
|
||||
# to ensure a deterministic order in the API response
|
||||
settings_values = sorted(settings_dict.values(), key=lambda x: x.key)
|
||||
|
||||
results = PluginSerializers.PluginUserSettingSerializer(
|
||||
list(settings_dict.values()), many=True
|
||||
settings_values, many=True
|
||||
).data
|
||||
return Response(results)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue