Commit 538bede2 authored by Karen Konou's avatar Karen Konou

[Node write upload] Add params

parent 3985d942
Pipeline #3595 failed with stage
in 54 minutes and 47 seconds
...@@ -44,12 +44,21 @@ import Gargantext.Prelude ...@@ -44,12 +44,21 @@ import Gargantext.Prelude
import Gargantext.Utils.Jobs (serveJobsAPI) import Gargantext.Utils.Jobs (serveJobsAPI)
import GHC.Generics (Generic) import GHC.Generics (Generic)
import Servant import Servant
import Data.Text (Text)
import Gargantext.Core.Text.List.Social (FlowSocialListWith)
import Text.Read (readMaybe)
import Data.Maybe (fromMaybe)
------------------------------------------------------------------------ ------------------------------------------------------------------------
type API = Summary " Documents from Write nodes." type API = Summary " Documents from Write nodes."
:> AsyncJobs JobLog '[JSON] Params JobLog :> AsyncJobs JobLog '[JSON] Params JobLog
------------------------------------------------------------------------ ------------------------------------------------------------------------
newtype Params = Params { id :: Int } data Params = Params
{ id :: Int
, paragraphs :: Text
, lang :: Lang
, selection :: FlowSocialListWith
}
deriving (Generic, Show) deriving (Generic, Show)
instance FromJSON Params where instance FromJSON Params where
parseJSON = genericParseJSON defaultOptions parseJSON = genericParseJSON defaultOptions
...@@ -71,7 +80,7 @@ documentsFromWriteNodes :: (HasSettings env, FlowCmdM env err m) ...@@ -71,7 +80,7 @@ documentsFromWriteNodes :: (HasSettings env, FlowCmdM env err m)
-> Params -> Params
-> (JobLog -> m ()) -> (JobLog -> m ())
-> m JobLog -> m JobLog
documentsFromWriteNodes uId nId _p logStatus = do documentsFromWriteNodes uId nId Params { selection, lang, paragraphs } logStatus = do
let jobLog = JobLog { _scst_succeeded = Just 1 let jobLog = JobLog { _scst_succeeded = Just 1
, _scst_failed = Just 0 , _scst_failed = Just 0
, _scst_remaining = Just 1 , _scst_remaining = Just 1
...@@ -98,11 +107,13 @@ documentsFromWriteNodes uId nId _p logStatus = do ...@@ -98,11 +107,13 @@ documentsFromWriteNodes uId nId _p logStatus = do
pure (node, contents) pure (node, contents)
) frameWrites ) frameWrites
let parsedE = (\(node, contents) -> hyperdataDocumentFromFrameWrite 7 (node ^. node_hyperdata, contents)) <$> frameWritesWithContents let paragraphs' = readMaybe $ T.unpack paragraphs :: Maybe Int
let parsedE = (\(node, contents) -> hyperdataDocumentFromFrameWrite (fromMaybe 7 paragraphs') (node ^. node_hyperdata, contents)) <$> frameWritesWithContents
-- TODO hard coded param should be take -- TODO hard coded param should be take
let parsed = List.concat $ rights parsedE let parsed = List.concat $ rights parsedE
_ <- flowDataText (RootId (NodeId uId)) (DataNew (Just $ fromIntegral $ length parsed, yieldMany parsed)) (Multi EN) cId Nothing logStatus _ <- flowDataText (RootId (NodeId uId)) (DataNew (Just $ fromIntegral $ length parsed, yieldMany parsed)) (Multi lang) cId (Just selection) logStatus
pure $ jobLogSuccess jobLog pure $ jobLogSuccess jobLog
------------------------------------------------------------------------ ------------------------------------------------------------------------
......
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