CurryInfo: spicey-4.2.0 / Spicey.ControllerGeneration.manyToOneGetRelated

definition:
manyToOneGetRelated :: String -> Entity -> [String] -> [Entity]
                    -> [Relationship] -> [CFuncDecl]
manyToOneGetRelated erdname (Entity entityName _) entities _ relationships =      
    map getRelatedFunction entities
  where
    getRelatedFunction :: String -> CFuncDecl
    getRelatedFunction foreignEntity =
      let argvar  = (1, (take 1 $ lowerFirst entityName) ++ foreignEntity)
          rname   = fst (relationshipName entityName foreignEntity relationships)
          fkeysel = lowerFirst entityName ++ foreignEntity ++ rname ++ "Key"
      in
      stCmtFunc 
      ("Gets the associated " ++ foreignEntity ++ " entity for a given "++
       entityName ++ " entity.")
      (controllerModuleName entityName,
       "get" ++ rname ++ foreignEntity)
      0
      Private
      ((ctvar entityName) ~> applyTC (dbconn "DBAction") [ctvar foreignEntity])
      [simpleRule [CPVar argvar]
                  (applyF (model erdname,"get" ++ foreignEntity)
                          [applyF (model erdname,fkeysel) [CVar argvar]])]
demand:
arguments 2 3
deterministic:
deterministic operation
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,{Entity},_,_,_) |-> {:,[]}}
name:
manyToOneGetRelated
precedence:
no precedence defined
result-values:
{:,[]}
signature:
String -> Database.ERD.Entity -> [String] -> [Database.ERD.Entity]
-> [Database.ERD.Relationship] -> [AbstractCurry.Types.CFuncDecl]
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term