api: implement entity converters

This commit is contained in:
2025-07-20 09:36:06 +02:00
parent 907a902c69
commit a8c1fd0df1
2 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
using Pilz.Data;
namespace Pilz.Net.Api.Entities;
public interface IEntityConverter<TEntity, TUpdateMsg>
where TEntity : class, IDataObject
where TUpdateMsg : ApiMessage
{
IDataObject ConvertToClient(TEntity entityServer, IDataManager manager);
ApiResult? UpdateEntity(EntityUpdate<TEntity, TUpdateMsg> entityUpdate, IDataManager manager);
}
public interface IEntityConverter<TEntity, TParent, TUpdateMsg>
where TEntity : class, IDataObject
where TParent : class, IDataObject
where TUpdateMsg : ApiMessage
{
IDataObject ConvertToClient(TEntity entityServer, IDataManager manager);
ApiResult? UpdateEntity(EntityUpdate<TEntity, TParent, TUpdateMsg> entityUpdate, IDataManager manager);
}

View File

@@ -0,0 +1,18 @@
using Pilz.Data;
namespace Pilz.Net.Api.Entities;
public interface IEntityConverterProvider<TEntity, TUpdateMsg>
where TEntity : class, IDataObject
where TUpdateMsg : ApiMessage
{
IEntityConverter<TEntity, TUpdateMsg>? GetEntityConverter() => this as IEntityConverter<TEntity, TUpdateMsg>;
}
public interface IEntityConverterProvider<TEntity, TParent, TUpdateMsg>
where TEntity : class, IDataObject
where TParent : class, IDataObject
where TUpdateMsg : ApiMessage
{
IEntityConverter<TEntity, TParent, TUpdateMsg>? GetEntityConverter() => this as IEntityConverter<TEntity, TParent, TUpdateMsg>;
}