-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Persistent integration for ppend-only cooperative agreement @package appendful-persistent @version 0.1.0.1 module Data.Appendful.Persistent -- | Make a sync request on the client side clientMakeSyncRequestQuery :: forall sid clientRecord a m. (PersistEntity clientRecord, PersistField sid, PersistEntityBackend clientRecord ~ SqlBackend, MonadIO m) => (clientRecord -> a) -> EntityField clientRecord (Maybe sid) -> SqlPersistT m (SyncRequest (Key clientRecord) sid a) -- | Merge a sync response on the client side clientMergeSyncResponseQuery :: (PersistEntity clientRecord, PersistField sid, PersistEntityBackend clientRecord ~ SqlBackend, SafeToInsert clientRecord, MonadIO m) => (sid -> a -> clientRecord) -> EntityField clientRecord (Maybe sid) -> SyncResponse (Key clientRecord) sid a -> SqlPersistT m () clientSyncProcessor :: (PersistEntity clientRecord, PersistField sid, PersistEntityBackend clientRecord ~ SqlBackend, SafeToInsert clientRecord, MonadIO m) => (sid -> a -> clientRecord) -> EntityField clientRecord (Maybe sid) -> ClientSyncProcessor (Key clientRecord) sid a (SqlPersistT m) -- | Process a sync query on the server side. serverProcessSyncQuery :: (PersistEntity record, PersistEntityBackend record ~ SqlBackend, SafeToInsert record, MonadIO m) => [Filter record] -> (record -> a) -> (a -> record) -> SyncRequest ci (Key record) a -> SqlPersistT m (SyncResponse ci (Key record) a) -- | Process a sync query on the server side with a custom id. serverProcessSyncWithCustomIdQuery :: (Ord sid, PersistEntity record, PersistEntityBackend record ~ SqlBackend, SafeToInsert record, MonadIO m) => SqlPersistT m sid -> [Filter record] -> (record -> (sid, a)) -> (sid -> a -> record) -> SyncRequest ci sid a -> SqlPersistT m (SyncResponse ci sid a) -- | A server sync processor that uses the sqlkey of the record as the name serverSyncProcessor :: (PersistEntity record, PersistEntityBackend record ~ SqlBackend, SafeToInsert record, MonadIO m) => [Filter record] -> (record -> a) -> (a -> record) -> ServerSyncProcessor ci (Key record) a (SqlPersistT m) -- | A server sync processor that uses a custom key as the name serverSyncProcessorWithCustomId :: (Ord sid, PersistEntity record, PersistEntityBackend record ~ SqlBackend, SafeToInsert record, MonadIO m) => SqlPersistT m sid -> [Filter record] -> (record -> (sid, a)) -> (sid -> a -> record) -> ServerSyncProcessor ci sid a (SqlPersistT m) -- | Setup an unsynced client store -- -- You shouldn't need this. setupUnsyncedClientQuery :: (PersistEntity clientRecord, PersistEntityBackend clientRecord ~ SqlBackend, SafeToInsert clientRecord, MonadIO m) => (a -> clientRecord) -> [a] -> SqlPersistT m () -- | Setup a client store -- -- You shouldn't need this. setupClientQuery :: (PersistEntity clientRecord, PersistEntityBackend clientRecord ~ SqlBackend, SafeToInsert clientRecord, MonadIO m) => (a -> clientRecord) -> (sid -> a -> clientRecord) -> ClientStore (Key clientRecord) sid a -> SqlPersistT m () -- | Get a client store -- -- You shouldn't need this. clientGetStoreQuery :: (Ord sid, PersistEntity clientRecord, PersistField sid, PersistEntityBackend clientRecord ~ SqlBackend, MonadIO m) => (clientRecord -> a) -> EntityField clientRecord (Maybe sid) -> SqlPersistT m (ClientStore (Key clientRecord) sid a) -- | Get the server store from the database -- -- You shouldn't need this. serverGetStoreQuery :: (PersistEntity record, PersistEntityBackend record ~ SqlBackend, MonadIO m) => (record -> a) -> SqlPersistT m (ServerStore (Key record) a) -- | Set up a server store in the database. -- -- You shouldn't need this. This uses insertKey function and is -- therefore unsafe. setupServerQuery :: (PersistEntity record, PersistEntityBackend record ~ SqlBackend, MonadIO m) => (a -> record) -> ServerStore (Key record) a -> SqlPersistT m ()