public async Task <IActionResult> AddChild(string key, string childKey) { try { var userKey = _contextAccessor.UserKeyFromContext(); bool userCanAccessCollection = await UserCanAccessCollection(userKey, key, _hiarcDatabase, AccessLevelGroup.ReadWriteOrHigher); if (userCanAccessCollection) { await _hiarcDatabase.AddChildToCollection(key, childKey); return(Ok(new Empty())); } else { return(StatusCode(StatusCodes.Status403Forbidden)); } } catch (InvalidOperationException ex) { _logger.LogError(ex.Message); return(StatusCode(StatusCodes.Status403Forbidden)); } catch (Exception ex) { return(BuildErrorResponse(ex, _logger)); } }