|
@@ -64,7 +64,7 @@ namespace InABox.IPC
|
|
|
Request.BeforeRequest?.Invoke(request);
|
|
|
}
|
|
|
|
|
|
- private IPCMessage? Send(IPCMessage request, int? timeout = null)
|
|
|
+ private IPCMessage Send(IPCMessage request, int? timeout = null)
|
|
|
{
|
|
|
return _pipe.Send(request, timeout ?? Convert.ToInt32(Timeout.TotalMilliseconds));
|
|
|
}
|
|
@@ -75,7 +75,7 @@ namespace InABox.IPC
|
|
|
|
|
|
PrepareRequest(request);
|
|
|
|
|
|
- var response = Send(IPCMessage.Check2FA(request)).GetResponse<Check2FAResponse>();
|
|
|
+ var response = Send(IPCMessage.Check2FA(request))?.GetResponse<Check2FAResponse>();
|
|
|
if (response != null)
|
|
|
{
|
|
|
return response.Status switch
|
|
@@ -97,7 +97,7 @@ namespace InABox.IPC
|
|
|
|
|
|
PrepareRequest(request);
|
|
|
|
|
|
- var response = Send(IPCMessage.Ping(request), 10_000).GetResponse<PingResponse>();
|
|
|
+ var response = Send(IPCMessage.Ping(request), 10_000)?.GetResponse<PingResponse>();
|
|
|
if (response != null)
|
|
|
{
|
|
|
return response.Status switch
|
|
@@ -152,12 +152,15 @@ namespace InABox.IPC
|
|
|
var request = new QueryRequest<TEntity>(filter, null, sort, range);
|
|
|
PrepareRequest(request);
|
|
|
|
|
|
- var result = new List<TEntity>();
|
|
|
var response = Send(IPCMessage.Query(request)).GetResponse<QueryResponse<TEntity>>();
|
|
|
if (response.Items != null)
|
|
|
- foreach (var row in response.Items.Rows)
|
|
|
- result.Add(row.ToObject<TEntity>());
|
|
|
- return result.ToArray();
|
|
|
+ {
|
|
|
+ return response.Items.ToArray<TEntity>();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return [];
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
protected override CoreTable DoQuery(Filter<TEntity>? filter, Columns<TEntity>? columns, SortOrder<TEntity>? sort = null, CoreRange? range = null)
|
|
@@ -167,17 +170,12 @@ namespace InABox.IPC
|
|
|
|
|
|
var response = Send(IPCMessage.Query(request)).GetResponse<QueryResponse<TEntity>>();
|
|
|
|
|
|
- if (response != null)
|
|
|
+ return response.Status switch
|
|
|
{
|
|
|
- return response.Status switch
|
|
|
- {
|
|
|
- StatusCode.OK => response.Items,
|
|
|
- StatusCode.Unauthenticated => throw new IPCException("Client not authenticated", StatusCode.Unauthenticated),
|
|
|
- _ => throw new IPCException(response.Messages),
|
|
|
- };
|
|
|
- }
|
|
|
-
|
|
|
- return null;
|
|
|
+ StatusCode.OK => response.Items,
|
|
|
+ StatusCode.Unauthenticated => throw new IPCException("Client not authenticated", StatusCode.Unauthenticated),
|
|
|
+ _ => throw new IPCException(response.Messages),
|
|
|
+ };
|
|
|
}
|
|
|
|
|
|
protected override Dictionary<string, CoreTable> DoQueryMultiple(Dictionary<string, IQueryDef> queries)
|