37045-vm/core/models.py
Flatlogic Bot 51b954afd1 Skip trace
2025-12-18 14:20:52 +00:00

38 lines
1.6 KiB
Python

from django.db import models
class Contact(models.Model):
first_name = models.CharField(max_length=100, blank=True, null=True)
last_name = models.CharField(max_length=100, blank=True, null=True)
address = models.CharField(max_length=255, blank=True, null=True)
city = models.CharField(max_length=100, blank=True, null=True)
state = models.CharField(max_length=100, blank=True, null=True)
zip_code = models.CharField(max_length=20, blank=True, null=True)
def __str__(self):
return f"{self.first_name} {self.last_name}"
class SkipTraceJob(models.Model):
STATUS_CHOICES = [
('pending', 'Pending'),
('in_progress', 'In Progress'),
('completed', 'Completed'),
('failed', 'Failed'),
]
created_at = models.DateTimeField(auto_now_add=True)
status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='pending')
original_file_name = models.CharField(max_length=255)
def __str__(self):
return f"Job {self.id} - {self.original_file_name}"
class SkipTraceResult(models.Model):
job = models.ForeignKey(SkipTraceJob, related_name='results', on_delete=models.CASCADE)
contact = models.ForeignKey(Contact, related_name='skip_trace_results', on_delete=models.CASCADE)
found_address = models.CharField(max_length=255, blank=True, null=True)
found_phone = models.CharField(max_length=20, blank=True, null=True)
# Add other fields that the skip tracing service might return
is_found = models.BooleanField(default=False)
raw_response = models.JSONField(blank=True, null=True)
def __str__(self):
return f"Result for {self.contact} in Job {self.job.id}"