@@ -314,21 +314,13 @@ defmodule Astarte.AppEngine.API.Groups.Queries do
314314 from ( d in GroupedDevice ,
315315 prefix: ^ keyspace ,
316316 where: d . group_name == ^ group_name ,
317- select: d . group_name
317+ select: d . group_name ,
318+ limit: 1
318319 )
319320
320- with false <- Repo . all ( query ) |> Enum . empty? ( ) do
321- true
322- else
323- { :error , reason } ->
324- _ = Logger . error ( "Database error: #{ inspect ( reason ) } ." , tag: "db_error" )
325- false
326-
327- [ ] ->
328- false
329-
330- true ->
331- false
321+ case Repo . fetch_one ( query ) do
322+ { :ok , _ } -> true
323+ _not_found -> false
332324 end
333325 end
334326
@@ -478,12 +470,6 @@ defmodule Astarte.AppEngine.API.Groups.Queries do
478470
479471 def add_to_grouped_device ( realm_name , group_name , decoded_device_ids ) do
480472 keyspace = DataAccessRealm . keyspace_name ( realm_name )
481- grouped_device_table = GroupedDevice . __schema__ ( :source )
482-
483- insert_grouped_device_sql = """
484- INSERT INTO #{ keyspace } .#{ grouped_device_table } (group_name, insertion_uuid, device_id)
485- values (?, ?, ?)
486- """
487473
488474 queries =
489475 decoded_device_ids
@@ -499,8 +485,14 @@ defmodule Astarte.AppEngine.API.Groups.Queries do
499485 update_device_groups =
500486 Repo . to_sql ( :update_all , query )
501487
502- insert_grouped_device_params = [ group_name , insertion_uuid , device_id ]
503- insert_grouped_device = { insert_grouped_device_sql , insert_grouped_device_params }
488+ grouped_device =
489+ % GroupedDevice {
490+ group_name: group_name ,
491+ insertion_uuid: insertion_uuid ,
492+ device_id: device_id
493+ }
494+
495+ insert_grouped_device = Repo . insert_to_sql ( grouped_device , prefix: keyspace )
504496
505497 [ update_device_groups , insert_grouped_device ]
506498 end )
0 commit comments