Safe Haskell | None |
---|---|
Language | Haskell98 |
- type ResourceId = [String]
- data RequestMethod
- data ActionType
- = Retrieve
- | Create
- | Delete
- | DeleteMany
- | List
- | Update
- | UpdateMany
- | Modify
- data ActionTarget
- data ActionInfo = ActionInfo {
- ident :: Maybe Ident
- postAction :: Bool
- actionType :: ActionType
- actionTarget :: ActionTarget
- resDir :: String
- method :: RequestMethod
- inputs :: [DataDescription]
- outputs :: [DataDescription]
- errors :: [DataDescription]
- params :: [String]
- https :: Bool
- isAccessor :: ActionInfo -> Bool
- data DataType
- data DataDescription = DataDescription {
- dataType :: DataType
- dataTypeDesc :: String
- dataSchema :: String
- dataExample :: String
- haskellType :: String
- haskellModule :: [String]
- defaultDescription :: DataDescription
- chooseType :: [DataDescription] -> Maybe DataDescription
- resourceToActionInfo :: Resource m s sid mid aid -> [ActionInfo]
- topLevelActionInfo :: Resource m s sid mid aid -> Cardinality sid mid -> [ActionInfo]
- stepActionInfo :: Resource m s sid mid aid -> Step sid mid aid -> [ActionInfo]
- namedActionInfo :: Resource m s sid mid aid -> String -> Endpoint sid mid aid -> [ActionInfo]
- unnamedActionInfo :: Resource m s sid mid aid -> Cardinality (Id sid) (Id mid) -> [ActionInfo]
- getterActionInfo :: Resource m s sid mid aid -> String -> Getter sid -> [ActionInfo]
- listGetterActionInfo :: Resource m s sid mid aid -> String -> Getter mid -> [ActionInfo]
- listIdErr :: mid
- singleActionInfo :: Resource m s sid mid aid -> Maybe (Id sid) -> String -> [ActionInfo]
- getActionInfo :: Maybe (Id sid) -> String -> Handler m -> ActionInfo
- updateActionInfo :: Maybe (Id sid) -> String -> Handler m -> ActionInfo
- multiUpdateActionInfo :: Monad m => Id sid -> String -> Handler m -> Maybe ActionInfo
- removeActionInfo :: Handler m -> ActionInfo
- multiRemoveActionInfo :: Monad m => Id sid -> String -> Handler m -> Maybe ActionInfo
- listActionInfo :: Monad m => Maybe (Id mid) -> String -> ListHandler m -> Maybe ActionInfo
- staticActionInfo :: String -> Handler m -> ActionInfo
- createActionInfo :: Handler m -> ActionInfo
- selectActionInfo :: String -> Handler m -> ActionInfo
- actionActionInfo :: String -> Handler m -> ActionInfo
- handlerActionInfo :: Maybe (Id id) -> Bool -> ActionType -> ActionTarget -> String -> RequestMethod -> Handler m -> ActionInfo
- handlerParams :: GenHandler m f -> [String]
- paramNames :: Param a -> [String]
- paramNames_ :: Param a -> [String]
- handlerInputs :: Handler m -> [DataDescription]
- handlerOutputs :: Handler m -> [DataDescription]
- handlerErrors :: Handler m -> [DataDescription]
- typeString :: forall a. Typeable a => Proxy a -> String
- modString :: forall a. Typeable a => Proxy a -> [String]
- idIdent :: Id id -> Ident
- actionIdent :: forall a. Ident a -> Ident
- mkActionDescription :: String -> ActionInfo -> String
The types describing a resource's actions.
type ResourceId = [String] Source
Representation of resource
data RequestMethod Source
Intermediate data representation of Rest structure
data ActionType Source
data ActionInfo Source
ActionInfo | |
|
isAccessor :: ActionInfo -> Bool Source
data DataDescription Source
Description of input/output data
DataDescription | |
|
Traverse a resource's Schema and Handlers to create a [ActionInfo].
resourceToActionInfo :: Resource m s sid mid aid -> [ActionInfo] Source
topLevelActionInfo :: Resource m s sid mid aid -> Cardinality sid mid -> [ActionInfo] Source
stepActionInfo :: Resource m s sid mid aid -> Step sid mid aid -> [ActionInfo] Source
namedActionInfo :: Resource m s sid mid aid -> String -> Endpoint sid mid aid -> [ActionInfo] Source
unnamedActionInfo :: Resource m s sid mid aid -> Cardinality (Id sid) (Id mid) -> [ActionInfo] Source
getterActionInfo :: Resource m s sid mid aid -> String -> Getter sid -> [ActionInfo] Source
listGetterActionInfo :: Resource m s sid mid aid -> String -> Getter mid -> [ActionInfo] Source
singleActionInfo :: Resource m s sid mid aid -> Maybe (Id sid) -> String -> [ActionInfo] Source
Smart constructors for ActionInfo.
getActionInfo :: Maybe (Id sid) -> String -> Handler m -> ActionInfo Source
updateActionInfo :: Maybe (Id sid) -> String -> Handler m -> ActionInfo Source
multiUpdateActionInfo :: Monad m => Id sid -> String -> Handler m -> Maybe ActionInfo Source
removeActionInfo :: Handler m -> ActionInfo Source
multiRemoveActionInfo :: Monad m => Id sid -> String -> Handler m -> Maybe ActionInfo Source
listActionInfo :: Monad m => Maybe (Id mid) -> String -> ListHandler m -> Maybe ActionInfo Source
staticActionInfo :: String -> Handler m -> ActionInfo Source
createActionInfo :: Handler m -> ActionInfo Source
selectActionInfo :: String -> Handler m -> ActionInfo Source
actionActionInfo :: String -> Handler m -> ActionInfo Source
handlerActionInfo :: Maybe (Id id) -> Bool -> ActionType -> ActionTarget -> String -> RequestMethod -> Handler m -> ActionInfo Source
Utilities for extraction information from Handlers.
handlerParams :: GenHandler m f -> [String] Source
paramNames :: Param a -> [String] Source
paramNames_ :: Param a -> [String] Source
handlerInputs :: Handler m -> [DataDescription] Source
Extract input description from handlers
handlerOutputs :: Handler m -> [DataDescription] Source
Extract output description from handlers
handlerErrors :: Handler m -> [DataDescription] Source
Extract input description from handlers
typeString :: forall a. Typeable a => Proxy a -> String Source
actionIdent :: forall a. Ident a -> Ident Source
mkActionDescription :: String -> ActionInfo -> String Source