I'm trying to get Hasql to encode a list for a "select ... where in" query. It typechecks if I use contramany
from contravariant-extras, but I get a syntax error at runtime.
import qualified Database.Encoders as E
import Contravariant.Extras
getTeamMembership :: Query [TeamId] [(TeamId, EmployeeId)]
getTeamMembership = statement q enc def True
where
enc = contramany (E.value E.teamId)
q = "select workteam, employee \
\from workteam_employee where workteam in $1"
Is it not possible to encode a parameter list?