morpheus-graphql v0.9.2 Release Notes
-
๐ฅ Breaking Changes
- all constructors of
Resolver
:QueryResolver
,MutResolver
,SubResolver
are unexposed. uselift
,publish
orsubscribe
. e.g
-- Query Resolver resolveUser :: ResolveQ EVENT IO User resolveUser = lift getDBUser -- Mutation Resolver resolveCreateUser :: ResolveM EVENT IO User resolveCreateUser = do publish [userUpdate] -- publishes event inside mutation lift setDBUser -- Subscription Resolver resolveNewUser :: ResolveS EVENT IO User resolveNewUser = subscribe [USER] $ do pure $ \(Event _ content) -> lift (getDBUserByContent content)
๐ New features
- ๐ฆ exposed
publish
for mutation resolvers, now you can write
resolveCreateUser :: ResolveM EVENT IO User resolveCreateUser = do requireAuthorized publish [userUpdate] liftEither setDBUser
- ๐ฆ exposed
subscribe
for subscription resolvers, now you can write
resolveNewUser :: ResolveS EVENT IO User resolveNewUser = subscribe [USER] $ do requireAuthorized pure userByEvent where userByEvent (Event _ content) = liftEither (getDBUser content)
Minor
- MonadIO instance for resolvers. Thanks @dandoh
- Example using STM, authentication, monad transformers. Thanks @dandoh
- โ added dependency
mtl
- all constructors of