Commit 59a5d04a authored by Grégoire Locqueville's avatar Grégoire Locqueville

Renamed `CmdCommon` -> `IsDBEnvExtra`

parent c31df9dd
...@@ -62,7 +62,7 @@ import Gargantext.Core.Types.Individu (User(..), Username, GargPassword(..)) ...@@ -62,7 +62,7 @@ import Gargantext.Core.Types.Individu (User(..), Username, GargPassword(..))
import Gargantext.Core.Worker.Jobs.Types qualified as Jobs import Gargantext.Core.Worker.Jobs.Types qualified as Jobs
import Gargantext.Database.Action.User.New (guessUserName) import Gargantext.Database.Action.User.New (guessUserName)
import Gargantext.Database.Admin.Types.Node (NodeId(..), UserId) import Gargantext.Database.Admin.Types.Node (NodeId(..), UserId)
import Gargantext.Database.Prelude (Cmd', CmdCommon, DbCmd') import Gargantext.Database.Prelude (Cmd', IsDBEnvExtra, DbCmd')
import Gargantext.Database.Query.Table.User import Gargantext.Database.Query.Table.User
import Gargantext.Database.Query.Tree (isDescendantOf, isIn) import Gargantext.Database.Query.Tree (isDescendantOf, isIn)
import Gargantext.Database.Query.Tree.Root (getRoot) import Gargantext.Database.Query.Tree.Root (getRoot)
...@@ -235,12 +235,12 @@ forgotPassword = Named.ForgotPasswordAPI ...@@ -235,12 +235,12 @@ forgotPassword = Named.ForgotPasswordAPI
, forgotPasswordGetEp = forgotPasswordGet , forgotPasswordGetEp = forgotPasswordGet
} }
forgotPasswordPost :: (CmdCommon env) forgotPasswordPost :: (IsDBEnvExtra env)
=> ForgotPasswordRequest -> Cmd' env err ForgotPasswordResponse => ForgotPasswordRequest -> Cmd' env err ForgotPasswordResponse
forgotPasswordPost (ForgotPasswordRequest _email) = do forgotPasswordPost (ForgotPasswordRequest _email) = do
pure $ ForgotPasswordResponse "ok" pure $ ForgotPasswordResponse "ok"
forgotPasswordGet :: (CmdCommon env, HasServerError err) forgotPasswordGet :: (IsDBEnvExtra env, HasServerError err)
=> Maybe Text -> Cmd' env err ForgotPasswordGet => Maybe Text -> Cmd' env err ForgotPasswordGet
forgotPasswordGet Nothing = pure $ ForgotPasswordGet "" forgotPasswordGet Nothing = pure $ ForgotPasswordGet ""
forgotPasswordGet (Just uuid) = do forgotPasswordGet (Just uuid) = do
...@@ -257,7 +257,7 @@ forgotPasswordGet (Just uuid) = do ...@@ -257,7 +257,7 @@ forgotPasswordGet (Just uuid) = do
--------------------- ---------------------
forgotPasswordGetUser :: ( CmdCommon env) forgotPasswordGetUser :: ( IsDBEnvExtra env)
=> UserLight -> Cmd' env err ForgotPasswordGet => UserLight -> Cmd' env err ForgotPasswordGet
forgotPasswordGetUser (UserLight { .. }) = do forgotPasswordGetUser (UserLight { .. }) = do
-- pick some random password -- pick some random password
...@@ -276,7 +276,7 @@ forgotPasswordGetUser (UserLight { .. }) = do ...@@ -276,7 +276,7 @@ forgotPasswordGetUser (UserLight { .. }) = do
pure $ ForgotPasswordGet password pure $ ForgotPasswordGet password
forgotUserPassword :: (CmdCommon env) forgotUserPassword :: (IsDBEnvExtra env)
=> UserLight -> Cmd' env err () => UserLight -> Cmd' env err ()
forgotUserPassword (UserLight { .. }) = do forgotUserPassword (UserLight { .. }) = do
--printDebug "[forgotUserPassword] userLight_id" userLight_id --printDebug "[forgotUserPassword] userLight_id" userLight_id
...@@ -301,7 +301,7 @@ forgotUserPassword (UserLight { .. }) = do ...@@ -301,7 +301,7 @@ forgotUserPassword (UserLight { .. }) = do
-------------------------- --------------------------
-- Generate a unique (in whole DB) UUID for passwords. -- Generate a unique (in whole DB) UUID for passwords.
generateForgotPasswordUUID :: (CmdCommon env) generateForgotPasswordUUID :: (IsDBEnvExtra env)
=> Cmd' env err UUID => Cmd' env err UUID
generateForgotPasswordUUID = do generateForgotPasswordUUID = do
uuid <- liftBase $ nextRandom uuid <- liftBase $ nextRandom
......
...@@ -42,7 +42,7 @@ import Gargantext.API.Prelude (GargM) ...@@ -42,7 +42,7 @@ import Gargantext.API.Prelude (GargM)
import Gargantext.API.Types (HTML) import Gargantext.API.Types (HTML)
import Gargantext.Core.Config (HasJWTSettings) import Gargantext.Core.Config (HasJWTSettings)
import Gargantext.Core.NLP (HasNLPServer) import Gargantext.Core.NLP (HasNLPServer)
import Gargantext.Database.Prelude (CmdCommon) import Gargantext.Database.Prelude (IsDBEnvExtra)
import Gargantext.Prelude hiding (ByteString) import Gargantext.Prelude hiding (ByteString)
import Servant import Servant
import Servant.Auth qualified as SA import Servant.Auth qualified as SA
...@@ -98,7 +98,7 @@ data Contet m ...@@ -98,7 +98,7 @@ data Contet m
-- | The main GraphQL resolver: how queries, mutations and -- | The main GraphQL resolver: how queries, mutations and
-- subscriptions are handled. -- subscriptions are handled.
rootResolver rootResolver
:: (CmdCommon env, HasNLPServer env, HasJWTSettings env) :: (IsDBEnvExtra env, HasNLPServer env, HasJWTSettings env)
=> AuthenticatedUser => AuthenticatedUser
-> AccessPolicyManager -> AccessPolicyManager
-> RootResolver (GargM env BackendInternalError) e Query Mutation Undefined -> RootResolver (GargM env BackendInternalError) e Query Mutation Undefined
...@@ -129,7 +129,7 @@ rootResolver authenticatedUser policyManager = ...@@ -129,7 +129,7 @@ rootResolver authenticatedUser policyManager =
-- | Main GraphQL "app". -- | Main GraphQL "app".
app app
:: (Typeable env, CmdCommon env, HasNLPServer env, HasJWTSettings env) :: (Typeable env, IsDBEnvExtra env, HasNLPServer env, HasJWTSettings env)
=> AuthenticatedUser => AuthenticatedUser
-> AccessPolicyManager -> AccessPolicyManager
-> App (EVENT (GargM env BackendInternalError)) (GargM env BackendInternalError) -> App (EVENT (GargM env BackendInternalError)) (GargM env BackendInternalError)
...@@ -167,7 +167,7 @@ data GraphQLAPIEndpoints mode = GraphQLAPIEndpoints ...@@ -167,7 +167,7 @@ data GraphQLAPIEndpoints mode = GraphQLAPIEndpoints
-- | Implementation of our API. -- | Implementation of our API.
api api
:: (Typeable env, CmdCommon env, HasJWTSettings env) :: (Typeable env, IsDBEnvExtra env, HasJWTSettings env)
=> GraphQLAPI (AsServerT (GargM env BackendInternalError)) => GraphQLAPI (AsServerT (GargM env BackendInternalError))
api = GraphQLAPI $ \case api = GraphQLAPI $ \case
(SAS.Authenticated auser) (SAS.Authenticated auser)
......
...@@ -23,7 +23,7 @@ import Gargantext.Database.Admin.Types.Hyperdata.Contact ...@@ -23,7 +23,7 @@ import Gargantext.Database.Admin.Types.Hyperdata.Contact
, cw_lastName , cw_lastName
, hc_who, ContactWhere, hc_where, cw_organization, cw_labTeamDepts, cw_role, cw_office, cw_country, cw_city, cw_touch, ct_mail, ct_phone, ct_url, hc_title, hc_source) , hc_who, ContactWhere, hc_where, cw_organization, cw_labTeamDepts, cw_role, cw_office, cw_country, cw_city, cw_touch, ct_mail, ct_phone, ct_url, hc_title, hc_source)
import Gargantext.Database.Admin.Types.Node (ContextId (..)) import Gargantext.Database.Admin.Types.Node (ContextId (..))
import Gargantext.Database.Prelude (CmdCommon) import Gargantext.Database.Prelude (IsDBEnvExtra)
import Gargantext.Database.Query.Table.Context (getContextWith) import Gargantext.Database.Query.Table.Context (getContextWith)
import Gargantext.Database.Schema.Node (node_hyperdata) import Gargantext.Database.Schema.Node (node_hyperdata)
import Gargantext.Prelude import Gargantext.Prelude
...@@ -55,13 +55,13 @@ data AnnuaireContactArgs ...@@ -55,13 +55,13 @@ data AnnuaireContactArgs
-- | Function to resolve user from a query. -- | Function to resolve user from a query.
resolveAnnuaireContacts resolveAnnuaireContacts
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> AnnuaireContactArgs -> GqlM e env [AnnuaireContact] => AnnuaireContactArgs -> GqlM e env [AnnuaireContact]
resolveAnnuaireContacts AnnuaireContactArgs { contact_id } = dbAnnuaireContacts contact_id resolveAnnuaireContacts AnnuaireContactArgs { contact_id } = dbAnnuaireContacts contact_id
-- | Inner function to fetch the user from DB. -- | Inner function to fetch the user from DB.
dbAnnuaireContacts dbAnnuaireContacts
:: CmdCommon env :: IsDBEnvExtra env
=> Int -> GqlM e env [AnnuaireContact] => Int -> GqlM e env [AnnuaireContact]
dbAnnuaireContacts contact_id = do dbAnnuaireContacts contact_id = do
-- lift $ printDebug "[dbUsers]" user_id -- lift $ printDebug "[dbUsers]" user_id
......
...@@ -33,7 +33,7 @@ import Gargantext.API.Prelude (GargM) ...@@ -33,7 +33,7 @@ import Gargantext.API.Prelude (GargM)
import Gargantext.Core.Types.Search (HyperdataRow(..), toHyperdataRow) import Gargantext.Core.Types.Search (HyperdataRow(..), toHyperdataRow)
import Gargantext.Database.Admin.Types.Hyperdata.Document ( HyperdataDocument ) import Gargantext.Database.Admin.Types.Hyperdata.Document ( HyperdataDocument )
import Gargantext.Database.Admin.Types.Node (ContextTitle, NodeId(..), NodeTypeId, UserId, unNodeId, ContextId (..)) import Gargantext.Database.Admin.Types.Node (ContextTitle, NodeId(..), NodeTypeId, UserId, unNodeId, ContextId (..))
import Gargantext.Database.Prelude (CmdCommon) import Gargantext.Database.Prelude (IsDBEnvExtra)
import Gargantext.Database.Query.Table.NodeContext (getNodeContext, getContextsForNgramsTerms, ContextForNgramsTerms(..), {- getContextNgrams, -} getContextNgramsMatchingFTS) import Gargantext.Database.Query.Table.NodeContext (getNodeContext, getContextsForNgramsTerms, ContextForNgramsTerms(..), {- getContextNgrams, -} getContextNgramsMatchingFTS)
import Gargantext.Database.Query.Table.NodeContext qualified as DNC import Gargantext.Database.Query.Table.NodeContext qualified as DNC
import Gargantext.Database.Schema.NodeContext (NodeContext, NodeContextPoly(..)) import Gargantext.Database.Schema.NodeContext (NodeContext, NodeContextPoly(..))
...@@ -119,19 +119,19 @@ type GqlM' e env a = ResolverM e (GargM env BackendInternalError) a ...@@ -119,19 +119,19 @@ type GqlM' e env a = ResolverM e (GargM env BackendInternalError) a
-- | Function to resolve context from a query. -- | Function to resolve context from a query.
resolveNodeContext resolveNodeContext
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> NodeContextArgs -> GqlM e env [NodeContextGQL] => NodeContextArgs -> GqlM e env [NodeContextGQL]
resolveNodeContext NodeContextArgs { context_id, node_id } = resolveNodeContext NodeContextArgs { context_id, node_id } =
dbNodeContext context_id node_id dbNodeContext context_id node_id
resolveContextsForNgrams resolveContextsForNgrams
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> ContextsForNgramsArgs -> GqlM e env [ContextGQL] => ContextsForNgramsArgs -> GqlM e env [ContextGQL]
resolveContextsForNgrams ContextsForNgramsArgs { corpus_id, ngrams_terms, and_logic } = resolveContextsForNgrams ContextsForNgramsArgs { corpus_id, ngrams_terms, and_logic } =
dbContextForNgrams corpus_id ngrams_terms and_logic dbContextForNgrams corpus_id ngrams_terms and_logic
resolveContextNgrams resolveContextNgrams
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> ContextNgramsArgs -> GqlM e env [Text] => ContextNgramsArgs -> GqlM e env [Text]
resolveContextNgrams ContextNgramsArgs { context_id, list_id } = resolveContextNgrams ContextNgramsArgs { context_id, list_id } =
dbContextNgrams context_id list_id dbContextNgrams context_id list_id
...@@ -140,7 +140,7 @@ resolveContextNgrams ContextNgramsArgs { context_id, list_id } = ...@@ -140,7 +140,7 @@ resolveContextNgrams ContextNgramsArgs { context_id, list_id } =
-- | Inner function to fetch the node context DB. -- | Inner function to fetch the node context DB.
dbNodeContext dbNodeContext
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> Int -> Int -> GqlM e env [NodeContextGQL] => Int -> Int -> GqlM e env [NodeContextGQL]
dbNodeContext context_id node_id = do dbNodeContext context_id node_id = do
-- lift $ printDebug "[dbUsers]" user_id -- lift $ printDebug "[dbUsers]" user_id
...@@ -152,7 +152,7 @@ dbNodeContext context_id node_id = do ...@@ -152,7 +152,7 @@ dbNodeContext context_id node_id = do
-- | Returns list of `ContextGQL` for given ngrams in given corpus id. -- | Returns list of `ContextGQL` for given ngrams in given corpus id.
dbContextForNgrams dbContextForNgrams
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> Int -> [Text] -> Text -> GqlM e env [ContextGQL] => Int -> [Text] -> Text -> GqlM e env [ContextGQL]
dbContextForNgrams node_id ngrams_terms and_logic = do dbContextForNgrams node_id ngrams_terms and_logic = do
contextsForNgramsTerms <- lift $ getContextsForNgramsTerms (UnsafeMkNodeId node_id) ngrams_terms ( readMaybe $ unpack $ Text.toTitle and_logic ) contextsForNgramsTerms <- lift $ getContextsForNgramsTerms (UnsafeMkNodeId node_id) ngrams_terms ( readMaybe $ unpack $ Text.toTitle and_logic )
...@@ -161,7 +161,7 @@ dbContextForNgrams node_id ngrams_terms and_logic = do ...@@ -161,7 +161,7 @@ dbContextForNgrams node_id ngrams_terms and_logic = do
-- | Fetch ngrams matching given context in a given list id. -- | Fetch ngrams matching given context in a given list id.
dbContextNgrams dbContextNgrams
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> Int -> Int -> GqlM e env [Text] => Int -> Int -> GqlM e env [Text]
dbContextNgrams context_id list_id = do dbContextNgrams context_id list_id = do
lift $ getContextNgramsMatchingFTS (UnsafeMkContextId context_id) (UnsafeMkNodeId list_id) lift $ getContextNgramsMatchingFTS (UnsafeMkContextId context_id) (UnsafeMkNodeId list_id)
...@@ -221,7 +221,7 @@ toHyperdataRowDocumentGQL hyperdata = ...@@ -221,7 +221,7 @@ toHyperdataRowDocumentGQL hyperdata =
} }
HyperdataRowContact { } -> Nothing HyperdataRowContact { } -> Nothing
updateNodeContextCategory :: (CmdCommon env) updateNodeContextCategory :: (IsDBEnvExtra env)
=> AuthenticatedUser => AuthenticatedUser
-> AccessPolicyManager -> AccessPolicyManager
-> NodeContextCategoryMArgs -> NodeContextCategoryMArgs
......
...@@ -24,7 +24,7 @@ import Gargantext.API.GraphQL.Types ( GqlM ) ...@@ -24,7 +24,7 @@ import Gargantext.API.GraphQL.Types ( GqlM )
import Gargantext.Core ( HasDBid(lookupDBid) ) import Gargantext.Core ( HasDBid(lookupDBid) )
import Gargantext.Database.Admin.Types.Node (NodeType) import Gargantext.Database.Admin.Types.Node (NodeType)
import Gargantext.Database.Admin.Types.Node qualified as NN import Gargantext.Database.Admin.Types.Node qualified as NN
import Gargantext.Database.Prelude (CmdCommon) -- , JSONB) import Gargantext.Database.Prelude (IsDBEnvExtra) -- , JSONB)
import Gargantext.Database.Query.Table.Node (getClosestChildrenByType, getClosestParentIdByType, getNode) import Gargantext.Database.Query.Table.Node (getClosestChildrenByType, getClosestParentIdByType, getNode)
import Gargantext.Database.Schema.Node qualified as N import Gargantext.Database.Schema.Node qualified as N
import Gargantext.Prelude import Gargantext.Prelude
...@@ -57,7 +57,7 @@ data NodeArgs ...@@ -57,7 +57,7 @@ data NodeArgs
-- | Function to resolve user from a query. -- | Function to resolve user from a query.
resolveNodes resolveNodes
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> AuthenticatedUser => AuthenticatedUser
-> AccessPolicyManager -> AccessPolicyManager
-> NodeArgs -> NodeArgs
...@@ -66,19 +66,19 @@ resolveNodes autUser mgr NodeArgs { node_id } = ...@@ -66,19 +66,19 @@ resolveNodes autUser mgr NodeArgs { node_id } =
withPolicy autUser mgr (nodeReadChecks $ NN.UnsafeMkNodeId node_id) $ dbNodes node_id withPolicy autUser mgr (nodeReadChecks $ NN.UnsafeMkNodeId node_id) $ dbNodes node_id
resolveNodesCorpus resolveNodesCorpus
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> CorpusArgs -> GqlM e env [Corpus] => CorpusArgs -> GqlM e env [Corpus]
resolveNodesCorpus CorpusArgs { corpus_id } = dbNodesCorpus corpus_id resolveNodesCorpus CorpusArgs { corpus_id } = dbNodesCorpus corpus_id
dbNodes dbNodes
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> Int -> GqlM e env [Node] => Int -> GqlM e env [Node]
dbNodes node_id = do dbNodes node_id = do
node <- lift $ getNode $ NN.UnsafeMkNodeId node_id node <- lift $ getNode $ NN.UnsafeMkNodeId node_id
pure [toNode node] pure [toNode node]
dbNodesCorpus dbNodesCorpus
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> Int -> GqlM e env [Corpus] => Int -> GqlM e env [Corpus]
dbNodesCorpus corpus_id = do dbNodesCorpus corpus_id = do
corpus <- lift $ getNode $ NN.UnsafeMkNodeId corpus_id corpus <- lift $ getNode $ NN.UnsafeMkNodeId corpus_id
...@@ -97,17 +97,17 @@ data NodeChildrenArgs ...@@ -97,17 +97,17 @@ data NodeChildrenArgs
} deriving (Generic, GQLType) } deriving (Generic, GQLType)
resolveNodeParent resolveNodeParent
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> NodeParentArgs -> GqlM e env [Node] => NodeParentArgs -> GqlM e env [Node]
resolveNodeParent NodeParentArgs { node_id, parent_type } = dbParentNodes node_id parent_type resolveNodeParent NodeParentArgs { node_id, parent_type } = dbParentNodes node_id parent_type
resolveNodeChildren resolveNodeChildren
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> NodeChildrenArgs -> GqlM e env [Node] => NodeChildrenArgs -> GqlM e env [Node]
resolveNodeChildren NodeChildrenArgs { node_id, child_type } = dbChildNodes node_id child_type resolveNodeChildren NodeChildrenArgs { node_id, child_type } = dbChildNodes node_id child_type
dbParentNodes dbParentNodes
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> Int -> NodeType -> GqlM e env [Node] => Int -> NodeType -> GqlM e env [Node]
dbParentNodes node_id parentType = do dbParentNodes node_id parentType = do
-- let mParentType = readEither (T.unpack parent_type) :: Either Prelude.String NodeType -- let mParentType = readEither (T.unpack parent_type) :: Either Prelude.String NodeType
...@@ -123,7 +123,7 @@ dbParentNodes node_id parentType = do ...@@ -123,7 +123,7 @@ dbParentNodes node_id parentType = do
node <- lift $ getNode id node <- lift $ getNode id
pure [toNode node] pure [toNode node]
dbChildNodes :: (CmdCommon env) dbChildNodes :: (IsDBEnvExtra env)
=> Int -> NodeType -> GqlM e env [Node] => Int -> NodeType -> GqlM e env [Node]
dbChildNodes node_id childType = do dbChildNodes node_id childType = do
childIds <- lift $ getClosestChildrenByType (NN.UnsafeMkNodeId node_id) childType -- (fromNodeTypeId parent_type_id) childIds <- lift $ getClosestChildrenByType (NN.UnsafeMkNodeId node_id) childType -- (fromNodeTypeId parent_type_id)
......
...@@ -25,7 +25,7 @@ import Gargantext.Core.Config (HasJWTSettings) ...@@ -25,7 +25,7 @@ import Gargantext.Core.Config (HasJWTSettings)
import Gargantext.Core.Types (NodeId(..), unNodeId) import Gargantext.Core.Types (NodeId(..), unNodeId)
import Gargantext.Core.Types.Individu qualified as Individu import Gargantext.Core.Types.Individu qualified as Individu
import Gargantext.Database.Action.Share (membersOf, deleteMemberShip) import Gargantext.Database.Action.Share (membersOf, deleteMemberShip)
import Gargantext.Database.Prelude (CmdCommon) import Gargantext.Database.Prelude (IsDBEnvExtra)
import Gargantext.Database.Query.Table.Node (getNode) import Gargantext.Database.Query.Table.Node (getNode)
import Gargantext.Database.Query.Table.User (getUsersWithNodeHyperdata) import Gargantext.Database.Query.Table.User (getUsersWithNodeHyperdata)
import Gargantext.Database.Schema.Node (NodePoly(Node, _node_id), _node_user_id) import Gargantext.Database.Schema.Node (NodePoly(Node, _node_id), _node_user_id)
...@@ -53,10 +53,10 @@ data TeamDeleteMArgs = TeamDeleteMArgs ...@@ -53,10 +53,10 @@ data TeamDeleteMArgs = TeamDeleteMArgs
type GqlM' e env a = ResolverM e (GargM env BackendInternalError) a type GqlM' e env a = ResolverM e (GargM env BackendInternalError) a
resolveTeam :: (CmdCommon env) => TeamArgs -> GqlM e env Team resolveTeam :: (IsDBEnvExtra env) => TeamArgs -> GqlM e env Team
resolveTeam TeamArgs { team_node_id } = dbTeam team_node_id resolveTeam TeamArgs { team_node_id } = dbTeam team_node_id
dbTeam :: (CmdCommon env) => dbTeam :: (IsDBEnvExtra env) =>
Int -> GqlM e env Team Int -> GqlM e env Team
dbTeam nodeId = do dbTeam nodeId = do
let nId = UnsafeMkNodeId nodeId let nId = UnsafeMkNodeId nodeId
...@@ -78,7 +78,7 @@ dbTeam nodeId = do ...@@ -78,7 +78,7 @@ dbTeam nodeId = do
getUsername ((UserLight {userLight_username}, _):_) = userLight_username getUsername ((UserLight {userLight_username}, _):_) = userLight_username
-- TODO: list as argument -- TODO: list as argument
deleteTeamMembership :: (CmdCommon env, HasJWTSettings env) => deleteTeamMembership :: (IsDBEnvExtra env, HasJWTSettings env) =>
TeamDeleteMArgs -> GqlM' e env [Int] TeamDeleteMArgs -> GqlM' e env [Int]
deleteTeamMembership TeamDeleteMArgs { token, shared_folder_id, team_node_id } = do deleteTeamMembership TeamDeleteMArgs { token, shared_folder_id, team_node_id } = do
teamNode <- lift $ getNode $ UnsafeMkNodeId team_node_id teamNode <- lift $ getNode $ UnsafeMkNodeId team_node_id
......
...@@ -25,7 +25,7 @@ import Gargantext.Core.Types.Main ( Tree(..), _tn_node, _tn_children, NodeTree(. ...@@ -25,7 +25,7 @@ import Gargantext.Core.Types.Main ( Tree(..), _tn_node, _tn_children, NodeTree(.
import Gargantext.Database.Admin.Config () import Gargantext.Database.Admin.Config ()
import Gargantext.Database.Admin.Types.Node (allNodeTypes, NodeId(..), NodeType) import Gargantext.Database.Admin.Types.Node (allNodeTypes, NodeId(..), NodeType)
import Gargantext.Database.Admin.Types.Node qualified as NN import Gargantext.Database.Admin.Types.Node qualified as NN
import Gargantext.Database.Prelude (CmdCommon) import Gargantext.Database.Prelude (IsDBEnvExtra)
import Gargantext.Database.Query.Table.Node (getNode) import Gargantext.Database.Query.Table.Node (getNode)
import Gargantext.Database.Query.Tree qualified as T import Gargantext.Database.Query.Tree qualified as T
import Gargantext.Database.Schema.Node (NodePoly(_node_parent_id)) import Gargantext.Database.Schema.Node (NodePoly(_node_parent_id))
...@@ -65,7 +65,7 @@ data BreadcrumbInfo = BreadcrumbInfo ...@@ -65,7 +65,7 @@ data BreadcrumbInfo = BreadcrumbInfo
type ParentId = Maybe NodeId type ParentId = Maybe NodeId
resolveTree :: (CmdCommon env) resolveTree :: (IsDBEnvExtra env)
=> AuthenticatedUser => AuthenticatedUser
-> AccessPolicyManager -> AccessPolicyManager
-> TreeArgs -> TreeArgs
...@@ -73,7 +73,7 @@ resolveTree :: (CmdCommon env) ...@@ -73,7 +73,7 @@ resolveTree :: (CmdCommon env)
resolveTree autUser mgr TreeArgs { root_id } = resolveTree autUser mgr TreeArgs { root_id } =
withPolicy autUser mgr (nodeReadChecks $ UnsafeMkNodeId root_id) $ dbTree (_auth_user_id autUser) root_id withPolicy autUser mgr (nodeReadChecks $ UnsafeMkNodeId root_id) $ dbTree (_auth_user_id autUser) root_id
dbTree :: (CmdCommon env) => dbTree :: (IsDBEnvExtra env) =>
NN.UserId -> Int -> GqlM e env (TreeFirstLevel (GqlM e env)) NN.UserId -> Int -> GqlM e env (TreeFirstLevel (GqlM e env))
dbTree loggedInUserId root_id = do dbTree loggedInUserId root_id = do
let rId = UnsafeMkNodeId root_id let rId = UnsafeMkNodeId root_id
...@@ -85,7 +85,7 @@ dbTree loggedInUserId root_id = do ...@@ -85,7 +85,7 @@ dbTree loggedInUserId root_id = do
toParentId N.Node { _node_parent_id } = _node_parent_id toParentId N.Node { _node_parent_id } = _node_parent_id
toTree :: (CmdCommon env) => NodeId -> ParentId -> Tree NodeTree -> TreeFirstLevel (GqlM e env) toTree :: (IsDBEnvExtra env) => NodeId -> ParentId -> Tree NodeTree -> TreeFirstLevel (GqlM e env)
toTree rId pId TreeN { _tn_node, _tn_children } = TreeFirstLevel toTree rId pId TreeN { _tn_node, _tn_children } = TreeFirstLevel
{ parent = resolveParent pId { parent = resolveParent pId
, root = toTreeNode pId _tn_node , root = toTreeNode pId _tn_node
...@@ -98,7 +98,7 @@ toTreeNode pId NodeTree { _nt_name, _nt_id, _nt_type } = TreeNode { name = _nt_n ...@@ -98,7 +98,7 @@ toTreeNode pId NodeTree { _nt_name, _nt_id, _nt_type } = TreeNode { name = _nt_n
childrenToTreeNodes :: (Tree NodeTree, NodeId) -> TreeNode childrenToTreeNodes :: (Tree NodeTree, NodeId) -> TreeNode
childrenToTreeNodes (TreeN {_tn_node}, rId) = toTreeNode (Just rId) _tn_node childrenToTreeNodes (TreeN {_tn_node}, rId) = toTreeNode (Just rId) _tn_node
resolveParent :: (CmdCommon env) => Maybe NodeId -> GqlM e env (Maybe TreeNode) resolveParent :: (IsDBEnvExtra env) => Maybe NodeId -> GqlM e env (Maybe TreeNode)
resolveParent (Just pId) = do resolveParent (Just pId) = do
node <- lift $ getNode pId node <- lift $ getNode pId
pure $ nodeToTreeNode node pure $ nodeToTreeNode node
...@@ -117,7 +117,7 @@ nodeToTreeNode N.Node {..} = ...@@ -117,7 +117,7 @@ nodeToTreeNode N.Node {..} =
else else
Nothing Nothing
resolveBreadcrumb :: (CmdCommon env) => BreadcrumbArgs -> GqlM e env BreadcrumbInfo resolveBreadcrumb :: (IsDBEnvExtra env) => BreadcrumbArgs -> GqlM e env BreadcrumbInfo
resolveBreadcrumb BreadcrumbArgs { node_id } = dbRecursiveParents node_id resolveBreadcrumb BreadcrumbArgs { node_id } = dbRecursiveParents node_id
convertDbTreeToTreeNode :: HasCallStack => T.DbTreeNode -> TreeNode convertDbTreeToTreeNode :: HasCallStack => T.DbTreeNode -> TreeNode
...@@ -130,7 +130,7 @@ convertDbTreeToTreeNode T.DbTreeNode { _dt_name, _dt_nodeId, _dt_typeId, _dt_par ...@@ -130,7 +130,7 @@ convertDbTreeToTreeNode T.DbTreeNode { _dt_name, _dt_nodeId, _dt_typeId, _dt_par
} }
dbRecursiveParents :: (CmdCommon env) => Int -> GqlM e env BreadcrumbInfo dbRecursiveParents :: (IsDBEnvExtra env) => Int -> GqlM e env BreadcrumbInfo
dbRecursiveParents nodeId = do dbRecursiveParents nodeId = do
let nId = UnsafeMkNodeId nodeId let nId = UnsafeMkNodeId nodeId
dbParents <- lift $ T.recursiveParents nId allNodeTypes dbParents <- lift $ T.recursiveParents nId allNodeTypes
......
...@@ -22,7 +22,7 @@ import Gargantext.API.GraphQL.Types (GqlM, GqlM') ...@@ -22,7 +22,7 @@ import Gargantext.API.GraphQL.Types (GqlM, GqlM')
import Gargantext.Core.Types (NodeId(..), UserId) import Gargantext.Core.Types (NodeId(..), UserId)
import Gargantext.Core.Types.Individu qualified as Individu import Gargantext.Core.Types.Individu qualified as Individu
import Gargantext.Database.Admin.Types.Hyperdata (HyperdataUser(..)) import Gargantext.Database.Admin.Types.Hyperdata (HyperdataUser(..))
import Gargantext.Database.Prelude (CmdCommon) import Gargantext.Database.Prelude (IsDBEnvExtra)
import Gargantext.Database.Query.Table.User qualified as DBUser import Gargantext.Database.Query.Table.User qualified as DBUser
import Gargantext.Database.Schema.User (UserLight(..)) import Gargantext.Database.Schema.User (UserLight(..))
import Gargantext.Prelude import Gargantext.Prelude
...@@ -60,7 +60,7 @@ data UserEPOAPITokenMArgs ...@@ -60,7 +60,7 @@ data UserEPOAPITokenMArgs
-- | Function to resolve user from a query. -- | Function to resolve user from a query.
resolveUsers resolveUsers
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> AuthenticatedUser => AuthenticatedUser
-> AccessPolicyManager -> AccessPolicyManager
-> UserArgs -> UserArgs
...@@ -70,12 +70,12 @@ resolveUsers autUser mgr UserArgs { user_id } = do ...@@ -70,12 +70,12 @@ resolveUsers autUser mgr UserArgs { user_id } = do
withPolicy autUser mgr (nodeReadChecks $ UnsafeMkNodeId user_id) $ dbUsers user_id withPolicy autUser mgr (nodeReadChecks $ UnsafeMkNodeId user_id) $ dbUsers user_id
-- | Inner function to fetch the user from DB. -- | Inner function to fetch the user from DB.
dbUsers :: (CmdCommon env) dbUsers :: (IsDBEnvExtra env)
=> Int -> GqlM e env [User (GqlM e env)] => Int -> GqlM e env [User (GqlM e env)]
dbUsers user_id = lift (map toUser <$> DBUser.getUsersWithId (Individu.RootId $ UnsafeMkNodeId user_id)) dbUsers user_id = lift (map toUser <$> DBUser.getUsersWithId (Individu.RootId $ UnsafeMkNodeId user_id))
toUser toUser
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> UserLight -> User (GqlM e env) => UserLight -> User (GqlM e env)
toUser (UserLight { .. }) = User { u_email = userLight_email toUser (UserLight { .. }) = User { u_email = userLight_email
, u_hyperdata = resolveHyperdata userLight_id , u_hyperdata = resolveHyperdata userLight_id
...@@ -83,25 +83,25 @@ toUser (UserLight { .. }) = User { u_email = userLight_email ...@@ -83,25 +83,25 @@ toUser (UserLight { .. }) = User { u_email = userLight_email
, u_username = userLight_username } , u_username = userLight_username }
resolveHyperdata resolveHyperdata
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> UserId -> GqlM e env (Maybe HyperdataUser) => UserId -> GqlM e env (Maybe HyperdataUser)
resolveHyperdata userid = lift (listToMaybe <$> DBUser.getUserHyperdata (Individu.UserDBId userid)) resolveHyperdata userid = lift (listToMaybe <$> DBUser.getUserHyperdata (Individu.UserDBId userid))
updateUserPubmedAPIKey :: ( CmdCommon env ) => updateUserPubmedAPIKey :: ( IsDBEnvExtra env ) =>
UserPubmedAPIKeyMArgs -> GqlM' e env Int UserPubmedAPIKeyMArgs -> GqlM' e env Int
updateUserPubmedAPIKey UserPubmedAPIKeyMArgs { user_id, api_key } = do updateUserPubmedAPIKey UserPubmedAPIKeyMArgs { user_id, api_key } = do
_ <- lift $ DBUser.updateUserPubmedAPIKey (Individu.RootId $ UnsafeMkNodeId user_id) api_key _ <- lift $ DBUser.updateUserPubmedAPIKey (Individu.RootId $ UnsafeMkNodeId user_id) api_key
pure 1 pure 1
updateUserEPOAPIUser :: ( CmdCommon env ) => updateUserEPOAPIUser :: ( IsDBEnvExtra env ) =>
UserEPOAPIUserMArgs -> GqlM' e env Int UserEPOAPIUserMArgs -> GqlM' e env Int
updateUserEPOAPIUser UserEPOAPIUserMArgs { user_id, api_user } = do updateUserEPOAPIUser UserEPOAPIUserMArgs { user_id, api_user } = do
_ <- lift $ DBUser.updateUserEPOAPIUser (Individu.RootId $ UnsafeMkNodeId user_id) api_user _ <- lift $ DBUser.updateUserEPOAPIUser (Individu.RootId $ UnsafeMkNodeId user_id) api_user
pure 1 pure 1
updateUserEPOAPIToken :: ( CmdCommon env ) => updateUserEPOAPIToken :: ( IsDBEnvExtra env ) =>
UserEPOAPITokenMArgs -> GqlM' e env Int UserEPOAPITokenMArgs -> GqlM' e env Int
updateUserEPOAPIToken UserEPOAPITokenMArgs { user_id, api_token } = do updateUserEPOAPIToken UserEPOAPITokenMArgs { user_id, api_token } = do
_ <- lift $ DBUser.updateUserEPOAPIToken (Individu.RootId $ UnsafeMkNodeId user_id) api_token _ <- lift $ DBUser.updateUserEPOAPIToken (Individu.RootId $ UnsafeMkNodeId user_id) api_token
......
...@@ -49,7 +49,7 @@ import Gargantext.API.GraphQL.Utils (AuthStatus(Invalid, Valid), authUser) ...@@ -49,7 +49,7 @@ import Gargantext.API.GraphQL.Utils (AuthStatus(Invalid, Valid), authUser)
import Gargantext.Core.Config (HasJWTSettings) import Gargantext.Core.Config (HasJWTSettings)
import Gargantext.Core.Types (UserId(..)) import Gargantext.Core.Types (UserId(..))
import Gargantext.Core.Types.Individu qualified as Individu import Gargantext.Core.Types.Individu qualified as Individu
import Gargantext.Database.Prelude (CmdCommon) import Gargantext.Database.Prelude (IsDBEnvExtra)
import Gargantext.Database.Query.Table.Node.UpdateOpaleye (updateHyperdata) import Gargantext.Database.Query.Table.Node.UpdateOpaleye (updateHyperdata)
import Gargantext.Database.Query.Table.User (getUsersWithHyperdata, getUsersWithNodeHyperdata, updateUserEmail) import Gargantext.Database.Query.Table.User (getUsersWithHyperdata, getUsersWithNodeHyperdata, updateUserEmail)
import Gargantext.Database.Schema.Node (node_id, node_hyperdata, NodePoly (Node, _node_id)) import Gargantext.Database.Schema.Node (node_id, node_hyperdata, NodePoly (Node, _node_id))
...@@ -108,7 +108,7 @@ data UserInfoMArgs ...@@ -108,7 +108,7 @@ data UserInfoMArgs
-- | Function to resolve user from a query. -- | Function to resolve user from a query.
resolveUserInfos resolveUserInfos
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> AuthenticatedUser => AuthenticatedUser
-> AccessPolicyManager -> AccessPolicyManager
-> UserInfoArgs -> GqlM e env [UserInfo] -> UserInfoArgs -> GqlM e env [UserInfo]
...@@ -118,7 +118,7 @@ resolveUserInfos autUser mgr UserInfoArgs { user_id } = ...@@ -118,7 +118,7 @@ resolveUserInfos autUser mgr UserInfoArgs { user_id } =
-- | Mutation for user info -- | Mutation for user info
updateUserInfo updateUserInfo
:: (CmdCommon env, HasJWTSettings env) :: (IsDBEnvExtra env, HasJWTSettings env)
-- => UserInfoMArgs -> ResolverM e (GargM env err) Int -- => UserInfoMArgs -> ResolverM e (GargM env err) Int
=> UserInfoMArgs -> GqlM' e env Int => UserInfoMArgs -> GqlM' e env Int
updateUserInfo (UserInfoMArgs { ui_id, .. }) = do updateUserInfo (UserInfoMArgs { ui_id, .. }) = do
...@@ -167,7 +167,7 @@ updateUserInfo (UserInfoMArgs { ui_id, .. }) = do ...@@ -167,7 +167,7 @@ updateUserInfo (UserInfoMArgs { ui_id, .. }) = do
-- | Inner function to fetch the user from DB. -- | Inner function to fetch the user from DB.
dbUsers dbUsers
:: (CmdCommon env) :: (IsDBEnvExtra env)
=> UserId -> GqlM e env [UserInfo] => UserId -> GqlM e env [UserInfo]
dbUsers user_id = do dbUsers user_id = do
-- lift $ printDebug "[dbUsers]" user_id -- lift $ printDebug "[dbUsers]" user_id
......
...@@ -12,7 +12,7 @@ import Gargantext.API.Routes.Named.Share qualified as Named ...@@ -12,7 +12,7 @@ import Gargantext.API.Routes.Named.Share qualified as Named
import Gargantext.Core.Config (GargConfig, gc_frontend_config, HasConfig(hasConfig)) import Gargantext.Core.Config (GargConfig, gc_frontend_config, HasConfig(hasConfig))
import Gargantext.Core.Config.Types (fc_appPort, fc_url) import Gargantext.Core.Config.Types (fc_appPort, fc_url)
import Gargantext.Core.Types (NodeType, NodeId, unNodeId, _ValidationError) import Gargantext.Core.Types (NodeType, NodeId, unNodeId, _ValidationError)
import Gargantext.Database.Prelude (CmdCommon) import Gargantext.Database.Prelude (IsDBEnvExtra)
import Gargantext.Prelude import Gargantext.Prelude
import Network.URI (parseURI) import Network.URI (parseURI)
import Prelude (String) import Prelude (String)
...@@ -21,7 +21,7 @@ import Servant.Server.Generic (AsServerT) ...@@ -21,7 +21,7 @@ import Servant.Server.Generic (AsServerT)
shareURL :: IsGargServer env err m => Named.ShareURL (AsServerT m) shareURL :: IsGargServer env err m => Named.ShareURL (AsServerT m)
shareURL = Named.ShareURL getUrl shareURL = Named.ShareURL getUrl
getUrl :: (IsGargServer env err m, CmdCommon env) getUrl :: (IsGargServer env err m, IsDBEnvExtra env)
=> Maybe NodeType => Maybe NodeType
-> Maybe NodeId -> Maybe NodeId
-> m Named.ShareLink -> m Named.ShareLink
......
...@@ -27,7 +27,7 @@ import Gargantext.Database.Action.User (getUserId) ...@@ -27,7 +27,7 @@ import Gargantext.Database.Action.User (getUserId)
import Gargantext.Database.Admin.Types.Hyperdata.File ( HyperdataFile(..) ) import Gargantext.Database.Admin.Types.Hyperdata.File ( HyperdataFile(..) )
import Gargantext.Database.Admin.Types.Node ( NodeId, NodeType(..) ) -- (NodeType(..)) import Gargantext.Database.Admin.Types.Node ( NodeId, NodeType(..) ) -- (NodeType(..))
import Gargantext.Database.GargDB qualified as GargDB import Gargantext.Database.GargDB qualified as GargDB
import Gargantext.Database.Prelude (Cmd', CmdCommon) import Gargantext.Database.Prelude (Cmd', IsDBEnvExtra)
import Gargantext.Database.Query.Table.Node (getNodeWith) import Gargantext.Database.Query.Table.Node (getNodeWith)
import Gargantext.Database.Query.Table.Node qualified as N (getNode, deleteNode) import Gargantext.Database.Query.Table.Node qualified as N (getNode, deleteNode)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError) import Gargantext.Database.Query.Table.Node.Error (HasNodeError)
...@@ -38,7 +38,7 @@ import Gargantext.Prelude ...@@ -38,7 +38,7 @@ import Gargantext.Prelude
-- TODO -- TODO
-- Delete Corpus children accoring its types -- Delete Corpus children accoring its types
-- Delete NodeList (NodeStory + cbor file) -- Delete NodeList (NodeStory + cbor file)
deleteNode :: (CmdCommon env, HasNodeError err) deleteNode :: (IsDBEnvExtra env, HasNodeError err)
=> User => User
-> NodeId -> NodeId
-> Cmd' env err Int -> Cmd' env err Int
......
...@@ -74,21 +74,21 @@ type IsDBEnv env = ...@@ -74,21 +74,21 @@ type IsDBEnv env =
, HasConfig env , HasConfig env
) )
type CmdCommon env = type IsDBEnvExtra env =
( IsDBEnv env ( IsDBEnv env
, HasConfig env , HasMail env
, HasMail env , HasNLPServer env
, HasNLPServer env , CET.HasCentralExchangeNotification env
, CET.HasCentralExchangeNotification env ) )
type CmdM env err m = type CmdM env err m =
( CmdM' env err m ( CmdM' env err m
, CmdCommon env , IsDBEnvExtra env
) )
type CmdRandom env err m = type CmdRandom env err m =
( CmdM' env err m ( CmdM' env err m
, IsDBEnv env , IsDBEnv env
, MonadRandom m , MonadRandom m
, HasMail env , HasMail env
) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment