public async Task <Classification> UpdateClassification(string key, UpdateClassificationRequest request, string asUserKey = null, string bearerToken = null, bool logToConsole = true) { var updatedClassification = await Put <UpdateClassificationRequest, Classification>(request, $"classifications/{key}", asUserKey, bearerToken); if (logToConsole) { Console.WriteLine($"Updated Classification: {ToJson(updatedClassification)}\""); } ; return(updatedClassification); }
public async Task <IActionResult> Update(string key, [FromBody] UpdateClassificationRequest request) { try { var updatedClassification = await _hiarcDatabase.UpdateClassification(key, request); return(Ok(updatedClassification)); } catch (InvalidOperationException ex) { _logger.LogError(ex.Message); return(StatusCode(StatusCodes.Status403Forbidden)); } catch (Exception ex) { return(BuildErrorResponse(ex, _logger)); } }
public async void UpdateMetadata() { var md = TestMetadata; var c1 = await _hiarc.CreateClassification(md); var updatedMD = new Dictionary <string, object> { { "department", "support" }, { "quotaCarrying", false }, { "targetRate", 7.271 }, { "level", 2 }, { "startDate", DateTime.Parse("2020-02-25T22:33:50.134Z").ToUniversalTime() } }; var request = new UpdateClassificationRequest { Metadata = updatedMD }; var updatedClassification = await _hiarc.UpdateClassification(c1.Key, request); AssertMetadata(updatedMD, updatedClassification.Metadata); }
public async void NullOutMetadata() { var md = TestMetadata; var c1 = await _hiarc.CreateClassification(md); var updatedMD = new Dictionary <string, object> { { "department", null }, { "quotaCarrying", null } }; var request = new UpdateClassificationRequest { Metadata = updatedMD }; var updatedClassification = await _hiarc.UpdateClassification(c1.Key, request); Assert.Equal(3, updatedClassification.Metadata.Keys.Count); updatedMD = new Dictionary <string, object> { { "targetRate", null }, { "level", null }, { "startDate", null } }; request = new UpdateClassificationRequest { Metadata = updatedMD }; updatedClassification = await _hiarc.UpdateClassification(c1.Key, request); Assert.Null(updatedClassification.Metadata); }
public async void ClassificationCRUD() { var c1 = await _hiarc.CreateClassification(); var fetchedClassification = await _hiarc.GetClassification(c1.Key); Assert.Equal(c1, fetchedClassification, new EntityComparer()); var newName = "New Name"; var newDescription = "New description"; var updateRequest = new UpdateClassificationRequest { Name = newName, Description = newDescription }; var updatedClassification = await _hiarc.UpdateClassification(c1.Key, updateRequest); Assert.Equal(newName, updatedClassification.Name); Assert.Equal(newDescription, updatedClassification.Description); Assert.True(updatedClassification.ModifiedAt > updatedClassification.CreatedAt); updateRequest = new UpdateClassificationRequest { Key = "new key", Name = newName, Description = newDescription }; await Assert.ThrowsAnyAsync <Exception>(async() => await _hiarc.UpdateClassification(c1.Key, updateRequest)); }