from django.contrib import admin

from django.utils.dateformat import format
from django.utils.timezone import localtime

from .models import FileNameModel, PostFileModel


class FileNameAdmin(admin.ModelAdmin):
    list_display = ("filename", "date_created_to", "date_modified_to")

    def date_created_to(self, obj):
        return format(localtime(obj.date_created), "Y-m-d H:i:s")

    def date_modified_to(self, obj):
        return format(localtime(obj.date_modified), "Y-m-d H:i:s")


admin.site.register(FileNameModel, FileNameAdmin)


class PostFileAdmin(admin.ModelAdmin):
    list_display = (
        "to_name",
        "file",
        "hash_blake3",
        "hash_md5",
        "hash_sha1",
        "hash_sha256",
        "hash_sha512",
        "blur_hash",
    )
    list_display_links = ("to_name", "file")

    @admin.display(description="Name")
    def to_name(self, obj):
        return str(obj.name.first())


admin.site.register(PostFileModel, PostFileAdmin)