More database stuff.
[?]
Jan 27, 2015, 5:34 AM
LD4GLVSF6YTA7OZWIGJ45H6TUXGM4WKUIYXKWQFNUP36WDMYSMXACDependencies
- [2]
Z7KS5XHHVery WIP. Wow. - [3]
IZEVQF62Work in progress replacing sqlite with postgres. - [4]
BROSTG5KBeginning of modularization of server. - [5]
TNR3TEHKSwitch to Postgres + snaplet arch compiles. - [*]
64C6AWH6Rename Ananke -> Quixotic, project reboot.
Change contents
- edit in lib/Quixotic/Database/PostgreSQL.hs at line 28
pidParser :: FieldParser ProjectIdpidParser f v = ProjectId <$> fromField f v - replacement in lib/Quixotic/Database/PostgreSQL.hs at line 65
qdbUserRowParser = QDBUser <$> fieldWith uidParser <*> userRowParserqdbUserRowParser = QDBUser <$> fieldWith uidParser<*> userRowParserprojectRowParser :: RowParser ProjectprojectRowParser = Project <$> field<*> field<*> fieldWith uidParserqdbProjectRowParser :: RowParser QDBProjectqdbProjectRowParser = QDBProject <$> fieldWith pidParser <*> projectRowParser - edit in lib/Quixotic/Database/PostgreSQL.hs at line 109
newtype PQDBProject = PQDBProject { pQDBProject :: QDBProject }instance FromRow PQDBProject wherefromRow = PQDBProject <$> qdbProjectRowParser - edit in lib/Quixotic/Database/PostgreSQL.hs at line 192
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 - edit in lib/Quixotic/Database/PostgreSQL.hs at line 200
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 - edit in lib/Quixotic/Database/PostgreSQL.hs at line 222
, createProject = createProject', findUserProjects = findUserProjects' - edit in lib/Quixotic/Database.hs at line 34
, createProject :: Project -> m ProjectId - replacement in server/Quixotic/Api/Types.hs at line 62
checkProjectAccess =checkProjectAccess = undefined