add better initialization

This commit is contained in:
Pilzinsel64
2025-10-09 07:26:42 +02:00
parent 5e035b43df
commit ccb9f8350e
7 changed files with 40 additions and 10 deletions

View File

@@ -17,6 +17,8 @@ public abstract class BaseHandler<TEntity, TUpdateMsg>(IApiServer server)
public ApiRequestInfo Request { get; } = reqest;
}
public event EventHandler<TEntity>? OnDeleteItem;
/// <summary>
/// Gets the base route (endpoint) for the most API calls.
/// </summary>
@@ -24,8 +26,18 @@ public abstract class BaseHandler<TEntity, TUpdateMsg>(IApiServer server)
protected virtual bool RegisterGet => true;
protected virtual bool RegisterPut => true;
protected virtual bool RegisterDelete => true;
public bool HasInitialized { get; protected set; }
public virtual void Initialize(IApiServer server)
public virtual void Initialize()
{
if (HasInitialized)
return;
HasInitialized = true;
OnInitialize();
}
protected virtual void OnInitialize()
{
var t = GetType();
if (RegisterGet)
@@ -64,6 +76,7 @@ public abstract class BaseHandler<TEntity, TUpdateMsg>(IApiServer server)
protected virtual ApiResult? OnDelete(TEntity entity)
{
OnDeleteItem?.Invoke(this, entity);
server.Manager.Delete(entity, true);
return null;
}