from django.contrib import admin
from .models import Notification, NotificationCampaign, NotificationTemplate, UserDeviceToken

@admin.register(Notification)
class NotificationAdmin(admin.ModelAdmin):
    list_display = ("id", "channel", "recipient", "subject", "status", "is_read", "provider", "sent_at")
    list_filter = ("channel", "status", "is_read", "provider")
    search_fields = ("recipient", "subject", "message")
    readonly_fields = ("created_at", "updated_at", "sent_at", "read_at")

@admin.register(NotificationTemplate)
class NotificationTemplateAdmin(admin.ModelAdmin):
    list_display = ("id", "channel", "code", "is_active")
    list_filter = ("channel", "is_active")
    search_fields = ("code", "subject_template", "body_template")


@admin.register(NotificationCampaign)
class NotificationCampaignAdmin(admin.ModelAdmin):
    list_display = ("id", "title", "audience", "delivery_channel", "mode", "status", "scheduled_at", "sent_at")
    list_filter = ("audience", "delivery_channel", "mode", "status")
    search_fields = ("title", "message", "role")


@admin.register(UserDeviceToken)
class UserDeviceTokenAdmin(admin.ModelAdmin):
    list_display = ("id", "user", "platform", "is_active", "last_seen_at")
    list_filter = ("platform", "is_active")
    search_fields = ("user__mobile", "user__email", "device_token")
