public async Task<IActionResult> Engage(Guid? id) { if (id == null) return NotFound(); var channel = await context.Channels.FirstOrDefaultAsync(x => x.Id == id); if (channel == null) return NotFound(); // Check the current user is authorised var cookie = new CookieService(context); var currentUser = await cookie.CurrentUser(Request); if (currentUser == null) return Redirect(Constants.Routes.Login); var channelAuth = new ChannelAuthService(context); var auth = await channelAuth.UserIsAuthed(channel, currentUser); if (!auth) return Redirect(Constants.Routes.AuthUserToChannel + id.ToString()); return View(); }
protected async Task SetUp() { context = DbService.NewTestContext(); userService = new UserService(context); channelService = new ChannelService(context); messageService = new MessageService(context); authService = new ChannelAuthService(context); user = await userService.ExistingUser(Lorem); if (user == null) { user = await userService.CreateUser(Lorem, Lorem, Lorem); } channel = await channelService.CreateChannel(Lorem, Lorem, user); packet = JsonConvert.SerializeObject(new MessagePacket { UserCookie = user.CookieId, Channel = channel.Id, Message = Lorem }); }
public ChannelAuthController(ActiveBearContext _context) { context = _context; channelAuthService = new ChannelAuthService(context); cookieService = new CookieService(context); }