Backend(Django) backend/apps/mail/serializers.py MailEmailListSerializer を新規追加(フロントエンド向けメール一覧用) feedback_token フィールドを含む(フィードバックリンク表示用) backend/apps/mail/views.py MailEmailCreateView → MailEmailView に変更(GET+POST を統合) GET /api/mail/emails/ : JWT認証でメール履歴取得(最新100件、account/verdict フィルター対応) POST /api/mail/emails/ : APIキー認証でWindmillからのメール記録(既存動作を維持) get_permissions() でメソッドごとに認証方法を切替 MailStatsView を新規追加 GET /api/mail/stats/ : 今日の処理件数、LINE通知数、フィードバック待ち、ルール数を返す backend/apps/mail/urls.py emails/ → MailEmailView(GET+POST) stats/ → MailStatsView を追加 Frontend(Next.js) frontend/src/app/mail/history/page.tsx (新規作成) メール処理履歴の一覧テーブル アカウント・LLM判定でフィルタリング可能 LLM判定・フィードバック状態をバッジで表示 フィードバックトークンがあれば「回答」リンクを表示 frontend/src/app/dashboard/page.tsx (再設計) 2カラムのモジュールカード形式に変更 作付け計画カード: 年度セレクタ、集計数値、作物別集計、クイックアクセス メール通知カード: 今日の処理件数、LINE通知数、フィードバック待ち、ルール数、メール履歴・ルール管理ボタン
19 lines
1.1 KiB
JSON
19 lines
1.1 KiB
JSON
{
|
||
"permissions": {
|
||
"allow": [
|
||
"Bash(/tmp/var_api_url.json:*)",
|
||
"Bash(# KEINASYSTEM_API_KEY(シークレット、.envから取得):*)",
|
||
"Bash(TOKEN=\"B7rSUp3LF2uecega4zT1XdsBQOiTpfdj\")",
|
||
"Bash(JOB_ID=\"019c833b-ce64-ac0e-cd4b-00f8d02dfdc2\")",
|
||
"Bash(__NEW_LINE_17f520e50c1d8744__ curl -sk -H \"Authorization: Bearer $TOKEN\" \"http://localhost/api/w/admins/jobs_u/get/$JOB_ID\")",
|
||
"Bash(__NEW_LINE_5491ba1606e037f0__ curl -sk -H \"Authorization: Bearer $TOKEN\" \"http://localhost/api/w/admins/jobs_u/get/$JOB_ID\")",
|
||
"Bash(__NEW_LINE_aab4b5b969b9f00e__ curl -sk -H \"Authorization: Bearer $TOKEN\" \"http://localhost/api/w/admins/jobs_u/get/$JOB_ID\")",
|
||
"Bash(__NEW_LINE_200db6a80207b533__ curl -sk -H \"Authorization: Bearer $TOKEN\" \"http://localhost/api/w/admins/jobs_u/completed/get_result/$JOB_ID\")",
|
||
"Bash(STEP_JOB=\"019c8344-4fc4-f59e-1009-c3733e28b46c\")",
|
||
"Bash(__NEW_LINE_94a6a83a7608650e__ curl -sk -H \"Authorization: Bearer $TOKEN\" \"http://localhost/api/w/admins/jobs_u/completed/get/$STEP_JOB\")",
|
||
"Bash(docker start:*)",
|
||
"Bash(docker stop:*)"
|
||
]
|
||
}
|
||
}
|