Files
keinasystem/backend/apps/mail/urls.py
Akira 04b1ca1bb9 実装完了
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通知数、フィードバック待ち、ルール数、メール履歴・ルール管理ボタン
2026-02-22 15:01:50 +09:00

25 lines
957 B
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from . import views
router = DefaultRouter()
router.register(r'senders', views.MailSenderViewSet, basename='mail-sender')
urlpatterns = [
# Windmill向けAPIAPIキー認証
path('sender-rule/', views.SenderRuleView.as_view(), name='mail-sender-rule'),
path('sender-context/', views.SenderContextView.as_view(), name='mail-sender-context'),
# メール記録POST: APIキー認証履歴取得GET: JWT認証
path('emails/', views.MailEmailView.as_view(), name='mail-emails'),
# ダッシュボード用統計JWT認証
path('stats/', views.MailStatsView.as_view(), name='mail-stats'),
# フィードバック認証不要、UUIDトークン
path('feedback/<uuid:token>/', views.FeedbackView.as_view(), name='mail-feedback'),
# ルール管理JWT認証
path('', include(router.urls)),
]