from django.db import models from core.models.base import UUIDPrimaryKeyModel class ClientFavoriteFolder(UUIDPrimaryKeyModel): staff = models.ForeignKey( "org.Staff", on_delete=models.CASCADE, related_name="favorite_folders" ) name = models.CharField(max_length=10) is_default = models.BooleanField(default=False) sort_order = models.IntegerField(default=0) created_at = models.DateTimeField(auto_now_add=True) deleted_at = models.DateTimeField(null=True, blank=True) class Meta: db_table = "client_favorite_folders" indexes = [ models.Index(fields=["staff"], name="idx_cff_staff"), ] constraints = [ models.UniqueConstraint( fields=["staff"], condition=models.Q(is_default=True, deleted_at__isnull=True), name="uq_cff_default_per_staff", ), ] class ClientFolderItem(models.Model): folder = models.ForeignKey( ClientFavoriteFolder, on_delete=models.CASCADE, related_name="items" ) client = models.ForeignKey( "fonrey_client.Client", on_delete=models.CASCADE, related_name="folder_items" ) added_at = models.DateTimeField(auto_now_add=True) class Meta: db_table = "client_folder_items" constraints = [ models.UniqueConstraint( fields=["folder", "client"], name="uq_cfi_folder_client" ), ] indexes = [ models.Index(fields=["client"], name="idx_cfi_client"), ]