add sse server
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
# Generated by Django 4.2.5 on 2023-09-16 17:21
|
||||
|
||||
from django.db import migrations, models
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("deployment", "0006_alter_deployment_id_alter_deployment_status_and_more"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="deployment",
|
||||
name="id",
|
||||
field=models.UUIDField(
|
||||
default=uuid.UUID("0cc4ae03-f52e-4f3a-9fe1-fecda707b20e"),
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
),
|
||||
),
|
||||
]
|
||||
@@ -4,6 +4,9 @@ from uuid import uuid4
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from django.db.models.signals import pre_save, pre_delete
|
||||
from django.dispatch import receiver
|
||||
from django_eventstream import send_event
|
||||
|
||||
|
||||
class Type(Enum):
|
||||
@@ -41,3 +44,9 @@ class Deployment(models.Model):
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.name} | {self.type} | {self.status}"
|
||||
|
||||
|
||||
@receiver(pre_save, sender=Deployment)
|
||||
@receiver(pre_delete, sender=Deployment)
|
||||
def deployment_update_handler(sender, instance, **kwargs):
|
||||
send_event("deployment", "update", {"id": instance.id, "status": instance.status})
|
||||
|
||||
+5
-3
@@ -9,7 +9,7 @@ from django.http import (
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
|
||||
from deployment.forms import DeploymentForm
|
||||
from deployment.models import Deployment
|
||||
from deployment.models import Deployment, Status
|
||||
|
||||
|
||||
def index(request):
|
||||
@@ -19,14 +19,16 @@ def index(request):
|
||||
page_number = request.GET.get("page")
|
||||
page_obj = paginator.get_page(page_number)
|
||||
|
||||
return render(request, "deployment/board.html", {"page_obj": page_obj})
|
||||
return render(
|
||||
request, "deployment/board.html", {"page_obj": page_obj, "url": "/events/"}
|
||||
)
|
||||
|
||||
|
||||
def details(request, deployment_id):
|
||||
deployment = get_object_or_404(Deployment, id=deployment_id)
|
||||
|
||||
if request.method == "POST":
|
||||
if deployment.status == deployment.RUNNING:
|
||||
if deployment.status == Status.RUNNING:
|
||||
return HttpResponseBadRequest("deployment is running")
|
||||
try:
|
||||
deployment.delete()
|
||||
|
||||
Reference in New Issue
Block a user