1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Repo.Migrations.AddRecipientsContainBlockedDomainsFunction do
7 @disable_ddl_transaction true
11 CREATE OR REPLACE FUNCTION recipients_contain_blocked_domains(recipients varchar[], blocked_domains varchar[]) RETURNS boolean AS $$
13 recipient_domain varchar;
16 FOREACH recipient IN ARRAY recipients LOOP
17 recipient_domain = split_part(recipient, '/', 3)::varchar;
19 IF recipient_domain = ANY(blocked_domains) THEN
34 "drop function if exists recipients_contain_blocked_domains(recipients varchar[], blocked_domains varchar[])"