2 Module : Gargantext.Database.Schema.NodeNode
4 Copyright : (c) CNRS, 2017-Present
5 License : AGPL + CECILL v3
6 Maintainer : team@gargantext.org
7 Stability : experimental
10 Here is a longer description of this module, containing some
11 commentary with @some markup@.
14 {-# OPTIONS_GHC -fno-warn-orphans #-}
16 {-# LANGUAGE Arrows #-}
17 {-# LANGUAGE FunctionalDependencies #-}
18 {-# LANGUAGE QuasiQuotes #-}
19 {-# LANGUAGE TemplateHaskell #-}
21 module Gargantext.Database.Schema.NodeContext where
23 import Gargantext.Core.Types
24 import Gargantext.Database.Schema.Prelude
25 import Gargantext.Database.Schema.NodeNode () -- Just importing some instances
26 import Gargantext.Prelude
29 data NodeContextPoly id node_id context_id score cat
30 = NodeContext { _nc_id :: !id
31 , _nc_node_id :: !node_id
32 , _nc_context_id :: !context_id
34 , _nc_category :: !cat
37 type NodeContextWrite = NodeContextPoly (Maybe (Field SqlInt4))
40 (Maybe (Field SqlFloat8))
41 (Maybe (Field SqlInt4))
43 type NodeContextRead = NodeContextPoly (Field SqlInt4)
49 type NodeContextReadNull = NodeContextPoly (FieldNullable SqlInt4)
50 (FieldNullable SqlInt4)
51 (FieldNullable SqlInt4)
52 (FieldNullable SqlFloat8)
53 (FieldNullable SqlInt4)
55 type NodeContext = NodeContextPoly (Maybe Int) NodeId NodeId (Maybe Double) (Maybe Int)
57 $(makeAdaptorAndInstance "pNodeContext" ''NodeContextPoly)
58 makeLenses ''NodeContextPoly
60 nodeContextTable :: Table NodeContextWrite NodeContextRead
62 Table "nodes_contexts"
64 NodeContext { _nc_id = optionalTableField "id"
65 , _nc_node_id = requiredTableField "node_id"
66 , _nc_context_id = requiredTableField "context_id"
67 , _nc_score = optionalTableField "score"
68 , _nc_category = optionalTableField "category"