Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
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
Przemyslaw Kaminski
haskell-gargantext
Commits
5de2890b
Commit
5de2890b
authored
Jul 31, 2020
by
Przemyslaw Kaminski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[upload] arbitrary file saving to endpoint works now
parent
5dd90077
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
2 deletions
+14
-2
New.hs
src/Gargantext/API/Node/Corpus/New.hs
+14
-2
No files found.
src/Gargantext/API/Node/Corpus/New.hs
View file @
5de2890b
...
...
@@ -26,6 +26,7 @@ import Data.Either
import
Data.Maybe
(
fromMaybe
)
import
Data.Swagger
import
Data.Text
(
Text
)
import
qualified
Data.Text.IO
as
TIO
import
GHC.Generics
(
Generic
)
import
Servant
import
Servant.Job.Core
...
...
@@ -38,6 +39,7 @@ import Web.FormUrlEncoded (FromForm)
import
Gargantext.API.Admin.Orchestrator.Types
(
JobLog
(
..
))
import
qualified
Gargantext.API.Admin.Orchestrator.Types
as
T
import
Gargantext.API.Admin.Settings
(
HasSettings
)
import
Gargantext.API.Node.Corpus.New.File
import
Gargantext.Core
(
Lang
(
..
)
{-, allLangs-}
)
import
Gargantext.Core.Types.Individu
(
User
(
..
))
...
...
@@ -46,6 +48,7 @@ import Gargantext.Database.Action.Flow (FlowCmdM, flowCorpus, getDataText, flowD
import
Gargantext.Database.Admin.Types.Hyperdata
import
Gargantext.Database.Admin.Types.Node
(
CorpusId
,
UserId
)
import
Gargantext.Prelude
import
qualified
Gargantext.Prelude.Utils
as
GPU
import
qualified
Gargantext.Text.Corpus.API
as
API
import
qualified
Gargantext.Text.Corpus.Parsers
as
Parser
(
FileFormat
(
..
),
parseFormat
)
...
...
@@ -180,6 +183,12 @@ instance FromJSON NewWithFile where
instance
ToSchema
NewWithFile
where
declareNamedSchema
=
genericDeclareNamedSchema
(
unPrefixSwagger
"_wfi_"
)
instance
GPU
.
SaveFile
NewWithFile
where
saveFile'
fp
(
NewWithFile
d
_
_
)
=
TIO
.
writeFile
fp
d
--instance GPU.ReadFile NewWithFile where
-- readFile' = TIO.readFile
------------------------------------------------------------------------
type
AsyncJobs
event
ctI
input
output
=
AsyncJobsAPI'
'U
n
safe
'S
a
fe
ctI
'[
J
SON
]
Maybe
event
input
output
...
...
@@ -332,13 +341,13 @@ type AddWithFile = Summary "Add with FileUrlEncoded to corpus endpoint"
:>
"async"
:>
AsyncJobs
JobLog
'[
F
ormUrlEncoded
]
NewWithFile
JobLog
addToCorpusWithFile
::
FlowCmdM
env
err
m
addToCorpusWithFile
::
(
HasSettings
env
,
FlowCmdM
env
err
m
)
=>
User
->
CorpusId
->
NewWithFile
->
(
JobLog
->
m
()
)
->
m
JobLog
addToCorpusWithFile
_user
cid
(
NewWithFile
_d
_l
_n
)
logStatus
=
do
addToCorpusWithFile
_user
cid
nwf
@
(
NewWithFile
_d
_l
_n
)
logStatus
=
do
printDebug
"[addToCorpusWithForm] Uploading file to corpus: "
cid
logStatus
JobLog
{
_scst_succeeded
=
Just
0
...
...
@@ -347,6 +356,9 @@ addToCorpusWithFile _user cid (NewWithFile _d _l _n) logStatus = do
,
_scst_events
=
Just
[]
}
fp
<-
GPU
.
writeFile
nwf
printDebug
"File saved as: "
fp
printDebug
"File upload to corpus finished: "
cid
pure
$
JobLog
{
_scst_succeeded
=
Just
1
,
_scst_failed
=
Just
0
...
...
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