✨ 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
|
||||
await ScanPublishers();
|
||||
|
||||
// Scan Stickers for file references
|
||||
await ScanStickers();
|
||||
}
|
||||
|
||||
private async Task ScanPosts()
|
||||
@ -316,4 +319,33 @@ public class FileReferenceMigrationService(AppDatabase db)
|
||||
|
||||
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