public async Task InvokeAsync(GiveSyncInput input, TraceWriter log) { var board = await _boardManager.GetAsync(input.BoardId, input.Password) ?? throw new UserFriendlyException("The board does not exist."); var triggerResult = await _pusher.TriggerAsync(board.ToString(), Sync_GiveSync.EventName, new Sync_GiveSync { AskForSyncClientId = input.AskForSyncClientId, BoardItems = input.BoardItems }); if (triggerResult.StatusCode != HttpStatusCode.OK) { throw new ApplicationException($"Cannot publish {Sync_GiveSync.EventName}. {JsonConvert.SerializeObject(triggerResult)}"); } }
public async Task InvokeAsync(CreateBoardItemInput input, TraceWriter log) { var board = await _boardManager.GetAsync(input.BoardId, input.Password) ?? throw new UserFriendlyException("The board does not exist."); var triggerResult = await _pusher.TriggerAsync(board.ToString(), BoardItem_Create.EventName, new BoardItem_Create { Type = input.Type }); if (triggerResult.StatusCode != HttpStatusCode.OK) { throw new ApplicationException($"Cannot publish {BoardItem_Create.EventName}. {JsonConvert.SerializeObject(triggerResult)}"); } }
public async Task <JoinBoardOutput> InvokeAsync(JoinBoardInput input, TraceWriter log) { var board = await _boardManager.GetAsync(input.BoardId, input.Password) ?? throw new Exception("The board does not exist."); var clientId = Guid.NewGuid().ToString(); var triggerResult = await _pusher.TriggerAsync(board.ToString(), Board_Join.EventName, new Board_Join { ClientId = clientId }); if (triggerResult.StatusCode != HttpStatusCode.OK) { log.Error($"Cannot publish {Board_Join.EventName}. {JsonConvert.SerializeObject(triggerResult)}"); } return(new JoinBoardOutput { Channel = board.ToString(), ClientId = clientId }); }