summaryrefslogtreecommitdiff
path: root/Services
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2026-06-19 02:21:16 +1000
committerJake Mannens <jake@asger.xyz>2026-06-19 02:21:16 +1000
commit79d383f6f48df0078e6ba13239f9c4c94fbc9ea6 (patch)
tree4450904ebdc5083a69f544e49478281ebbc2429e /Services
parente556de927015acd8d9934e68707a95901acfad8e (diff)
v0.19av0.19a
Diffstat (limited to 'Services')
-rw-r--r--Services/MediaService.cs20
1 files changed, 13 insertions, 7 deletions
diff --git a/Services/MediaService.cs b/Services/MediaService.cs
index 2d1533c..a0521db 100644
--- a/Services/MediaService.cs
+++ b/Services/MediaService.cs
@@ -1,8 +1,10 @@
using HyperBooru.ApiModels;
+using HyperBooru.Util;
using ImageMagick;
using Microsoft.EntityFrameworkCore;
using MimeDetective;
using MimeDetective.Definitions;
+using System.Diagnostics.CodeAnalysis;
using System.Security.Cryptography;
using System.Text.RegularExpressions;
@@ -230,7 +232,10 @@ public class MediaService : IMediaService {
public void Delete(Guid media) {
using var db = dbFactory.CreateDbContext();
- var m = db.Media.First(m => m.Guid == media);
+ var m = db.Media.FirstOrDefault(m => m.Guid == media);
+
+ if(m is null)
+ throw new ObjectNotFoundException([ media ]);
var path = Path.Join(
config.MediaBasePath,
@@ -391,10 +396,11 @@ public class MediaService : IMediaService {
public string GetConvertedPath(Media media, string mimeType) =>
GetConvertedPath(media.Guid, mimeType);
- private int GetUploadedFileHash(UploadedFile uf) => (
- uf.CreateTime,
- uf.LastWriteTime,
- uf.Filename,
- uf.Length,
- uf.Checksum).GetHashCode();
+ private int GetUploadedFileHash(UploadedFile uf) =>
+ HashCode.Combine(
+ uf.CreateTime?.GetRoundedHashCode(),
+ uf.LastWriteTime?.GetRoundedHashCode(),
+ uf.Filename,
+ uf.Length,
+ uf.Checksum);
}