Fix formatting with stylish-haskell.
[?]
Mar 5, 2016, 8:28 PM
NLZ3JXLOOIL37O3RRQWXHNPNSNEOOLPD6MCB754BEBECQB3KGR2ACDependencies
- [2]
6L5BK5EHUse generic SMTP rather than Sendmail-specific mail client. - [3]
7HPY3QPFFix linting errors. (yay hlint!) - [4]
PBD7LZYQPostgres & auth are beginning to function. - [5]
EMVTF2IWWIP moving back to snap. - [6]
4IQVQL4TAdded client for payouts endpoint. - [7]
XTBSG4C7Adding serveJSON combinator to eliminate some boilerplate from handlers. - [8]
5W5M56VJMove library code to 'lib' - [9]
IZEVQF62Work in progress replacing sqlite with postgres. - [10]
BXGLKYRXAdded primitive user registration handler. - [11]
A6HKMINBAttempting to improve JSON handling. - [12]
TZQJVHBAAdd auction functions to ADB. - [13]
O5FVTOM6Undo JSON silliness, enable a couple more routes. - [14]
QMRKFEPGRefactor QDB to use a free monad algebra instead. - [15]
MMRVIM3FRemoves copy/paste error from email invitation subject. - [16]
64C6AWH6Rename Ananke -> Quixotic, project reboot. - [17]
Z7KS5XHHVery WIP. Wow. - [18]
5XFJNUAZStart of addition of project infrastructure. - [19]
RPAJLHMTChange to use UUIDs instead of ints for primary keys. - [20]
GCVQD44VCreate amends endpoint, switch to UUID primary keys - [21]
W35DDBFYFactor common JSON conversions up into client lib module. - [22]
2G3GNDDUEvent logging is now functioning in postgres. - [23]
LAROLAYUWIP - [24]
4U7F3CPITHE GREAT RENAMING OF THINGS! - [25]
2XQD6KKKAdd invitation logic and clean up DBProg error handling. - [26]
MB5SHULBAdd route for accepting an invitation with an existing account
Change contents
- replacement in lib/Aftok/Database.hs at line 1
{-# LANGUAGE GADTs, DeriveDataTypeable #-}{-# LANGUAGE DeriveDataTypeable #-}{-# LANGUAGE ExplicitForAll #-}{-# LANGUAGE GADTs #-} - replacement in lib/Aftok/Database.hs at line 7
import ClassyPreludeimport Control.Lensimport Data.AffineSpaceimport Data.Thyme.Clock as Cimport ClassyPreludeimport Control.Lensimport Data.AffineSpaceimport Data.Thyme.Clock as C - replacement in lib/Aftok/Database.hs at line 12
import Aftokimport Aftok.Auctionimport Aftok.Intervalimport Aftok.TimeLogimport Aftok.Utilimport Aftokimport Aftok.Auctionimport Aftok.Intervalimport Aftok.TimeLogimport Aftok.Util - replacement in lib/Aftok/Database.hs at line 62
instance Exception DBErrorinstance Exception DBError - replacement in lib/Aftok/Database.hs at line 65
raiseOpForbidden uid r = RaiseDBError (OpForbidden uid r)raiseOpForbidden uid r = RaiseDBError (OpForbidden uid r) - replacement in lib/Aftok/Database.hs at line 68
raiseSubjectNotFound = RaiseDBError SubjectNotFoundraiseSubjectNotFound = RaiseDBError SubjectNotFound - replacement in lib/Aftok/Database.hs at line 94
kps <- findUserProjects uidkps <- findUserProjects uid - replacement in lib/Aftok/Database.hs at line 96
- replacement in lib/Aftok/Database.hs at line 103
fc $ if any (\(pid', _) -> pid' == pid) pxthen actfc $ if any (\(pid', _) -> pid' == pid) pxthen act - replacement in lib/Aftok/Database.hs at line 108
addUserToProject pid current new =addUserToProject pid current new = - replacement in lib/Aftok/Database.hs at line 123
Nothing ->Nothing -> - replacement in lib/Aftok/Database.hs at line 125
Just i | t .-. (i ^. invitationTime) > fromSeconds (60 * 60 * 72 :: Int) ->Just i | t .-. (i ^. invitationTime) > fromSeconds (60 * 60 * 72 :: Int) -> - replacement in lib/Aftok/Database.hs at line 127
Just i | isJust (i ^. acceptanceTime) ->Just i | isJust (i ^. acceptanceTime) -> - replacement in lib/Aftok/Database.hs at line 129
Just i ->Just i -> - replacement in lib/Aftok/Database.hs at line 136
createEvent p u l = withProjectAuth p u $ CreateEvent p u lcreateEvent p u l = withProjectAuth p u $ CreateEvent p u l - edit in lib/Aftok/Json.hs at line 2
{-# LANGUAGE RecordWildCards #-} - replacement in lib/Aftok/Json.hs at line 6
import ClassyPreludeimport ClassyPrelude - replacement in lib/Aftok/Json.hs at line 8
import Control.Lens hiding ((.=))import Data.Aesonimport Data.Aeson.Typesimport Control.Lens hiding ((.=))import Data.Aesonimport Data.Aeson.Types - replacement in lib/Aftok/Json.hs at line 12
import qualified Data.ByteString.Char8 as Cimport Data.Dataimport Data.List.NonEmpty as Limport Data.Map.Strict as MSimport qualified Data.ByteString.Char8 as Cimport Data.Dataimport Data.List.NonEmpty as Limport Data.Map.Strict as MS - replacement in lib/Aftok/Json.hs at line 17
import Aftokimport Aftok.Databaseimport Aftok.Intervalimport Aftok.TimeLogimport Aftokimport Aftok.Databaseimport Aftok.Intervalimport Aftok.TimeLog - replacement in lib/Aftok/Json.hs at line 22
import qualified Language.Haskell.TH as THimport Language.Haskell.TH.Quoteimport qualified Language.Haskell.TH as THimport Language.Haskell.TH.Quote - replacement in lib/Aftok/Json.hs at line 33
versionParser = Version <$> P.decimal <*> (P.char '.' >> P.decimal)versionParser = Version <$> P.decimal <*> (P.char '.' >> P.decimal) - replacement in lib/Aftok/Json.hs at line 35
version :: QuasiQuoterversion :: QuasiQuoter - replacement in lib/Aftok/Json.hs at line 52
{-|{-| - replacement in lib/Aftok/Json.hs at line 62
unversion _ x =unversion _ x = - replacement in lib/Aftok/Json.hs at line 74
let p (Version 1 0) = flet p (Version 1 0) = f - replacement in lib/Aftok/Json.hs at line 92
, "initiator" .= tshow (p ^. (initiator._UserId)), "initiator" .= tshow (p ^. (initiator._UserId)) - replacement in lib/Aftok/Json.hs at line 125
Payouts . MS.mapKeys BtcAddr <$> parseJSON vPayouts . MS.mapKeys BtcAddr <$> parseJSON v - replacement in lib/Aftok/Json.hs at line 128
parseEventAmendment t =parseEventAmendment t = - replacement in lib/Aftok/Json.hs at line 131[4.6047]→[4.6047:6098](∅→∅),[4.6098]→[3.1265:1331](∅→∅),[3.1331]→[4.6166:6202](∅→∅),[4.6166]→[4.6166:6202](∅→∅)
addrText <- x .: "btcAddr"maybe(fail $ show addrText <> "is not a valid BTC address")(pure . AddressChange t)addrText <- x .: "btcAddr"maybe(fail $ show addrText <> "is not a valid BTC address")(pure . AddressChange t) - replacement in lib/Aftok/Json.hs at line 136
parseA x "metadataChange" =parseA x "metadataChange" = - replacement in lib/Aftok/Json.hs at line 138
parseA _ other =parseA _ other = - replacement in lib/Aftok/Json.hs at line 143
in unv1 "amendment" pin unv1 "amendment" p - edit in server/Aftok/Snaplet/Projects.hs at line 1
{-# LANGUAGE RecordWildCards #-} - replacement in server/Aftok/Snaplet/Projects.hs at line 6
import ClassyPreludeimport ClassyPrelude - replacement in server/Aftok/Snaplet/Projects.hs at line 8[4.2486]→[4.8610:8630](∅→∅),[4.8630]→[4.2533:2556](∅→∅),[4.2533]→[4.2533:2556](∅→∅),[4.2556]→[4.8631:8711](∅→∅),[4.8711]→[2.839:897](∅→∅),[2.897]→[4.8761:8816](∅→∅),[4.8761]→[4.8761:8816](∅→∅)
import Control.Lensimport Data.Aeson as Aimport Data.Attoparsec.ByteString (takeByteString)import Data.Thyme.Clock as Cimport Network.Mail.SMTP as SMTPimport Network.Mail.Mimeimport System.IO (FilePath)import Text.StringTemplateimport Control.Lensimport Data.Aeson as Aimport Data.Attoparsec.ByteString (takeByteString)import Data.Thyme.Clock as Cimport Network.Mail.Mimeimport Network.Mail.SMTP as SMTPimport System.IO (FilePath)import Text.StringTemplate - replacement in server/Aftok/Snaplet/Projects.hs at line 17[4.8817]→[4.2415:2450](∅→∅),[4.2556]→[4.2415:2450](∅→∅),[4.2450]→[4.8818:8839](∅→∅),[4.8839]→[4.2450:2497](∅→∅),[4.2450]→[4.2450:2497](∅→∅)
import Aftokimport Aftok.Databaseimport Aftok.QConfigimport Aftok.Snapletimport Aftok.Snaplet.Authimport Aftokimport Aftok.Databaseimport Aftok.QConfigimport Aftok.Snapletimport Aftok.Snaplet.Auth - replacement in server/Aftok/Snaplet/Projects.hs at line 23
import Snap.Coreimport Snap.Snapletimport Snap.Coreimport Snap.Snaplet - replacement in server/Aftok/Snaplet/Projects.hs at line 58
(Just u, Just p, invCode) <- snapEval $(Just u, Just p, invCode) <- snapEval $ - replacement in server/Aftok/Snaplet/Projects.hs at line 66
-> ProjectName-> ProjectName - replacement in server/Aftok/Snaplet/Projects.hs at line 69
-> InvitationCode-> InvitationCode - replacement in server/Aftok/Snaplet/Projects.hs at line 71
sendProjectInviteEmail cfg pn fromEmail toEmail invCode =sendProjectInviteEmail cfg pn fromEmail toEmail invCode = - replacement in server/Aftok/Snaplet/Projects.hs at line 74
in buildProjectInviteEmail (templatePath cfg) pn fromEmail toEmail invCode >>=in buildProjectInviteEmail (templatePath cfg) pn fromEmail toEmail invCode >>= - replacement in server/Aftok/Snaplet/Projects.hs at line 76
- replacement in server/Aftok/Snaplet/Projects.hs at line 78
buildProjectInviteEmail :: System.IO.FilePath-> ProjectNamebuildProjectInviteEmail :: System.IO.FilePath-> ProjectName - replacement in server/Aftok/Snaplet/Projects.hs at line 82
-> InvitationCode-> InvitationCode - replacement in server/Aftok/Snaplet/Projects.hs at line 85
templates <- directoryGroup templatePathtemplates <- directoryGroup templatePath - replacement in server/Aftok/Snaplet/Projects.hs at line 92
setAttribute "inv_code" (renderInvCode invCode)setAttribute "inv_code" (renderInvCode invCode)