/// <summary> /// Initializes a new instance of the IndexerExecutionInfo class. /// </summary> /// <param name="status">Overall indexer status. Possible values /// include: 'unknown', 'error', 'running'</param> /// <param name="lastResult">The result of the most recent or an /// in-progress indexer execution.</param> /// <param name="executionHistory">History of the recent indexer /// executions, sorted in reverse chronological order.</param> public IndexerExecutionInfo(IndexerStatus status = default(IndexerStatus), IndexerExecutionResult lastResult = default(IndexerExecutionResult), IList <IndexerExecutionResult> executionHistory = default(IList <IndexerExecutionResult>)) { Status = status; LastResult = lastResult; ExecutionHistory = executionHistory; CustomInit(); }
internal IndexerExecutionInfo(IndexerStatus status, IndexerExecutionResult lastResult, IReadOnlyList <IndexerExecutionResult> executionHistory, IndexerLimits limits) { Status = status; LastResult = lastResult; ExecutionHistory = executionHistory; Limits = limits; }
internal SearchIndexerStatus(IndexerStatus status, IndexerExecutionResult lastResult, IReadOnlyList <IndexerExecutionResult> executionHistory, SearchIndexerLimits limits) { Status = status; LastResult = lastResult; ExecutionHistory = executionHistory ?? new List <IndexerExecutionResult>(); Limits = limits; }
private void WithStatus(IndexerStatus status) { Mocker.GetMock <IIndexerStatusRepository>() .Setup(v => v.FindByProviderId(1)) .Returns(status); Mocker.GetMock <IIndexerStatusRepository>() .Setup(v => v.All()) .Returns(new[] { status }); }
public static IndexerStatusResource ToResource(this IndexerStatus model) { if (model == null) { return(null); } return(new IndexerStatusResource { IndexerId = model.ProviderId, DisabledTill = model.DisabledTill }); }
internal IndexerExecutionInfo(IndexerStatus status, IEnumerable <IndexerExecutionResult> executionHistory, IndexerLimits limits) { if (executionHistory == null) { throw new ArgumentNullException(nameof(executionHistory)); } if (limits == null) { throw new ArgumentNullException(nameof(limits)); } Status = status; ExecutionHistory = executionHistory.ToArray(); Limits = limits; }
internal static string ToSerializedValue(this IndexerStatus value) { switch (value) { case IndexerStatus.Unknown: return("unknown"); case IndexerStatus.Error: return("error"); case IndexerStatus.Running: return("running"); } return(null); }
internal static IndexerExecutionInfo DeserializeIndexerExecutionInfo(JsonElement element) { IndexerStatus status = default; IndexerExecutionResult lastResult = default; IReadOnlyList <IndexerExecutionResult> executionHistory = default; IndexerLimits limits = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("status")) { status = property.Value.GetString().ToIndexerStatus(); continue; } if (property.NameEquals("lastResult")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } lastResult = IndexerExecutionResult.DeserializeIndexerExecutionResult(property.Value); continue; } if (property.NameEquals("executionHistory")) { List <IndexerExecutionResult> array = new List <IndexerExecutionResult>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(IndexerExecutionResult.DeserializeIndexerExecutionResult(item)); } } executionHistory = array; continue; } if (property.NameEquals("limits")) { limits = IndexerLimits.DeserializeIndexerLimits(property.Value); continue; } } return(new IndexerExecutionInfo(status, lastResult, executionHistory, limits)); }
/// <summary> /// Convert an enum of type IndexerStatus to a string. /// </summary> /// <param name='value'> /// The value to convert to a string. /// </param> /// <returns> /// The enum value as a string. /// </returns> internal static string IndexerStatusToString(IndexerStatus value) { if (value == IndexerStatus.Unknown) { return("unknown"); } if (value == IndexerStatus.Error) { return("error"); } if (value == IndexerStatus.Running) { return("running"); } throw new ArgumentOutOfRangeException("value"); }
private async Task <DateTime> GetLastIndexUpdateDateTime() { DateTime lastUpdateDateTime = DateTime.MinValue; HttpClient httpClient = new HttpClient(); string url = $"{_configuration.GetValue<string>("AZURE_SEARCH_URI")}/indexers/{_configuration.GetValue<string>("AZURE_SEARCH_INDEXER")}/status?api-version=2020-06-30"; httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Add("api-key", _configuration.GetValue <string>("AZURE_SEARCH_KEY")); HttpResponseMessage response = await httpClient.GetAsync(url); if (response.IsSuccessStatusCode) { string indexerStatusString = await response.Content.ReadAsStringAsync(); IndexerStatus indexerStatus = JsonConvert.DeserializeObject <IndexerStatus>(indexerStatusString); if (indexerStatus.lastResult.status == "success") { lastUpdateDateTime = indexerStatus.lastResult.endTime; } } return(lastUpdateDateTime); }
internal static SearchIndexerStatus DeserializeSearchIndexerStatus(JsonElement element) { IndexerStatus status = default; Optional <IndexerExecutionResult> lastResult = default; IReadOnlyList <IndexerExecutionResult> executionHistory = default; SearchIndexerLimits limits = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("status")) { status = property.Value.GetString().ToIndexerStatus(); continue; } if (property.NameEquals("lastResult")) { lastResult = IndexerExecutionResult.DeserializeIndexerExecutionResult(property.Value); continue; } if (property.NameEquals("executionHistory")) { List <IndexerExecutionResult> array = new List <IndexerExecutionResult>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(IndexerExecutionResult.DeserializeIndexerExecutionResult(item)); } executionHistory = array; continue; } if (property.NameEquals("limits")) { limits = SearchIndexerLimits.DeserializeSearchIndexerLimits(property.Value); continue; } } return(new SearchIndexerStatus(status, lastResult.Value, executionHistory, limits)); }
public static SearchIndexerStatus SearchIndexerStatus( IndexerStatus status, IndexerExecutionResult lastResult, IReadOnlyList <IndexerExecutionResult> executionHistory, SearchIndexerLimits limits) => new SearchIndexerStatus(status, lastResult, executionHistory, limits);
public static SearchIndexerStatus SearchIndexerStatus(IndexerStatus status = default, IndexerExecutionResult lastResult = null, IEnumerable <IndexerExecutionResult> executionHistory = null, SearchIndexerLimits limits = null) { executionHistory ??= new List <IndexerExecutionResult>(); return(new SearchIndexerStatus(status, lastResult, executionHistory?.ToList(), limits)); }
public static string ToSerialString(this IndexerStatus value) => value switch {
public static SearchIndexerStatus SearchIndexerStatus(IndexerStatus status = default, IndexerExecutionResult lastResult = default, IReadOnlyList <IndexerExecutionResult> executionHistory = default, SearchIndexerLimits limits = default) { executionHistory ??= new List <IndexerExecutionResult>(); return(new SearchIndexerStatus(status, lastResult, executionHistory, limits)); }