{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE NoImplicitPrelude #-} module Feature.NamedResolvers.DB where import Data.Morpheus.Server.Types (ID (..)) import Relude allDeities :: [ID] allDeities = ["zeus", "morpheus"] allRealms :: [ID] allRealms = ["olympus", "dreams"] allEntities :: [ID] allEntities = ["zeus", "morpheus", "olympus", "dreams"] getPowers :: (Monad m) => ID -> m [ID] getPowers "zeus" = pure ["tb"] getPowers "morpheus" = pure ["sp"] getPowers _ = pure [] getDeityName :: (Monad m) => ID -> m Text getDeityName "zeus" = pure "Zeus" getDeityName "morpheus" = pure "Morpheus" getDeityName _ = pure "" getRealmName :: (Monad m) => ID -> m Text getRealmName "olympus" = pure "Mount Olympus" getRealmName "dreams" = pure "Fictional world of dreams" getRealmName _ = pure "" getOwner :: (Monad m) => ID -> m ID getOwner "olympus" = pure "zeus" getOwner "dreams" = pure "morpheus" getOwner _ = pure "" getPlace :: (Monad m) => ID -> m ID getPlace "zeus" = pure "olympus" getPlace "morpheus" = pure "dreams" getPlace x = pure x getDocsById :: Monad m => ID -> m (Maybe Text) getDocsById "morpheus" = pure $ Just "the god of dreams" getDocsById "zeus" = pure $ Just "the king of the gods" getDocsById "olympus" = pure $ Just "Mountain" getDocsById "dreams" = pure $ Just "Dreams" getDocsById _ = pure Nothing