Safe Haskell | None |
---|---|
Language | Haskell98 |
- type Accessor = (String, Maybe Ident)
- 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
- link :: Link
- data ActionType
- = Retrieve
- | Create
- | Delete
- | DeleteMany
- | List
- | Update
- | UpdateMany
- | Modify
- data DataDescription = DataDescription {}
- data DataType
- type ResourceId = [String]
- accessLink :: [Accessor] -> Link
- accessors :: Step sid mid aid -> [Accessor]
- chooseType :: [DataDescription] -> Maybe DataDescription
- isAccessor :: ActionInfo -> Bool
- listGetterActionInfo :: Resource m s sid mid aid -> String -> Getter mid -> [ActionInfo]
- mkActionDescription :: String -> ActionInfo -> String
- namedActionInfo :: Resource m s sid mid aid -> String -> Endpoint sid mid aid -> [ActionInfo]
- resourceToAccessors :: Resource m s sid mid aid -> [Accessor]
- resourceToActionInfo :: forall m s sid mid aid. Resource m s sid mid aid -> [ActionInfo]
- selectActionInfo :: Link -> String -> Handler m -> ActionInfo
- singleActionInfo :: Resource m s sid mid aid -> Maybe (Id sid) -> String -> [ActionInfo]
- data Ident = Ident {
- description :: String
- haskellType :: Type
- haskellModules :: [ModuleName]
- data ApiAction = ApiAction {}
- data ApiResource = TreeItem {
- resName :: String
- resId :: ResourceId
- resParents :: ResourceId
- resLink :: Link
- resAccessors :: [Accessor]
- resPrivate :: Bool
- resItems :: [ApiAction]
- resDescription :: String
- subResources :: [ApiResource]
- allResourceIds :: ApiResource -> [ResourceId]
- allSubResourceIds :: ApiResource -> [ResourceId]
- allSubResources :: ApiResource -> [ApiResource]
- allSubTrees :: ApiResource -> [ApiResource]
- allTrees :: ApiResource -> [ApiResource]
- apiResources :: ApiResource -> [ResourceId]
- apiSubtrees :: Router m s -> ApiResource
- apiTree' :: ResourceId -> Link -> Router m s -> ApiResource
- cleanName :: String -> [String]
- defaultTree :: ApiResource
- foldTree :: (ApiResource -> [a] -> a) -> ApiResource -> a
- foldTreeChildren :: ([a] -> a) -> (ApiResource -> [a] -> a) -> ApiResource -> a
- hasAccessor :: ApiResource -> Bool
- mkFuncParts :: ApiAction -> [String]
- noPrivate :: ApiResource -> ApiResource
- resIdents :: ApiResource -> [Link]
- sortTree :: ApiResource -> ApiResource
- subResourceIds :: ApiResource -> [ResourceId]
- subResourceNames :: ApiResource -> [String]
- type Link = [LinkItem]
- data LinkItem
- flattenLast :: Link -> [Link]
- flattenLastResource :: Link -> [Link]
- flattenLink :: Link -> [Link]
- getLinkIds :: Link -> [(String, [(String, String)])]
- hasParam :: LinkItem -> Bool
- itemString :: LinkItem -> String
- setLinkIds :: Link -> [String] -> String
Documentation
data ActionInfo Source
ActionInfo | |
|
data ActionType Source
data DataDescription Source
Description of input/output data
DataDescription | |
|
type ResourceId = [String] Source
Representation of resource
accessLink :: [Accessor] -> Link Source
isAccessor :: ActionInfo -> Bool Source
listGetterActionInfo :: Resource m s sid mid aid -> String -> Getter mid -> [ActionInfo] Source
mkActionDescription :: String -> ActionInfo -> String Source
namedActionInfo :: Resource m s sid mid aid -> String -> Endpoint sid mid aid -> [ActionInfo] Source
resourceToAccessors :: Resource m s sid mid aid -> [Accessor] Source
resourceToActionInfo :: forall m s sid mid aid. Resource m s sid mid aid -> [ActionInfo] Source
selectActionInfo :: Link -> String -> Handler m -> ActionInfo Source
singleActionInfo :: Resource m s sid mid aid -> Maybe (Id sid) -> String -> [ActionInfo] Source
Ident | |
|
data ApiResource Source
TreeItem | |
|
allResourceIds :: ApiResource -> [ResourceId] Source
allSubResourceIds :: ApiResource -> [ResourceId] Source
allSubResources :: ApiResource -> [ApiResource] Source
allSubTrees :: ApiResource -> [ApiResource] Source
allTrees :: ApiResource -> [ApiResource] Source
apiResources :: ApiResource -> [ResourceId] Source
apiSubtrees :: Router m s -> ApiResource Source
apiTree' :: ResourceId -> Link -> Router m s -> ApiResource Source
foldTree :: (ApiResource -> [a] -> a) -> ApiResource -> a Source
Traversing ApiResources
foldTreeChildren :: ([a] -> a) -> (ApiResource -> [a] -> a) -> ApiResource -> a Source
hasAccessor :: ApiResource -> Bool Source
mkFuncParts :: ApiAction -> [String] Source
Extra functions for generation
resIdents :: ApiResource -> [Link] Source
sortTree :: ApiResource -> ApiResource Source
subResourceIds :: ApiResource -> [ResourceId] Source
subResourceNames :: ApiResource -> [String] Source
Data structure representing Api links
flattenLast :: Link -> [Link] Source
flattenLastResource :: Link -> [Link] Source
flattenLink :: Link -> [Link] Source
itemString :: LinkItem -> String Source
setLinkIds :: Link -> [String] -> String Source