This commit is contained in:
@@ -75,24 +75,26 @@ namespace AyaNova.Api.Controllers
|
||||
/// <param name="ayaType"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="phrase"></param>
|
||||
/// <param name="max"></param>
|
||||
/// <returns>A search result excerpt of object</returns>
|
||||
[HttpGet("Info/{ayaType}/{id}")]
|
||||
public async Task<IActionResult> GetInfo([FromRoute] AyaType ayaType, [FromRoute] long id, [FromQuery] string phrase)
|
||||
public async Task<IActionResult> GetInfo([FromRoute] AyaType ayaType, [FromRoute] long id, [FromQuery] string phrase, [FromQuery] int max = 80)
|
||||
{
|
||||
if (serverState.IsClosed)
|
||||
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
||||
|
||||
|
||||
if (!Authorized.HasReadFullRole(HttpContext.Items, ayaType))
|
||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||
|
||||
if (!ModelState.IsValid)
|
||||
return BadRequest(new ApiErrorResponse(ModelState));
|
||||
if(id==0){
|
||||
return NotFound();
|
||||
if (id == 0)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
var res = await Search.GetInfoAsync(ct, UserTranslationIdFromContext.Id(HttpContext.Items),
|
||||
UserRolesFromContext.Roles(HttpContext.Items),UserIdFromContext.Id(HttpContext.Items), phrase, ayaType, id);
|
||||
|
||||
var res = await Search.GetInfoAsync(ct, UserTranslationIdFromContext.Id(HttpContext.Items),
|
||||
UserRolesFromContext.Roles(HttpContext.Items), UserIdFromContext.Id(HttpContext.Items), phrase, max, ayaType, id);
|
||||
|
||||
return Ok(ApiOkResponse.Response(res, true));
|
||||
}
|
||||
|
||||
@@ -273,7 +273,7 @@ namespace AyaNova.Biz
|
||||
|
||||
#region Get info (excerpt)
|
||||
public static async Task<string> GetInfoAsync(AyContext ct, long translationId,
|
||||
AuthorizationRoles currentUserRoles, long userId, string phrase, AyaType ayaType, long id)
|
||||
AuthorizationRoles currentUserRoles, long userId, string phrase, int max, AyaType ayaType, long id)
|
||||
{
|
||||
//escape literal percentage signs first just in case they are searching for 50% off or something
|
||||
//https://www.postgresql.org/docs/current/functions-matching.html#FUNCTIONS-LIKE
|
||||
@@ -295,7 +295,7 @@ namespace AyaNova.Biz
|
||||
|
||||
//extract and rank here
|
||||
ExtractAndRank er = new ExtractAndRank();
|
||||
er.Process(searchParams, PhraseItems.ToArray());
|
||||
er.Process(searchParams, PhraseItems.ToArray(), max);
|
||||
// sr.Extract = er.Extract;
|
||||
// sr.Rank = er.Ranking;
|
||||
|
||||
@@ -426,11 +426,10 @@ namespace AyaNova.Biz
|
||||
#region public methods
|
||||
/// <summary>
|
||||
/// Do the extraction and ranking
|
||||
/// </summary>
|
||||
/// <param name="searchObjectParams"></param>
|
||||
/// <param name="searchTerms"></param>
|
||||
public void Process(SearchIndexProcessObjectParameters searchObjectParams, string[] searchTerms)
|
||||
/// </summary>
|
||||
public void Process(SearchIndexProcessObjectParameters searchObjectParams, string[] searchTerms, int max)
|
||||
{
|
||||
this.maximumCharactersToExtract = max;
|
||||
|
||||
ranking = 0;
|
||||
extract = "";
|
||||
|
||||
Reference in New Issue
Block a user