aboutsummaryrefslogtreecommitdiff
path: root/common/src/Common/Validation/Payment.hs
blob: b6c1d30024eed94beba601eccccbc12a4ab45395 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module Common.Validation.Payment
  ( name
  , cost
  , date
  ) where

import           Data.Text                (Text)
import           Data.Time.Calendar       (Day)
import           Data.Validation          (Validation)
import qualified Data.Validation          as Validation

import qualified Common.Validation.Atomic as Atomic

name :: Text -> Validation Text Text
name = Atomic.nonEmpty

cost :: Text -> Validation Text Int
cost input = Validation.bindValidation (Atomic.number input) Atomic.nonNullNumber

date :: Text -> Validation Text Day
date = Atomic.day