Auto derive the ToJSON instance of database types
#407 aberto em 20 de set. de 2020
Métricas do repositório
- Stars
- (5.285 estrelas)
- Métricas de merge de PR
- (Mesclagem média 11h 20m) (21 fundiu PRs em 30d)
Description
I am not terribly familiar with how this works but I've seen another haskell webserver project (Scotty) that was able to derive the ToJSON typeclass by using the type class Generic
The following changes in Generated.Types should allow for this:
{-# LANGUAGE DeriveGeneric #-}
import GHC.Generics
data Model = Model {..} deriving(Eq, Show, Generic)
instance ToJSON Model
However, these changes are not sufficient as every model also contains a MetaBag property which has no ToJSON instance. I am not IHP literate enough to know what it does and if it makes sense to create some sort of empty ToJSON implementation for it. However, that would be the last roadblock to automatically derive ToJSON for all models by default.
Even if that wouldn't work, we could consider making a checkbox when generating controllers to add a default implementation of ToJSON