@@ -16,6 +16,7 @@ module Data.Query (
19 getLastPosts,
20 getLastPosts,
20 getPostsForUser,
21 getPostsForUser,
@@ -124,6 +125,9 @@ getUsersQ uIds = case idsToColumn uIds of
124 (#ids ! #id .== #users ! #userId))
125 (#ids ! #id .== #users ! #userId))
125 Nothing -> Nothing
126 Nothing -> Nothing
128+getAllUsersQ :: Query Schema '[] (RowPG User)
129+getAllUsersQ = selectStar $ from $ table #users
127getPostsByIdQ :: [PostId] -> Maybe (Query Schema '[] (RowPG PostRowResponse))
131getPostsByIdQ :: [PostId] -> Maybe (Query Schema '[] (RowPG PostRowResponse))
128getPostsByIdQ pIds = case idsToColumn pIds of
132getPostsByIdQ pIds = case idsToColumn pIds of
129 Just idQ -> Just $ selectDotStar #posts $ from (subquery (idQ `As` #ids) &
133 Just idQ -> Just $ selectDotStar #posts $ from (subquery (idQ `As` #ids) &
@@ -285,6 +289,9 @@ getUser uId = runQueryParams getUserQ (Only uId) >>= getRow 0
286getUsers :: [UserId] -> StaticPQ (Maybe [User])
290getUsers :: [UserId] -> StaticPQ (Maybe [User])
287getUsers ids = getUsersQ ids `liftMaybe` (fmap Just . (runQuery >=> getRows))
291getUsers ids = getUsersQ ids `liftMaybe` (fmap Just . (runQuery >=> getRows))
293+getAllUsers :: StaticPQ [User]
294+getAllUsers = runQuery getAllUsersQ >>= getRows
289publishPost :: UserId -> PostCreation -> StaticPQ PostId
296publishPost :: UserId -> PostCreation -> StaticPQ PostId
290publishPost uId pc = transactionally_ $ do
297publishPost uId pc = transactionally_ $ do