Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Christian Merten
haskell-gargantext
Commits
5a06a5d2
Commit
5a06a5d2
authored
Oct 07, 2024
by
Alfredo Di Napoli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "defaultHyperdata returns a Maybe"
This reverts commit
a4e5b84d
.
parent
797301a0
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
65 additions
and
96 deletions
+65
-96
Errors.hs
src/Gargantext/API/Errors.hs
+0
-2
Types.hs
src/Gargantext/API/Errors/Types.hs
+0
-15
Backend.hs
src/Gargantext/API/Errors/Types/Backend.hs
+0
-1
Corpus.hs
src/Gargantext/Database/Admin/Types/Hyperdata/Corpus.hs
+1
-1
CorpusField.hs
src/Gargantext/Database/Admin/Types/Hyperdata/CorpusField.hs
+2
-2
Default.hs
src/Gargantext/Database/Admin/Types/Hyperdata/Default.hs
+34
-35
ReadOnly.hs
src/Gargantext/Database/Admin/Types/Hyperdata/ReadOnly.hs
+12
-10
Node.hs
src/Gargantext/Database/Query/Table/Node.hs
+11
-23
Error.hs
src/Gargantext/Database/Query/Table/Node/Error.hs
+0
-3
Instances.hs
test/Test/Instances.hs
+4
-3
JSON.hs
test/Test/Offline/JSON.hs
+1
-1
No files found.
src/Gargantext/API/Errors.hs
View file @
5a06a5d2
...
@@ -143,8 +143,6 @@ nodeErrorToFrontendError ne = case ne of
...
@@ -143,8 +143,6 @@ nodeErrorToFrontendError ne = case ne of
->
mkFrontendErrShow
$
FE_node_creation_failed_insert_node
uId
pId
->
mkFrontendErrShow
$
FE_node_creation_failed_insert_node
uId
pId
UserHasNegativeId
uid
UserHasNegativeId
uid
->
mkFrontendErrShow
$
FE_node_creation_failed_user_negative_id
uid
->
mkFrontendErrShow
$
FE_node_creation_failed_user_negative_id
uid
NodeHasNoDefaultValue
nt
->
mkFrontendErrShow
$
FE_node_creation_failed_no_default_value
nt
NodeLookupFailed
reason
NodeLookupFailed
reason
->
case
reason
of
->
case
reason
of
NodeDoesNotExist
nid
NodeDoesNotExist
nid
...
...
src/Gargantext/API/Errors/Types.hs
View file @
5a06a5d2
...
@@ -209,10 +209,6 @@ newtype instance ToFrontendErrorData 'EC_400__node_creation_failed_user_negative
...
@@ -209,10 +209,6 @@ newtype instance ToFrontendErrorData 'EC_400__node_creation_failed_user_negative
FE_node_creation_failed_user_negative_id
{
neuni_user_id
::
UserId
}
FE_node_creation_failed_user_negative_id
{
neuni_user_id
::
UserId
}
deriving
(
Show
,
Eq
,
Generic
)
deriving
(
Show
,
Eq
,
Generic
)
newtype
instance
ToFrontendErrorData
'E
C
_400__node_creation_failed_no_default_value
=
FE_node_creation_failed_no_default_value
{
ncfdv_nodetype
::
NodeType
}
deriving
(
Show
,
Eq
,
Generic
)
data
instance
ToFrontendErrorData
'E
C
_400__node_lookup_failed_user_too_many_roots
=
data
instance
ToFrontendErrorData
'E
C
_400__node_lookup_failed_user_too_many_roots
=
FE_node_lookup_failed_user_too_many_roots
{
netmr_user_id
::
UserId
FE_node_lookup_failed_user_too_many_roots
{
netmr_user_id
::
UserId
,
netmr_roots
::
[
NodeId
]
,
netmr_roots
::
[
NodeId
]
...
@@ -436,14 +432,6 @@ instance FromJSON (ToFrontendErrorData 'EC_400__node_creation_failed_insert_node
...
@@ -436,14 +432,6 @@ instance FromJSON (ToFrontendErrorData 'EC_400__node_creation_failed_insert_node
necin_parent_id
<-
o
.:
"parent_id"
necin_parent_id
<-
o
.:
"parent_id"
pure
FE_node_creation_failed_insert_node
{
..
}
pure
FE_node_creation_failed_insert_node
{
..
}
instance
ToJSON
(
ToFrontendErrorData
'E
C
_400__node_creation_failed_no_default_value
)
where
toJSON
FE_node_creation_failed_no_default_value
{
..
}
=
object
[
"nodetype"
.=
toJSON
ncfdv_nodetype
]
instance
FromJSON
(
ToFrontendErrorData
'E
C
_400__node_creation_failed_no_default_value
)
where
parseJSON
=
withObject
"FE_node_creation_failed_no_default_value"
$
\
o
->
do
ncfdv_nodetype
<-
o
.:
"nodetype"
pure
FE_node_creation_failed_no_default_value
{
..
}
instance
ToJSON
(
ToFrontendErrorData
'E
C
_500__node_generic_exception
)
where
instance
ToJSON
(
ToFrontendErrorData
'E
C
_500__node_generic_exception
)
where
toJSON
FE_node_generic_exception
{
..
}
=
toJSON
FE_node_generic_exception
{
..
}
=
object
[
"error"
.=
nege_error
]
object
[
"error"
.=
nege_error
]
...
@@ -646,9 +634,6 @@ instance FromJSON FrontendError where
...
@@ -646,9 +634,6 @@ instance FromJSON FrontendError where
EC_400__node_creation_failed_user_negative_id
->
do
EC_400__node_creation_failed_user_negative_id
->
do
(
fe_data
::
ToFrontendErrorData
'E
C
_400__node_creation_failed_user_negative_id
)
<-
o
.:
"data"
(
fe_data
::
ToFrontendErrorData
'E
C
_400__node_creation_failed_user_negative_id
)
<-
o
.:
"data"
pure
FrontendError
{
..
}
pure
FrontendError
{
..
}
EC_400__node_creation_failed_no_default_value
->
do
(
fe_data
::
ToFrontendErrorData
'E
C
_400__node_creation_failed_no_default_value
)
<-
o
.:
"data"
pure
FrontendError
{
..
}
EC_500__node_generic_exception
->
do
EC_500__node_generic_exception
->
do
(
fe_data
::
ToFrontendErrorData
'E
C
_500__node_generic_exception
)
<-
o
.:
"data"
(
fe_data
::
ToFrontendErrorData
'E
C
_500__node_generic_exception
)
<-
o
.:
"data"
pure
FrontendError
{
..
}
pure
FrontendError
{
..
}
...
...
src/Gargantext/API/Errors/Types/Backend.hs
View file @
5a06a5d2
...
@@ -30,7 +30,6 @@ data BackendErrorCode
...
@@ -30,7 +30,6 @@ data BackendErrorCode
|
EC_400__node_creation_failed_parent_exists
|
EC_400__node_creation_failed_parent_exists
|
EC_400__node_creation_failed_insert_node
|
EC_400__node_creation_failed_insert_node
|
EC_400__node_creation_failed_user_negative_id
|
EC_400__node_creation_failed_user_negative_id
|
EC_400__node_creation_failed_no_default_value
|
EC_500__node_generic_exception
|
EC_500__node_generic_exception
|
EC_400__node_needs_configuration
|
EC_400__node_needs_configuration
-- validation errors
-- validation errors
...
...
src/Gargantext/Database/Admin/Types/Hyperdata/Corpus.hs
View file @
5a06a5d2
...
@@ -28,7 +28,7 @@ data HyperdataCorpus =
...
@@ -28,7 +28,7 @@ data HyperdataCorpus =
-- 'defaultLanguage' if we don't know which language it is.
-- 'defaultLanguage' if we don't know which language it is.
,
_hc_lang
::
Maybe
Lang
,
_hc_lang
::
Maybe
Lang
}
}
deriving
(
Generic
,
Eq
,
Show
)
deriving
(
Generic
,
Show
)
defaultHyperdataCorpus
::
HyperdataCorpus
defaultHyperdataCorpus
::
HyperdataCorpus
defaultHyperdataCorpus
=
defaultHyperdataCorpus
=
...
...
src/Gargantext/Database/Admin/Types/Hyperdata/CorpusField.hs
View file @
5a06a5d2
...
@@ -34,7 +34,7 @@ data CorpusField = MarkdownField { _cf_text :: !Text }
...
@@ -34,7 +34,7 @@ data CorpusField = MarkdownField { _cf_text :: !Text }
,
_cf_authors
::
!
Text
,
_cf_authors
::
!
Text
-- , _cf_resources :: ![Resource]
-- , _cf_resources :: ![Resource]
}
}
deriving
(
Show
,
Eq
,
Generic
)
deriving
(
Show
,
Generic
)
defaultCorpusField
::
CorpusField
defaultCorpusField
::
CorpusField
defaultCorpusField
=
MarkdownField
"# Title"
defaultCorpusField
=
MarkdownField
"# Title"
...
@@ -56,7 +56,7 @@ data HyperdataField a =
...
@@ -56,7 +56,7 @@ data HyperdataField a =
HyperdataField
{
_hf_type
::
!
CodeType
HyperdataField
{
_hf_type
::
!
CodeType
,
_hf_name
::
!
Text
,
_hf_name
::
!
Text
,
_hf_data
::
!
a
,
_hf_data
::
!
a
}
deriving
(
Generic
,
Eq
,
Show
)
}
deriving
(
Generic
,
Show
)
defaultHyperdataField
::
HyperdataField
CorpusField
defaultHyperdataField
::
HyperdataField
CorpusField
defaultHyperdataField
=
HyperdataField
Markdown
"name"
defaultCorpusField
defaultHyperdataField
=
HyperdataField
Markdown
"name"
defaultCorpusField
...
...
src/Gargantext/Database/Admin/Types/Hyperdata/Default.hs
View file @
5a06a5d2
...
@@ -14,7 +14,6 @@ Portability : POSIX
...
@@ -14,7 +14,6 @@ Portability : POSIX
module
Gargantext.Database.Admin.Types.Hyperdata.Default
module
Gargantext.Database.Admin.Types.Hyperdata.Default
where
where
import
Prelude
import
Gargantext.Database.Admin.Types.Node
(
NodeType
(
..
))
import
Gargantext.Database.Admin.Types.Node
(
NodeType
(
..
))
import
Gargantext.Database.Admin.Types.Hyperdata
import
Gargantext.Database.Admin.Types.Hyperdata
import
Gargantext.Database.Admin.Types.Hyperdata.Prelude
import
Gargantext.Database.Admin.Types.Hyperdata.Prelude
...
@@ -50,6 +49,7 @@ data DefaultHyperdata =
...
@@ -50,6 +49,7 @@ data DefaultHyperdata =
|
DefaultFrameCode
HyperdataFrame
|
DefaultFrameCode
HyperdataFrame
|
DefaultFile
HyperdataFile
|
DefaultFile
HyperdataFile
|
DefaultReadOnly
HyperdataReadOnly
instance
Hyperdata
DefaultHyperdata
instance
Hyperdata
DefaultHyperdata
...
@@ -83,38 +83,37 @@ instance ToJSON DefaultHyperdata where
...
@@ -83,38 +83,37 @@ instance ToJSON DefaultHyperdata where
toJSON
(
DefaultFrameCode
x
)
=
toJSON
x
toJSON
(
DefaultFrameCode
x
)
=
toJSON
x
toJSON
(
DefaultFile
x
)
=
toJSON
x
toJSON
(
DefaultFile
x
)
=
toJSON
x
toJSON
(
DefaultReadOnly
x
)
=
toJSON
x
-- | Gets the default value for the hyperdata given the input 'NodeType'. Note that not
-- all the hyperdata type have a default. In particular, \"combinators\" type like the
defaultHyperdata
::
NodeType
->
DefaultHyperdata
-- \"NodeReadOnly\" do not have a default.
defaultHyperdata
NodeUser
=
DefaultUser
defaultHyperdataUser
defaultHyperdata
::
NodeType
->
Maybe
DefaultHyperdata
defaultHyperdata
NodeContact
=
DefaultContact
defaultHyperdataContact
defaultHyperdata
NodeUser
=
Just
$
DefaultUser
defaultHyperdataUser
defaultHyperdata
NodeContact
=
Just
$
DefaultContact
defaultHyperdataContact
defaultHyperdata
NodeCorpus
=
DefaultCorpus
defaultHyperdataCorpus
defaultHyperdata
NodeCorpusV3
=
DefaultCorpusV3
defaultHyperdataCorpus
defaultHyperdata
NodeCorpus
=
Just
$
DefaultCorpus
defaultHyperdataCorpus
defaultHyperdata
NodeAnnuaire
=
DefaultAnnuaire
defaultHyperdataAnnuaire
defaultHyperdata
NodeCorpusV3
=
Just
$
DefaultCorpusV3
defaultHyperdataCorpus
defaultHyperdata
NodeAnnuaire
=
Just
$
DefaultAnnuaire
defaultHyperdataAnnuaire
defaultHyperdata
NodeDocument
=
DefaultDocument
defaultHyperdataDocument
defaultHyperdata
NodeTexts
=
DefaultTexts
defaultHyperdataTexts
defaultHyperdata
NodeDocument
=
Just
$
DefaultDocument
defaultHyperdataDocument
defaultHyperdata
NodeList
=
DefaultList
defaultHyperdataList
defaultHyperdata
NodeTexts
=
Just
$
DefaultTexts
defaultHyperdataTexts
defaultHyperdata
NodeListCooc
=
DefaultListCooc
defaultHyperdataListCooc
defaultHyperdata
NodeList
=
Just
$
DefaultList
defaultHyperdataList
defaultHyperdata
NodeModel
=
DefaultModel
defaultHyperdataModel
defaultHyperdata
NodeListCooc
=
Just
$
DefaultListCooc
defaultHyperdataListCooc
defaultHyperdata
NodeModel
=
Just
$
DefaultModel
defaultHyperdataModel
defaultHyperdata
NodeFolder
=
DefaultFolder
defaultHyperdataFolder
defaultHyperdata
NodeFolderPrivate
=
DefaultFolderPrivate
defaultHyperdataFolderPrivate
defaultHyperdata
NodeFolder
=
Just
$
DefaultFolder
defaultHyperdataFolder
defaultHyperdata
NodeFolderShared
=
DefaultFolderShared
defaultHyperdataFolderShared
defaultHyperdata
NodeFolderPrivate
=
Just
$
DefaultFolderPrivate
defaultHyperdataFolderPrivate
defaultHyperdata
NodeTeam
=
DefaultTeam
defaultHyperdataFolder
defaultHyperdata
NodeFolderShared
=
Just
$
DefaultFolderShared
defaultHyperdataFolderShared
defaultHyperdata
NodeFolderPublic
=
DefaultFolderPublic
defaultHyperdataFolderPublic
defaultHyperdata
NodeTeam
=
Just
$
DefaultTeam
defaultHyperdataFolder
defaultHyperdata
NodeFolderPublic
=
Just
$
DefaultFolderPublic
defaultHyperdataFolderPublic
defaultHyperdata
NodeGraph
=
DefaultGraph
defaultHyperdataGraph
defaultHyperdata
NodePhylo
=
DefaultPhylo
defaultHyperdataPhylo
defaultHyperdata
NodeGraph
=
Just
$
DefaultGraph
defaultHyperdataGraph
defaultHyperdata
NodeDashboard
=
DefaultDashboard
defaultHyperdataDashboard
defaultHyperdata
NodePhylo
=
Just
$
DefaultPhylo
defaultHyperdataPhylo
defaultHyperdata
NodeDashboard
=
Just
$
DefaultDashboard
defaultHyperdataDashboard
defaultHyperdata
Notes
=
DefaultFrameWrite
defaultHyperdataFrame
defaultHyperdata
Calc
=
DefaultFrameCalc
defaultHyperdataFrame
defaultHyperdata
Notes
=
Just
$
DefaultFrameWrite
defaultHyperdataFrame
defaultHyperdata
NodeFrameVisio
=
DefaultFrameVisio
defaultHyperdataFrame
defaultHyperdata
Calc
=
Just
$
DefaultFrameCalc
defaultHyperdataFrame
defaultHyperdata
NodeFrameNotebook
=
DefaultFrameCalc
defaultHyperdataFrame
defaultHyperdata
NodeFrameVisio
=
Just
$
DefaultFrameVisio
defaultHyperdataFrame
defaultHyperdata
NodeFrameNotebook
=
Just
$
DefaultFrameCalc
defaultHyperdataFrame
defaultHyperdata
NodeFile
=
DefaultFile
defaultHyperdataFile
defaultHyperdata
NodeReadOnly
=
DefaultReadOnly
defaultHyperdataReadOnly
defaultHyperdata
NodeFile
=
Just
$
DefaultFile
defaultHyperdataFile
defaultHyperdata
NodeReadOnly
=
Nothing
src/Gargantext/Database/Admin/Types/Hyperdata/ReadOnly.hs
View file @
5a06a5d2
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TemplateHaskell #-}
module
Gargantext.Database.Admin.Types.Hyperdata.ReadOnly
(
module
Gargantext.Database.Admin.Types.Hyperdata.ReadOnly
(
HyperdataReadOnly
(
..
)
HyperdataReadOnly
(
..
)
,
defaultHyperdataReadOnly
)
where
)
where
import
Data.Aeson.TH
import
Data.Aeson.TH
import
Prelude
import
Prelude
import
GHC.Generics
import
GHC.Generics
import
Gargantext.Database.Admin.Types.Hyperdata.Any
import
Gargantext.Core.Utils.Prefix
(
unPrefix
)
import
Gargantext.Core.Utils.Prefix
(
unPrefix
)
import
Test.QuickCheck
import
Test.QuickCheck
import
Gargantext.Database.Admin.Types.Node
(
NodeType
)
data
HyperdataReadOnly
wrapped
=
data
HyperdataReadOnly
=
HyperdataReadOnly
{
_hro_wrapped_type
::
NodeType
HyperdataReadOnly
{
_hro_wrapped
::
Maybe
HyperdataAny
}
,
_hro_wrapped
::
Maybe
wrapped
}
deriving
(
Generic
,
Show
,
Eq
)
deriving
(
Generic
,
Show
,
Eq
)
defaultHyperdataReadOnly
::
HyperdataReadOnly
defaultHyperdataReadOnly
=
HyperdataReadOnly
{
_hro_wrapped
=
Nothing
}
--
--
-- Instances
-- Instances
--
--
$
(
deriveJSON
(
unPrefix
"_hro_"
)
''
H
yperdataReadOnly
)
$
(
deriveJSON
(
unPrefix
"_hro_"
)
''
H
yperdataReadOnly
)
-- | NOTE(adn) This is not a sound instance, as there is no guarantee the
instance
Arbitrary
HyperdataReadOnly
where
-- inner type will be one of the wrapped node types, as well as that the
arbitrary
=
HyperdataReadOnly
<$>
arbitrary
-- 'NodeType' will match the inner wrapped value.
instance
Arbitrary
wrapped
=>
Arbitrary
(
HyperdataReadOnly
wrapped
)
where
arbitrary
=
HyperdataReadOnly
<$>
arbitrary
<*>
arbitrary
src/Gargantext/Database/Query/Table/Node.hs
View file @
5a06a5d2
...
@@ -306,31 +306,19 @@ insertDefaultNodeIfNotExists nt p u = do
...
@@ -306,31 +306,19 @@ insertDefaultNodeIfNotExists nt p u = do
xs
->
pure
xs
xs
->
pure
xs
insertNode
::
(
HasDBid
NodeType
,
HasNodeError
err
)
insertNode
::
(
HasDBid
NodeType
,
HasNodeError
err
)
=>
NodeType
=>
NodeType
->
Maybe
Name
->
Maybe
DefaultHyperdata
->
ParentId
->
UserId
->
DBCmd
err
NodeId
->
Maybe
Name
insertNode
nt
n
h
p
u
=
do
->
Maybe
DefaultHyperdata
res
<-
insertNodesR
[
nodeW
nt
n
h
p
u
]
->
ParentId
case
res
of
->
UserId
[
x
]
->
pure
x
->
DBCmd
err
NodeId
_
->
nodeError
$
NodeCreationFailed
$
InsertNodeFailed
u
p
insertNode
nt
mb_n
mb_h
p
u
=
do
case
mb_h
<|>
defaultHyperdata
nt
of
Nothing
->
nodeError
$
NodeCreationFailed
$
NodeHasNoDefaultValue
nt
Just
h
->
do
res
<-
insertNodesR
[
nodeW
nt
n
h
p
u
]
case
res
of
[
x
]
->
pure
x
_
->
nodeError
$
NodeCreationFailed
$
InsertNodeFailed
u
p
where
n
=
fromMaybe
(
defaultName
nt
)
mb_n
nodeW
::
HasDBid
NodeType
nodeW
::
HasDBid
NodeType
=>
NodeType
=>
NodeType
->
Maybe
Name
->
Maybe
DefaultHyperdata
->
ParentId
->
UserId
->
NodeWrite
->
Name
nodeW
nt
n
h
p
u
=
node
nt
n'
h'
(
Just
p
)
u
->
DefaultHyperdata
where
->
ParentId
n'
=
fromMaybe
(
defaultName
nt
)
n
->
UserId
h'
=
maybe
(
defaultHyperdata
nt
)
identity
h
->
NodeWrite
nodeW
nt
n
h
p
u
=
node
nt
n
h
(
Just
p
)
u
------------------------------------------------------------------------
------------------------------------------------------------------------
node
::
(
ToJSON
a
,
Hyperdata
a
,
HasDBid
NodeType
)
node
::
(
ToJSON
a
,
Hyperdata
a
,
HasDBid
NodeType
)
...
...
src/Gargantext/Database/Query/Table/Node/Error.hs
View file @
5a06a5d2
...
@@ -30,7 +30,6 @@ import Control.Lens (Prism', (#), (^?))
...
@@ -30,7 +30,6 @@ import Control.Lens (Prism', (#), (^?))
import
Data.Aeson
(
object
)
import
Data.Aeson
(
object
)
import
Data.Text
qualified
as
T
import
Data.Text
qualified
as
T
import
Gargantext.Core.Types.Individu
(
Username
)
import
Gargantext.Core.Types.Individu
(
Username
)
import
Gargantext.Core.Types
(
NodeType
)
import
Gargantext.Database.Admin.Types.Node
(
ListId
,
NodeId
(
..
),
ContextId
,
UserId
,
ParentId
)
import
Gargantext.Database.Admin.Types.Node
(
ListId
,
NodeId
(
..
),
ContextId
,
UserId
,
ParentId
)
import
Gargantext.Prelude
hiding
(
sum
,
head
)
import
Gargantext.Prelude
hiding
(
sum
,
head
)
import
Prelude
hiding
(
null
,
id
,
map
,
sum
,
show
)
import
Prelude
hiding
(
null
,
id
,
map
,
sum
,
show
)
...
@@ -41,7 +40,6 @@ data NodeCreationError
...
@@ -41,7 +40,6 @@ data NodeCreationError
|
UserParentDoesNotExist
UserId
|
UserParentDoesNotExist
UserId
|
UserHasNegativeId
UserId
|
UserHasNegativeId
UserId
|
InsertNodeFailed
UserId
ParentId
|
InsertNodeFailed
UserId
ParentId
|
NodeHasNoDefaultValue
NodeType
deriving
(
Show
,
Eq
,
Generic
)
deriving
(
Show
,
Eq
,
Generic
)
instance
ToJSON
NodeCreationError
instance
ToJSON
NodeCreationError
...
@@ -52,7 +50,6 @@ renderNodeCreationFailed = \case
...
@@ -52,7 +50,6 @@ renderNodeCreationFailed = \case
UserParentDoesNotExist
uid
->
"user id "
<>
T
.
pack
(
show
uid
)
<>
" has no parent"
UserParentDoesNotExist
uid
->
"user id "
<>
T
.
pack
(
show
uid
)
<>
" has no parent"
UserHasNegativeId
uid
->
"user id "
<>
T
.
pack
(
show
uid
)
<>
" is a negative id."
UserHasNegativeId
uid
->
"user id "
<>
T
.
pack
(
show
uid
)
<>
" is a negative id."
InsertNodeFailed
uid
pid
->
"couldn't create the list for user id "
<>
T
.
pack
(
show
uid
)
<>
" and parent id "
<>
T
.
pack
(
show
pid
)
InsertNodeFailed
uid
pid
->
"couldn't create the list for user id "
<>
T
.
pack
(
show
uid
)
<>
" and parent id "
<>
T
.
pack
(
show
pid
)
NodeHasNoDefaultValue
nt
->
T
.
pack
$
"node of type "
<>
show
nt
<>
" could not be given a sensible default value."
data
NodeLookupError
data
NodeLookupError
=
NodeDoesNotExist
NodeId
=
NodeDoesNotExist
NodeId
...
...
test/Test/Instances.hs
View file @
5a06a5d2
...
@@ -16,6 +16,7 @@ module Test.Instances
...
@@ -16,6 +16,7 @@ module Test.Instances
where
where
import
Data.List.NonEmpty
qualified
as
NE
import
Data.List.NonEmpty
qualified
as
NE
import
Data.Map.Strict
qualified
as
Map
import
Data.Map.Strict.Patch
qualified
as
PM
import
Data.Map.Strict.Patch
qualified
as
PM
import
Data.Patch.Class
(
Replace
(
Keep
),
replace
)
import
Data.Patch.Class
(
Replace
(
Keep
),
replace
)
import
Data.Text
qualified
as
T
import
Data.Text
qualified
as
T
...
@@ -27,8 +28,10 @@ import Gargantext.API.Node.Corpus.New (ApiInfo(..))
...
@@ -27,8 +28,10 @@ import Gargantext.API.Node.Corpus.New (ApiInfo(..))
import
Gargantext.API.Node.Types
(
RenameNode
(
..
),
WithQuery
(
..
))
import
Gargantext.API.Node.Types
(
RenameNode
(
..
),
WithQuery
(
..
))
import
Gargantext.Core.AsyncUpdates.CentralExchange.Types
qualified
as
CET
import
Gargantext.Core.AsyncUpdates.CentralExchange.Types
qualified
as
CET
import
Gargantext.Core.AsyncUpdates.Dispatcher.Types
qualified
as
DET
import
Gargantext.Core.AsyncUpdates.Dispatcher.Types
qualified
as
DET
import
Gargantext.Core.NodeStory.Types
qualified
as
NS
import
Gargantext.Core.Text.Ngrams
(
NgramsType
(
..
))
import
Gargantext.Core.Types.Main
(
ListType
(
CandidateTerm
,
StopTerm
,
MapTerm
))
import
Gargantext.Core.Types.Main
(
ListType
(
CandidateTerm
,
StopTerm
,
MapTerm
))
import
Gargantext.Database.Admin.Types.Node
(
UserId
(
UnsafeMkUserId
)
,
NodeType
(
..
)
)
import
Gargantext.Database.Admin.Types.Node
(
UserId
(
UnsafeMkUserId
))
import
Gargantext.Database.Admin.Types.Hyperdata
qualified
as
Hyperdata
import
Gargantext.Database.Admin.Types.Hyperdata
qualified
as
Hyperdata
import
Gargantext.Prelude
hiding
(
replace
,
Location
)
import
Gargantext.Prelude
hiding
(
replace
,
Location
)
import
Servant.Job.Core
qualified
as
SJ
import
Servant.Job.Core
qualified
as
SJ
...
@@ -279,8 +282,6 @@ genFrontendErr be = do
...
@@ -279,8 +282,6 @@ genFrontendErr be = do
pure
$
Errors
.
mkFrontendErr'
txt
$
Errors
.
FE_node_creation_failed_insert_node
parentId
userId
pure
$
Errors
.
mkFrontendErr'
txt
$
Errors
.
FE_node_creation_failed_insert_node
parentId
userId
Errors
.
EC_400__node_creation_failed_user_negative_id
Errors
.
EC_400__node_creation_failed_user_negative_id
->
pure
$
Errors
.
mkFrontendErr'
txt
(
Errors
.
FE_node_creation_failed_user_negative_id
(
UnsafeMkUserId
(
-
42
)))
->
pure
$
Errors
.
mkFrontendErr'
txt
(
Errors
.
FE_node_creation_failed_user_negative_id
(
UnsafeMkUserId
(
-
42
)))
Errors
.
EC_400__node_creation_failed_no_default_value
->
pure
$
Errors
.
mkFrontendErr'
txt
(
Errors
.
FE_node_creation_failed_no_default_value
NodeReadOnly
)
Errors
.
EC_500__node_generic_exception
Errors
.
EC_500__node_generic_exception
->
do
err
<-
arbitrary
->
do
err
<-
arbitrary
pure
$
Errors
.
mkFrontendErr'
txt
$
Errors
.
FE_node_generic_exception
err
pure
$
Errors
.
mkFrontendErr'
txt
$
Errors
.
FE_node_generic_exception
err
...
...
test/Test/Offline/JSON.hs
View file @
5a06a5d2
...
@@ -64,7 +64,7 @@ tests = testGroup "JSON" [
...
@@ -64,7 +64,7 @@ tests = testGroup "JSON" [
,
testProperty
"ObjectData"
(
jsonRoundtrip
@
ObjectData
)
,
testProperty
"ObjectData"
(
jsonRoundtrip
@
ObjectData
)
,
testProperty
"PhyloData"
(
jsonRoundtrip
@
PhyloData
)
,
testProperty
"PhyloData"
(
jsonRoundtrip
@
PhyloData
)
,
testProperty
"LayerData"
(
jsonRoundtrip
@
LayerData
)
,
testProperty
"LayerData"
(
jsonRoundtrip
@
LayerData
)
,
testProperty
"HyperdataReadOnly
HyperdataCorpus"
(
jsonRoundtrip
@
(
HyperdataReadOnly
HyperdataCorpus
)
)
,
testProperty
"HyperdataReadOnly
"
(
jsonRoundtrip
@
HyperdataReadOnly
)
,
testCase
"can parse bpa_phylo_test.json"
testParseBpaPhylo
,
testCase
"can parse bpa_phylo_test.json"
testParseBpaPhylo
,
testCase
"can parse open_science.json"
testOpenSciencePhylo
,
testCase
"can parse open_science.json"
testOpenSciencePhylo
]
]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment