38 lines
1.6 KiB
Python
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}" |