示例#1
0
def do_add_organization(args, config):
    """
    Establishes relationship between Part and Organization in the state
    associating with the UUID of the Transaction Family : Part
    
    Args:
        args (ArgumentParser):
            ArgumentParser object containing required parameters
        config (ConfigParser): ConfigParser which contains the default url
        
    Returns:
        type: str
        String representing JSON object which allows the client to know that
        the call was either a success or a failure.
    
    """
    del_flag   = args.delete
    
    pt_id           = args.pt_id
    organization_id = args.organization_id
    private_key     = args.private_key
    public_key      = args.public_key
   
    payload = "{}"
    key = json.loads(payload)
    key["publickey"] = public_key
    key["privatekey"] = private_key
    key["allowedrole"] = [{"role" : "admin"}, {"role" : "member"}]
    payload = json.dumps(key)
       
    headers = {"content-type": "application/json"}
    response = requests.post("http://127.0.0.1:818/api/sparts/ledger/auth", 
                    data=json.dumps(key),headers=headers)
    output = response.content.decode("utf-8").strip()
    statusinfo = json.loads(output)
       
    if statusinfo.get("status") and statusinfo.get("message"):
            
        status = statusinfo["status"]
        message = statusinfo["message"]
            
        if status == "success" and message == "authorized":
            b_url = config.get("DEFAULT", "url")
            client = PartBatch(base_url=b_url)
            response = client.add_organization(
                                pt_id, organization_id, private_key, public_key,
                                del_flag
                            )
                            
            print_msg(response, "AddOrganization")
        else:
            print(output)
    else:
        print(output)
示例#2
0
def api_do_add_organization(args, config, del_flag=False):
    """
    API version of "do_add_organization" function.
    """
    param_check = _payload_check_(args, cmd="AddOrganization")
    
    if param_check[0]:
        return ret_msg("failed", param_check[1], "EmptyRecord", "{}")
    
    pt_id           = args["relation"]["part_uuid"]
    organization_id = args["relation"]["organization_uuid"]
    private_key     = args["private_key"]
    public_key      = args["public_key"]
   
    payload = "{}"
    key = json.loads(payload)
    key["publickey"] = public_key
    key["privatekey"] = private_key
    key["allowedrole"] = [{"role" : "admin"}, {"role" : "member"}]
    payload = json.dumps(key)
       
    headers = {"content-type": "application/json"}
    response = requests.post("http://127.0.0.1:818/api/sparts/ledger/auth", 
                    data=json.dumps(key), headers=headers)
    output = response.content.decode("utf-8").strip()
    statusinfo = json.loads(output)
       
    if statusinfo.get("status") and statusinfo.get("message"):
            
        status = statusinfo["status"]
        message = statusinfo["message"]
            
        if status == "success" and message == "authorized":
            b_url = config.get("DEFAULT", "url")
            client = PartBatch(base_url=b_url)
            response = client.add_organization(
                                pt_id, organization_id, private_key, public_key,
                                del_flag
                            )
            
            return print_msg(response, "AddOrganization")
        else:
            return output
    else:
        return output