| """Admin configuration for the operations app.""" |
| from django.contrib import admin |
| from apps.operations.models import ( |
| AdminAction, AuditLog, BackgroundJob, ConfigVersion, |
| DeploymentEvent, DistributedLock, IdempotencyKey, JobLock, |
| KeyRotationLog, Notification, SigningKey, SystemSetting, |
| Webhook, WebhookDelivery, |
| ) |
|
|
| class WebhookDeliveryInline(admin.TabularInline): |
| model = WebhookDelivery |
| extra = 0 |
|
|
| @admin.register(AuditLog) |
| class AuditLogAdmin(admin.ModelAdmin): |
| list_display = ("action", "actor_user", "target_type", "target_id", "created_at") |
| list_filter = ("action",) |
| readonly_fields = ("created_at",) |
|
|
| @admin.register(AdminAction) |
| class AdminActionAdmin(admin.ModelAdmin): |
| list_display = ("admin_user", "action", "created_at") |
|
|
| @admin.register(SystemSetting) |
| class SystemSettingAdmin(admin.ModelAdmin): |
| list_display = ("key", "value", "updated_at") |
|
|
| @admin.register(BackgroundJob) |
| class BackgroundJobAdmin(admin.ModelAdmin): |
| list_display = ("queue", "status", "attempts", "run_at", "created_at") |
| list_filter = ("status", "queue") |
|
|
| @admin.register(JobLock) |
| class JobLockAdmin(admin.ModelAdmin): |
| list_display = ("lock_key", "locked_by", "expires_at") |
|
|
| @admin.register(DistributedLock) |
| class DistributedLockAdmin(admin.ModelAdmin): |
| list_display = ("lock_key", "owner_id", "acquired_at", "expires_at") |
|
|
| @admin.register(Notification) |
| class NotificationAdmin(admin.ModelAdmin): |
| list_display = ("user", "channel", "status", "sent_at", "created_at") |
| list_filter = ("channel", "status") |
|
|
| @admin.register(Webhook) |
| class WebhookAdmin(admin.ModelAdmin): |
| list_display = ("org", "url", "enabled", "created_at") |
| inlines = [WebhookDeliveryInline] |
|
|
| @admin.register(WebhookDelivery) |
| class WebhookDeliveryAdmin(admin.ModelAdmin): |
| list_display = ("webhook", "status", "response_code", "attempts", "created_at") |
|
|
| @admin.register(IdempotencyKey) |
| class IdempotencyKeyAdmin(admin.ModelAdmin): |
| list_display = ("key", "user", "expires_at") |
|
|
| @admin.register(ConfigVersion) |
| class ConfigVersionAdmin(admin.ModelAdmin): |
| list_display = ("version", "checksum", "applied_at") |
|
|
| @admin.register(DeploymentEvent) |
| class DeploymentEventAdmin(admin.ModelAdmin): |
| list_display = ("version", "status", "started_at", "finished_at") |
|
|
| @admin.register(SigningKey) |
| class SigningKeyAdmin(admin.ModelAdmin): |
| list_display = ("algorithm", "active", "rotated_at") |
|
|
| @admin.register(KeyRotationLog) |
| class KeyRotationLogAdmin(admin.ModelAdmin): |
| list_display = ("key", "rotated_by", "rotated_at") |
|
|