LD4GLVSF6YTA7OZWIGJ45H6TUXGM4WKUIYXKWQFNUP36WDMYSMXAC qdbUserRowParser = QDBUser <$> fieldWith uidParser <*> userRowParser
qdbUserRowParser = QDBUser <$> fieldWith uidParser<*> userRowParserprojectRowParser :: RowParser ProjectprojectRowParser = Project <$> field<*> field<*> fieldWith uidParserqdbProjectRowParser :: RowParser QDBProjectqdbProjectRowParser = QDBProject <$> fieldWith pidParser <*> projectRowParser
createProject' :: Project -> ReaderT Connection IO ProjectIdcreateProject' p = doconn <- askpids <- lift $ query conn"INSERT INTO projects (project_name, inception_date, initiator_id) VALUES (?, ?, ?) RETURNING id"(p ^. projectName, p ^. inceptionDate, p ^. (initiator._UserId))pure . ProjectId . fromOnly $ DL.head pids
findUserProjects' :: UserId -> ReaderT Connection IO [QDBProject]findUserProjects' (UserId uid) = doconn <- askresults <- lift $ query conn"SELECT p.id, p.project_name, p.inception_date, p.initiator_id \\FROM projects p LEFT OUTER JOIN project_companions pc ON pc.project_id = p.id \\WHERE p.initiator_id = ? OR pc.companion_id = ?"(uid, uid)pure $ fmap pQDBProject results