update user timestamp on purchase
This commit is contained in:
parent
2f3ef14a97
commit
f07bfb7380
3 changed files with 34 additions and 0 deletions
|
@ -6,6 +6,7 @@ import Control.Monad.Reader (asks)
|
||||||
|
|
||||||
-- internal imports
|
-- internal imports
|
||||||
|
|
||||||
|
import Control.User
|
||||||
import Types
|
import Types
|
||||||
import Model
|
import Model
|
||||||
|
|
||||||
|
@ -40,6 +41,7 @@ buy auth pds = do
|
||||||
Just (auid, _) -> do
|
Just (auid, _) -> do
|
||||||
void $ addToUserBalance auid (-price) conn
|
void $ addToUserBalance auid (-price) conn
|
||||||
newBalance <- userBalanceSelect conn auid
|
newBalance <- userBalanceSelect conn auid
|
||||||
|
userUpdateTimestamp auth
|
||||||
return $ PurchaseResult
|
return $ PurchaseResult
|
||||||
( if newBalance < 0
|
( if newBalance < 0
|
||||||
then PurchaseDebtful
|
then PurchaseDebtful
|
||||||
|
|
|
@ -60,6 +60,18 @@ userUpdate (Just (aid, method)) uds =
|
||||||
{ errBody = "Wrong Authentication present."
|
{ errBody = "Wrong Authentication present."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
userUpdateTimestamp
|
||||||
|
:: Maybe (Int, AuthMethod)
|
||||||
|
-> MateHandler ()
|
||||||
|
userUpdateTimestamp (Just (aid, _)) = do
|
||||||
|
now <- liftIO getCurrentTime
|
||||||
|
conn <- asks rsConnection
|
||||||
|
void $ updateUserTimestamp aid (utctDay now) conn
|
||||||
|
userUpdateTimestamp Nothing =
|
||||||
|
throwError $ err401
|
||||||
|
{ errBody = "No Authentication present."
|
||||||
|
}
|
||||||
|
|
||||||
userList
|
userList
|
||||||
:: Maybe UserRefine
|
:: Maybe UserRefine
|
||||||
-> MateHandler [UserSummary]
|
-> MateHandler [UserSummary]
|
||||||
|
|
|
@ -184,6 +184,26 @@ updateUserDetails uid uds now conn = liftIO $ runUpdate_ conn $ Update
|
||||||
, uReturning = rCount
|
, uReturning = rCount
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateUserTimestamp
|
||||||
|
:: Int
|
||||||
|
-> Day
|
||||||
|
-> PGS.Connection
|
||||||
|
-> MateHandler Int64
|
||||||
|
updateUserTimestamp uid now conn = liftIO $ runUpdate_ conn $ Update
|
||||||
|
{ uTable = userTable
|
||||||
|
, uUpdateWith = updateEasy (\(id_, ident, balance, _, email, ava) ->
|
||||||
|
( id_
|
||||||
|
, ident
|
||||||
|
, balance
|
||||||
|
, C.constant now
|
||||||
|
, email
|
||||||
|
, ava
|
||||||
|
)
|
||||||
|
)
|
||||||
|
, uWhere = \(i1, _, _, _, _, _) -> i1 .== C.constant uid
|
||||||
|
, uReturning = rCount
|
||||||
|
}
|
||||||
|
|
||||||
addToUserBalance
|
addToUserBalance
|
||||||
:: Int
|
:: Int
|
||||||
-> Int
|
-> Int
|
||||||
|
|
Loading…
Reference in a new issue