mirror of https://github.com/jumpserver/jumpserver
Add audits api
parent
59727656c3
commit
0954f6d7e8
|
@ -1,3 +1,15 @@
|
|||
# ~*~ coding: utf-8 ~*~
|
||||
#
|
||||
|
||||
|
||||
from rest_framework import generics
|
||||
|
||||
import serializers
|
||||
|
||||
|
||||
class ProxyLogCreateApi(generics.CreateAPIView):
|
||||
serializer_class = serializers.ProxyLogSerializer
|
||||
|
||||
|
||||
class CommandLogCreateApi(generics.CreateAPIView):
|
||||
serializer_class = serializers.CommandLogSerializer
|
||||
|
|
|
@ -23,7 +23,7 @@ class LoginLog(models.Model):
|
|||
date_logout = models.DateTimeField(null=True, verbose_name=_('Date logout'))
|
||||
|
||||
class Meta:
|
||||
db_table = 'loginlog'
|
||||
db_table = 'login_log'
|
||||
ordering = ['-date_login', 'username']
|
||||
|
||||
|
||||
|
@ -44,10 +44,24 @@ class ProxyLog(models.Model):
|
|||
date_start = models.DateTimeField(auto_now=True, verbose_name=_('Date start'))
|
||||
date_finished = models.DateTimeField(null=True, verbose_name=_('Date finished'))
|
||||
|
||||
def __unicode__(self):
|
||||
return '%s-%s-%s-%s' % (self.username, self.hostname, self.system_user, self.id)
|
||||
|
||||
class Meta:
|
||||
db_table = 'proxy_log'
|
||||
ordering = ['-date_start', 'username']
|
||||
|
||||
|
||||
class CommandLog(models.Model):
|
||||
proxy_log = models.ForeignKey(ProxyLog, on_delete=models.CASCADE, related_name='proxy_log')
|
||||
proxy_log = models.ForeignKey(ProxyLog, on_delete=models.CASCADE, related_name='command_log')
|
||||
command = models.CharField(max_length=1000, blank=True)
|
||||
output = models.TextField(blank=True)
|
||||
date_start = models.DateTimeField(null=True)
|
||||
date_finished = models.DateTimeField(null=True)
|
||||
|
||||
def __unicode__(self):
|
||||
return '%s: %s' % (self.id, self.command)
|
||||
|
||||
class Meta:
|
||||
db_table = 'command_log'
|
||||
ordering = ['-date_start', 'command']
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
from rest_framework import serializers
|
||||
|
||||
import models
|
||||
|
||||
|
||||
class ProxyLogSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.ProxyLog
|
||||
|
||||
|
||||
class CommandLogSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.CommandLog
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
pass
|
|
@ -1 +1,16 @@
|
|||
from django.conf.urls import url
|
||||
|
||||
|
||||
import api
|
||||
import views
|
||||
|
||||
app_name = 'audits'
|
||||
|
||||
urlpatterns = [
|
||||
]
|
||||
|
||||
|
||||
urlpatterns += [
|
||||
url(r'^v1/proxy-log$', api.ProxyLogCreateApi.as_view(), name='proxy-log-create-api'),
|
||||
url(r'^v1/command-log$', api.CommandLogCreateApi.as_view(), name='command-log-create-api'),
|
||||
]
|
||||
|
|
|
@ -25,6 +25,7 @@ urlpatterns = [
|
|||
url(r'^(api/)?users/', include('users.urls')),
|
||||
url(r'^assets/', include('assets.urls')),
|
||||
url(r'^perms/', include('perms.urls')),
|
||||
url(r'^(api/)?audits/', include('audits.urls')),
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
# ~*~ coding: utf-8 ~*~
|
||||
#
|
||||
|
||||
import logging
|
||||
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from rest_framework import generics, status
|
||||
|
@ -12,7 +10,8 @@ from rest_framework_bulk import ListBulkCreateUpdateDestroyAPIView
|
|||
from .models import User, UserGroup
|
||||
from .serializers import UserDetailSerializer, UserAndGroupSerializer, \
|
||||
GroupDetailSerializer, UserPKUpdateSerializer, UserBulkUpdateSerializer, GroupBulkUpdateSerializer
|
||||
from common.mixins import BulkDeleteApiMixin, get_logger
|
||||
from common.mixins import BulkDeleteApiMixin
|
||||
from common.utils import get_logger
|
||||
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
|
Loading…
Reference in New Issue