mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-07-18 00:55:50 +00:00
Some checks failed
CI Pipeline / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
Frontend Tests / test (push) Has been cancelled
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Has been cancelled
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Has been cancelled
CI Pipeline / create-manifest (push) Has been cancelled
Added password fields - #616 Fixed multiple GUI issues - #494 Adds some QoL upgrades See CHANGELOG.md for more info
45 lines
2 KiB
Python
45 lines
2 KiB
Python
from rest_framework import serializers
|
|
|
|
|
|
class PluginActionSerializer(serializers.Serializer):
|
|
id = serializers.CharField()
|
|
label = serializers.CharField()
|
|
description = serializers.CharField(required=False, allow_blank=True)
|
|
confirm = serializers.JSONField(required=False)
|
|
button_label = serializers.CharField(required=False, allow_blank=True)
|
|
button_variant = serializers.CharField(required=False, allow_blank=True)
|
|
button_color = serializers.CharField(required=False, allow_blank=True)
|
|
|
|
|
|
class PluginFieldOptionSerializer(serializers.Serializer):
|
|
value = serializers.CharField()
|
|
label = serializers.CharField()
|
|
|
|
|
|
class PluginFieldSerializer(serializers.Serializer):
|
|
id = serializers.CharField()
|
|
label = serializers.CharField(required=False, allow_blank=True)
|
|
type = serializers.ChoiceField(choices=["string", "number", "boolean", "select", "text", "info"])
|
|
default = serializers.JSONField(required=False)
|
|
help_text = serializers.CharField(required=False, allow_blank=True)
|
|
description = serializers.CharField(required=False, allow_blank=True)
|
|
placeholder = serializers.CharField(required=False, allow_blank=True)
|
|
input_type = serializers.CharField(required=False, allow_blank=True)
|
|
min = serializers.FloatField(required=False)
|
|
max = serializers.FloatField(required=False)
|
|
step = serializers.FloatField(required=False)
|
|
value = serializers.CharField(required=False, allow_blank=True)
|
|
options = PluginFieldOptionSerializer(many=True, required=False)
|
|
|
|
|
|
class PluginSerializer(serializers.Serializer):
|
|
key = serializers.CharField()
|
|
name = serializers.CharField()
|
|
version = serializers.CharField(allow_blank=True)
|
|
description = serializers.CharField(allow_blank=True)
|
|
author = serializers.CharField(required=False, allow_blank=True)
|
|
help_url = serializers.CharField(required=False, allow_blank=True)
|
|
enabled = serializers.BooleanField()
|
|
fields = PluginFieldSerializer(many=True)
|
|
settings = serializers.JSONField()
|
|
actions = PluginActionSerializer(many=True)
|