⚗️ Testing out the File Storing System v2
This commit is contained in:
@@ -25,7 +25,6 @@ public partial class PostService(
|
||||
ICacheService cache,
|
||||
ILogger<PostService> logger,
|
||||
FileService.FileServiceClient files,
|
||||
FileReferenceService.FileReferenceServiceClient fileRefs,
|
||||
Publisher.PublisherService ps,
|
||||
RemoteWebReaderService reader,
|
||||
AccountService.AccountServiceClient accounts,
|
||||
@@ -194,18 +193,6 @@ public partial class PostService(
|
||||
db.Posts.Add(post);
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
// Create file references for each attachment
|
||||
if (post.Attachments.Count != 0)
|
||||
{
|
||||
var request = new CreateReferenceBatchRequest
|
||||
{
|
||||
Usage = PostFileUsageIdentifier,
|
||||
ResourceId = post.ResourceIdentifier,
|
||||
};
|
||||
request.FilesId.AddRange(post.Attachments.Select(a => a.Id));
|
||||
await fileRefs.CreateReferenceBatchAsync(request);
|
||||
}
|
||||
|
||||
if (post.PublishedAt is not null && post.PublishedAt.Value.ToDateTimeUtc() <= DateTime.UtcNow)
|
||||
_ = Task.Run(async () =>
|
||||
{
|
||||
@@ -306,17 +293,6 @@ public partial class PostService(
|
||||
|
||||
if (attachments is not null)
|
||||
{
|
||||
var postResourceId = $"post:{post.Id}";
|
||||
|
||||
// Update resource references using the new file list
|
||||
var request = new UpdateResourceFilesRequest
|
||||
{
|
||||
ResourceId = postResourceId,
|
||||
Usage = PostFileUsageIdentifier,
|
||||
};
|
||||
request.FileIds.AddRange(attachments);
|
||||
await fileRefs.UpdateResourceFilesAsync(request);
|
||||
|
||||
// Update post attachments by getting files from database
|
||||
var queryRequest = new GetFileBatchRequest();
|
||||
queryRequest.Ids.AddRange(attachments);
|
||||
@@ -475,11 +451,6 @@ public partial class PostService(
|
||||
|
||||
public async Task DeletePostAsync(SnPost post)
|
||||
{
|
||||
// Delete all file references for this post
|
||||
await fileRefs.DeleteResourceReferencesAsync(
|
||||
new DeleteResourceReferencesRequest { ResourceId = post.ResourceIdentifier }
|
||||
);
|
||||
|
||||
var now = SystemClock.Instance.GetCurrentInstant();
|
||||
await using var transaction = await db.Database.BeginTransactionAsync();
|
||||
try
|
||||
|
||||
@@ -19,7 +19,6 @@ public class PublisherController(
|
||||
PublisherService ps,
|
||||
AccountService.AccountServiceClient accounts,
|
||||
FileService.FileServiceClient files,
|
||||
FileReferenceService.FileReferenceServiceClient fileRefs,
|
||||
ActionLogService.ActionLogServiceClient als,
|
||||
RemoteRealmService remoteRealmService,
|
||||
IServiceScopeFactory factory
|
||||
@@ -569,25 +568,7 @@ public class PublisherController(
|
||||
);
|
||||
var picture = SnCloudFileReferenceObject.FromProtoValue(queryResult);
|
||||
|
||||
// Remove old references for the publisher picture
|
||||
if (publisher.Picture is not null)
|
||||
await fileRefs.DeleteResourceReferencesAsync(
|
||||
new DeleteResourceReferencesRequest
|
||||
{
|
||||
ResourceId = publisher.ResourceIdentifier,
|
||||
}
|
||||
);
|
||||
|
||||
publisher.Picture = picture;
|
||||
|
||||
await fileRefs.CreateReferenceAsync(
|
||||
new CreateReferenceRequest
|
||||
{
|
||||
FileId = picture.Id,
|
||||
Usage = "publisher.picture",
|
||||
ResourceId = publisher.ResourceIdentifier,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
if (request.BackgroundId is not null)
|
||||
@@ -601,27 +582,7 @@ public class PublisherController(
|
||||
);
|
||||
var background = SnCloudFileReferenceObject.FromProtoValue(queryResult);
|
||||
|
||||
// Remove old references for the publisher background
|
||||
if (publisher.Background is not null)
|
||||
{
|
||||
await fileRefs.DeleteResourceReferencesAsync(
|
||||
new DeleteResourceReferencesRequest
|
||||
{
|
||||
ResourceId = publisher.ResourceIdentifier,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
publisher.Background = background;
|
||||
|
||||
await fileRefs.CreateReferenceAsync(
|
||||
new CreateReferenceRequest
|
||||
{
|
||||
FileId = background.Id,
|
||||
Usage = "publisher.background",
|
||||
ResourceId = publisher.ResourceIdentifier,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
db.Update(publisher);
|
||||
@@ -717,11 +678,6 @@ public class PublisherController(
|
||||
|
||||
var publisherResourceId = $"publisher:{publisher.Id}";
|
||||
|
||||
// Delete all file references for this publisher
|
||||
await fileRefs.DeleteResourceReferencesAsync(
|
||||
new DeleteResourceReferencesRequest { ResourceId = publisherResourceId }
|
||||
);
|
||||
|
||||
db.Publishers.Remove(publisher);
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ public class FediverseStatus
|
||||
|
||||
public class PublisherService(
|
||||
AppDatabase db,
|
||||
FileReferenceService.FileReferenceServiceClient fileRefs,
|
||||
SocialCreditService.SocialCreditServiceClient socialCredits,
|
||||
ExperienceService.ExperienceServiceClient experiences,
|
||||
ICacheService cache,
|
||||
@@ -210,30 +209,6 @@ public class PublisherService(
|
||||
db.Publishers.Add(publisher);
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
if (publisher.Picture is not null)
|
||||
{
|
||||
await fileRefs.CreateReferenceAsync(
|
||||
new CreateReferenceRequest
|
||||
{
|
||||
FileId = publisher.Picture.Id,
|
||||
Usage = "publisher.picture",
|
||||
ResourceId = publisher.ResourceIdentifier,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
if (publisher.Background is not null)
|
||||
{
|
||||
await fileRefs.CreateReferenceAsync(
|
||||
new CreateReferenceRequest
|
||||
{
|
||||
FileId = publisher.Background.Id,
|
||||
Usage = "publisher.background",
|
||||
ResourceId = publisher.ResourceIdentifier,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
return publisher;
|
||||
}
|
||||
|
||||
@@ -270,30 +245,6 @@ public class PublisherService(
|
||||
db.Publishers.Add(publisher);
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
if (publisher.Picture is not null)
|
||||
{
|
||||
await fileRefs.CreateReferenceAsync(
|
||||
new CreateReferenceRequest
|
||||
{
|
||||
FileId = publisher.Picture.Id,
|
||||
Usage = "publisher.picture",
|
||||
ResourceId = publisher.ResourceIdentifier,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
if (publisher.Background is not null)
|
||||
{
|
||||
await fileRefs.CreateReferenceAsync(
|
||||
new CreateReferenceRequest
|
||||
{
|
||||
FileId = publisher.Background.Id,
|
||||
Usage = "publisher.background",
|
||||
ResourceId = publisher.ResourceIdentifier,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
return publisher;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user