mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: Create upload_references table (#16146)
This table holds associations between uploads and other models. This can be used to prevent removing uploads that are still in use. * DEV: Create upload_references * DEV: Use UploadReference instead of PostUpload * DEV: Use UploadReference for SiteSetting * DEV: Use UploadReference for Badge * DEV: Use UploadReference for Category * DEV: Use UploadReference for CustomEmoji * DEV: Use UploadReference for Group * DEV: Use UploadReference for ThemeField * DEV: Use UploadReference for ThemeSetting * DEV: Use UploadReference for User * DEV: Use UploadReference for UserAvatar * DEV: Use UploadReference for UserExport * DEV: Use UploadReference for UserProfile * DEV: Add method to extract uploads from raw text * DEV: Use UploadReference for Draft * DEV: Use UploadReference for ReviewableQueuedPost * DEV: Use UploadReference for UserProfile's bio_raw * DEV: Do not copy user uploads to upload references * DEV: Copy post uploads again after deploy * DEV: Use created_at and updated_at from uploads table * FIX: Check if upload site setting is empty * DEV: Copy user uploads to upload references * DEV: Make upload extraction less strict
This commit is contained in:
@@ -1485,17 +1485,17 @@ describe Post do
|
||||
post.link_post_uploads
|
||||
|
||||
post.trash!
|
||||
expect(PostUpload.count).to eq(6)
|
||||
expect(UploadReference.count).to eq(6)
|
||||
|
||||
post.destroy!
|
||||
expect(PostUpload.count).to eq(0)
|
||||
expect(UploadReference.count).to eq(0)
|
||||
end
|
||||
|
||||
context "#link_post_uploads" do
|
||||
it "finds all the uploads in the post" do
|
||||
post.link_post_uploads
|
||||
|
||||
expect(PostUpload.where(post: post).pluck(:upload_id)).to contain_exactly(
|
||||
expect(UploadReference.where(target: post).pluck(:upload_id)).to contain_exactly(
|
||||
video_upload.id,
|
||||
image_upload.id,
|
||||
audio_upload.id,
|
||||
@@ -1508,13 +1508,11 @@ describe Post do
|
||||
it "cleans the reverse index up for the current post" do
|
||||
post.link_post_uploads
|
||||
|
||||
post_uploads_ids = post.post_uploads.pluck(:id)
|
||||
post_uploads_ids = post.upload_references.pluck(:id)
|
||||
|
||||
post.link_post_uploads
|
||||
|
||||
expect(post.reload.post_uploads.pluck(:id)).to_not contain_exactly(
|
||||
post_uploads_ids
|
||||
)
|
||||
expect(post.reload.upload_references.pluck(:id)).to_not contain_exactly(post_uploads_ids)
|
||||
end
|
||||
|
||||
context "when secure media is enabled" do
|
||||
@@ -1578,7 +1576,7 @@ describe Post do
|
||||
post.link_post_uploads
|
||||
post.update_uploads_secure_status(source: "test")
|
||||
|
||||
expect(PostUpload.where(post: post).joins(:upload).pluck(:upload_id, :secure)).to contain_exactly(
|
||||
expect(UploadReference.where(target: post).joins(:upload).pluck(:upload_id, :secure)).to contain_exactly(
|
||||
[attachment_upload.id, true],
|
||||
[image_upload.id, true]
|
||||
)
|
||||
@@ -1590,7 +1588,7 @@ describe Post do
|
||||
post.link_post_uploads
|
||||
post.update_uploads_secure_status(source: "test")
|
||||
|
||||
expect(PostUpload.where(post: post).joins(:upload).pluck(:upload_id, :secure)).to contain_exactly(
|
||||
expect(UploadReference.where(target: post).joins(:upload).pluck(:upload_id, :secure)).to contain_exactly(
|
||||
[attachment_upload.id, false],
|
||||
[image_upload.id, false]
|
||||
)
|
||||
@@ -1603,7 +1601,7 @@ describe Post do
|
||||
post.link_post_uploads
|
||||
post.update_uploads_secure_status(source: "test")
|
||||
|
||||
expect(PostUpload.where(post: post).joins(:upload).pluck(:upload_id, :secure)).to contain_exactly(
|
||||
expect(UploadReference.where(target: post).joins(:upload).pluck(:upload_id, :secure)).to contain_exactly(
|
||||
[attachment_upload.id, true],
|
||||
[image_upload.id, true]
|
||||
)
|
||||
@@ -1618,7 +1616,7 @@ describe Post do
|
||||
pm.link_post_uploads
|
||||
pm.update_uploads_secure_status(source: "test")
|
||||
|
||||
expect(PostUpload.where(post: pm).joins(:upload).pluck(:upload_id, :secure)).to contain_exactly(
|
||||
expect(UploadReference.where(target: pm).joins(:upload).pluck(:upload_id, :secure)).to contain_exactly(
|
||||
[attachment_upload.id, false],
|
||||
[image_upload.id, false]
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user