diff --git a/devdocs/todo.txt b/devdocs/todo.txt
index a488b839..34e94909 100644
--- a/devdocs/todo.txt
+++ b/devdocs/todo.txt
@@ -245,7 +245,7 @@ MISC FUTURE ITEMS NOT SURE ABOUT THAT CAME UP DURING CODING / TESTING
- Should server show uptime somewhere?
- Log route: Add a route to download *all* log files as a single zip archive which will make life much easier for analysis
-
+- how to set default values in api explorer example json for post routes (e.g. dataList defaults wouldn't work unless changed, auth wb nice if set to default manager account)
diff --git a/server/AyaNova/ControllerHelpers/ListOptions.cs b/server/AyaNova/ControllerHelpers/ListOptions.cs
index 7843845d..b934a7ce 100644
--- a/server/AyaNova/ControllerHelpers/ListOptions.cs
+++ b/server/AyaNova/ControllerHelpers/ListOptions.cs
@@ -10,12 +10,10 @@ namespace AyaNova.Api.ControllerHelpers
public const int DefaultOffset = 0;
public const int DefaultLimit = 25;
- [FromBody]
- [Range(0, int.MaxValue)]
+ [FromBody]
public int? Offset { get; set; }
- [FromBody]
- [Range(1, MaxPageSize, ErrorMessage = "Limit must be greater than 0 and less than 1000.")]
+ [FromBody]
public int? Limit { get; set; }
// //Data filter id to use with this list query
diff --git a/server/AyaNova/Controllers/DataListController.cs b/server/AyaNova/Controllers/DataListController.cs
index 5347bfdc..5e2549be 100644
--- a/server/AyaNova/Controllers/DataListController.cs
+++ b/server/AyaNova/Controllers/DataListController.cs
@@ -48,13 +48,30 @@ namespace AyaNova.Api.Controllers
///
/// List key, Paging, filtering and sorting options
/// Collection with paging data
- // [HttpPost("List", Name = nameof(List))]
- [HttpPost]
+ // [HttpPost("List", Name = nameof(List))]
+ [HttpPost]
public async Task List([FromBody] ListOptions listOptions)
{
if (serverState.IsClosed)
return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason));
+ if (listOptions.Limit == null || listOptions.Limit < 1)
+ {
+ listOptions.Limit = ListOptions.DefaultLimit;
+ }
+ if (listOptions.Offset == null)
+ {
+ listOptions.Offset = 0;
+ }
+ //this is to workaround a quirk in the api explorer with default values
+ if(listOptions.SortJson=="string"){
+ listOptions.SortJson=string.Empty;
+ }
+ if(listOptions.FilterJson=="string"){
+ listOptions.FilterJson=string.Empty;
+ }
+
+
if (!ModelState.IsValid)
return BadRequest(new ApiErrorResponse(ModelState));