mirror of https://github.com/jumpserver/jumpserver
52 lines
1.1 KiB
Python
52 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
#
|
|
|
|
import abc
|
|
|
|
|
|
class ObjectStorage(metaclass=abc.ABCMeta):
|
|
@abc.abstractmethod
|
|
def upload(self, src, target):
|
|
return None, None
|
|
|
|
@abc.abstractmethod
|
|
def download(self, src, target):
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def delete(self, path):
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def exists(self, path):
|
|
pass
|
|
|
|
def is_valid(self, src, target):
|
|
ok, msg = self.upload(src=src, target=target)
|
|
if not ok:
|
|
return False
|
|
self.delete(path=target)
|
|
return True
|
|
|
|
|
|
class LogStorage(metaclass=abc.ABCMeta):
|
|
@abc.abstractmethod
|
|
def save(self, command):
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def bulk_save(self, command_set, raise_on_error=True):
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def filter(self, date_from=None, date_to=None,
|
|
user=None, asset=None, account=None,
|
|
input=None, session=None):
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def count(self, date_from=None, date_to=None,
|
|
user=None, asset=None, account=None,
|
|
input=None, session=None):
|
|
pass
|