from django.db import models
from auth_apis.models import *
from django.conf import settings

# Create your models here.


class ContentPages(models.Model):
    page_type = models.CharField(max_length = 100, null = True)
    english_page_title =  models.CharField(max_length = 244, null= True)
    english_content  = models.TextField()
    arabic_page_title =  models.CharField(max_length = 244, null= True)
    arabic_content  = models.TextField()
    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 HelpSupport(models.Model):
    user = models.ForeignKey(User,on_delete = models.CASCADE)   
    title =  models.CharField(max_length = 200, null= True) 
    description = models.TextField()
    reply = models.TextField()
    reply_date = models.DateTimeField(null=True)
    status = models.BooleanField(default=False,null=True)
    start_date = models.DateTimeField(auto_now_add=True)
    end_date = models.DateTimeField(null=True)

    class Meta:
        db_table = "help_support"

class Faq(models.Model):
    english_title = models.CharField(max_length = 200,null=True)
    english_content =  models.TextField()
    arabic_title = models.CharField(max_length = 200,null=True)
    arabic_content = models.TextField()
    status = models.BooleanField(default=True)
    start_date = models.DateTimeField(auto_now_add=True,null=False)
    end_date = models.DateTimeField(null=True)

    class Meta:
        db_table = "faq"


class Contactmanage(models.Model):
    contact_description = models.TextField(null=True)
    contact_description_ar = models.TextField(null=True)
    phone_number = models.CharField(max_length=20,null=True)
    whatsapp_number = models.CharField(max_length=20,null=True)
    email = models.CharField(max_length=255,null=True)
    instagram_url = models.CharField(max_length=255,null=True)
    twitter_url = models.CharField(max_length=255,null=True)
    youtube_url = models.CharField(max_length=255,null=True)
    facebook_url = models.CharField(max_length=255,null=True)
    address =  models.CharField(max_length=255,null=True)

    class Meta:
        db_table = "contact_manage"


class MainCategories(models.Model):
    category_name_english = models.CharField(max_length=255,null=True)
    category_name_arabic = models.CharField(max_length=255,null=True)
    category_icon = models.CharField(default=str(settings.BASE_URL)+"/media/category/place_holder.png",max_length=255,null=True)
    category_content_english = models.TextField(null=True)
    category_content_arabic = models.TextField(null=True)
    status = models.BooleanField(default=True,null=True)
    start_date = models.DateTimeField(auto_now_add=True,null=False)
    end_date = models.DateTimeField(null=True)

    class Meta:
        db_table = "main_categories"

class Subcategories(models.Model):
    category_name_english = models.CharField(max_length=255,null=True)
    category_name_arabic = models.CharField(max_length=255,null=True)

    maincategory = models.ForeignKey(MainCategories,on_delete=models.CASCADE)
    category_icon = models.CharField(default=str(settings.BASE_URL)+"/media/category/place_holder.png",max_length=255,null=True)
    category_content_english = models.TextField(null=True)
    category_content_arabic = models.TextField(null=True)
    status = models.BooleanField(default=True,null=True)
    start_date = models.DateTimeField(auto_now_add=True,null=False)
    end_date = models.DateTimeField(null=True)

    class Meta:
        db_table = "sub_categories"

class Stones(models.Model):
    stone_name_english = models.CharField(max_length=255,null=True)
    stone_name_arabic = models.CharField(max_length=255,null=True)
    stone_icon = models.CharField(default=str(settings.BASE_URL)+"/media/category/place_holder.png",max_length=255,null=True)
    status = models.BooleanField(default=True,null=True)
    stone_content_english = models.TextField(null=True)
    stone_content_arabic = models.TextField(null=True)
    start_date = models.DateTimeField(auto_now_add=True,null=False)
    end_date = models.DateTimeField(null=True)

    class Meta:
        db_table = "stones"

class Brands(models.Model):
    brand_name_english = models.CharField(max_length=255,null=True)
    brand_name_arabic = models.CharField(max_length=255,null=True)
    brand_icon = models.CharField(default=str(settings.BASE_URL)+"/media/category/place_holder.png",max_length=255,null=True)
    status = models.BooleanField(default=True,null=True)
    brand_content_english = models.TextField(null=True)
    brand_content_arabic = models.TextField(null=True)
    start_date = models.DateTimeField(auto_now_add=True,null=False)
    end_date = models.DateTimeField(null=True)

    class Meta:
        db_table = "brands"


class Services(models.Model):
    english_service_name = models.CharField(max_length=255,null=True)
    arabic_service_name = models.CharField(max_length=255,null=True)    
    service_icon = models.CharField(default=str(settings.BASE_URL)+"/media/category/place_holder.png",max_length=255,null=True)
    status = models.BooleanField(default=True,null=True)
    english_service_content = models.TextField(null=True)
    arabic_service_content = models.TextField(null=True)
    start_date = models.DateTimeField(auto_now_add=True,null=False)
    end_date = models.DateTimeField(null=True)

    class Meta:
        db_table = "services"

class AdminNotifications(models.Model):
    message = models.TextField(null=True)
    is_read = models.BooleanField(default=False,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 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 Wallet(models.Model):
    buyer = models.ForeignKey(Buyer,on_delete=models.CASCADE,null=True)
    amount = models.IntegerField(null=True)
    reason = models.TextField(null=True)
    type = models.CharField(max_length=100,null=True)
    transcation_type = models.CharField(max_length=100,null=True)
    order_id = models.CharField(max_length=100,null=True)
    service_id = models.CharField(max_length=100,null=True)
    balance = models.IntegerField(null=True)
    start_date = models.DateTimeField(auto_now_add=True,null=False)
    end_date = models.DateTimeField(null=True) 


    class Meta:
        db_table = "wallet"

class CommissionSection(models.Model):
    vat_number = models.CharField(max_length=30,default='')
    vat_percentage = models.CharField(max_length=30,default='')
    start_date = models.DateTimeField(auto_now_add=True,null=False)
    end_date = models.DateTimeField(null=True) 

    class Meta:
        db_table = "commission_section"