digitallyinduced/ihp

Auto derive the ToJSON instance of database types

开放

#407 创建于 2020年9月20日

 (1 条评论) (0 个反应) (0 位负责人)Haskell (221 个派生)batch import
enhancementhacktoberfest

仓库指标

星标
 (5,285 个星标)
PR 合并指标
 (平均合并 11小时 20分钟) (30 天内合并 21 个 PR)

描述

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

贡献者指南