mirror of
https://github.com/LBPUnion/ProjectLighthouse.git
synced 2025-07-28 07:58:40 +00:00
Dont hardcode user as "jvyden"
This commit is contained in:
parent
b287e34425
commit
59ba45036d
7 changed files with 37 additions and 14 deletions
|
@ -32,10 +32,13 @@ namespace ProjectLighthouse.Controllers {
|
||||||
Comment comment = (Comment)serializer.Deserialize(new StringReader(bodyString));
|
Comment comment = (Comment)serializer.Deserialize(new StringReader(bodyString));
|
||||||
|
|
||||||
await using Database database = new();
|
await using Database database = new();
|
||||||
User poster = await database.Users.FirstOrDefaultAsync(u => u.Username == "jvyden");
|
User poster = await database.UserFromRequest(Request);
|
||||||
User target = await database.Users.FirstOrDefaultAsync(u => u.Username == username);
|
|
||||||
|
|
||||||
if(comment == null) return this.BadRequest();
|
if(poster == null) return this.StatusCode(403, "");
|
||||||
|
|
||||||
|
User target = await database.Users.FirstOrDefaultAsync(u => u.Username == username);
|
||||||
|
|
||||||
|
if(comment == null || target == null) return this.BadRequest();
|
||||||
|
|
||||||
comment.PosterUserId = poster.UserId;
|
comment.PosterUserId = poster.UserId;
|
||||||
comment.TargetUserId = target.UserId;
|
comment.TargetUserId = target.UserId;
|
||||||
|
|
|
@ -32,10 +32,10 @@ namespace ProjectLighthouse.Controllers {
|
||||||
|
|
||||||
Token? token = await database.AuthenticateUser(loginData);
|
Token? token = await database.AuthenticateUser(loginData);
|
||||||
|
|
||||||
if(token == null) return this.BadRequest(""); // TODO: send 403
|
if(token == null) return this.StatusCode(403, "");
|
||||||
|
|
||||||
return this.Ok(new LoginResult {
|
return this.Ok(new LoginResult {
|
||||||
AuthTicket = token.UserToken,
|
AuthTicket = "MM_AUTH=" + token.UserToken,
|
||||||
LbpEnvVer = ServerSettings.ServerName
|
LbpEnvVer = ServerSettings.ServerName
|
||||||
}.Serialize());
|
}.Serialize());
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,14 +10,13 @@ namespace ProjectLighthouse.Controllers {
|
||||||
public class MessageController : ControllerBase {
|
public class MessageController : ControllerBase {
|
||||||
[HttpGet("eula")]
|
[HttpGet("eula")]
|
||||||
public async Task<IActionResult> Eula() {
|
public async Task<IActionResult> Eula() {
|
||||||
User user = await new Database().Users.FirstOrDefaultAsync(u => u.Username == "jvyden");
|
User user = await new Database().UserFromRequest(Request);
|
||||||
|
return user == null ? this.StatusCode(403, "") : this.Ok($"You are logged in as user {user.Username} (id {user.UserId})");
|
||||||
return Ok($"You are logged in as user {user.Username} (id {user.UserId})");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("announce")]
|
[HttpGet("announce")]
|
||||||
public IActionResult Announce() {
|
public IActionResult Announce() {
|
||||||
return Ok("PROJECT LIGHTHOUSE IS A GO!\nalso ezoiar was here\nnow on ASP.NET!");
|
return Ok("");
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("notification")]
|
[HttpGet("notification")]
|
||||||
|
|
|
@ -30,7 +30,9 @@ namespace ProjectLighthouse.Controllers {
|
||||||
public async Task<IActionResult> Publish() {
|
public async Task<IActionResult> Publish() {
|
||||||
await using Database database = new();
|
await using Database database = new();
|
||||||
|
|
||||||
User user = await database.Users.FirstOrDefaultAsync(u => u.Username == "jvyden");
|
User user = await database.UserFromRequest(Request);
|
||||||
|
if(user == null) return this.StatusCode(403, "");
|
||||||
|
|
||||||
Slot slot = await this.GetSlotFromBody();
|
Slot slot = await this.GetSlotFromBody();
|
||||||
|
|
||||||
//TODO: parse location in body
|
//TODO: parse location in body
|
||||||
|
|
|
@ -31,9 +31,9 @@ namespace ProjectLighthouse.Controllers {
|
||||||
[HttpPost("updateUser")]
|
[HttpPost("updateUser")]
|
||||||
public async Task<IActionResult> UpdateUser() {
|
public async Task<IActionResult> UpdateUser() {
|
||||||
await using Database database = new();
|
await using Database database = new();
|
||||||
User user = await database.Users.Where(u => u.Username == "jvyden").FirstOrDefaultAsync();
|
User user = await database.UserFromRequest(Request);
|
||||||
|
|
||||||
if(user == null) return this.BadRequest();
|
if(user == null) return this.StatusCode(403, "");
|
||||||
|
|
||||||
XmlReaderSettings settings = new() {
|
XmlReaderSettings settings = new() {
|
||||||
Async = true // this is apparently not default
|
Async = true // this is apparently not default
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#nullable enable
|
#nullable enable
|
||||||
using System;
|
using System;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using ProjectLighthouse.Helpers;
|
using ProjectLighthouse.Helpers;
|
||||||
using ProjectLighthouse.Types;
|
using ProjectLighthouse.Types;
|
||||||
|
@ -60,5 +61,13 @@ namespace ProjectLighthouse {
|
||||||
if(token == null) return null;
|
if(token == null) return null;
|
||||||
return await Users.FirstOrDefaultAsync(u => u.UserId == token.UserId);
|
return await Users.FirstOrDefaultAsync(u => u.UserId == token.UserId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<User?> UserFromRequest(HttpRequest request) {
|
||||||
|
if(!request.Cookies.TryGetValue("MM_AUTH", out string? mmAuth) || mmAuth == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return await UserFromAuthToken(mmAuth);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -36,9 +36,19 @@ namespace ProjectLighthouse.Types {
|
||||||
|
|
||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
public int LocationId { get; set; }
|
public int LocationId { get; set; }
|
||||||
|
|
||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
public int CreatorId { get; set; }
|
public int CreatorId { get; set; }
|
||||||
|
|
||||||
|
private User creator;
|
||||||
|
|
||||||
|
public User Creator {
|
||||||
|
get {
|
||||||
|
if(this.creator != null) return this.creator;
|
||||||
|
|
||||||
|
return creator = new Database().Users.First(u => u.UserId == CreatorId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Location location;
|
private Location location;
|
||||||
|
|
||||||
|
@ -85,7 +95,7 @@ namespace ProjectLighthouse.Types {
|
||||||
string slotData = LbpSerializer.StringElement("name", Name) +
|
string slotData = LbpSerializer.StringElement("name", Name) +
|
||||||
LbpSerializer.StringElement("id", SlotId) +
|
LbpSerializer.StringElement("id", SlotId) +
|
||||||
LbpSerializer.StringElement("game", 1) +
|
LbpSerializer.StringElement("game", 1) +
|
||||||
LbpSerializer.StringElement("npHandle", "jvyden") +
|
LbpSerializer.StringElement("npHandle", Creator.UserId) +
|
||||||
LbpSerializer.StringElement("description", Description) +
|
LbpSerializer.StringElement("description", Description) +
|
||||||
LbpSerializer.StringElement("icon", IconHash) +
|
LbpSerializer.StringElement("icon", IconHash) +
|
||||||
LbpSerializer.StringElement("resource", Resource) +
|
LbpSerializer.StringElement("resource", Resource) +
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue