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