diff --git a/ImageBoardServerApp/Data/Repository/CommentsRepository.cs b/ImageBoardServerApp/Data/Repository/CommentsRepository.cs index af04222..c86a853 100644 --- a/ImageBoardServerApp/Data/Repository/CommentsRepository.cs +++ b/ImageBoardServerApp/Data/Repository/CommentsRepository.cs @@ -22,8 +22,23 @@ public static class CommentsRepository public static async Task getCommentByIdAsync(int postId) { await using var db = new AppDBContext(); - return await db.Comments.FirstOrDefaultAsync(comment => comment.PostID == postId); + return await db.Comments + .Where(comment => comment.CommentID == postId) + .Include(comment => comment.Image) + .Include(comment => comment.Post) + .FirstOrDefaultAsync(); } + + /*public static async Task getPostByIdAsync(int postId) + { + await using var db = new AppDBContext(); + return await db.Posts + .Where(post => post.PostID == postId) + .Include(post => post.Image) + .Include(post => post.Comments) + .FirstOrDefaultAsync(); + //return await db.Posts.FirstOrDefaultAsync(post => post.PostID == postId); + }*/ public static async Task createCommentAsync(CommentData commentData) { diff --git a/ImageBoardServerApp/Data/Repository/PostsRepository.cs b/ImageBoardServerApp/Data/Repository/PostsRepository.cs index 61138f4..ec0e024 100644 --- a/ImageBoardServerApp/Data/Repository/PostsRepository.cs +++ b/ImageBoardServerApp/Data/Repository/PostsRepository.cs @@ -17,6 +17,7 @@ public static class PostsRepository .Where(post => post.Board.Equals(board)) .Include(post => post.Image) .Include(post => post.Comments) + .Include(post => post.User) .ToListAsync(); } @@ -27,6 +28,7 @@ public static class PostsRepository .Where(post => post.PostID == postId) .Include(post => post.Image) .Include(post => post.Comments) + .Include(post => post.User) .FirstOrDefaultAsync(); //return await db.Posts.FirstOrDefaultAsync(post => post.PostID == postId); } diff --git a/ImageBoardServerApp/Pages/Login.razor b/ImageBoardServerApp/Pages/Accounts/Login.razor similarity index 100% rename from ImageBoardServerApp/Pages/Login.razor rename to ImageBoardServerApp/Pages/Accounts/Login.razor diff --git a/ImageBoardServerApp/Pages/FAQ.razor b/ImageBoardServerApp/Pages/Basic/FAQ.razor similarity index 100% rename from ImageBoardServerApp/Pages/FAQ.razor rename to ImageBoardServerApp/Pages/Basic/FAQ.razor diff --git a/ImageBoardServerApp/Pages/Index.razor b/ImageBoardServerApp/Pages/Basic/Index.razor similarity index 100% rename from ImageBoardServerApp/Pages/Index.razor rename to ImageBoardServerApp/Pages/Basic/Index.razor diff --git a/ImageBoardServerApp/Pages/Index.razor.css b/ImageBoardServerApp/Pages/Basic/Index.razor.css similarity index 100% rename from ImageBoardServerApp/Pages/Index.razor.css rename to ImageBoardServerApp/Pages/Basic/Index.razor.css diff --git a/ImageBoardServerApp/Pages/Rules.razor b/ImageBoardServerApp/Pages/Basic/Rules.razor similarity index 100% rename from ImageBoardServerApp/Pages/Rules.razor rename to ImageBoardServerApp/Pages/Basic/Rules.razor diff --git a/ImageBoardServerApp/Pages/Rules.razor.css b/ImageBoardServerApp/Pages/Basic/Rules.razor.css similarity index 100% rename from ImageBoardServerApp/Pages/Rules.razor.css rename to ImageBoardServerApp/Pages/Basic/Rules.razor.css diff --git a/ImageBoardServerApp/Pages/B.razor b/ImageBoardServerApp/Pages/Boards/B.razor similarity index 100% rename from ImageBoardServerApp/Pages/B.razor rename to ImageBoardServerApp/Pages/Boards/B.razor diff --git a/ImageBoardServerApp/Pages/Components/ReportPage.razor b/ImageBoardServerApp/Pages/Components/ReportPage.razor new file mode 100644 index 0000000..73f02de --- /dev/null +++ b/ImageBoardServerApp/Pages/Components/ReportPage.razor @@ -0,0 +1,17 @@ +@page "/report/{type}/{board}/{id}" +@using System.ComponentModel.DataAnnotations +

Report

+ +@code { + [Parameter] + [Required] + public string type { get; set; } + + [Parameter] + [Required] + public string board { get; set; } + + [Parameter] + [Required] + public string id { get; set; } +} \ No newline at end of file diff --git a/ImageBoardServerApp/Pages/ThreadPage.razor b/ImageBoardServerApp/Pages/Components/ThreadPage.razor similarity index 100% rename from ImageBoardServerApp/Pages/ThreadPage.razor rename to ImageBoardServerApp/Pages/Components/ThreadPage.razor diff --git a/ImageBoardServerApp/Pages/SuccessfulPost.razor b/ImageBoardServerApp/Pages/Status/SuccessfulPost.razor similarity index 100% rename from ImageBoardServerApp/Pages/SuccessfulPost.razor rename to ImageBoardServerApp/Pages/Status/SuccessfulPost.razor diff --git a/ImageBoardServerApp/Pages/UnSuccessfulPost.razor b/ImageBoardServerApp/Pages/Status/UnSuccessfulPost.razor similarity index 100% rename from ImageBoardServerApp/Pages/UnSuccessfulPost.razor rename to ImageBoardServerApp/Pages/Status/UnSuccessfulPost.razor diff --git a/ImageBoardServerApp/Shared/Components/Comment.razor b/ImageBoardServerApp/Shared/Components/Comment.razor index ec71b35..7b2ea75 100644 --- a/ImageBoardServerApp/Shared/Components/Comment.razor +++ b/ImageBoardServerApp/Shared/Components/Comment.razor @@ -1,6 +1,8 @@ @using System.ComponentModel.DataAnnotations +@using ImageBoardServerApp.Auth @using ImageBoardServerApp.Data @using ImageBoardServerApp.Data.Repository +@inject AuthenticationStateProvider authStateProvider
[ @@ -35,7 +37,10 @@
[ - Report + Delete + ] + [ + Report ]
} @@ -43,6 +48,20 @@ @code { + + private async Task deletePost() + { + var cauthStateProvder = (CustomAuthenticationStateProvider)authStateProvider; + var user = await cauthStateProvder.GetAuthenticationStateAsync(); + var usr = user.User; + UserData foundusr = await UsersRepository.getUserByEmailAsync(usr.Identity.Name); + if (foundusr.PermissionInteger >= 50 || comment.UserID == foundusr.UserID) + { + await CommentsRepository.deleteCommentAsync(comment.CommentID); + } + } + + private static DateTime getTimeFromUnix(double javaTimeStamp) { var dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); diff --git a/ImageBoardServerApp/Shared/Components/Post.razor b/ImageBoardServerApp/Shared/Components/Post.razor index 1e076fe..af77439 100644 --- a/ImageBoardServerApp/Shared/Components/Post.razor +++ b/ImageBoardServerApp/Shared/Components/Post.razor @@ -13,6 +13,7 @@ } @post.Title @post.Username + ##@post.User.Role @getTimeFromUnix(post.CreatedAt) No.@post.PostID @@ -48,7 +49,7 @@ Delete ] [ - Report + Report ] @if (showOpenThread) { diff --git a/ImageBoardServerApp/Shared/Components/Post.razor.css b/ImageBoardServerApp/Shared/Components/Post.razor.css index b69acda..0233d02 100644 --- a/ImageBoardServerApp/Shared/Components/Post.razor.css +++ b/ImageBoardServerApp/Shared/Components/Post.razor.css @@ -16,6 +16,10 @@ color: #339305; } +.roleAdmin{ + color: #ff191c; +} + .threadHeader{ text-align: left; } diff --git a/ImageBoardServerApp/_Imports.razor b/ImageBoardServerApp/_Imports.razor index 5b43e85..3e6f6b8 100644 --- a/ImageBoardServerApp/_Imports.razor +++ b/ImageBoardServerApp/_Imports.razor @@ -11,6 +11,12 @@ @using Radzen @using Radzen.Blazor @using ImageBoardServerApp +@using ImageBoardServerApp.Pages +@using ImageBoardServerApp.Pages.Boards +@using ImageBoardServerApp.Pages.Accounts +@using ImageBoardServerApp.Pages.Basic +@using ImageBoardServerApp.Pages.Components +@using ImageBoardServerApp.Pages.Status @using ImageBoardServerApp.Shared @using ImageBoardServerApp.Shared.Components @using ImageBoardServerApp.Shared.Components.Forms