chore(): small improvements

This commit is contained in:
ITQ
2026-02-22 19:19:44 +03:00
parent 4b69bb3af0
commit 385aae930f
5 changed files with 27 additions and 6 deletions
+9 -4
View File
@@ -184,12 +184,14 @@ def create_variant(
experiment_id: UUID,
payload: VariantCreateIn,
) -> tuple[HTTPStatus, VariantOut]:
user = _get_user(request)
exp = get_object_or_404(
Experiment.objects.select_related("flag"),
Experiment.objects.select_related("flag", "owner"),
pk=experiment_id,
)
v = variant_create(
experiment=exp,
user=user,
name=payload.name,
value=payload.value,
weight=payload.weight,
@@ -210,13 +212,15 @@ def update_variant(
variant_id: UUID,
payload: VariantUpdateIn,
) -> tuple[HTTPStatus, VariantOut]:
user = _get_user(request)
v = get_object_or_404(
Variant.objects.select_related("experiment__flag"),
Variant.objects.select_related("experiment__flag", "experiment__owner"),
pk=variant_id,
experiment_id=experiment_id,
)
v = variant_update(
variant=v,
user=user,
**payload.model_dump(exclude_none=True),
)
return HTTPStatus.OK, VariantOut.model_validate(v)
@@ -233,12 +237,13 @@ def delete_variant(
experiment_id: UUID,
variant_id: UUID,
) -> tuple[HTTPStatus, None]:
user = _get_user(request)
v = get_object_or_404(
Variant,
Variant.objects.select_related("experiment__owner"),
pk=variant_id,
experiment_id=experiment_id,
)
variant_delete(variant=v)
variant_delete(variant=v, user=user)
return HTTPStatus.NO_CONTENT, None