This commit is contained in:
@@ -50,16 +50,10 @@ namespace AyaNova.Api.Controllers
|
||||
/// "zon some" is NOT valid (missing TAGS indicator), "..zone some re" is NOT valid (too many strings)
|
||||
/// Note that this list is capped automatically to return no more than 100 results
|
||||
/// </summary>
|
||||
/// <param name="ayaType">The AyaType object type to select from</param>
|
||||
/// <param name="query">The query to filter the returned list by. Query text as provided will be case sensitively matched to all templated fields.
|
||||
/// Independantely of this, if an addition space separated string that begins with two consecutive periods is encountered that will be considered a separate match to the TAGS collection of each object
|
||||
/// So a tag query might be entered as "..zon some" which would match all tags LIKE 'zon' and template fields LIKE 'some'</param>
|
||||
/// <param name="inactive">Include inactive objects in the returned list </param>
|
||||
/// <param name="preIds">Return only specific items (for pre-selected items on forms) </param>
|
||||
/// <param name="variant">Some lists optionally take a variant string, e.g. User type "inside","outside" etc </param>
|
||||
/// <param name="pickListParams">Parameters for pick list see api docs for details </param>
|
||||
/// <returns>Filtered list</returns>
|
||||
[HttpGet("list")]
|
||||
public async Task<IActionResult> GetList([FromQuery] AyaType ayaType, [FromQuery] string query, [FromQuery] bool inactive, [FromQuery] long[] preIds, [FromQuery] string variant)
|
||||
[HttpPost("list")]
|
||||
public async Task<IActionResult> PostList([FromBody] PickListParams pickListParams)
|
||||
{
|
||||
if (serverState.IsClosed)
|
||||
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
||||
@@ -69,7 +63,7 @@ namespace AyaNova.Api.Controllers
|
||||
|
||||
//NOTE: these sequence of calls are a little different than other objects due to the nature of rights and stuff with picklists being different
|
||||
|
||||
var PickList = PickListFactory.GetAyaPickList(ayaType);
|
||||
var PickList = PickListFactory.GetAyaPickList(pickListParams.AyaType);
|
||||
|
||||
//was the name not found as a pick list?
|
||||
if (PickList == null)
|
||||
@@ -82,8 +76,8 @@ namespace AyaNova.Api.Controllers
|
||||
//Instantiate the business object handler
|
||||
PickListBiz biz = PickListBiz.GetBiz(ct, HttpContext);
|
||||
|
||||
|
||||
var o = await biz.GetPickListAsync(PickList, query, inactive, preIds, variant, log);
|
||||
|
||||
var o = await biz.GetPickListAsync(PickList, pickListParams.Query, pickListParams.Inactive, pickListParams.PreselectedIds.ToArray(), pickListParams.ListVariant, log);
|
||||
if (o == null)
|
||||
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||
else
|
||||
|
||||
36
server/AyaNova/PickList/PickListParams.cs
Normal file
36
server/AyaNova/PickList/PickListParams.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Collections.Generic;
|
||||
using AyaNova.Biz;
|
||||
|
||||
namespace AyaNova.PickList
|
||||
{
|
||||
|
||||
/*
|
||||
/// <param name="params">The AyaType object type to select from</param>
|
||||
/// <param name="query">The query to filter the returned list by. Query text as provided will be case sensitively matched to all templated fields.
|
||||
/// Independantely of this, if an addition space separated string that begins with two consecutive periods is encountered that will be considered a separate match to the TAGS collection of each object
|
||||
/// So a tag query might be entered as "..zon some" which would match all tags LIKE 'zon' and template fields LIKE 'some'</param>
|
||||
/// <param name="inactive">Include inactive objects in the returned list </param>
|
||||
/// <param name="preIds">Return only specific items (for pre-selected items on forms) </param>
|
||||
/// <param name="variant">Some lists optionally take a variant string, e.g. User type "inside","outside" etc </param>
|
||||
*/
|
||||
public sealed class PickListParams
|
||||
{
|
||||
|
||||
[FromBody]
|
||||
public AyaType AyaType { get; set; }
|
||||
|
||||
[FromBody]
|
||||
public string Query { get; set; }
|
||||
|
||||
[FromBody]
|
||||
public bool Inactive { get; set; }
|
||||
|
||||
[FromBody]
|
||||
public List<long> PreselectedIds { get; set; }
|
||||
|
||||
[FromBody]
|
||||
public string ListVariant { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user