mirror of
https://github.com/immich-app/immich.git
synced 2026-01-18 15:55:56 -08:00
boolean triggers
This commit is contained in:
@@ -263,8 +263,9 @@ export const asset_edit_insert = registerFunction({
|
||||
body: `
|
||||
BEGIN
|
||||
UPDATE asset
|
||||
SET "editCount" = "editCount" + 1
|
||||
WHERE "id" = NEW."assetId";
|
||||
SET "isEdited" = true
|
||||
FROM NEW
|
||||
WHERE asset.id = NEW."assetId" AND NOT "isEdited";
|
||||
RETURN NULL;
|
||||
END
|
||||
`,
|
||||
@@ -277,8 +278,10 @@ export const asset_edit_delete = registerFunction({
|
||||
body: `
|
||||
BEGIN
|
||||
UPDATE asset
|
||||
SET "editCount" = "editCount" - 1
|
||||
WHERE "id" = OLD."assetId";
|
||||
SET "isEdited" = false
|
||||
FROM OLD
|
||||
WHERE asset.id = OLD."assetId" AND "isEdited"
|
||||
AND NOT EXISTS (SELECT FROM asset_edit edit WHERE edit.asset_id = asset.id);
|
||||
RETURN NULL;
|
||||
END
|
||||
`,
|
||||
|
||||
@@ -12,9 +12,9 @@ import {
|
||||
} from 'src/sql-tools';
|
||||
|
||||
@Table('asset_edit')
|
||||
@AfterInsertTrigger({ scope: 'row', function: asset_edit_insert })
|
||||
@AfterInsertTrigger({ scope: 'statement', function: asset_edit_insert })
|
||||
@AfterDeleteTrigger({
|
||||
scope: 'row',
|
||||
scope: 'statement',
|
||||
function: asset_edit_delete,
|
||||
referencingOldTableAs: 'old',
|
||||
when: 'pg_trigger_depth() = 0',
|
||||
|
||||
Reference in New Issue
Block a user