mirror of
https://github.com/immich-app/immich.git
synced 2025-12-05 20:40:29 -08:00
fix: asset update race condition
This commit is contained in:
committed by
mertalev
parent
29827f6f08
commit
75889f992e
@@ -0,0 +1,9 @@
|
|||||||
|
import { Kysely, sql } from 'kysely';
|
||||||
|
|
||||||
|
export async function up(db: Kysely<any>): Promise<void> {
|
||||||
|
await sql`ALTER TABLE "asset_exif" ADD "lockedProperties" character varying[] NOT NULL DEFAULT '{}';`.execute(db);
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function down(db: Kysely<any>): Promise<void> {
|
||||||
|
await sql`ALTER TABLE "asset_exif" DROP COLUMN "lockedProperties";`.execute(db);
|
||||||
|
}
|
||||||
@@ -226,7 +226,7 @@ describe(AssetService.name, () => {
|
|||||||
await sut.update(authStub.admin, 'asset-1', { description: 'Test description' });
|
await sut.update(authStub.admin, 'asset-1', { description: 'Test description' });
|
||||||
|
|
||||||
expect(mocks.asset.upsertExif).toHaveBeenCalledWith(
|
expect(mocks.asset.upsertExif).toHaveBeenCalledWith(
|
||||||
{ assetId: 'asset-1', description: 'Test description' },
|
{ assetId: 'asset-1', description: 'Test description', lockedProperties: ['description'] },
|
||||||
{ lockedPropertiesBehavior: 'update' },
|
{ lockedPropertiesBehavior: 'update' },
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@@ -242,6 +242,7 @@ describe(AssetService.name, () => {
|
|||||||
{
|
{
|
||||||
assetId: 'asset-1',
|
assetId: 'asset-1',
|
||||||
rating: 3,
|
rating: 3,
|
||||||
|
lockedProperties: ['rating'],
|
||||||
},
|
},
|
||||||
{ lockedPropertiesBehavior: 'update' },
|
{ lockedPropertiesBehavior: 'update' },
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user