def delete(self, scope, name): """ Detach data identifiers from data identifiers. .. :quickref: DIDs; Detach DID from DID. :param scope: Scope of the DID to detach from. :param name: Name of the DID to detach from. :<json dicts data: Must contain key 'dids' with list of dids to detach. :status 200: DIDs successfully detached :status 401: Invalid Auth Token :status 404: DID not found :status 500: Database Exception """ try: json_data = loads(request.data) if 'dids' in json_data: dids = json_data['dids'] except ValueError: return generate_http_error_flask( 400, 'ValueError', 'Cannot decode json parameter list') try: detach_dids(scope=scope, name=name, dids=dids, issuer=request.environ.get('issuer')) except UnsupportedOperation, error: return generate_http_error_flask(409, 'UnsupportedOperation', error.args[0][0])
def delete(self, scope_name): """ Detach data identifiers from data identifiers. .. :quickref: DIDs; Detach DID from DID. :param scope_name: data identifier (scope)/(name). :<json dicts data: Must contain key 'dids' with list of dids to detach. :status 200: DIDs successfully detached :status 401: Invalid Auth Token :status 404: DID not found """ try: scope, name = parse_scope_name(scope_name, request.environ.get('vo')) except ValueError as error: return generate_http_error_flask(400, error) parameters = json_parameters() dids = param_get(parameters, 'dids') try: detach_dids(scope=scope, name=name, dids=dids, issuer=request.environ.get('issuer'), vo=request.environ.get('vo')) except UnsupportedOperation as error: return generate_http_error_flask(409, error) except DataIdentifierNotFound as error: return generate_http_error_flask(404, error) except AccessDenied as error: return generate_http_error_flask(401, error) return '', 200
def DELETE(self, scope, name): """ Detach data identifiers from data identifiers. HTTP Success: 200 OK HTTP Error: 401 Unauthorized 500 InternalError :param scope: Detach the data identifier from this scope. :param name: Detach the data identifier from this name. """ try: json_data = loads(data()) if 'dids' in json_data: dids = json_data['dids'] except ValueError: raise generate_http_error(400, 'ValueError', 'Cannot decode json parameter list') try: detach_dids(scope=scope, name=name, dids=dids, issuer=ctx.env.get('issuer')) except UnsupportedOperation as error: raise generate_http_error(409, 'UnsupportedOperation', error.args[0]) except DataIdentifierNotFound as error: raise generate_http_error(404, 'DataIdentifierNotFound', error.args[0]) except AccessDenied as error: raise generate_http_error(401, 'AccessDenied', error.args[0]) except Exception as error: print(format_exc()) raise InternalError(error) raise OK()