made condition.cli optional

This commit is contained in:
arabcoders 2025-09-08 17:48:04 +03:00
parent 2ae1f5b6ad
commit f417041f53
3 changed files with 11 additions and 7 deletions

View file

@ -71,17 +71,17 @@ async def conditions_add(request: Request, encoder: Encoder, notify: EventBus) -
if not item.get("name"):
return web.json_response(
{"error": "name is required.", "data": item}, status=web.HTTPBadRequest.status_code
{"error": "Name is required.", "data": item}, status=web.HTTPBadRequest.status_code
)
if not item.get("filter"):
return web.json_response(
{"error": "filter is required.", "data": item}, status=web.HTTPBadRequest.status_code
{"error": "Filter is required.", "data": item}, status=web.HTTPBadRequest.status_code
)
if not item.get("cli"):
if not item.get("cli") and len(item.get("extras", {}).keys()) < 1:
return web.json_response(
{"error": "command options for yt-dlp is required.", "data": item},
{"error": "A Condition Must have cli options or extras", "data": item},
status=web.HTTPBadRequest.status_code,
)

View file

@ -321,6 +321,11 @@ const checkInfo = async (): Promise<void> => {
}
}
if ((!form.cli || '' === form.cli.trim()) && Object.keys(form.extras).length < 1) {
toast.error('Either command options for yt-dlp or at least one extra option is required.')
return
}
if (form.cli && '' !== form.cli.trim()) {
const options = await convertOptions(form.cli)
if (options === null) {

View file

@ -199,9 +199,8 @@ const updateItems = async (newItems: ConditionItem[]): Promise<boolean> => {
addInProgress.value = true
const validItems = newItems.map(({ id, name, filter, cli, extras }) => {
if (!name || !filter || !cli) {
toast.error('Name, filter and cli are required.')
throw new Error('Missing fields')
if (!name || !filter) {
throw new Error('Name and filter are required.')
}
return { id, name, filter, cli, extras }
})