mirror of
https://github.com/LBPUnion/ProjectLighthouse.git
synced 2025-05-14 22:02:26 +00:00
Profile Blocking (#662)
* Added blocked user DB object
* Added user blocking functions
* Fixed DB Migration
* Updated DB Functions
* Added blocked user support to website
* Fixed DB Migration
* I forgot to save 🫠
* More migration pain
* Fixed Unblock label
* Update ProjectLighthouse.Servers.Website/Pages/UserPage.cshtml
sounds cool
Co-authored-by: koko <68549366+sudokoko@users.noreply.github.com>
* Removed unnecessary imports in database
* Removed unnecessary imports in UserPage.cshtml.cs
* Made comments in-game respect blocked users
* Update ProjectLighthouse/Database.cs
Co-authored-by: Josh <josh@slendy.pw>
* Update ProjectLighthouse/Database.cs
Co-authored-by: Josh <josh@slendy.pw>
* DB Code cleanup
* Cleaned up userPage block detection code
* Get only the creator id in lieu of the whole object
* Fixed null condition when not logged in
* Fixed null condition when not logged in
* Potential DB Optimisation
* Apply suggestions from code review
Co-authored-by: Josh <josh@slendy.pw>
* Fix errors and null warning
* Use explicit type in lieu of var
* changed block icons
* Optimize blocked user check and save changes when unblocking
---------
Co-authored-by: koko <68549366+sudokoko@users.noreply.github.com>
Co-authored-by: Josh <josh@slendy.pw>
This commit is contained in:
parent
b4326d4798
commit
3fcfaaf5cc
8 changed files with 227 additions and 8 deletions
|
@ -87,4 +87,32 @@ public class UserPageController : ControllerBase
|
|||
|
||||
return this.Redirect("~/user/" + id);
|
||||
}
|
||||
|
||||
[HttpGet("block")]
|
||||
public async Task<IActionResult> BlockUser([FromRoute] int id)
|
||||
{
|
||||
WebToken? token = this.database.WebTokenFromRequest(this.Request);
|
||||
if (token == null) return this.Redirect("~/login");
|
||||
|
||||
User? blockedUser = await this.database.Users.FirstOrDefaultAsync(u => u.UserId == id);
|
||||
if (blockedUser == null) return this.NotFound();
|
||||
|
||||
await this.database.BlockUser(token.UserId, blockedUser);
|
||||
|
||||
return this.Redirect("~/user/" + id);
|
||||
}
|
||||
|
||||
[HttpGet("unblock")]
|
||||
public async Task<IActionResult> UnblockUser([FromRoute] int id)
|
||||
{
|
||||
WebToken? token = this.database.WebTokenFromRequest(this.Request);
|
||||
if (token == null) return this.Redirect("~/login");
|
||||
|
||||
User? blockedUser = await this.database.Users.FirstOrDefaultAsync(u => u.UserId == id);
|
||||
if (blockedUser == null) return this.NotFound();
|
||||
|
||||
await this.database.UnblockUser(token.UserId, blockedUser);
|
||||
|
||||
return this.Redirect("~/user/" + id);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue