Move the server code inside server dir

This commit is contained in:
2025-12-18 02:17:55 +05:30
parent 2d90a4017f
commit c84866210a
32 changed files with 1 additions and 1 deletions

39
server/notes/models.py Normal file
View File

@@ -0,0 +1,39 @@
from django.contrib.auth.models import AbstractUser
from django.db import models
from django.utils import timezone
# Create your models here.
class User(AbstractUser):
allow_notes_from = models.ManyToManyField(
"User", related_name="allowed_notes_to", blank=True
)
expiry_seconds = models.PositiveIntegerField(default=86400)
@property
def alive_received_notes(self) -> models.QuerySet["Note"]:
return self.received_notes.filter(expiry__gt=timezone.now()).select_related(
"from_user", "to_user"
)
@property
def visible_name(self) -> str:
if self.first_name or self.last_name:
return self.get_full_name()
return self.username
class Note(models.Model):
from_user = models.ForeignKey(
User, on_delete=models.CASCADE, related_name="created_notes"
)
to_user = models.ForeignKey(
User, on_delete=models.SET_NULL, null=True, related_name="received_notes"
)
note = models.TextField()
expiry = models.DateTimeField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return f"{self.from_user.username} -> {self.to_user.username}: {self.note[:30]}"