Event logging is now functioning in postgres.
[?]
Feb 18, 2015, 2:36 AM
2G3GNDDUOVPF45PELJ65ZB2IXEHJJXJILFRVHZXGPXUL4BVNZJFQCDependencies
- [2]
PBD7LZYQPostgres & auth are beginning to function. - [3]
TNR3TEHKSwitch to Postgres + snaplet arch compiles. - [4]
VJPT6HDRFix remaining type errors after addition of login handler. - [5]
Z7KS5XHHVery WIP. Wow. - [6]
I2KHGVD4Require project permissions for access to most data. - [7]
BROSTG5KBeginning of modularization of server. - [8]
LD4GLVSFMore database stuff. - [9]
IZEVQF62Work in progress replacing sqlite with postgres. - [10]
NVOCQVASInitial failing tests. - [*]
ADMKQQGCInitial empty Snap project.
Change contents
- edit in lib/Quixotic/Database/PostgreSQL.hs at line 194
let uid = p ^. (initiator._UserId) - replacement in lib/Quixotic/Database/PostgreSQL.hs at line 198
(p ^. projectName, p ^. inceptionDate, p ^. (initiator._UserId))pure . ProjectId . fromOnly $ DL.head pids(p ^. projectName, p ^. inceptionDate, uid)let pid = fromOnly $ DL.head pidsvoid . lift $ execute conn"INSERT INTO project_companions (project_id, companion_id) VALUES (?, ?)"(pid, uid)pure . ProjectId $ pid - replacement in lib/Quixotic/Database/PostgreSQL.hs at line 210
\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)\FROM projects p JOIN project_companions pc ON pc.project_id = p.id \\WHERE pc.companion_id = ?"(Only uid) - replacement in scripts/create_project.sh at line 3
curl -v -u "nuttycom:kjntest" -H "Content-Type: application/json" -d '{"projectName":"the"}' http://localhost:8000/projectscurl -v -u "nuttycom:kjntest" -X POST -H "Content-Type: application/json" -d '{"projectName":"the"}' http://localhost:8000/projects - file addition: log_end.sh[2.1220]
curl -v -u "nuttycom:kjntest" -X POST -d '' http://localhost:8000/projects/1/logEnd/1KamUn1BaRMd2HwikyQWGTdUvfPScg9QA5 - file addition: log_start.sh[2.1220]
curl -v -u "nuttycom:kjntest" -X POST -d '' http://localhost:8000/projects/1/logStart/1KamUn1BaRMd2HwikyQWGTdUvfPScg9QA5 - replacement in server/Main.hs at line 52
, ("register", method POST registerHandler), ("projects", projectsHandler), ("logStart/:projectId/:btcAddr", logWorkHandler StartWork), ("logEnd/:projectId/:btcAddr", logWorkHandler StopWork), ("loggedIntervals/:projectId/:btcAddr", loggedIntervalsHandler), ("register", void $ method POST registerHandler), ("projects/:projectId/logStart/:btcAddr", method POST $ logWorkHandler StartWork), ("projects/:projectId/logEnd/:btcAddr", method POST $ logWorkHandler StopWork), ("projects/:projectId/log/:btcAddr", method GET loggedIntervalsHandler) - replacement in server/Main.hs at line 57
, ("payouts/:projectId", method GET payoutsHandler), ("projects", void $ method POST projectCreateHandler), ("projects", void $ method GET projectListHandler), ("payouts/:projectId", method GET payoutsHandler) - edit in server/Quixotic/Snaplet/Auth.hs at line 23
logError rawHeader - replacement in server/Quixotic/Snaplet/Auth.hs at line 35
currentUser <- requireLoginqdbUser <- case UserName . AU.unUid <$> AU.userId currentUser ofNothing -> snapError 403 "User is authenticated, but session lacks user identifier"Just n -> liftPG . runReaderT $ findUserByUserName ncurrentUser <- UserName . AU.userLogin <$> requireLoginqdbUser <- liftPG . runReaderT $ findUserByUserName currentUser - replacement in server/Quixotic/Snaplet/Projects.hs at line 3
module Quixotic.Snaplet.Projects( projectsHandler) wheremodule Quixotic.Snaplet.Projects where - edit in server/Quixotic/Snaplet/Projects.hs at line 25
projectsHandler :: Handler App App ()projectsHandler = dovoid $ method POST projectCreateHandlervoid $ method GET projectListHandler - replacement in sql/quixotic-pg.sql at line 11
inception_date timestamp without time zone not null,inception_date timestamp with time zone not null, - edit in sql/quixotic-pg.sql at line 13
);create table project_companions (project_id integer references projects(id) not null,companion_id integer references users(id) not null - replacement in sql/quixotic-pg.sql at line 20
create type event_t as enum ('start_work', 'stop_work');create type event_t as enum ('start', 'stop'); - replacement in sql/quixotic-pg.sql at line 28
event_time timestamp without time zone not nullevent_time timestamp with time zone not null - replacement in sql/quixotic-pg.sql at line 36
end_time timestamp without time zone not nullend_time timestamp with time zone not null - replacement in sql/quixotic-pg.sql at line 45
bid_time timestamp without time zone not nullbid_time timestamp with time zone not null