diff options
author | 2022-08-15 12:35:05 +0200 | |
---|---|---|
committer | 2022-08-15 11:35:05 +0100 | |
commit | ac6ed3d939fe9dad81aadbd04541e905c625ca82 (patch) | |
tree | 6116baf25675837dc99f69c49b9fec2ff112ce5c /internal/media/pruneremote.go | |
parent | [frontend] Sensitive media spoilers (#752) (diff) | |
download | gotosocial-ac6ed3d939fe9dad81aadbd04541e905c625ca82.tar.xz |
[chore] Update bun / sqlite versions; update gtsmodels (#754)
* upstep bun and sqlite versions
* allow specific columns to be updated in the db
* only update necessary columns for user
* bit tidier
* only update necessary fields of media_attachment
* only update relevant instance fields
* update tests
* update only specific account columns
* use bool pointers on gtsmodels
includes attachment, status, account, user
* update columns more selectively
* test all default fields on new account insert
* updating remaining bools on gtsmodels
* initialize pointer fields when extracting AP emoji
* copy bools properly
* add copyBoolPtr convenience function + test it
* initialize false bool ptrs a bit more neatly
Diffstat (limited to 'internal/media/pruneremote.go')
-rw-r--r-- | internal/media/pruneremote.go | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/internal/media/pruneremote.go b/internal/media/pruneremote.go index 5c3335511..43ce53cdc 100644 --- a/internal/media/pruneremote.go +++ b/internal/media/pruneremote.go @@ -64,13 +64,17 @@ func (m *manager) PruneAllRemote(ctx context.Context, olderThanDays int) (int, e } func (m *manager) pruneOneRemote(ctx context.Context, attachment *gtsmodel.MediaAttachment) error { + var changed bool + if attachment.File.Path != "" { // delete the full size attachment from storage log.Tracef("pruneOneRemote: deleting %s", attachment.File.Path) if err := m.storage.Delete(ctx, attachment.File.Path); err != nil && err != storage.ErrNotFound { return err } - attachment.Cached = false + cached := false + attachment.Cached = &cached + changed = true } if attachment.Thumbnail.Path != "" { @@ -79,9 +83,15 @@ func (m *manager) pruneOneRemote(ctx context.Context, attachment *gtsmodel.Media if err := m.storage.Delete(ctx, attachment.Thumbnail.Path); err != nil && err != storage.ErrNotFound { return err } - attachment.Cached = false + cached := false + attachment.Cached = &cached + changed = true } // update the attachment to reflect that we no longer have it cached - return m.db.UpdateByPrimaryKey(ctx, attachment) + if changed { + return m.db.UpdateByPrimaryKey(ctx, attachment, "updated_at", "cached") + } + + return nil } |