mirror of
https://github.com/immich-app/immich.git
synced 2025-12-16 09:13:13 +03:00
fix(server): don't delete offline files from disk when trash empties (#14777)
fix: don't delete offline files from disk when emptying trash Move logic to asset deletion check
This commit is contained in:
committed by
GitHub
parent
10e569cc1c
commit
23f3e737fd
@@ -766,7 +766,7 @@ describe('/asset', () => {
|
||||
expect(body).toEqual(errorDto.badRequest('Not found or no asset.delete access'));
|
||||
});
|
||||
|
||||
it('should move an asset to the trash', async () => {
|
||||
it('should move an asset to trash', async () => {
|
||||
const { id: assetId } = await utils.createAsset(admin.accessToken);
|
||||
|
||||
const before = await utils.getAssetInfo(admin.accessToken, assetId);
|
||||
@@ -782,6 +782,38 @@ describe('/asset', () => {
|
||||
expect(after.isTrashed).toBe(true);
|
||||
});
|
||||
|
||||
it('should permanently delete an asset from trash', async () => {
|
||||
const { id: assetId } = await utils.createAsset(admin.accessToken);
|
||||
|
||||
{
|
||||
const { status } = await request(app)
|
||||
.delete('/assets')
|
||||
.send({ ids: [assetId] })
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(204);
|
||||
}
|
||||
|
||||
const trashed = await utils.getAssetInfo(admin.accessToken, assetId);
|
||||
expect(trashed.isTrashed).toBe(true);
|
||||
|
||||
{
|
||||
const { status } = await request(app)
|
||||
.delete('/assets')
|
||||
.send({ ids: [assetId], force: true })
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(204);
|
||||
}
|
||||
|
||||
await utils.waitForWebsocketEvent({ event: 'assetDelete', id: assetId });
|
||||
|
||||
{
|
||||
const { status } = await request(app)
|
||||
.get(`/assets/${assetId}`)
|
||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||
expect(status).toBe(400);
|
||||
}
|
||||
});
|
||||
|
||||
it('should clean up live photos', async () => {
|
||||
const { id: motionId } = await utils.createAsset(admin.accessToken, {
|
||||
assetData: { filename: 'test.mp4', bytes: makeRandomImage() },
|
||||
|
||||
Reference in New Issue
Block a user