Adds CreatePayment handler implementation.

[?]
Jan 21, 2017, 7:52 PM
QADKFHAR3KWQCNYU25Z7PJUGMD5WL26IU3DOAHBTRN2A7NKPUPKAC

Dependencies

  • [2] Y3LIJ5US Add handler for CreatePaymentRequest
  • [3] 73NDXDEZ Begin implementation of billing event persistence.
  • [4] QMRKFEPG Refactor QDB to use a free monad algebra instead.
  • [5] O5FVTOM6 Undo JSON silliness, enable a couple more routes.
  • [6] DFOBMSAO Initial work on payments API
  • [*] IZEVQF62 Work in progress replacing sqlite with postgres.
  • [*] 64C6AWH6 Rename Ananke -> Quixotic, project reboot.

Change contents

  • replacement in lib/Aftok/Database/PostgreSQL.hs at line 448
    [2.1189][2.1189:1190](),[2.1190][3.12931:12988](),[3.12931][3.12931:12988]()
    updateCache (CreatePayment _ ) = error "Not implemented"
    [2.1189]
    [3.1044]
    updateCache dbop @ (CreatePayment req) = do
    eventId <- requireEventId dbop
    pinsert PaymentId
    "INSERT INTO payments \
    \(payment_request_id, event_id, payment_data) \
    \VALUES (?, ?, ?) RETURNING id"
    ( req ^. (request . _PaymentRequestId)
    , eventId ^. _EventId
    , req ^. (payment . to (runPut . encodeMessage))
    )
  • replacement in lib/Aftok/Database.hs at line 58
    [3.4200][3.13452:13602]()
    CreatePaymentRequest :: PaymentRequest SubscriptionId -> DBOp PaymentRequestId
    CreatePayment :: Payment PaymentRequestId -> DBOp PaymentId
    [3.4200]
    [3.7074]
    CreatePaymentRequest :: PaymentRequest -> DBOp PaymentRequestId
    CreatePayment :: Payment -> DBOp PaymentId
  • replacement in lib/Aftok/Database.hs at line 188
    [3.4788][3.13830:13896]()
    readPaymentHistory :: UserId -> DBProg [Payment PaymentRequestId]
    [3.4788]
    [3.4861]
    readPaymentHistory :: UserId -> DBProg [Payment]
  • replacement in lib/Aftok/Payments.hs at line 7
    [3.5782][3.5782:5839]()
    import Control.Lens (makeLenses)
    [3.5782]
    [3.5839]
    import Control.Lens (makeLenses, makePrisms)
  • edit in lib/Aftok/Payments.hs at line 14
    [3.5960]
    [3.5960]
    import Aftok.Billables
  • edit in lib/Aftok/Payments.hs at line 17
    [3.6029]
    [3.6029]
    makePrisms ''PaymentRequestId
  • edit in lib/Aftok/Payments.hs at line 20
    [3.6085]
    [3.6085]
    makePrisms ''PaymentId
  • replacement in lib/Aftok/Payments.hs at line 22
    [3.6086][3.13898:13944]()
    data PaymentRequest (s :: *) = PaymentRequest
    [3.6086]
    [3.13944]
    data PaymentRequest' (s :: *) = PaymentRequest
  • replacement in lib/Aftok/Payments.hs at line 27
    [3.6259][3.6259:6287]()
    makeLenses ''PaymentRequest
    [3.6259]
    [3.6287]
    makeLenses ''PaymentRequest'
  • replacement in lib/Aftok/Payments.hs at line 29
    [3.6288][3.13968:14000]()
    data Payment (r :: *) = Payment
    [3.6288]
    [3.6315]
    type PaymentRequest = PaymentRequest' SubscriptionId
    data Payment' (r :: *) = Payment
  • replacement in lib/Aftok/Payments.hs at line 36
    [3.6409][3.6409:6430]()
    makeLenses ''Payment
    [3.6409]
    makeLenses ''Payment'
    type Payment = Payment' PaymentRequestId