# Generated by Django 4.1.9 on 2023-06-08 17:33 from django.db import migrations import pgtrigger.compiler import pgtrigger.migrations class Migration(migrations.Migration): dependencies = [ ("desecapi", "0031_alter_user_email"), ] operations = [ pgtrigger.migrations.AddTrigger( model_name="tokendomainpolicy", trigger=pgtrigger.compiler.Trigger( name="token_user", sql=pgtrigger.compiler.UpsertTriggerSql( func="NEW.token_user_id = (SELECT user_id FROM desecapi_token WHERE id = NEW.token_id); RETURN NEW;", hash="38e318cd25ddc9a7e0323d9a15b3c800acf476f8", operation="UPDATE OR INSERT", pgid="pgtrigger_token_user_643b3", table="desecapi_tokendomainpolicy", when="BEFORE", ), ), ), pgtrigger.migrations.AddTrigger( model_name="tokendomainpolicy", trigger=pgtrigger.compiler.Trigger( name="default_policy_on_insert", sql=pgtrigger.compiler.UpsertTriggerSql( func="IF (NEW.domain_id IS NOT NULL and NOT EXISTS(SELECT * FROM desecapi_tokendomainpolicy WHERE domain_id IS NULL AND token_id = NEW.token_id)) THEN RAISE EXCEPTION 'Cannot insert non-default policy into % table when default policy is not present', TG_TABLE_NAME; END IF; RETURN NEW;", hash="ac850a5a2d01726a313f57369ad82ffaf7321261", operation="INSERT", pgid="pgtrigger_default_policy_on_insert_e01f6", table="desecapi_tokendomainpolicy", when="BEFORE", ), ), ), pgtrigger.migrations.AddTrigger( model_name="tokendomainpolicy", trigger=pgtrigger.compiler.Trigger( name="default_policy_on_update", sql=pgtrigger.compiler.UpsertTriggerSql( condition='WHEN (NEW."domain_id" IS NOT NULL AND OLD."domain_id" IS NULL)', func="RAISE EXCEPTION 'pgtrigger: Cannot update rows from % table', TG_TABLE_NAME;", hash="50b90c40a204f2165106f2212bc3a8fbb1397226", operation="UPDATE", pgid="pgtrigger_default_policy_on_update_6acd4", table="desecapi_tokendomainpolicy", when="BEFORE", ), ), ), pgtrigger.migrations.AddTrigger( model_name="tokendomainpolicy", trigger=pgtrigger.compiler.Trigger( name="default_policy_on_delete", sql=pgtrigger.compiler.UpsertTriggerSql( func="IF (OLD.domain_id IS NULL and EXISTS(SELECT * FROM desecapi_tokendomainpolicy WHERE domain_id IS NOT NULL AND token_id = OLD.token_id)) THEN RAISE EXCEPTION 'Cannot delete default policy from % table when non-default policy is present', TG_TABLE_NAME; END IF; RETURN OLD;", hash="14e0ec9e218138c6a10b5da065a1ab1f253b9312", operation="DELETE", pgid="pgtrigger_default_policy_on_delete_a9116", table="desecapi_tokendomainpolicy", when="BEFORE", ), ), ), ]