mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-01-23 02:35:14 +00:00
28 lines
1.1 KiB
Python
28 lines
1.1 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)
|
|
|
|
|
|
class PluginFieldSerializer(serializers.Serializer):
|
|
id = serializers.CharField()
|
|
label = serializers.CharField()
|
|
type = serializers.ChoiceField(choices=["string", "number", "boolean", "select"]) # simple types
|
|
default = serializers.JSONField(required=False)
|
|
help_text = serializers.CharField(required=False, allow_blank=True)
|
|
options = serializers.ListField(child=serializers.DictField(), required=False)
|
|
|
|
|
|
class PluginSerializer(serializers.Serializer):
|
|
key = serializers.CharField()
|
|
name = serializers.CharField()
|
|
version = serializers.CharField(allow_blank=True)
|
|
description = serializers.CharField(allow_blank=True)
|
|
enabled = serializers.BooleanField()
|
|
fields = PluginFieldSerializer(many=True)
|
|
settings = serializers.JSONField()
|
|
actions = PluginActionSerializer(many=True)
|
|
|