from django.contrib import admin
from doctor.models import DoctorRun, MigrationSnapshot, TableSnapshot, Finding


@admin.register(DoctorRun)
class DoctorRunAdmin(admin.ModelAdmin):
    list_display = ("created_at", "app_label", "mode", "ok_files", "ok_schema", "message")
    list_filter = ("app_label", "mode", "ok_files", "ok_schema", "created_at")
    search_fields = ("app_label", "message")
    date_hierarchy = "created_at"
    ordering = ("-created_at",)


@admin.register(MigrationSnapshot)
class MigrationSnapshotAdmin(admin.ModelAdmin):
    list_display = ("run", "source", "name")
    list_filter = ("source", "run__app_label", "run__mode")
    search_fields = ("name", "run__app_label")


@admin.register(TableSnapshot)
class TableSnapshotAdmin(admin.ModelAdmin):
    list_display = ("run", "source", "table_name")
    list_filter = ("source", "run__app_label", "run__mode")
    search_fields = ("table_name", "run__app_label")


@admin.register(Finding)
class FindingAdmin(admin.ModelAdmin):
    list_display = ("run", "severity", "kind", "label")
    list_filter = ("severity", "kind", "run__app_label", "run__mode")
    search_fields = ("label", "kind", "run__app_label")
