feat: add billing core models
This commit is contained in:
+58
-1
@@ -1,3 +1,60 @@
|
||||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
||||
from .models import CallRecord, PointsLedger
|
||||
|
||||
|
||||
class ReadOnlyLedgerAdmin(admin.ModelAdmin):
|
||||
def get_readonly_fields(self, request, obj=None):
|
||||
return tuple(field.name for field in self.model._meta.fields)
|
||||
|
||||
def has_add_permission(self, request):
|
||||
return False
|
||||
|
||||
def has_change_permission(self, request, obj=None):
|
||||
return False
|
||||
|
||||
def has_delete_permission(self, request, obj=None):
|
||||
return False
|
||||
|
||||
|
||||
@admin.register(PointsLedger)
|
||||
class PointsLedgerAdmin(ReadOnlyLedgerAdmin):
|
||||
list_display = (
|
||||
"created_at",
|
||||
"user",
|
||||
"change_type",
|
||||
"points_delta",
|
||||
"balance_after",
|
||||
"ref_order_id",
|
||||
"ref_call",
|
||||
)
|
||||
list_filter = ("change_type", "created_at")
|
||||
search_fields = ("user__username", "user__email", "reason")
|
||||
ordering = ("-created_at", "-id")
|
||||
|
||||
|
||||
@admin.register(CallRecord)
|
||||
class CallRecordAdmin(ReadOnlyLedgerAdmin):
|
||||
list_display = (
|
||||
"created_at",
|
||||
"user",
|
||||
"api_key",
|
||||
"operation_type",
|
||||
"alias",
|
||||
"model_used",
|
||||
"points_cost",
|
||||
"status",
|
||||
"upstream_latency_ms",
|
||||
)
|
||||
list_filter = ("operation_type", "status", "created_at")
|
||||
search_fields = (
|
||||
"user__username",
|
||||
"user__email",
|
||||
"api_key__key_prefix",
|
||||
"alias",
|
||||
"model_used",
|
||||
"error_message",
|
||||
"result_ref",
|
||||
"result_summary",
|
||||
)
|
||||
ordering = ("-created_at", "-id")
|
||||
|
||||
Reference in New Issue
Block a user