Files
digest_app/module_notification/models.py
2024-04-01 11:31:16 +05:30

38 lines
1.1 KiB
Python

from django.db import models
from module_iam.models import BaseModel, IAmPrincipal
class InAppNotification(BaseModel):
user = models.ForeignKey(IAmPrincipal, on_delete=models.CASCADE, related_name='notifications')
message = models.CharField(max_length=255)
is_read = models.BooleanField(default=False)
class Meta:
db_table = "inapp_notification"
ordering = ['-created_on']
def __str__(self):
return self.message
@classmethod
def latest_15(cls, user):
return cls.objects.filter(user=user).order_by('-created_on')[:15]
@classmethod
def pending_read_count(cls, user):
return cls.objects.filter(user=user, is_read=False).count()
class PushNotification(BaseModel):
title = models.CharField(max_length=255)
banner_image = models.ImageField(upload_to='push_notification_images/', blank=True, null=True)
message = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True)
class Meta:
db_table = "push_notification"
def __str__(self):
return self.title