from email.policy import default
from django.db import models
from admin_panel.models import *

# Create your models here.


class WorkerServices(models.Model):
    worker =  models.ForeignKey(User,on_delete = models.CASCADE) 
    services = models.ForeignKey(Category,on_delete = models.CASCADE,null=True) 
    sub_services = models.ForeignKey(SubCategory,on_delete = models.CASCADE,null=True) 
    price = models.IntegerField(null=True,default=0)
    time_taken = models.CharField(max_length=100,null = True)
    status = models.BooleanField(default=True)
    start_date = models.DateTimeField(auto_now_add=True)
    end_date = models.DateTimeField(null=True)


    class Meta:
        db_table = "worker_services"



class WorkerWorkImages(models.Model):
    worker =  models.ForeignKey(User,on_delete = models.CASCADE) 
    image = models.CharField(max_length=245,null=True)
    start_date = models.DateTimeField(auto_now_add=True)
    end_date = models.DateTimeField(null=True)

    class Meta:
        db_table = "worker_work_images"



class WorkerTimeSlots(models.Model):
    worker =  models.ForeignKey(User,on_delete = models.CASCADE) 
    slots = models.TextField(null=True)
    start_date = models.DateTimeField(auto_now_add=True)
    end_date = models.DateTimeField(null=True)

    
    class Meta:
        db_table = "worker_time_slots"              



class WorkerNotifications(models.Model):
    worker = models.ForeignKey(User,on_delete = models.CASCADE) 
    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 = "worker_notifications"




class WorkerBankAccountDetails(models.Model):
    worker = models.ForeignKey(User,on_delete = models.CASCADE) 
    bank = models.CharField(max_length=244,null = True)
    sort_code = models.CharField(max_length=244,null = True)
    account_number = models.CharField(max_length=244,null = True)
    start_date = models.DateTimeField(auto_now_add=True,null=False)
    end_date = models.DateTimeField(null=True)
    
    class Meta:
        db_table = "worker_bank_account_details"



class ServiceProviderWallet(models.Model):
	worker = models.ForeignKey(User,on_delete = models.CASCADE)
	amount = models.IntegerField(null=True)
	start_date = models.DateTimeField(auto_now_add=True)
	end_date =  models.DateTimeField(null=True)

	class Meta:
		db_table = 'service_provider_wallet'
          

class ServiceProviderPayoutTranscation(models.Model):
	transcation_id = models.CharField(max_length=100,default='',null=True)
	user = models.ForeignKey(User,on_delete=models.CASCADE,null=True)
	amount =  models.DecimalField(max_digits=10, decimal_places=2, default=0)
	transcation_status = models.CharField(default="Pending",max_length=100,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 = 'service_provider_payout_transactions'