import uuid
from django.db import models
from wikiazma.storage_helper import public_storage
from authenticate.models import User


class PublicResource(models.Model):
    id = models.UUIDField(primary_key=True, unique=True,
                          db_index=True, default=uuid.uuid4, editable=False)
    user = models.ForeignKey(
        User, on_delete=models.SET_NULL, db_index=True, null=True, blank=True)
    title = models.CharField(max_length=300, db_index=True)
    # TODO why null=True?
    file_type = models.CharField(max_length=20, db_index=True, null=True)
    file = models.FileField(upload_to='public_resources',
                            storage=public_storage, db_index=True)
    deleted = models.BooleanField(default=False, db_index=True)
    created_at = models.DateTimeField(auto_now_add=True, db_index=True)
    modified_at = models.DateTimeField(auto_now=True, db_index=True)

    def __str__(self):
        return self.title
