{-# LANGUAGE TemplateHaskell #-}

module Graphics.RedViz.Project.Model 
  ( Model (..)
  , path
  ) where

import Control.Lens
import Data.Aeson
import Data.Aeson.TH


data Model
  =  Model
     {
       Model -> String
_path :: String
     } deriving Int -> Model -> ShowS
[Model] -> ShowS
Model -> String
(Int -> Model -> ShowS)
-> (Model -> String) -> ([Model] -> ShowS) -> Show Model
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Model] -> ShowS
$cshowList :: [Model] -> ShowS
show :: Model -> String
$cshow :: Model -> String
showsPrec :: Int -> Model -> ShowS
$cshowsPrec :: Int -> Model -> ShowS
Show

$(makeLenses ''Model)
deriveJSON defaultOptions {fieldLabelModifier = drop 1} ''Model