mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-05-29 20:24:15 +00:00
add select functions drafts
This commit is contained in:
@@ -136,6 +136,31 @@ instance ToRow ReceiveQueue where
|
||||
instance FromRow ReceiveQueue where
|
||||
fromRow = ReceiveQueue undefined <$> field <*> field <*> field <*> field <*> field <*> field <*> field <*> field
|
||||
|
||||
-- selectRcvQueue :: MonadUnliftIO m => SQLiteStore -> QueueRowId -> m (Either StoreError ReceiveQueue)
|
||||
-- selectRcvQueue SQLiteStore {conn} queueId =
|
||||
-- liftIO $
|
||||
-- do
|
||||
-- DB.query
|
||||
-- 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 = ?;
|
||||
-- |]
|
||||
-- queueId
|
||||
-- >>= \case
|
||||
-- [(server, rcvId, rcvPrivateKey, sndId, sndKey, decryptKey, verifyKey, status, ackMode)] -> return (Right ReceiveQueue {server, rcvId, rcvPrivateKey, sndId, sndKey, decryptKey, verifyKey, status, ackMode})
|
||||
-- _ -> return (Left SEInternal)
|
||||
|
||||
insertRcvQueue :: MonadUnliftIO m => SQLiteStore -> SMPServerId -> ReceiveQueue -> m QueueRowId
|
||||
insertRcvQueue store serverId rcvQueue =
|
||||
insertWithLock
|
||||
@@ -183,6 +208,19 @@ insertSndConnection store connAlias sndQueueId =
|
||||
"INSERT INTO connections (conn_alias, receive_queue_id, send_queue_id) VALUES (?,NULL,?);"
|
||||
(Only connAlias :. Only sndQueueId)
|
||||
|
||||
-- instance FromRow SomeConn where
|
||||
-- fromRow =
|
||||
|
||||
-- selectConnection :: MonadUnliftIO m => SQLiteStore -> ConnAlias -> m (Either StoreError SomeConn)
|
||||
-- selectConnection SQLiteStore {conn} connAlias = liftIO $ do
|
||||
-- DB.query
|
||||
-- conn
|
||||
-- "SELECT * FROM connections WHERE conn_alias = ?"
|
||||
-- connAlias
|
||||
-- >>= \case
|
||||
-- [Only someConn] -> return (Right someConn)
|
||||
-- _ -> return (Left SEInternal)
|
||||
|
||||
instance MonadUnliftIO m => MonadAgentStore SQLiteStore m where
|
||||
addServer store smpServer = upsertServer store smpServer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user