from django.contrib import admin
from .models import BankAccount, BankAccountOTP, WithdrawalDeductionConfig, WithdrawalRequest


@admin.register(BankAccount)
class BankAccountAdmin(admin.ModelAdmin):
    list_display = ('user', 'bank_name', 'masked_account_number', 'ifsc_code', 'is_verified', 'is_primary', 'created_at')
    list_filter = ('is_verified', 'is_primary')
    search_fields = ('user__mobile', 'user__email', 'bank_name', 'ifsc_code')


@admin.register(BankAccountOTP)
class BankAccountOTPAdmin(admin.ModelAdmin):
    list_display = ('bank_account', 'is_used', 'expires_at', 'created_at')
    list_filter = ('is_used',)


@admin.register(WithdrawalRequest)
class WithdrawalRequestAdmin(admin.ModelAdmin):
    list_display = ('user', 'amount_requested', 'tds_amount', 'net_amount', 'status', 'reference_id', 'created_at', 'processed_at')
    list_filter = ('status',)
    search_fields = ('user__mobile', 'user__email', 'reference_id')


@admin.register(WithdrawalDeductionConfig)
class WithdrawalDeductionConfigAdmin(admin.ModelAdmin):
    list_display = ('name', 'tds_percent', 'admin_fee_percent', 'processing_fee_fixed', 'is_active', 'updated_at')
    list_filter = ('is_active',)
