from django.db import models
from django.contrib.auth.models import User
from panel_api.models import ProjectModule


# Create your models here.
class SuperAdmin(models.Model):
    user = models.ForeignKey(User,on_delete=models.CASCADE)
    email = models.CharField(max_length=54,null=True)
    name = models.CharField(max_length=244,default='')
    firstName = models.CharField(max_length=100,null=True)
    lastName = models.CharField(max_length=100,null=True)
    image = models.CharField(max_length=100,null= True)
    gender = models.CharField(max_length=10,null=True)
    address = models.TextField(null= True)
    password = models.CharField(max_length=250,default='',null=True)
    phoneNumber = models.CharField(max_length=100,null=True)
    forgot_password_otp = models.CharField(max_length=254,null=True)
    is_subadmin = models.BooleanField(default=False,null=True)
    role = models.IntegerField(max_length=10,null=True)
    role_name = models.CharField(max_length=254,null=True)
    created_at=models.DateTimeField(auto_now_add=True)
    updated_at=models.DateTimeField(auto_now=True)
    end_date = models.DateTimeField(null=True)
    status = models.CharField(max_length=20, default='active')


    class Meta:
        db_table = "super_admin"

class PrivacyPolicy(models.Model):
    title = models.CharField(max_length=255, default="Privacy Policy")
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    created_by = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)

    class Meta:
        db_table = "privacy_policy"

class TermsAndConditions(models.Model):
    title = models.CharField(max_length=255, default="Terms & conditions")
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    created_by = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)

    class Meta:
        db_table = "terms_and_conditions"

    
# class TermsConditionsAdmin(models.Model):
#     title = models.CharField(max_length=255, default="Terms & conditions")
#     content = models.TextField()
#     created_at = models.DateTimeField(auto_now_add=True)
#     updated_at = models.DateTimeField(auto_now=True)
#     created_by = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)

#     class Meta:
#         db_table = "terms_conditions_admin"


class AdminNotifications(models.Model):
    message = models.TextField(null=True)
    is_read = models.BooleanField(default=False,null=True)
    type = models.CharField(max_length=100,null=True)
    start_date = models.DateTimeField(auto_now_add=True,null=False)
    end_date = models.DateTimeField(null=True)

    class Meta:
        db_table = "admin_notifications"


class Favorites(models.Model):
    admin = models.ForeignKey('SuperAdmin', on_delete=models.CASCADE)
    project = models.ForeignKey(ProjectModule, on_delete=models.CASCADE)
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta:
        db_table = "favorites"