rsnarsna
first commit
667aacd
Raw
History Blame Contribute Delete
2.62 kB
"""
Admin configuration for the intelligence app.
"""
from django.contrib import admin
from apps.intelligence.models import (
AIModel,
AIPrompt,
Anomaly,
APIRequestLog,
ChatMessage,
ChatSession,
ContentEmbedding,
EventLog,
FeatureUsageLog,
Metric,
ReadModelCache,
RiskScore,
)
class ChatMessageInline(admin.TabularInline):
model = ChatMessage
extra = 0
readonly_fields = ("created_at",)
@admin.register(EventLog)
class EventLogAdmin(admin.ModelAdmin):
list_display = ("event_type", "actor_user", "org", "ip_address", "created_at")
list_filter = ("event_type",)
search_fields = ("event_type",)
readonly_fields = ("created_at",)
@admin.register(AIModel)
class AIModelAdmin(admin.ModelAdmin):
list_display = ("name", "provider", "is_active", "created_at")
list_filter = ("provider", "is_active")
@admin.register(AIPrompt)
class AIPromptAdmin(admin.ModelAdmin):
list_display = ("slug", "version", "is_active", "created_at")
list_filter = ("is_active",)
search_fields = ("slug",)
@admin.register(ChatSession)
class ChatSessionAdmin(admin.ModelAdmin):
list_display = ("title", "user", "model", "created_at")
list_filter = ("model",)
inlines = [ChatMessageInline]
@admin.register(ChatMessage)
class ChatMessageAdmin(admin.ModelAdmin):
list_display = ("session", "role", "tokens_used", "created_at")
list_filter = ("role",)
@admin.register(ContentEmbedding)
class ContentEmbeddingAdmin(admin.ModelAdmin):
list_display = ("content_type", "content_id", "created_at")
list_filter = ("content_type",)
@admin.register(RiskScore)
class RiskScoreAdmin(admin.ModelAdmin):
list_display = ("user", "score", "calculated_at")
@admin.register(Anomaly)
class AnomalyAdmin(admin.ModelAdmin):
list_display = ("user", "anomaly_type", "severity", "created_at")
list_filter = ("severity", "anomaly_type")
@admin.register(Metric)
class MetricAdmin(admin.ModelAdmin):
list_display = ("metric_key", "value", "recorded_at")
list_filter = ("metric_key",)
@admin.register(ReadModelCache)
class ReadModelCacheAdmin(admin.ModelAdmin):
list_display = ("cache_key", "org", "refreshed_at")
@admin.register(FeatureUsageLog)
class FeatureUsageLogAdmin(admin.ModelAdmin):
list_display = ("feature_key", "user", "org", "used_at")
list_filter = ("feature_key",)
@admin.register(APIRequestLog)
class APIRequestLogAdmin(admin.ModelAdmin):
list_display = ("request_id", "method", "endpoint", "status_code", "duration_ms", "created_at")
list_filter = ("method", "status_code")