55 lines
1.1 KiB
Python
55 lines
1.1 KiB
Python
|
from abc import ABCMeta, abstractmethod
|
||
|
|
||
|
from six import add_metaclass
|
||
|
|
||
|
|
||
|
@add_metaclass(ABCMeta)
|
||
|
class InitDataInterface(object):
|
||
|
"""
|
||
|
Interface that represents all data store interactions required by __init__.
|
||
|
"""
|
||
|
|
||
|
@abstractmethod
|
||
|
def is_app_repository(self, namespace_name, repository_name):
|
||
|
"""
|
||
|
|
||
|
Args:
|
||
|
namespace_name: namespace or user
|
||
|
repository_name: repository
|
||
|
|
||
|
Returns:
|
||
|
Boolean
|
||
|
"""
|
||
|
pass
|
||
|
|
||
|
@abstractmethod
|
||
|
def repository_is_public(self, namespace_name, repository_name):
|
||
|
"""
|
||
|
|
||
|
Args:
|
||
|
namespace_name: namespace or user
|
||
|
repository_name: repository
|
||
|
|
||
|
Returns:
|
||
|
Boolean
|
||
|
"""
|
||
|
pass
|
||
|
|
||
|
@abstractmethod
|
||
|
def log_action(self, kind, namespace_name, repository_name, performer, ip, metadata):
|
||
|
"""
|
||
|
|
||
|
Args:
|
||
|
kind: type of log
|
||
|
user_or_orgname: name of user or organization
|
||
|
performer: user doing the action
|
||
|
ip: originating ip
|
||
|
metadata: metadata
|
||
|
repository: repository the action is related to
|
||
|
|
||
|
Returns:
|
||
|
None
|
||
|
"""
|
||
|
pass
|
||
|
|