qbit_manage/web-ui/js/config-schemas/notifications.js
bobokun ca4819bc0b
4.5.1 (#874)
# Requirements Updated
- qbittorrent-api==2025.7.0
- fastapi==0.116.1


# New Features
- **Uncategorized Category**: Allow multiple paths for Uncategorized
category and add error handling (Thanks to @cat-of-wisdom #849)
- **Config Auto Backup and Cleanup**: implement automatic backup
rotation (30 most recent backups per config) and cleanup
- **Web UI**: add base URL support for reverse proxy deployments (Fixes
#871)
- **Share Limits**: add option to preserve upload speed limits when
minimums unmet (New config option
`reset_upload_speed_on_unmet_minimums`) (Fixes #835, #791)

# Improvements
- Optimize webUI form rendering
- Better centralized error handling for qbitorrent API operations
- **Web UI**: add editable group names to share limit modal

# Bug Fixes
- Fix bug in remove orphaned to notify when there are 0 orphaned files
- Fixes [Bug]: Cannot run on Python 3.9.18 #864
- fix(qbit): add error handling for qBittorrent API operations

**Full Changelog**:
https://github.com/StuffAnThings/qbit_manage/compare/v4.5.0...v4.5.1

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: cat-of-wisdom <217637421+cat-of-wisdom@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-19 08:59:41 -04:00

155 lines
6.2 KiB
JavaScript

export const notificationsSchema = {
title: 'Notifications',
description: 'Configure notifications for various events using Apprise, Notifiarr, or custom webhooks.',
type: 'multi-root-object',
fields: [
{
type: 'section_header',
label: 'Apprise Configuration'
},
{
name: 'apprise.api_url',
type: 'text',
label: 'Apprise API Endpoint URL',
description: 'The URL of your Apprise API endpoint (e.g., http://apprise-api:8000). Leave empty to disable.',
placeholder: 'http://apprise-api:8000'
},
{
name: 'apprise.notify_url',
type: 'text',
label: 'Notification Services URL',
description: 'The notification URL(s) for your desired services, as supported by Apprise.',
placeholder: 'discord://webhook_id/webhook_token'
},
{
type: 'section_header',
label: 'Notifiarr Configuration'
},
{
name: 'notifiarr.apikey',
type: 'password',
label: 'API Key',
description: 'Your Notifiarr API key. Leave empty to disable.',
placeholder: 'Your Notifiarr API Key'
},
{
name: 'notifiarr.instance',
type: 'text',
label: 'Instance',
description: '(Optional) A unique identifier for this qbit_manage instance in Notifiarr.',
placeholder: 'my-instance'
},
{
type: 'section_header',
label: 'Apply to All Webhooks'
},
{
name: 'apply_to_all_value',
type: 'select',
label: 'Value to Apply',
options: [
{ value: 'notifiarr', label: 'Notifiarr' },
{ value: 'apprise', label: 'Apprise' },
{ value: 'custom', label: 'Custom URL' }
],
default: 'notifiarr'
},
{
type: 'button',
label: 'Apply to All',
action: 'apply-to-all'
},
{
type: 'section_header',
label: 'Webhooks Configuration'
},
{
name: 'webhooks.error',
type: 'dynamic_select_text',
label: 'Error Webhook',
description: 'Webhook for error notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
},
{
name: 'webhooks.run_start',
type: 'dynamic_select_text',
label: 'Run Start Webhook',
description: 'Webhook for run start notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
},
{
name: 'webhooks.run_end',
type: 'dynamic_select_text',
label: 'Run End Webhook',
description: 'Webhook for run end notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
},
{
type: 'section_header',
label: 'Function Specific Webhooks'
},
{
name: 'webhooks.function.recheck',
type: 'dynamic_select_text',
label: 'Recheck Webhook',
description: 'Webhook for recheck notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
},
{
name: 'webhooks.function.cat_update',
type: 'dynamic_select_text',
label: 'Category Update Webhook',
description: 'Webhook for category update notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
},
{
name: 'webhooks.function.tag_update',
type: 'dynamic_select_text',
label: 'Tag Update Webhook',
description: 'Webhook for tag update notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
},
{
name: 'webhooks.function.rem_unregistered',
type: 'dynamic_select_text',
label: 'Remove Unregistered Webhook',
description: 'Webhook for remove unregistered notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
},
{
name: 'webhooks.function.tag_tracker_error',
type: 'dynamic_select_text',
label: 'Tag Tracker Error Webhook',
description: 'Webhook for tag tracker error notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
},
{
name: 'webhooks.function.rem_orphaned',
type: 'dynamic_select_text',
label: 'Remove Orphaned Webhook',
description: 'Webhook for remove orphaned notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
},
{
name: 'webhooks.function.tag_nohardlinks',
type: 'dynamic_select_text',
label: 'Tag No Hardlinks Webhook',
description: 'Webhook for tag no hardlinks notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
},
{
name: 'webhooks.function.share_limits',
type: 'dynamic_select_text',
label: 'Share Limits Webhook',
description: 'Webhook for share limits notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
},
{
name: 'webhooks.function.cleanup_dirs',
type: 'dynamic_select_text',
label: 'Cleanup Directories Webhook',
description: 'Webhook for cleanup directories notifications. Can be set to "apprise", "notifiarr", or a custom URL.',
options: ['apprise', 'notifiarr', 'webhook']
}
]
};