・プッシュ通知の修正
・メニューをスマホに最適化 ・アラート送信済みの条件が再度発動しないように修正
This commit is contained in:
@@ -42,11 +42,14 @@
|
||||
- Webhook 登録 API
|
||||
- Webhook 更新 API
|
||||
- Webhook 削除 API
|
||||
- 現在ブラウザの Push 購読状態確認 API
|
||||
- Push 購読情報登録 API
|
||||
- Push 購読情報解除 API
|
||||
- OpenSSL による証明書発行元・発行日時・期限取得処理
|
||||
- 監視ジョブで取得した最新の証明書発行元・発行日時・期限・確認日時・取得失敗状態をサイトに保存
|
||||
- サイトごとの通知条件評価
|
||||
- 条件一致時のアラート履歴作成
|
||||
- 通知条件ごとの証明書期限単位の送信済み管理
|
||||
- 証明書取得失敗時のアラート履歴作成
|
||||
- Webhook 通知送信処理
|
||||
- Push 通知送信処理
|
||||
@@ -151,6 +154,7 @@
|
||||
- `updated_at` 更新用トリガーを定義。
|
||||
- ユーザー関連データは `ON DELETE CASCADE` を中心に設計。
|
||||
- サイト削除時は通知条件も削除される。
|
||||
- 通知条件は、対象の証明書期限ごとに送信済み状態を保持する。
|
||||
- アラート履歴のサイト参照は `ON DELETE SET NULL`。
|
||||
|
||||
## API
|
||||
@@ -183,7 +187,9 @@ GET /api/notification-methods
|
||||
POST /api/notification-methods/webhooks
|
||||
PATCH /api/notification-methods/webhooks/:methodId
|
||||
DELETE /api/notification-methods/webhooks/:methodId
|
||||
POST /api/notification-methods/push-subscription-status
|
||||
POST /api/notification-methods/push-subscriptions
|
||||
DELETE /api/notification-methods/push-subscriptions
|
||||
|
||||
GET /api/account
|
||||
PATCH /api/account/profile
|
||||
@@ -238,7 +244,9 @@ pnpm monitor:worker
|
||||
- Webhook 編集
|
||||
- 確認ダイアログ付き Webhook 削除
|
||||
- ブラウザ Push 通知の許可状態表示
|
||||
- 現在のブラウザの Push 登録状態表示
|
||||
- VAPID public key がある場合の Push 購読登録
|
||||
- 現在のブラウザが登録済みの場合の Push 購読解除
|
||||
- アカウント設定画面
|
||||
- 表示名更新
|
||||
- ダイアログでのパスワード更新
|
||||
@@ -248,7 +256,7 @@ pnpm monitor:worker
|
||||
- 確認ダイアログ付きアカウント削除
|
||||
- 認証後画面共通の左サイドメニュー
|
||||
- PC 幅では展開表示
|
||||
- スマートフォンなど狭い幅ではアイコンのみの畳み表示
|
||||
- スマートフォンなど狭い幅では上部の横メニューバーとハンバーガーメニューで表示
|
||||
- サイト一覧、アラート履歴、通知方法、アカウント、ログアウトに対応
|
||||
- 認証後画面の URL ルーティング
|
||||
- サイト一覧、サイト設定、アラート履歴、通知方法、アカウントに個別 URL を付与
|
||||
@@ -283,6 +291,8 @@ pnpm monitor:worker
|
||||
- Webhook URL は `normalizeHttpsUrl` を通し、localhost / private IPv4 / loopback IPv4 を拒否。
|
||||
- Webhook 更新・削除はログインユーザーの通知方法のみ対象。
|
||||
- Push endpoint は HTTPS のみ許可。
|
||||
- Push 設定画面では登録済みデバイス一覧を返さず、現在ブラウザの登録状態のみ確認。
|
||||
- Push 購読解除はログインユーザーの現在ブラウザ endpoint のみ対象。
|
||||
- OpenSSL 呼び出しはタイムアウトを設定。
|
||||
- 監視ジョブはサイト単位の失敗で全体を止めない。
|
||||
- 外部通信を伴う監視処理は並列数を制限。
|
||||
@@ -336,9 +346,12 @@ API 動作確認:
|
||||
- API 経由で Webhook 登録成功。
|
||||
- API 経由で Webhook 更新成功。
|
||||
- API 経由で Webhook 削除成功。
|
||||
- API 経由で現在ブラウザの Push 登録状態確認成功。
|
||||
- API 経由で Push 購読情報登録成功。
|
||||
- API 経由で Push 購読情報解除成功。
|
||||
- `pnpm monitor:once` 成功。
|
||||
- API セキュリティ境界と証明書監視処理のテスト成功。
|
||||
- 通知条件ごとの重複送信防止、1 時間以上経過時の送信済み扱い、証明書更新時の再通知をテストで確認。
|
||||
- `/push-sw.js` が SPA fallback ではなく Service Worker JavaScript として返ることをテストで確認。
|
||||
- サイト登録時の証明書期限初期取得と取得失敗時の登録拒否テスト成功。
|
||||
- 権限付き実行で OpenSSL による実サイトの証明書期限取得成功。
|
||||
|
||||
Reference in New Issue
Block a user