agent store: getSndQueue

This commit is contained in:
Evgeny Poberezkin
2021-01-05 19:42:50 +00:00
parent 4a19602be6
commit a555c4e510
+19 -3
View File
@@ -154,9 +154,9 @@ getRcvQueue st@SQLiteStore {conn} queueRowId = liftIO $ do
DB.queryNamed
conn
[s|
SELECT server_id, rcv_id, rcv_private_key, snd_id, snd_key, decrypt_key, verify_key, status, ack_mode
FROM receive_queues
WHERE receive_queue_id = :rowId;
SELECT server_id, rcv_id, rcv_private_key, snd_id, snd_key, decrypt_key, verify_key, status, ack_mode
FROM receive_queues
WHERE receive_queue_id = :rowId;
|]
[":rowId" := queueRowId]
case r of
@@ -164,6 +164,22 @@ getRcvQueue st@SQLiteStore {conn} queueRowId = liftIO $ do
(\srv -> (rcvQueue {server = srv} :: ReceiveQueue)) <$$> getServer st serverId
_ -> return (Left SENotFound)
getSndQueue :: MonadUnliftIO m => SQLiteStore -> QueueRowId -> m (Either StoreError SendQueue)
getSndQueue st@SQLiteStore {conn} queueRowId = liftIO $ do
r <-
DB.queryNamed
conn
[s|
SELECT server_id, snd_id, snd_private_key, encrypt_key, sign_key, status, ack_mode
FROM send_queues
WHERE send_queue_id = :rowId;
|]
[":rowId" := queueRowId]
case r of
[Only serverId :. sndQueue] ->
(\srv -> (sndQueue {server = srv} :: SendQueue)) <$$> getServer st serverId
_ -> return (Left SENotFound)
insertRcvQueue :: MonadUnliftIO m => SQLiteStore -> SMPServerId -> ReceiveQueue -> m QueueRowId
insertRcvQueue store serverId rcvQueue =
insertWithLock