1.9 KiB
1.9 KiB
Tasks — Spec 007 Mobile Push Notifications
Status: 📋 Backlog (draft)
Prioridade: P1
API alvo: 0.9.0-desk-push-ntfy → 0.9.1-desk-push-pwa
Fase A — ntfy por usuário (MVP)
- T001 Schema:
desk_users.ntfy_topicestável +push_ntfy_enabled - T002 Migrar lógica de
ntfy_topicde registration-only para user profile - T003
GET /api/v1/push/settings - T004
POST /api/v1/push/ntfy/enable·disable - T005
POST /api/v1/push/test(notificação teste) - T006 UI Minha conta — seção Notificações (toggle + link + QR)
- T007
push_service.py—notify_user(),notify_role() - T008 Hook: ticket Wazuh criado → push
noc+ops_lead+ root - T009 Hook: pedido cadastro → push root
- T010 Rate limit push · logs · falha silenciosa
- T011 Testes manuais Android/iOS ntfy
- T012 Docs quickstart + env
DESK_NTFY_BASE_URL
Fase B — Web Push PWA
- T020
manifest.json+ ícones Ligbox Ops - T021 Service Worker
sw.js(push + notificationclick) - T022 Tabela
push_subscriptions - T023 VAPID keys (env) +
pywebpushno requirements - T024
POST /api/v1/push/subscribe· DELETE - T025 UI «Ativar notificações neste dispositivo»
- T026 Integrar
push_servicedual-channel (ntfy + webpush) - T027 Teste iOS Safari PWA + Android Chrome
Fase C — Futuro (fora MVP 007)
- T030 Preferências por tipo de evento
- T031 FCM para app nativo
- T032 ntfy self-hosted (VM122 ou VM108)
- T033 OneSignal avaliação (se FCM complexo demais)
Dependências
- Spec 003 ✅ auth JWT
- Spec 004 ✅ Minha conta UI · ntfy OTP base
Env vars (previstas)
DESK_NTFY_BASE_URL=https://ntfy.sh
DESK_VAPID_PUBLIC_KEY=
DESK_VAPID_PRIVATE_KEY=
DESK_VAPID_MAILTO=ligbox-ops@ligbox.com.br
DESK_PUSH_ENABLED=true