Пример #1
0
            )
            ids_of_saved_schemas[oca_schema_base_dri] = payload_id
        else:
            ids_of_saved_schemas[
                oca_schema_base_dri] = "Invalid format, DRIs should start with 'DRI:'"

    return ids_of_saved_schemas


async def pds_oca_data_format_serialize_item_recursive(context, key, val):
    new_val = val
    if isinstance(val, dict):
        new_val = await pds_oca_data_format_serialize_dict_recursive(
            context, val)
    elif val.startswith("DRI:"):
        new_val = await pds_load(context, val[4:])
        new_val = await pds_oca_data_format_serialize_dict_recursive(
            context, new_val)
    return new_val


async def pds_oca_data_format_serialize_dict_recursive(context, dct):
    new_dict = {}
    for k, v in dct.items():
        new_dict[k] = await pds_oca_data_format_serialize_item_recursive(
            context, k, v)
    return new_dict


run_standalone_async(__name__, __test_pds_link)
Пример #2
0
            "client_id": "af34d25dc21d5ee5ad0a8da9d035954dac0a286b7fce2028222657e76c89b406",
            "client_secret": "3563ca90d9a6be2387849c2253f565ba68a58bd77f83404ffeb77727a019d7ab",
            "grant_type": "client_credentials",
            "scope": "admin",
        },
        "local, default": {},
    }
    context = await build_context()
    vault_1 = OwnYourDataVault()
    vault_1.settings["client_id"] = "QXw8w203kibmQYdXRHiS1lrtxy-o7rmdwILqAF2RnWI"
    vault_1.settings["client_secret"] = "4CbCqomFaqaMbpMyASpaRlKc2IDJnKvddsgtf2M5Ss0"
    vault_1.settings["api_url"] = "https://data-vault.eu"
    usage_vault_1 = await vault_1.get_usage_policy()

    vault_2 = OwnYourDataVault()
    vault_2.settings[
        "client_id"
    ] = "af34d25dc21d5ee5ad0a8da9d035954dac0a286b7fce2028222657e76c89b406"
    vault_2.settings[
        "client_secret"
    ] = "3563ca90d9a6be2387849c2253f565ba68a58bd77f83404ffeb77727a019d7ab"
    vault_2.settings["api_url"] = "https://sc.dip-clinic.data-container.net"
    vault_2.settings["scope"] = "admin"
    usage_vault_2 = await vault_2.get_usage_policy()

    usage, msg = await verify_usage_policy(usage_vault_2, usage_vault_1)
    print(usage, msg)


run_standalone_async(__name__, test_usage_policy)
Пример #3
0
        payload_id = await pds_save_a(
            context, body.get("payload"), table=body.get("oca_schema_dri")
        )
    except PDSError as err:
        raise web.HTTPInternalServerError(reason=err.message)

    return web.json_response({"success": True, "payload_id": payload_id})


async def test_save():
    context = await build_context()
    payload_id = await pds_save_a(context, "asdd", table="123")
    print(payload_id)


run_standalone_async(__name__, test_save)


@docs(
    tags=["PersonalDataStorage"],
    summary="Retrieve data from a public data storage using data id",
)
async def get_record(request: web.BaseRequest):
    context = request.app["request_context"]
    payload_id = request.match_info["payload_id"]

    try:
        result = await pds_load(context, payload_id)
    except PDSError as err:
        raise web.HTTPInternalServerError(reason=err.roll_up)