🗑️ Remove the unused reference system

This commit is contained in:
2026-01-10 22:55:05 +08:00
parent 1aff1d7731
commit f3779cc788
12 changed files with 7 additions and 602 deletions

View File

@@ -7,13 +7,9 @@ namespace DysonNetwork.Sphere.Sticker;
public class StickerService(
AppDatabase db,
FileReferenceService.FileReferenceServiceClient fileRefs,
ICacheService cache
)
{
public const string StickerFileUsageIdentifier = "sticker";
public const string StickerPackUsageIdentifier = "sticker.pack";
private static readonly TimeSpan CacheDuration = TimeSpan.FromMinutes(15);
public async Task<SnSticker> CreateStickerAsync(SnSticker sticker)
@@ -23,34 +19,14 @@ public class StickerService(
db.Stickers.Add(sticker);
await db.SaveChangesAsync();
await fileRefs.CreateReferenceAsync(new CreateReferenceRequest
{
FileId = sticker.Image.Id,
Usage = StickerFileUsageIdentifier,
ResourceId = sticker.ResourceIdentifier
});
return sticker;
}
public async Task<SnSticker> UpdateStickerAsync(SnSticker sticker, SnCloudFileReferenceObject? newImage)
{
if (newImage is not null)
{
await fileRefs.DeleteResourceReferencesAsync(new DeleteResourceReferencesRequest
{ ResourceId = sticker.ResourceIdentifier });
sticker.Image = newImage;
// Create new reference
await fileRefs.CreateReferenceAsync(new CreateReferenceRequest
{
FileId = newImage.Id,
Usage = StickerFileUsageIdentifier,
ResourceId = sticker.ResourceIdentifier
});
}
db.Stickers.Update(sticker);
await db.SaveChangesAsync();
@@ -62,12 +38,6 @@ public class StickerService(
public async Task DeleteStickerAsync(SnSticker sticker)
{
var stickerResourceId = $"sticker:{sticker.Id}";
// Delete all file references for this sticker
await fileRefs.DeleteResourceReferencesAsync(new DeleteResourceReferencesRequest
{ ResourceId = stickerResourceId });
db.Stickers.Remove(sticker);
await db.SaveChangesAsync();
@@ -81,17 +51,6 @@ public class StickerService(
.Where(s => s.PackId == pack.Id)
.ToListAsync();
var images = stickers.Select(s => s.Image).ToList();
// Delete all file references for each sticker in the pack
foreach (var stickerResourceId in stickers.Select(sticker => $"sticker:{sticker.Id}"))
await fileRefs.DeleteResourceReferencesAsync(new DeleteResourceReferencesRequest
{ ResourceId = stickerResourceId });
// Delete any references for the pack itself
await fileRefs.DeleteResourceReferencesAsync(new DeleteResourceReferencesRequest
{ ResourceId = pack.ResourceIdentifier });
db.Stickers.RemoveRange(stickers);
db.StickerPacks.Remove(pack);
await db.SaveChangesAsync();