CurryInfo: spicey-4.2.0 / Spicey.ControllerGeneration.manyToOneGetRelated

definition: Info
 
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: Info
 arguments 2 3
deterministic: Info
 deterministic operation
failfree: Info
 <FAILING>
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,{Entity},_,_,_) |-> {:,[]}}
name: Info
 manyToOneGetRelated
precedence: Info
 no precedence defined
result-values: Info
 {:,[]}
signature: Info
 String -> Database.ERD.Entity -> [String] -> [Database.ERD.Entity]
-> [Database.ERD.Relationship] -> [AbstractCurry.Types.CFuncDecl]
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term