ytptube/app/schema/dl_fields.json
2025-09-23 01:41:22 +03:00

78 lines
1.9 KiB
JSON

{
"$id": "https://ytptube.app/schema/dl_fields.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Download Field Definition",
"description": "Schema for custom yt-dlp field definitions used in YTPTube.",
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"description",
"field",
"kind"
],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the field (UUID)."
},
"name": {
"type": "string",
"description": "Human-readable name for the field."
},
"description": {
"type": "string",
"description": "Description of the field."
},
"field": {
"type": "string",
"description": "yt-dlp field or CLI argument."
},
"kind": {
"type": "string",
"description": "Type of field (string, text, bool).",
"enum": [
"string",
"text",
"bool"
]
},
"icon": {
"type": "string",
"description": "Font-awesome icon for the field.",
"default": ""
},
"order": {
"type": "integer",
"description": "Order for sorting fields in the UI.",
"default": 0
},
"value": {
"type": "string",
"description": "Default value for the field.",
"default": ""
},
"extras": {
"type": "object",
"description": "Additional options for the field.",
"default": {}
}
},
"additionalProperties": false,
"examples": [
{
"id": "acffe9f6-993b-42ad-94ff-4646f48a83a9",
"name": "Delete cache?",
"description": "Delete cache",
"field": "--no-continue",
"kind": "bool",
"icon": "fa-solid fa-trash-arrow-up",
"order": 1,
"value": "",
"extras": {}
}
]
}
}