CodeReview

This commit is contained in:
KoalaSat
2024-06-14 20:32:28 +02:00
parent 1fee89f082
commit a9e411d359
4 changed files with 13 additions and 22 deletions

View File

@ -1,9 +1,7 @@
# Generated by Django 5.0.6 on 2024-06-09 10:21 # Generated by Django 5.0.6 on 2024-06-14 18:31
import django.db.models.deletion import django.db.models.deletion
import django.utils.timezone import django.utils.timezone
import uuid
from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
@ -11,7 +9,6 @@ class Migration(migrations.Migration):
dependencies = [ dependencies = [
('api', '0046_alter_currency_currency'), ('api', '0046_alter_currency_currency'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
] ]
operations = [ operations = [
@ -19,12 +16,11 @@ class Migration(migrations.Migration):
name='Notification', name='Notification',
fields=[ fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('reference', models.UUIDField(default=uuid.uuid4, editable=False)),
('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)),
('title', models.CharField(default=None, max_length=120)), ('title', models.CharField(default=None, max_length=240)),
('description', models.CharField(blank=True, default=None, max_length=120)), ('description', models.CharField(blank=True, default=None, max_length=240)),
('order', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='api.order')), ('order', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='api.order')),
('user', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ('robot', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='api.robot')),
], ],
), ),
] ]

View File

@ -2,8 +2,7 @@
import uuid import uuid
from decouple import config from decouple import config
from django.contrib.auth.models import User from api.models import Order, Robot
from api.models import Order
from django.db import models from django.db import models
from django.utils import timezone from django.utils import timezone
@ -23,15 +22,14 @@ else:
class Notification(models.Model): class Notification(models.Model):
# notification info # notification info
reference = models.UUIDField(default=custom_uuid, editable=False)
created_at = models.DateTimeField(default=timezone.now) created_at = models.DateTimeField(default=timezone.now)
user = models.ForeignKey(User, on_delete=models.CASCADE, default=None) robot = models.ForeignKey(Robot, on_delete=models.CASCADE, default=None)
order = models.ForeignKey(Order, on_delete=models.CASCADE, default=None) order = models.ForeignKey(Order, on_delete=models.CASCADE, default=None)
# notification details # notification details
title = models.CharField(max_length=120, null=False, default=None) title = models.CharField(max_length=240, null=False, default=None)
description = models.CharField(max_length=120, default=None, blank=True) description = models.CharField(max_length=240, default=None, blank=True)
def __str__(self): def __str__(self):
return f"{self.title} {self.description}" return f"{self.title} {self.description}"

View File

@ -39,12 +39,9 @@ class Notifications:
def save_message(self, order, robot, title, description): def save_message(self, order, robot, title, description):
"""Save a message for a user""" """Save a message for a user"""
notification = Notification() Notification.objects.create(
notification.title = title title=title, description=description, robot=robot, order=order
notification.description = description )
notification.user = robot
notification.order = order
notification.save()
def send_telegram_message(self, chat_id, title, description): def send_telegram_message(self, chat_id, title, description):
"""sends a message to a user with telegram notifications enabled""" """sends a message to a user with telegram notifications enabled"""

View File

@ -749,8 +749,8 @@ class NotificationsView(ListAPIView):
@extend_schema(**NotificationSchema.get) @extend_schema(**NotificationSchema.get)
def get(self, request, format=None): def get(self, request, format=None):
user = request.user robot = request.user.robot
queryset = Notification.objects.filter(user=user) queryset = Notification.objects.filter(robot=robot)
created_at = request.GET.get("created_at") created_at = request.GET.get("created_at")
if created_at: if created_at: