✨ References migrations for stickers
This commit is contained in:
parent
7eabaf6a0d
commit
140b4eb699
@ -24,6 +24,9 @@ public class FileReferenceMigrationService(AppDatabase db)
|
|||||||
|
|
||||||
// Scan Publishers for file references
|
// Scan Publishers for file references
|
||||||
await ScanPublishers();
|
await ScanPublishers();
|
||||||
|
|
||||||
|
// Scan Stickers for file references
|
||||||
|
await ScanStickers();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task ScanPosts()
|
private async Task ScanPosts()
|
||||||
@ -316,4 +319,33 @@ public class FileReferenceMigrationService(AppDatabase db)
|
|||||||
|
|
||||||
await db.SaveChangesAsync();
|
await db.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task ScanStickers()
|
||||||
|
{
|
||||||
|
var stickers = await db.Stickers
|
||||||
|
.Where(s => s.ImageId != null && s.Image == null)
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
foreach (var sticker in stickers)
|
||||||
|
{
|
||||||
|
var imageFile = await db.Files.FirstOrDefaultAsync(f => f.Id == sticker.ImageId);
|
||||||
|
if (imageFile != null)
|
||||||
|
{
|
||||||
|
// Create a reference for the sticker image file
|
||||||
|
var reference = new CloudFileReference
|
||||||
|
{
|
||||||
|
FileId = imageFile.Id,
|
||||||
|
File = imageFile,
|
||||||
|
Usage = "sticker.image",
|
||||||
|
ResourceId = sticker.Id.ToString()
|
||||||
|
};
|
||||||
|
|
||||||
|
await db.FileReferences.AddAsync(reference);
|
||||||
|
sticker.Image = imageFile.ToReferenceObject();
|
||||||
|
db.Stickers.Update(sticker);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
await db.SaveChangesAsync();
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user