feat: changed the language of the ReportEntrys to English, started to work on Board Locks, !removed PermissionInteger; as it was not needed anymore!
fix: minor bugfixes while posting & commenting, changed Au.razor and E.razor around
This commit is contained in:
parent
6881a5d009
commit
8ebc78b754
11 changed files with 59 additions and 32 deletions
9
ImageBoardServerApp/Util/Boards.cs
Normal file
9
ImageBoardServerApp/Util/Boards.cs
Normal file
|
@ -0,0 +1,9 @@
|
|||
namespace ImageBoardServerApp.Data;
|
||||
|
||||
public class Boards
|
||||
{
|
||||
private List<PostData> posts = new List<PostData>()
|
||||
{
|
||||
|
||||
};
|
||||
}
|
90
ImageBoardServerApp/Util/TheManager.cs
Normal file
90
ImageBoardServerApp/Util/TheManager.cs
Normal file
|
@ -0,0 +1,90 @@
|
|||
using ImageBoardServerApp.Data.Repository;
|
||||
|
||||
namespace ImageBoardServerApp.Data;
|
||||
|
||||
public class TheManager
|
||||
{
|
||||
|
||||
private static long getDiff(PostData post)
|
||||
{
|
||||
return (DateTimeOffset.Now.ToUnixTimeMilliseconds() - post.CreatedAt);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the value without a minus, if it exists
|
||||
/// </summary>
|
||||
/// <param name="num"></param>
|
||||
/// <returns></returns>
|
||||
private static long getValue(long num)
|
||||
{
|
||||
return num < 0 ? num * -1 : num;
|
||||
}
|
||||
|
||||
public static long getBumpValue(PostData post)
|
||||
{
|
||||
return (post.IsSticky ? 999999999999999999 : 10 * 60000 - getDiff(post) + ( 60000 * (post.Comments.Count + 1))) ;
|
||||
}
|
||||
|
||||
public static async Task<List<PostData>> getPostList(string boardTag)
|
||||
{
|
||||
List<PostData> threads = await PostsRepository.getPostsByBoardAsync(boardTag);
|
||||
return threads.OrderBy(getBumpValue).Reverse().ToList();
|
||||
}
|
||||
|
||||
public static async Task bumpThreads(BoardData board)
|
||||
{
|
||||
List<PostData> sortedThreads = await getPostList(board.Tag);
|
||||
if (sortedThreads.Count > board.maxThreads + 1)
|
||||
{
|
||||
for (int i = board.maxThreads + 1; i >= sortedThreads.Count; ++i)
|
||||
{
|
||||
if (sortedThreads[i].IsSticky)
|
||||
continue;
|
||||
await deleteThread(sortedThreads[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task deleteThread(PostData post)
|
||||
{
|
||||
foreach(var c in post.Comments)
|
||||
{
|
||||
if (c.Image != null)
|
||||
{
|
||||
deleteImage(c.Image);
|
||||
}
|
||||
}
|
||||
|
||||
deleteImage(post.Image);
|
||||
|
||||
await PostsRepository.deletePostAsync(post.PostID);
|
||||
}
|
||||
|
||||
public static async Task deleteComment(CommentData comment)
|
||||
{
|
||||
if (comment.Image != null)
|
||||
{
|
||||
deleteImage(comment.Image);
|
||||
}
|
||||
|
||||
await CommentsRepository.deleteCommentAsync(comment.CommentID);
|
||||
}
|
||||
|
||||
public static void deleteImage(ImageData imageData)
|
||||
{
|
||||
string path = $"./wwwroot{imageData.ImageLocation}";
|
||||
|
||||
try
|
||||
{
|
||||
File.Delete(path);
|
||||
}
|
||||
catch (FileNotFoundException)
|
||||
{
|
||||
Console.WriteLine("The file was not found.");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine("An error occurred: " + e.Message);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue