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));
|
||||
|
||||
await using Database database = new();
|
||||
User poster = await database.Users.FirstOrDefaultAsync(u => u.Username == "jvyden");
|
||||
User poster = await database.UserFromRequest(Request);
|
||||
|
||||
if(poster == null) return this.StatusCode(403, "");
|
||||
|
||||
User target = await database.Users.FirstOrDefaultAsync(u => u.Username == username);
|
||||
|
||||
if(comment == null) return this.BadRequest();
|
||||
if(comment == null || target == null) return this.BadRequest();
|
||||
|
||||
comment.PosterUserId = poster.UserId;
|
||||
comment.TargetUserId = target.UserId;
|
||||
|
|
|
@ -32,10 +32,10 @@ namespace ProjectLighthouse.Controllers {
|
|||
|
||||
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 {
|
||||
AuthTicket = token.UserToken,
|
||||
AuthTicket = "MM_AUTH=" + token.UserToken,
|
||||
LbpEnvVer = ServerSettings.ServerName
|
||||
}.Serialize());
|
||||
}
|
||||
|
|
|
@ -10,14 +10,13 @@ namespace ProjectLighthouse.Controllers {
|
|||
public class MessageController : ControllerBase {
|
||||
[HttpGet("eula")]
|
||||
public async Task<IActionResult> Eula() {
|
||||
User user = await new Database().Users.FirstOrDefaultAsync(u => u.Username == "jvyden");
|
||||
|
||||
return Ok($"You are logged in as user {user.Username} (id {user.UserId})");
|
||||
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})");
|
||||
}
|
||||
|
||||
[HttpGet("announce")]
|
||||
public IActionResult Announce() {
|
||||
return Ok("PROJECT LIGHTHOUSE IS A GO!\nalso ezoiar was here\nnow on ASP.NET!");
|
||||
return Ok("");
|
||||
}
|
||||
|
||||
[HttpGet("notification")]
|
||||
|
|
|
@ -30,7 +30,9 @@ namespace ProjectLighthouse.Controllers {
|
|||
public async Task<IActionResult> Publish() {
|
||||
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();
|
||||
|
||||
//TODO: parse location in body
|
||||
|
|
|
@ -31,9 +31,9 @@ namespace ProjectLighthouse.Controllers {
|
|||
[HttpPost("updateUser")]
|
||||
public async Task<IActionResult> UpdateUser() {
|
||||
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() {
|
||||
Async = true // this is apparently not default
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#nullable enable
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using ProjectLighthouse.Helpers;
|
||||
using ProjectLighthouse.Types;
|
||||
|
@ -60,5 +61,13 @@ namespace ProjectLighthouse {
|
|||
if(token == null) return null;
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -40,6 +40,16 @@ namespace ProjectLighthouse.Types {
|
|||
[XmlIgnore]
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
|
@ -85,7 +95,7 @@ namespace ProjectLighthouse.Types {
|
|||
string slotData = LbpSerializer.StringElement("name", Name) +
|
||||
LbpSerializer.StringElement("id", SlotId) +
|
||||
LbpSerializer.StringElement("game", 1) +
|
||||
LbpSerializer.StringElement("npHandle", "jvyden") +
|
||||
LbpSerializer.StringElement("npHandle", Creator.UserId) +
|
||||
LbpSerializer.StringElement("description", Description) +
|
||||
LbpSerializer.StringElement("icon", IconHash) +
|
||||
LbpSerializer.StringElement("resource", Resource) +
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue