from django.db import models
from django.contrib.auth.models import User

# Create your models here.

class SuperAdmin(models.Model):
	user = models.ForeignKey(User,on_delete=models.CASCADE)
	email = models.CharField(max_length=54,null=True)
	firstName = models.CharField(max_length=100,null=True)
	lastName = models.CharField(max_length=100,null=True)
	image = models.CharField(max_length=100,null= True)
	address = models.TextField(null= True)
	phoneNumber = models.CharField(max_length=100,null=True)
	forgotPasswordLink = models.CharField(max_length=254,null=True)
	earnings = models.DecimalField(max_digits=20, decimal_places=2, null=True)

	is_subadmin = models.BooleanField(default=False,null=True)

	created_at=models.DateTimeField(auto_now_add=True)
	updated_at=models.DateTimeField(auto_now=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "super_admin"


class Faq(models.Model):
	title = models.CharField(max_length = 200,null=True)
	content =  models.TextField()
	type = models.CharField(max_length=100,null=True)
	status = models.BooleanField(default=True)
	created_at=models.DateTimeField(auto_now_add=True)
	updated_at=models.DateTimeField(auto_now=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "faq"


class Permissions(models.Model):
	name = models.CharField(max_length=100,null=True)
	code_name = models.CharField(max_length=100,null=True)
	content_type_id = 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 = "permissions"
		
		
class Roles(models.Model):
	role_name = 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 = "roles"

class RolesPermission(models.Model):
	role =  models.ForeignKey(Roles,on_delete=models.CASCADE)
	permission = models.ForeignKey(Permissions,on_delete=models.CASCADE)
	start_date = models.DateTimeField(auto_now_add=True,null=False)
	end_date = models.DateTimeField(null=True) 

	class Meta:
		db_table = "roles_permissions"
		

class ContentPages(models.Model):
	page_type = models.CharField(max_length = 100, null = True)
	title =  models.CharField(max_length = 244, null= True)
	content  = models.TextField()
	user_type = models.CharField(max_length = 100, null= True)
	status = models.BooleanField(default=True,null=True)
	start_date = models.DateTimeField(auto_now_add=True)
	end_date = models.DateTimeField(null=True)


	class Meta:
		db_table = "content_pages"


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 SetCommision(models.Model):
    commision = models.IntegerField(null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    
    def __str__(self):
        return f"{self.commision}%"


