sp-hydra-veil-core/core/controllers/PolicyController.py

32 lines
850 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_instated(policy: Union[CapabilityPolicy, PrivilegePolicy]):
return policy.is_instated()