diff --git a/crawler/models.py b/crawler/models.py index 35b182356f625d098183bc333721739841db6fd0..10f05344807aff95a96fe3c065820ffaf516ee73 100644 --- a/crawler/models.py +++ b/crawler/models.py @@ -6,19 +6,27 @@ class Node(models.Model): node_id = models.CharField(max_length=12, primary_key=True) # hostname of the node node_name = models.CharField(max_length=64) + last_seen = models.DateTimeField() entry_date = models.DateField(auto_now_add=True) is_online = models.BooleanField(default=True) def __str__(self): - return f"{self.node_id} - {self.node_name} - {self.entry_date} - {self.is_online}" + return f"{self.node_id} - {self.node_name} - {self.last_seen} - {self.entry_date} - {self.is_online}" class Monitor(models.Model): user_id = models.ForeignKey(User, on_delete=models.CASCADE) node_id = models.ForeignKey(Node, on_delete=models.CASCADE) - notify = models.BooleanField() + notify = models.BooleanField(default=True) + notify_count = models.PositiveIntegerField(default=0) + last_notified = models.DateField(null=True,blank=True) def __str__(self): - return f"{self.user_id.username} - {self.node_id.node_id} - {self.notify}" + return f"{self.user_id.username} - {self.node_id.node_id} - {self.notify} - {self.notify_count} - {self.last_notified}" class Meta: unique_together = ['user_id', 'node_id'] + +class UserProfile(models.Model): + user = models.OneToOneField(User, on_delete=models.CASCADE) + max_notification_interval = models.PositiveIntegerField(default=2) + days_between_notification = models.PositiveIntegerField(default=1)