Skip to content

update_model

fastagency.studio.app.update_model async #

update_model(
    user_uuid: str,
    type_name: str,
    model_name: str,
    model_uuid: str,
    model: dict[str, Any],
) -> dict[str, Any]
Source code in fastagency/studio/app.py
@app.put("/user/{user_uuid}/models/{type_name}/{model_name}/{model_uuid}")
async def update_model(
    user_uuid: str,
    type_name: str,
    model_name: str,
    model_uuid: str,
    model: dict[str, Any],
) -> dict[str, Any]:
    registry = Registry.get_default()
    validated_model = registry.validate(type_name, model_name, model)

    found_model = await DefaultDB.backend().find_model(model_uuid=model_uuid)
    found_model_name = found_model["json_str"].get("name")
    if model["name"] != found_model_name:
        await check_model_name_uniqueness_and_raise(user_uuid, model["name"])

    await DefaultDB.backend().update_model(
        model_uuid=found_model["uuid"],
        user_uuid=user_uuid,
        type_name=type_name,
        model_name=model_name,
        json_str=validated_model.model_dump_json(),
    )

    return validated_model.model_dump()