Commit 02ca8c31 authored by ibuler's avatar ibuler

[Update] 更新session api

parent ad6e22cd
...@@ -182,6 +182,11 @@ class SessionViewSet(viewsets.ModelViewSet): ...@@ -182,6 +182,11 @@ class SessionViewSet(viewsets.ModelViewSet):
self.queryset = terminal.session_set.all() self.queryset = terminal.session_set.all()
return self.queryset return self.queryset
def perform_create(self, serializer):
if self.request.user.terminal:
serializer.validated_data["terminal"] = self.request.user.terminal
return super().perform_create(serializer)
class TaskViewSet(BulkModelViewSet): class TaskViewSet(BulkModelViewSet):
queryset = Task.objects.all() queryset = Task.objects.all()
......
...@@ -117,6 +117,10 @@ class Session(models.Model): ...@@ -117,6 +117,10 @@ class Session(models.Model):
('ST', 'SSH Terminal'), ('ST', 'SSH Terminal'),
('WT', 'Web Terminal'), ('WT', 'Web Terminal'),
) )
PROTOCOL_CHOICES = (
('ssh', 'ssh'),
('rdp', 'rdp')
)
id = models.UUIDField(default=uuid.uuid4, primary_key=True) id = models.UUIDField(default=uuid.uuid4, primary_key=True)
user = models.CharField(max_length=128, verbose_name=_("User")) user = models.CharField(max_length=128, verbose_name=_("User"))
...@@ -128,6 +132,7 @@ class Session(models.Model): ...@@ -128,6 +132,7 @@ class Session(models.Model):
has_replay = models.BooleanField(default=False, verbose_name=_("Replay")) has_replay = models.BooleanField(default=False, verbose_name=_("Replay"))
has_command = models.BooleanField(default=False, verbose_name=_("Command")) has_command = models.BooleanField(default=False, verbose_name=_("Command"))
terminal = models.ForeignKey(Terminal, null=True, on_delete=models.SET_NULL) terminal = models.ForeignKey(Terminal, null=True, on_delete=models.SET_NULL)
protocol = models.CharField(choices=PROTOCOL_CHOICES, default='ssh')
date_last_active = models.DateTimeField(verbose_name=_("Date last active"), default=timezone.now) date_last_active = models.DateTimeField(verbose_name=_("Date last active"), default=timezone.now)
date_start = models.DateTimeField(verbose_name=_("Date start"), db_index=True) date_start = models.DateTimeField(verbose_name=_("Date start"), db_index=True)
date_end = models.DateTimeField(verbose_name=_("Date end"), null=True) date_end = models.DateTimeField(verbose_name=_("Date end"), null=True)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment