Safe Haskell | None |
---|---|
Language | GHC2024 |
Aggregate.Reservation
Synopsis
- type NumberOfPassengers = Refined (FromTo 1 256) Int
- data ReservationIdProblem = ReservationIdIsEmpty
- newtype ReservationId = ReservationId (Refined NotEmpty UUID)
- data Reservation = Reservation {}
- type Reservations (sc :: Nat) = Refined (NotEmpty && SeatCapacity sc) (Set Reservation)
- data ReservationsProblem
- data Passenger = Passenger ReservationId Int
- parseReservationId :: UUID -> Either ReservationIdProblem ReservationId
- passengersOfReservation :: Reservation -> Set Passenger
- parseReservationsProblem :: RefineException -> ReservationsProblem
Documentation
type NumberOfPassengers = Refined (FromTo 1 256) Int #
data ReservationIdProblem #
Constructors
ReservationIdIsEmpty |
Instances
Exception ReservationIdProblem # | |
Defined in Aggregate.Reservation | |
Show ReservationIdProblem # | |
Defined in Aggregate.Reservation Methods showsPrec :: Int -> ReservationIdProblem -> ShowS # show :: ReservationIdProblem -> String # showList :: [ReservationIdProblem] -> ShowS # | |
Eq ReservationIdProblem # | |
Defined in Aggregate.Reservation Methods (==) :: ReservationIdProblem -> ReservationIdProblem -> Bool # (/=) :: ReservationIdProblem -> ReservationIdProblem -> Bool # |
newtype ReservationId #
Constructors
ReservationId (Refined NotEmpty UUID) |
Instances
Show ReservationId # | |
Defined in Aggregate.Reservation Methods showsPrec :: Int -> ReservationId -> ShowS # show :: ReservationId -> String # showList :: [ReservationId] -> ShowS # | |
Eq ReservationId # | |
Defined in Aggregate.Reservation Methods (==) :: ReservationId -> ReservationId -> Bool # (/=) :: ReservationId -> ReservationId -> Bool # | |
Ord ReservationId # | |
Defined in Aggregate.Reservation Methods compare :: ReservationId -> ReservationId -> Ordering # (<) :: ReservationId -> ReservationId -> Bool # (<=) :: ReservationId -> ReservationId -> Bool # (>) :: ReservationId -> ReservationId -> Bool # (>=) :: ReservationId -> ReservationId -> Bool # max :: ReservationId -> ReservationId -> ReservationId # min :: ReservationId -> ReservationId -> ReservationId # |
data Reservation #
Constructors
Reservation | |
Instances
Show Reservation # | |
Defined in Aggregate.Reservation Methods showsPrec :: Int -> Reservation -> ShowS # show :: Reservation -> String # showList :: [Reservation] -> ShowS # | |
Eq Reservation # | |
Defined in Aggregate.Reservation | |
Ord Reservation # | |
Defined in Aggregate.Reservation Methods compare :: Reservation -> Reservation -> Ordering # (<) :: Reservation -> Reservation -> Bool # (<=) :: Reservation -> Reservation -> Bool # (>) :: Reservation -> Reservation -> Bool # (>=) :: Reservation -> Reservation -> Bool # max :: Reservation -> Reservation -> Reservation # min :: Reservation -> Reservation -> Reservation # | |
Predicate NotEmpty (Set Reservation) # | |
Defined in Aggregate.Reservation Methods validate :: Proxy NotEmpty -> Set Reservation -> Maybe RefineException # | |
KnownNat sc => Predicate (SeatCapacity sc :: Type) (Set Reservation) # | |
Defined in Aggregate.Reservation Methods validate :: Proxy (SeatCapacity sc) -> Set Reservation -> Maybe RefineException # |
type Reservations (sc :: Nat) = Refined (NotEmpty && SeatCapacity sc) (Set Reservation) #
data ReservationsProblem #
Instances
Exception ReservationsProblem # | |
Defined in Aggregate.Reservation | |
Show ReservationsProblem # | |
Defined in Aggregate.Reservation Methods showsPrec :: Int -> ReservationsProblem -> ShowS # show :: ReservationsProblem -> String # showList :: [ReservationsProblem] -> ShowS # | |
Eq ReservationsProblem # | |
Defined in Aggregate.Reservation Methods (==) :: ReservationsProblem -> ReservationsProblem -> Bool # (/=) :: ReservationsProblem -> ReservationsProblem -> Bool # |
Constructors
Passenger ReservationId Int |
Instances
Show Passenger # | |
Eq Passenger # | |
Ord Passenger # | |
KnownNat sc => Predicate NotEmpty (Set (Proposal sc)) # | |
Defined in Aggregate.Proposal | |
KnownNat sc => Predicate (BoundedSeatNumber sc :: Type) (Bimap Passenger AssignableSeat) # | |
Defined in Aggregate.Assignment Methods validate :: Proxy (BoundedSeatNumber sc) -> Bimap Passenger AssignableSeat -> Maybe RefineException # | |
KnownNat sc => Predicate (BoundedSeatNumber sc :: Type) (Bimap Passenger Seat) # | |
Defined in Aggregate.Assignment Methods validate :: Proxy (BoundedSeatNumber sc) -> Bimap Passenger Seat -> Maybe RefineException # | |
KnownNat sc => Predicate (SeatCapacity sc :: Type) (Bimap Passenger s) # | |
Defined in Aggregate.Assignment Methods validate :: Proxy (SeatCapacity sc) -> Bimap Passenger s -> Maybe RefineException # |
passengersOfReservation :: Reservation -> Set Passenger #
Create passengers from reservation
parseReservationsProblem :: RefineException -> ReservationsProblem #
Parse RefineException
to ReservationsProblem
, falls back to ReservationsCorrupt