public async Task <IActionResult> AddUserToFile(string fileKey, [FromBody] AddUserToFileRequest request) { try { var userKey = _contextAccessor.UserKeyFromContext(); bool userCanAccessFile = await UserCanAccessFile(userKey, fileKey, _hiarcDatabase, AccessLevelGroup.CoOwner); if (userCanAccessFile) { await _hiarcDatabase.AddUserToFile(fileKey, request); return(Ok(new Empty())); } else { return(StatusCode(StatusCodes.Status403Forbidden)); } } catch (ArgumentException argEx) { return(BuildErrorResponse(argEx, _logger, StatusCodes.Status400BadRequest)); } catch (Exception ex) { return(BuildErrorResponse(ex, _logger)); } }
public async Task AddUserToFile(string userKey, string fileKey, string accessLevel, string asUserKey = null, string bearerToken = null, bool logToConsole = true) { var addUserToFileRequest = new AddUserToFileRequest() { UserKey = userKey, AccessLevel = accessLevel }; await Put <AddUserToFileRequest, Empty>(addUserToFileRequest, $"files/{fileKey}/users", asUserKey, bearerToken); if (logToConsole) { Console.WriteLine($"Added user to file: User=\"{userKey}\", File=\"{fileKey}\", AccessLevel=\"{accessLevel}\""); } ; }