mirror of https://github.com/jumpserver/jumpserver
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
# ~*~ coding: utf-8 ~*~
|
|
|
|
from .base import CommandBase
|
|
from audits.models import CommandLog
|
|
|
|
|
|
class CommandStore(CommandBase):
|
|
model = CommandLog
|
|
queryset = []
|
|
|
|
def save(self, proxy_log_id, user, asset, system_user,
|
|
command_no, command, output, timestamp):
|
|
self.model.objects.create(
|
|
proxy_log_id=proxy_log_id, user=user, asset=asset,
|
|
system_user=system_user, command_no=command_no,
|
|
command=command, output=output, timestamp=timestamp
|
|
)
|
|
|
|
def filter(self, date_from_ts=None, date_to_ts=None, user='',
|
|
asset='', system_user='', command='', proxy_log_id=0):
|
|
filter_kwargs = {}
|
|
|
|
if date_from_ts:
|
|
filter_kwargs['timestamp__gte'] = date_from_ts
|
|
if date_to_ts:
|
|
filter_kwargs['timestamp__lte'] = date_to_ts
|
|
if user:
|
|
filter_kwargs['user'] = user
|
|
if asset:
|
|
filter_kwargs['asset'] = asset
|
|
if system_user:
|
|
filter_kwargs['system_user'] = system_user
|
|
if command:
|
|
filter_kwargs['command__icontains'] = command
|
|
if proxy_log_id:
|
|
filter_kwargs['proxy_log_id'] = proxy_log_id
|
|
|
|
if filter_kwargs:
|
|
self.queryset = self.model.objects.filter(**filter_kwargs)
|
|
return self.queryset
|
|
|
|
def all(self):
|
|
"""返回所有数据"""
|
|
return self.model.objects.iterator()
|
|
|