Skip to content

Commit 88b3ddb

Browse files
committed
refactor(RM): move delete_trigger_policy_link
Moves `delete_trigger_policy_link` to `exandra` and `ecto` Signed-off-by: Luca Zaninotto <luca.zaninotto@secomind.com>
1 parent c71a8ec commit 88b3ddb

File tree

2 files changed

+22
-24
lines changed

2 files changed

+22
-24
lines changed

apps/astarte_realm_management/lib/astarte_realm_management/engine.ex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,8 @@ defmodule Astarte.RealmManagement.Engine do
789789
end)
790790

791791
delete_policy_link_succeeded =
792-
Queries.delete_trigger_policy_link(client, trigger.trigger_uuid, trigger.policy) == :ok
792+
Queries.delete_trigger_policy_link(realm_name, trigger.trigger_uuid, trigger.policy) ==
793+
:ok
793794

794795
if delete_all_simple_triggers_succeeded and delete_policy_link_succeeded do
795796
Queries.delete_trigger(client, trigger_name, realm_name)

apps/astarte_realm_management/lib/astarte_realm_management/queries.ex

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,36 +1002,33 @@ defmodule Astarte.RealmManagement.Queries do
10021002
end
10031003
end
10041004

1005-
def delete_trigger_policy_link(_client, _trigger_uuid, nil) do
1005+
def delete_trigger_policy_link(_realm_name, _trigger_uuid, nil) do
10061006
:ok
10071007
end
10081008

1009-
def delete_trigger_policy_link(client, trigger_uuid, trigger_policy) do
1010-
delete_trigger_with_policy_statement =
1011-
"DELETE FROM kv_store WHERE group=:policy_group AND key=:trigger_uuid;"
1009+
def delete_trigger_policy_link(realm_name, trigger_uuid, trigger_policy) do
1010+
keyspace = Realm.keyspace_name(realm_name)
1011+
policy_group = "triggers-with-policy-#{trigger_policy}"
10121012

1013-
delete_trigger_with_policy_query =
1014-
DatabaseQuery.new()
1015-
|> DatabaseQuery.statement(delete_trigger_with_policy_statement)
1016-
|> DatabaseQuery.put(:policy_group, "triggers-with-policy-#{trigger_policy}")
1017-
|> DatabaseQuery.put(:trigger_uuid, :uuid.uuid_to_string(trigger_uuid))
1013+
trigger_uuid =
1014+
trigger_uuid
1015+
|> :uuid.uuid_to_string()
1016+
|> to_string()
10181017

1019-
delete_trigger_to_policy_statement =
1020-
"DELETE FROM kv_store WHERE group='trigger_to_policy' AND key=:trigger_uuid;"
1018+
triggers_with_policy =
1019+
from KvStore,
1020+
prefix: ^keyspace,
1021+
where: [group: ^policy_group, key: ^trigger_uuid]
10211022

1022-
delete_trigger_to_policy_query =
1023-
DatabaseQuery.new()
1024-
|> DatabaseQuery.statement(delete_trigger_to_policy_statement)
1025-
|> DatabaseQuery.put(:trigger_uuid, :uuid.uuid_to_string(trigger_uuid))
1023+
trigger_to_policy =
1024+
from KvStore,
1025+
prefix: ^keyspace,
1026+
where: [group: "trigger_to_policy", key: ^trigger_uuid]
10261027

1027-
with {:ok, _result} <- DatabaseQuery.call(client, delete_trigger_with_policy_query),
1028-
{:ok, _result} <- DatabaseQuery.call(client, delete_trigger_to_policy_query) do
1029-
:ok
1030-
else
1031-
not_ok ->
1032-
_ = Logger.warning("Database error: #{inspect(not_ok)}.", tag: "db_error")
1033-
{:error, :cannot_delete_trigger_policy_link}
1034-
end
1028+
_ = Repo.delete_all(triggers_with_policy)
1029+
_ = Repo.delete_all(trigger_to_policy)
1030+
1031+
:ok
10351032
end
10361033

10371034
def delete_trigger(client, trigger_name, realm_name) do

0 commit comments

Comments
 (0)