From 02ef0da374552e12b222b995070c76baca071469 Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Wed, 30 Apr 2025 14:16:54 +0200 Subject: [PATCH] use ChildEntityUpdate also on PUT --- Pilz.Net/Api/Server/BaseChildItemHandler.cs | 12 ++++++++++++ Pilz.Net/Pilz.Net.csproj | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Pilz.Net/Api/Server/BaseChildItemHandler.cs b/Pilz.Net/Api/Server/BaseChildItemHandler.cs index 175dd4d..dd2836c 100644 --- a/Pilz.Net/Api/Server/BaseChildItemHandler.cs +++ b/Pilz.Net/Api/Server/BaseChildItemHandler.cs @@ -54,6 +54,18 @@ public abstract class BaseChildItemHandler(IApiSer return ToClient(entity).ToItemResult(HttpStatusCode.Created); } + public override ApiResult Put(int id, TUpdateMsg msg, ApiRequestInfo req) + { + if (server.Manager.Get().FirstOrDefault(n => GetChilds(n).Any(n => n.Id == id)) is not TParent parentEntity) + return ApiResult.NotFound(); + if (!server.Manager.Find(id, out TEntity? entity)) + return ApiResult.NotFound(); + if (UpdateEntity(new ChildEntityUpdate(entity, parentEntity, msg, req)) is ApiResult result) + return result; + server.Manager.Save(entity, true); + return ToClient(entity).ToItemResult(); + } + protected virtual TEntity CreateNewEntity(TUpdateMsg msg, TParent parent) { return CreateNewEntity(msg); diff --git a/Pilz.Net/Pilz.Net.csproj b/Pilz.Net/Pilz.Net.csproj index b05c865..d5660f0 100644 --- a/Pilz.Net/Pilz.Net.csproj +++ b/Pilz.Net/Pilz.Net.csproj @@ -8,7 +8,7 @@ - 2.5.2 + 2.5.3