Saas-Base / apps /operations /admin.py
rsnarsna
first commit
667aacd
Raw
History Blame Contribute Delete
2.55 kB
"""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")