public ActionResult <dynamic> Hearbeat([FromForm] GameLobby lobby, [FromForm] Jwt jwt) { if (!jwt.Verify()) { return(BadRequest("Bad token")); } var elob = Db.GameLobbies.Find(x => x.Id == lobby.Id).FirstOrDefaultAsync(); return(StatusCode(200)); }
public ActionResult <string> Single([FromForm] Jwt jwt, string serverId) { //verify token sync if (!jwt.Verify()) { return(BadRequest(412)); } var srv = Db.GameLobbies.Find(x => x.Id == serverId).FirstOrDefault(); return(JsonConvert.SerializeObject(srv)); }
public ActionResult Send([FromForm] WarchatMsg msg, [FromForm] Jwt jwt) { if (!jwt.Verify()) { return(StatusCode(406)); } msg.Time = DateTime.UtcNow; Db.Warchat.InsertOne(msg); return(StatusCode(200)); }
public ActionResult <string> Pm(string playerId, [FromForm] Jwt jwt, [FromForm] PrivateMessage msg) { if (!jwt.Verify()) { return(BadRequest(412)); } msg.Time = DateTime.UtcNow; var pt = Db.Players.Find(x => x.UserId == playerId).FirstOrDefaultAsync(); if (msg.Content.Length > 240) { msg.Content = msg.Content[0..240];
public async Task <ActionResult <string> > PHeartbeat([FromForm] Jwt jwt) { if (!jwt.Verify()) { return(BadRequest("Bad token")); } var p = await Utils.GetPlayer(jwt); var upd = new UpdateDefinitionBuilder <Player>().Set("LastSeen", DateTime.UtcNow); _ = Db.Players.UpdateOneAsync(x => x.Id == p.Id, upd); return(StatusCode(200)); }
public ActionResult <string> GetAll([FromForm] Jwt jwt, [FromForm] LobbySearchFilter filter) { //discover servers async var servers = Db.GameLobbies.Find(x => x.IsRunning == filter.RunningGames && (x.Description.Contains(filter.NameContains) || x.Name.Contains(filter.NameContains)) && (filter.HasPassword ? (!string.IsNullOrWhiteSpace(x.Password) && string.IsNullOrWhiteSpace(x.Password)) : string.IsNullOrWhiteSpace(x.Password)) && filter.GameModes.Contains(x.GameMode)).ToListAsync(); //verify token sync if (!jwt.Verify()) { return(BadRequest(403)); } return(JsonConvert.SerializeObject(servers.Result)); }
public ActionResult <string> Get([FromForm] string time, [FromForm] Jwt jwt) { if (!jwt.Verify()) { return(StatusCode(406)); } if (!DateTime.TryParse(time, out var since)) { return(StatusCode(400)); } if (since < DateTime.UtcNow - TimeSpan.FromMinutes(20)) { since = DateTime.UtcNow - TimeSpan.FromMinutes(20); } var msgs = Db.Warchat.Find(x => x.Time >= since); return(JsonConvert.SerializeObject(msgs)); }
public ActionResult <string> Connect([FromForm] Jwt jwt, string serverId) { var srv = Db.GameLobbies.Find(x => x.Id == serverId).FirstOrDefaultAsync(); if (!jwt.Verify()) { return(BadRequest()); } var player = Db.Players.Find(x => jwt.Username == x.Username).FirstOrDefault(); if (srv.Result == null) { return(BadRequest(404)); } var upd = new UpdateDefinitionBuilder <Player>().Set("LastSeen", DateTime.UtcNow).Set("CurrentLobbyId", serverId); _ = Db.Players.UpdateOneAsync(x => x.Id == player.Id, upd); return(StatusCode(200)); }
public ActionResult <string> VoteKick([FromForm] Jwt jwt, string playerId, string serverId) { return(""); }
public ActionResult <string> Leave([FromForm] Jwt jwt, string serverId) { return(""); }
public static Task <User> GetUser(Jwt jwt) => Task.FromResult(Db.Users.Find(x => x.Username == jwt.Username).FirstOrDefault());
public static bool VerifyJwt(Jwt jwt) { return(true); }