Add a folder-id to item processing

This allows to define a folder when uploading files. All generated
items are associated to this folder on creation.
This commit is contained in:
Eike Kettner
2020-07-14 21:25:44 +02:00
parent ec7f027b4e
commit 5b01c93711
14 changed files with 126 additions and 24 deletions

View File

@ -287,9 +287,11 @@ trait Conversions {
.find(_.name.exists(_.equalsIgnoreCase("meta")))
.map(p => parseMeta(p.body))
.map(fm =>
fm.map(m => (m.multiple, UploadMeta(m.direction, "webapp", validFileTypes)))
fm.map(m =>
(m.multiple, UploadMeta(m.direction, "webapp", m.folder, validFileTypes))
)
)
.getOrElse((true, UploadMeta(None, "webapp", validFileTypes)).pure[F])
.getOrElse((true, UploadMeta(None, "webapp", None, validFileTypes)).pure[F])
val files = mp.parts
.filter(p => p.name.forall(s => !s.equalsIgnoreCase("meta")))
@ -491,12 +493,21 @@ trait Conversions {
// sources
def mkSource(s: RSource): Source =
Source(s.sid, s.abbrev, s.description, s.counter, s.enabled, s.priority, s.created)
Source(
s.sid,
s.abbrev,
s.description,
s.counter,
s.enabled,
s.priority,
s.folderId,
s.created
)
def newSource[F[_]: Sync](s: Source, cid: Ident): F[RSource] =
timeId.map({
case (id, now) =>
RSource(id, cid, s.abbrev, s.description, 0, s.enabled, s.priority, now)
RSource(id, cid, s.abbrev, s.description, 0, s.enabled, s.priority, now, s.folder)
})
def changeSource[F[_]: Sync](s: Source, coll: Ident): RSource =
@ -508,7 +519,8 @@ trait Conversions {
s.counter,
s.enabled,
s.priority,
s.created
s.created,
s.folder
)
// equipment

View File

@ -112,7 +112,8 @@ object ScanMailboxRoutes {
settings.receivedSinceHours.map(_.toLong).map(Duration.hours),
settings.targetFolder,
settings.deleteMail,
settings.direction
settings.direction,
settings.itemFolder
)
)
)
@ -139,6 +140,7 @@ object ScanMailboxRoutes {
task.args.receivedSince.map(_.hours.toInt),
task.args.targetFolder,
task.args.deleteMail,
task.args.direction
task.args.direction,
task.args.itemFolder
)
}