def validate_access(self, albabackend, request):
     """
     :param albabackend: The AlbaBackend to validate
     :param request: The raw request
     """
     _ = self
     if not Toolbox.access_granted(request.client,
                                   user_rights=albabackend.backend.user_rights,
                                   client_rights=albabackend.backend.client_rights):
         raise HttpForbiddenException(error_description='The requesting client has no access to this AlbaBackend',
                                      error='no_ownership')
示例#2
0
 def validate_access(self, backend, request):
     """
     :param backend: The Backend to validate
     :type backend: Backend
     :param request: The raw request
     :type request: Request
     """
     _ = self
     if not Toolbox.access_granted(request.client,
                                   user_rights=backend.user_rights,
                                   client_rights=backend.client_rights):
         raise HttpForbiddenException(error_description='The requesting client has no access to this Backend',
                                      error='no_ownership')
 def list(self, request):
     """
     Lists all available ALBA Backends:
     :param request: The raw request
     :type request: Request
     """
     backends = AlbaBackendList.get_albabackends()
     allowed_backends = []
     for alba_backend in backends:
         if Toolbox.access_granted(request.client,
                                   user_rights=alba_backend.backend.user_rights,
                                   client_rights=alba_backend.backend.client_rights):
             allowed_backends.append(alba_backend)
     return allowed_backends
示例#4
0
 def list(self, request, backend_type=None):
     """
     Overview of all backends (from a certain type, if given) on the local node (or a remote one)
     :param request: The raw request
     :type request: Request
     :param backend_type: Optional BackendType code to filter
     :type backend_type: str
     """
     if backend_type is None:
         possible_backends = BackendList.get_backends()
     else:
         possible_backends = BackendTypeList.get_backend_type_by_code(backend_type).backends
     backends = []
     for backend in possible_backends:
         if Toolbox.access_granted(request.client,
                                   user_rights=backend.user_rights,
                                   client_rights=backend.client_rights):
             backends.append(backend)
     return backends