36 lines
982 B
Python
36 lines
982 B
Python
from core.models.policy.CapabilityPolicy import CapabilityPolicy
|
|
from core.models.policy.PrivilegePolicy import PrivilegePolicy
|
|
from typing import Union
|
|
|
|
|
|
class PolicyController:
|
|
|
|
@staticmethod
|
|
def get(code: str):
|
|
|
|
if code == 'capability':
|
|
return CapabilityPolicy()
|
|
elif code == 'privilege':
|
|
return PrivilegePolicy()
|
|
|
|
return None
|
|
|
|
@staticmethod
|
|
def preview(policy: Union[CapabilityPolicy, PrivilegePolicy]):
|
|
return policy.preview()
|
|
|
|
@staticmethod
|
|
def instate(policy: Union[CapabilityPolicy, PrivilegePolicy]):
|
|
policy.instate()
|
|
|
|
@staticmethod
|
|
def revoke(policy: Union[CapabilityPolicy, PrivilegePolicy]):
|
|
policy.revoke()
|
|
|
|
@staticmethod
|
|
def is_suggestible(policy: Union[CapabilityPolicy, PrivilegePolicy]):
|
|
return policy.is_suggestible()
|
|
|
|
@staticmethod
|
|
def is_instated(policy: Union[CapabilityPolicy, PrivilegePolicy]):
|
|
return policy.is_instated()
|