Skip to content

feat: add Protect camera/RTSPS management, masked config init, auto-generated schema#1

Open
MinhPho wants to merge 3 commits intorvben:mainfrom
MinhPho:feat/protect-api
Open

feat: add Protect camera/RTSPS management, masked config init, auto-generated schema#1
MinhPho wants to merge 3 commits intorvben:mainfrom
MinhPho:feat/protect-api

Conversation

@MinhPho
Copy link
Copy Markdown

@MinhPho MinhPho commented Apr 8, 2026

Description

Adds UniFi Protect camera management, RTSPS stream lifecycle, and two quality-of-life improvements:

  • Protect cameras: protect cameras list, protect cameras show via integration API (API key); --full flag for direct Protect API (cookie auth with --username/--password)
  • RTSPS streams: protect rtsps list, protect rtsps create, protect rtsps delete with quality validation and camera resolution by name or ID
  • Masked config init: secrets (api-key, password) hidden during interactive config init using rpassword; optional --username/--password prompts for Protect credentials
  • Auto-generated schema: schema command now walks clap's Command tree at runtime instead of maintaining a hand-written JSON literal; domain metadata (output_fields, mutating, note) layered on top

Type of Change

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change (fix or feature causing existing functionality to change)
  • Documentation update

Testing

  • Tests added/updated
  • All tests passing (401 tests)
  • Manual testing performed (live against UDM Pro + Protect)

Checklist

  • Code follows project style (cargo clippy clean)
  • Conventional commit messages used
  • Documentation updated (if needed)
  • CHANGELOG.md updated (if user-facing)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant