{-# LANGUAGE DeriveDataTypeable, TemplateHaskell, TypeFamilies #-} module Clckwrks.Page.URL where import Data.Data (Data, Typeable) import Data.SafeCopy (SafeCopy(..), base, deriveSafeCopy) import Clckwrks.Page.Acid (PageId(..)) import Clckwrks.Page.Types (Slug(..)) import Web.Routes.TH (derivePathInfo) data PageAdminURL = EditPage PageId | PreviewPage PageId | Pages | NewPage | NewPost | EditFeedConfig deriving (PageAdminURL -> PageAdminURL -> Bool (PageAdminURL -> PageAdminURL -> Bool) -> (PageAdminURL -> PageAdminURL -> Bool) -> Eq PageAdminURL forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: PageAdminURL -> PageAdminURL -> Bool $c/= :: PageAdminURL -> PageAdminURL -> Bool == :: PageAdminURL -> PageAdminURL -> Bool $c== :: PageAdminURL -> PageAdminURL -> Bool Eq, Eq PageAdminURL Eq PageAdminURL -> (PageAdminURL -> PageAdminURL -> Ordering) -> (PageAdminURL -> PageAdminURL -> Bool) -> (PageAdminURL -> PageAdminURL -> Bool) -> (PageAdminURL -> PageAdminURL -> Bool) -> (PageAdminURL -> PageAdminURL -> Bool) -> (PageAdminURL -> PageAdminURL -> PageAdminURL) -> (PageAdminURL -> PageAdminURL -> PageAdminURL) -> Ord PageAdminURL PageAdminURL -> PageAdminURL -> Bool PageAdminURL -> PageAdminURL -> Ordering PageAdminURL -> PageAdminURL -> PageAdminURL forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: PageAdminURL -> PageAdminURL -> PageAdminURL $cmin :: PageAdminURL -> PageAdminURL -> PageAdminURL max :: PageAdminURL -> PageAdminURL -> PageAdminURL $cmax :: PageAdminURL -> PageAdminURL -> PageAdminURL >= :: PageAdminURL -> PageAdminURL -> Bool $c>= :: PageAdminURL -> PageAdminURL -> Bool > :: PageAdminURL -> PageAdminURL -> Bool $c> :: PageAdminURL -> PageAdminURL -> Bool <= :: PageAdminURL -> PageAdminURL -> Bool $c<= :: PageAdminURL -> PageAdminURL -> Bool < :: PageAdminURL -> PageAdminURL -> Bool $c< :: PageAdminURL -> PageAdminURL -> Bool compare :: PageAdminURL -> PageAdminURL -> Ordering $ccompare :: PageAdminURL -> PageAdminURL -> Ordering $cp1Ord :: Eq PageAdminURL Ord, Typeable PageAdminURL DataType Constr Typeable PageAdminURL -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PageAdminURL -> c PageAdminURL) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PageAdminURL) -> (PageAdminURL -> Constr) -> (PageAdminURL -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PageAdminURL)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PageAdminURL)) -> ((forall b. Data b => b -> b) -> PageAdminURL -> PageAdminURL) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PageAdminURL -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PageAdminURL -> r) -> (forall u. (forall d. Data d => d -> u) -> PageAdminURL -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> PageAdminURL -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> PageAdminURL -> m PageAdminURL) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> PageAdminURL -> m PageAdminURL) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> PageAdminURL -> m PageAdminURL) -> Data PageAdminURL PageAdminURL -> DataType PageAdminURL -> Constr (forall b. Data b => b -> b) -> PageAdminURL -> PageAdminURL (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PageAdminURL -> c PageAdminURL (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PageAdminURL forall a. Typeable a -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> PageAdminURL -> u forall u. (forall d. Data d => d -> u) -> PageAdminURL -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PageAdminURL -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PageAdminURL -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> PageAdminURL -> m PageAdminURL forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> PageAdminURL -> m PageAdminURL forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PageAdminURL forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PageAdminURL -> c PageAdminURL forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PageAdminURL) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PageAdminURL) $cEditFeedConfig :: Constr $cNewPost :: Constr $cNewPage :: Constr $cPages :: Constr $cPreviewPage :: Constr $cEditPage :: Constr $tPageAdminURL :: DataType gmapMo :: (forall d. Data d => d -> m d) -> PageAdminURL -> m PageAdminURL $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> PageAdminURL -> m PageAdminURL gmapMp :: (forall d. Data d => d -> m d) -> PageAdminURL -> m PageAdminURL $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> PageAdminURL -> m PageAdminURL gmapM :: (forall d. Data d => d -> m d) -> PageAdminURL -> m PageAdminURL $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> PageAdminURL -> m PageAdminURL gmapQi :: Int -> (forall d. Data d => d -> u) -> PageAdminURL -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> PageAdminURL -> u gmapQ :: (forall d. Data d => d -> u) -> PageAdminURL -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> PageAdminURL -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PageAdminURL -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PageAdminURL -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PageAdminURL -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PageAdminURL -> r gmapT :: (forall b. Data b => b -> b) -> PageAdminURL -> PageAdminURL $cgmapT :: (forall b. Data b => b -> b) -> PageAdminURL -> PageAdminURL dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PageAdminURL) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PageAdminURL) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c PageAdminURL) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PageAdminURL) dataTypeOf :: PageAdminURL -> DataType $cdataTypeOf :: PageAdminURL -> DataType toConstr :: PageAdminURL -> Constr $ctoConstr :: PageAdminURL -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PageAdminURL $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PageAdminURL gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PageAdminURL -> c PageAdminURL $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PageAdminURL -> c PageAdminURL $cp1Data :: Typeable PageAdminURL Data, Typeable, ReadPrec [PageAdminURL] ReadPrec PageAdminURL Int -> ReadS PageAdminURL ReadS [PageAdminURL] (Int -> ReadS PageAdminURL) -> ReadS [PageAdminURL] -> ReadPrec PageAdminURL -> ReadPrec [PageAdminURL] -> Read PageAdminURL forall a. (Int -> ReadS a) -> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a readListPrec :: ReadPrec [PageAdminURL] $creadListPrec :: ReadPrec [PageAdminURL] readPrec :: ReadPrec PageAdminURL $creadPrec :: ReadPrec PageAdminURL readList :: ReadS [PageAdminURL] $creadList :: ReadS [PageAdminURL] readsPrec :: Int -> ReadS PageAdminURL $creadsPrec :: Int -> ReadS PageAdminURL Read, Int -> PageAdminURL -> ShowS [PageAdminURL] -> ShowS PageAdminURL -> String (Int -> PageAdminURL -> ShowS) -> (PageAdminURL -> String) -> ([PageAdminURL] -> ShowS) -> Show PageAdminURL forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [PageAdminURL] -> ShowS $cshowList :: [PageAdminURL] -> ShowS show :: PageAdminURL -> String $cshow :: PageAdminURL -> String showsPrec :: Int -> PageAdminURL -> ShowS $cshowsPrec :: Int -> PageAdminURL -> ShowS Show) $(deriveSafeCopy 0 'base ''PageAdminURL) $(derivePathInfo ''PageAdminURL) data PageURL = ViewPage PageId | ViewPageSlug PageId Slug | Blog | AtomFeed | PageAdmin PageAdminURL deriving (PageURL -> PageURL -> Bool (PageURL -> PageURL -> Bool) -> (PageURL -> PageURL -> Bool) -> Eq PageURL forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: PageURL -> PageURL -> Bool $c/= :: PageURL -> PageURL -> Bool == :: PageURL -> PageURL -> Bool $c== :: PageURL -> PageURL -> Bool Eq, Eq PageURL Eq PageURL -> (PageURL -> PageURL -> Ordering) -> (PageURL -> PageURL -> Bool) -> (PageURL -> PageURL -> Bool) -> (PageURL -> PageURL -> Bool) -> (PageURL -> PageURL -> Bool) -> (PageURL -> PageURL -> PageURL) -> (PageURL -> PageURL -> PageURL) -> Ord PageURL PageURL -> PageURL -> Bool PageURL -> PageURL -> Ordering PageURL -> PageURL -> PageURL forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: PageURL -> PageURL -> PageURL $cmin :: PageURL -> PageURL -> PageURL max :: PageURL -> PageURL -> PageURL $cmax :: PageURL -> PageURL -> PageURL >= :: PageURL -> PageURL -> Bool $c>= :: PageURL -> PageURL -> Bool > :: PageURL -> PageURL -> Bool $c> :: PageURL -> PageURL -> Bool <= :: PageURL -> PageURL -> Bool $c<= :: PageURL -> PageURL -> Bool < :: PageURL -> PageURL -> Bool $c< :: PageURL -> PageURL -> Bool compare :: PageURL -> PageURL -> Ordering $ccompare :: PageURL -> PageURL -> Ordering $cp1Ord :: Eq PageURL Ord, Typeable PageURL DataType Constr Typeable PageURL -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PageURL -> c PageURL) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PageURL) -> (PageURL -> Constr) -> (PageURL -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PageURL)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PageURL)) -> ((forall b. Data b => b -> b) -> PageURL -> PageURL) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PageURL -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PageURL -> r) -> (forall u. (forall d. Data d => d -> u) -> PageURL -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> PageURL -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> PageURL -> m PageURL) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> PageURL -> m PageURL) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> PageURL -> m PageURL) -> Data PageURL PageURL -> DataType PageURL -> Constr (forall b. Data b => b -> b) -> PageURL -> PageURL (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PageURL -> c PageURL (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PageURL forall a. Typeable a -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> PageURL -> u forall u. (forall d. Data d => d -> u) -> PageURL -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PageURL -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PageURL -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> PageURL -> m PageURL forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> PageURL -> m PageURL forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PageURL forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PageURL -> c PageURL forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PageURL) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PageURL) $cPageAdmin :: Constr $cAtomFeed :: Constr $cBlog :: Constr $cViewPageSlug :: Constr $cViewPage :: Constr $tPageURL :: DataType gmapMo :: (forall d. Data d => d -> m d) -> PageURL -> m PageURL $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> PageURL -> m PageURL gmapMp :: (forall d. Data d => d -> m d) -> PageURL -> m PageURL $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> PageURL -> m PageURL gmapM :: (forall d. Data d => d -> m d) -> PageURL -> m PageURL $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> PageURL -> m PageURL gmapQi :: Int -> (forall d. Data d => d -> u) -> PageURL -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> PageURL -> u gmapQ :: (forall d. Data d => d -> u) -> PageURL -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> PageURL -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PageURL -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PageURL -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PageURL -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PageURL -> r gmapT :: (forall b. Data b => b -> b) -> PageURL -> PageURL $cgmapT :: (forall b. Data b => b -> b) -> PageURL -> PageURL dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PageURL) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PageURL) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c PageURL) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PageURL) dataTypeOf :: PageURL -> DataType $cdataTypeOf :: PageURL -> DataType toConstr :: PageURL -> Constr $ctoConstr :: PageURL -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PageURL $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PageURL gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PageURL -> c PageURL $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PageURL -> c PageURL $cp1Data :: Typeable PageURL Data, Typeable, ReadPrec [PageURL] ReadPrec PageURL Int -> ReadS PageURL ReadS [PageURL] (Int -> ReadS PageURL) -> ReadS [PageURL] -> ReadPrec PageURL -> ReadPrec [PageURL] -> Read PageURL forall a. (Int -> ReadS a) -> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a readListPrec :: ReadPrec [PageURL] $creadListPrec :: ReadPrec [PageURL] readPrec :: ReadPrec PageURL $creadPrec :: ReadPrec PageURL readList :: ReadS [PageURL] $creadList :: ReadS [PageURL] readsPrec :: Int -> ReadS PageURL $creadsPrec :: Int -> ReadS PageURL Read, Int -> PageURL -> ShowS [PageURL] -> ShowS PageURL -> String (Int -> PageURL -> ShowS) -> (PageURL -> String) -> ([PageURL] -> ShowS) -> Show PageURL forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [PageURL] -> ShowS $cshowList :: [PageURL] -> ShowS show :: PageURL -> String $cshow :: PageURL -> String showsPrec :: Int -> PageURL -> ShowS $cshowsPrec :: Int -> PageURL -> ShowS Show) $(deriveSafeCopy 0 'base ''PageURL) $(derivePathInfo ''PageURL)