mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-04-29 11:54:49 +00:00
* perf: move storage sdk to core * perf: Update Dockerfile with new base image tag --------- Co-authored-by: ibuler <ibuler@qq.com> Co-authored-by: Bai <baijiangjie@gmail.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
|