Add project auction queries.
[?]
Jan 3, 2021, 4:43 PM
JUFBTX45TKSZMB2D4CGNB73UYM5FXAV2QMKIHBSMHEQDAECYP7HQCDependencies
- [2]
M4PWY5RUPreliminary work to add support for Zcash payments. - [3]
GCVQD44VCreate amends endpoint, switch to UUID primary keys - [4]
X3ES7NUAFine. I'll use ormolu. At least it doesn't break the code. - [5]
2J37EVJMCheck for an open interval on project switch. - [6]
UWMGUJOWAutoformat sources. - [*]
LAROLAYUWIP - [*]
IZEVQF62Work in progress replacing sqlite with postgres. - [*]
64C6AWH6Rename Ananke -> Quixotic, project reboot. - [*]
EFSXYZPOAutoformat everything with brittany. - [*]
B6HWAPDPModularize & update to recent haskoin. - [*]
5OI44E4EAdd authentication to auction search. - [*]
2WOOGXDHUse dbmigrations to manage database state. - [*]
HALRDT2FAdded initial auction create route. - [*]
Z3MK2PJ5Add GET handler for retrieving auction data. - [*]
ADMKQQGCInitial empty Snap project.
Change contents
- edit in lib/Aftok/Auction.hs at line 31
_name :: Text,_description :: Maybe Text, - edit in lib/Aftok/Database/PostgreSQL/Auctions.hs at line 8
listAuctions, - edit in lib/Aftok/Database/PostgreSQL/Auctions.hs at line 29
name,description - replacement in lib/Aftok/Database/PostgreSQL/Auctions.hs at line 38
import Aftok.Database ()import Aftok.Database (Limit(..)) - edit in lib/Aftok/Database/PostgreSQL/Auctions.hs at line 47
import Aftok.Interval (RangeQuery(..)) - edit in lib/Aftok/Database/PostgreSQL/Auctions.hs at line 70
<*> field<*> field - replacement in lib/Aftok/Database/PostgreSQL/Auctions.hs at line 84
[sql| INSERT INTO auctions (project_id, initiator_id, raise_amount, end_time)[sql| INSERT INTO auctions (project_id, initiator_id, name, description, raise_amount, end_time) - edit in lib/Aftok/Database/PostgreSQL/Auctions.hs at line 88
auc ^. name,auc ^. description, - replacement in lib/Aftok/Database/PostgreSQL/Auctions.hs at line 99
[sql| SELECT project_id, initiator_id, created_at, raise_amount, start_time, end_time[sql| SELECT project_id, initiator_id, created_at, name, description, raise_amount, start_time, end_time - edit in lib/Aftok/Database/PostgreSQL/Auctions.hs at line 104
listAuctions :: ProjectId -> RangeQuery -> Limit -> DBM [Auction]listAuctions pid rq (Limit limit) =case rq of(Before e) ->pqueryauctionParser[sql| SELECT project_id, initiator_id, created_at, name, description, raise_amount, start_time, end_timeFROM auctionsWHERE project_id = ?AND end_time < ?LIMIT ? |](pid ^. _ProjectId, C.fromThyme e, limit)(During s e) ->pqueryauctionParser[sql| SELECT project_id, initiator_id, created_at, name, description, raise_amount, start_time, end_timeFROM auctionsWHERE project_id = ?AND end_time >= ? AND end_time < ?LIMIT ? |](pid ^. _ProjectId, C.fromThyme s, C.fromThyme e, limit)(After s) ->pqueryauctionParser[sql| SELECT project_id, initiator_id, created_at, name, description, raise_amount, start_time, end_timeFROM auctionsWHERE project_id = ?AND end_time >= ?LIMIT ? |](pid ^. _ProjectId, C.fromThyme s, limit)Always ->pqueryauctionParser[sql| SELECT project_id, initiator_id, created_at, name, description, raise_amount, start_time, end_timeFROM auctionsWHERE project_id = ?LIMIT ? |](pid ^. _ProjectId, limit) - edit in lib/Aftok/Database/PostgreSQL/Events.hs at line 26
Limit(..), - replacement in lib/Aftok/Database/PostgreSQL/Events.hs at line 186
findEvents :: ProjectId -> UserId -> RangeQuery -> Word32 -> DBM [LogEntry]findEvents (ProjectId pid) (UserId uid) rquery limit = dofindEvents :: ProjectId -> UserId -> RangeQuery -> Limit -> DBM [LogEntry]findEvents (ProjectId pid) (UserId uid) rquery (Limit limit) = do - edit in lib/Aftok/Database/PostgreSQL.hs at line 52
(ListAuctions pid rq l) -> Q.listAuctions pid rq l - edit in lib/Aftok/Database.hs at line 59
data Limit = Limit Word32 - replacement in lib/Aftok/Database.hs at line 81
FindEvents :: ProjectId -> UserId -> RangeQuery -> Word32 -> DBOp [LogEntry]FindEvents :: ProjectId -> UserId -> RangeQuery -> Limit -> DBOp [LogEntry] - edit in lib/Aftok/Database.hs at line 83
ListAuctions :: ProjectId -> RangeQuery -> Limit -> DBOp [A.Auction] - replacement in lib/Aftok/Database.hs at line 261
Word32 ->Limit -> - edit in lib/Aftok/Database.hs at line 317
listAuctions :: (MonadDB m) => UserId -> ProjectId -> RangeQuery -> Limit -> m [A.Auction]listAuctions uid pid rq l = dowithProjectAuth pid uid $ ListAuctions pid rq l - file addition: 2021-01-03_16-15-52_auction-descriptions.txt[14.1]
Description: (Describe migration here.)Created: 2021-01-03 16:16:17.234201601 UTCDepends: 2020-11-25_04-22-24_zcash-support 2016-10-29_20-54-44_auction-timestamps 2016-10-13_05-36-55_user-event-logApply: |ALTER TABLE auctions ADD COLUMN name text NOT NULL;ALTER TABLE auctions ADD COLUMN description text; - edit in server/Aftok/Snaplet/Auctions.hs at line 67
auctionListHandler :: S.Handler App App [Auction]auctionListHandler = douid <- requireUserIdpid <- requireProjectIdsnapEval $ listAuctions pid uid - edit in server/Main.hs at line 99
auctionListRoute =serveJSON (fmap auctionJSON) $ method GET auctionListHandler