from django.db import models

from gauth.models import Location


class FacebookPage(models.Model):
    id = models.CharField(max_length=255, primary_key=True)
    name = models.CharField(max_length=500)
    token = models.CharField(max_length=255)
    location = models.OneToOneField(Location, on_delete=models.CASCADE, null=True, blank=True)

    def __str__(self):
        return self.name.split('-')[-1]


class FacebookReview(models.Model):
    id = models.CharField(max_length=255, primary_key=True)
    recommendation_type = models.BooleanField()
    review_text = models.TextField(blank=True, null=True)
    create_time = models.DateTimeField()
    page = models.ForeignKey(FacebookPage, on_delete=models.CASCADE)

    def __str__(self):
        return self.review_text if self.review_text else 'No review body...'


class FacebookReviewReply(models.Model):
    reply_id = models.CharField(max_length=255, blank=True, null=True)
    review = models.OneToOneField(FacebookReview, on_delete=models.CASCADE)
    replied_text = models.TextField(blank=True, null=True)
    create_time = models.DateTimeField()

    def __str__(self):
        return self.replied_text