diff --git a/apps/terminal/api/task.py b/apps/terminal/api/task.py index d030b80a2..33f4997bd 100644 --- a/apps/terminal/api/task.py +++ b/apps/terminal/api/task.py @@ -31,7 +31,9 @@ class KillSessionAPI(APIView): if session and not session.is_finished: validated_session.append(session_id) self.model.objects.create( - name="kill_session", args=session.id, - terminal=session.terminal, + name="kill_session", args=session.id, terminal=session.terminal, + kwargs={ + 'terminated_by_user': str(request.user) + } ) return Response({"ok": validated_session}) diff --git a/apps/terminal/migrations/0038_task_kwargs.py b/apps/terminal/migrations/0038_task_kwargs.py new file mode 100644 index 000000000..389a5586b --- /dev/null +++ b/apps/terminal/migrations/0038_task_kwargs.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1.6 on 2021-07-29 06:06 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('terminal', '0037_auto_20210623_1748'), + ] + + operations = [ + migrations.AddField( + model_name='task', + name='kwargs', + field=models.JSONField(default=dict, verbose_name='Kwargs'), + ), + ] diff --git a/apps/terminal/models/task.py b/apps/terminal/models/task.py index c863c9f77..5f1f3f0fe 100644 --- a/apps/terminal/models/task.py +++ b/apps/terminal/models/task.py @@ -15,6 +15,7 @@ class Task(models.Model): id = models.UUIDField(default=uuid.uuid4, primary_key=True) name = models.CharField(max_length=128, choices=NAME_CHOICES, verbose_name=_("Name")) args = models.CharField(max_length=1024, verbose_name=_("Args")) + kwargs = models.JSONField(default=dict, verbose_name=_("Kwargs")) terminal = models.ForeignKey(Terminal, null=True, on_delete=models.SET_NULL) is_finished = models.BooleanField(default=False) date_created = models.DateTimeField(auto_now_add=True)