mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-03-25 16:45:05 +00:00
Minor improvements
This commit is contained in:
parent
29455d638c
commit
10305bc82d
@ -48,8 +48,8 @@ object MakePageCountTask {
|
|||||||
private def pageCountExists[F[_]: Sync](ctx: Context[F, Args]): F[Boolean] =
|
private def pageCountExists[F[_]: Sync](ctx: Context[F, Args]): F[Boolean] =
|
||||||
ctx.store.transact(
|
ctx.store.transact(
|
||||||
RAttachmentMeta
|
RAttachmentMeta
|
||||||
.findById(ctx.args.attachment)
|
.findPageCountById(ctx.args.attachment)
|
||||||
.map(_.flatMap(_.pages).exists(_ > 0))
|
.map(_.exists(_ > 0))
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -56,22 +56,15 @@ object AllPreviewsTask {
|
|||||||
private def createJobs[F[_]: Sync](
|
private def createJobs[F[_]: Sync](
|
||||||
ctx: Context[F, Args]
|
ctx: Context[F, Args]
|
||||||
)(ras: Chunk[RAttachment]): Stream[F, RJob] = {
|
)(ras: Chunk[RAttachment]): Stream[F, RJob] = {
|
||||||
val collectiveOrSystem = ctx.args.collective.getOrElse(DocspellSystem.taskGroup)
|
val collectiveOrSystem = {
|
||||||
|
val cid = ctx.args.collective.getOrElse(DocspellSystem.taskGroup)
|
||||||
|
AccountId(cid, DocspellSystem.user)
|
||||||
|
}
|
||||||
|
|
||||||
def mkJob(ra: RAttachment): F[RJob] =
|
def mkJob(ra: RAttachment): F[RJob] =
|
||||||
for {
|
JobFactory.makePreview(
|
||||||
id <- Ident.randomId[F]
|
|
||||||
now <- Timestamp.current[F]
|
|
||||||
} yield RJob.newJob(
|
|
||||||
id,
|
|
||||||
MakePreviewArgs.taskName,
|
|
||||||
collectiveOrSystem,
|
|
||||||
MakePreviewArgs(ra.id, ctx.args.storeMode),
|
MakePreviewArgs(ra.id, ctx.args.storeMode),
|
||||||
s"Create preview ${ra.id.id}/${ra.name.getOrElse("-")}",
|
collectiveOrSystem.some
|
||||||
now,
|
|
||||||
collectiveOrSystem,
|
|
||||||
Priority.Low,
|
|
||||||
Some(MakePreviewArgs.taskName / ra.id)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
val jobs = ras.traverse(mkJob)
|
val jobs = ras.traverse(mkJob)
|
||||||
|
@ -256,16 +256,17 @@ object RAttachment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
def findAllWithoutPageCount(chunkSize: Int): Stream[ConnectionIO, RAttachment] = {
|
def findAllWithoutPageCount(chunkSize: Int): Stream[ConnectionIO, RAttachment] = {
|
||||||
val aId = Columns.id.prefix("a")
|
val aId = Columns.id.prefix("a")
|
||||||
val mId = RAttachmentMeta.Columns.id.prefix("m")
|
val aCreated = Columns.created.prefix("a")
|
||||||
val mPages = RAttachmentMeta.Columns.pages.prefix("m")
|
val mId = RAttachmentMeta.Columns.id.prefix("m")
|
||||||
|
val mPages = RAttachmentMeta.Columns.pages.prefix("m")
|
||||||
|
|
||||||
val cols = all.map(_.prefix("a"))
|
val cols = all.map(_.prefix("a"))
|
||||||
val join = table ++ fr"a LEFT OUTER JOIN" ++
|
val join = table ++ fr"a LEFT OUTER JOIN" ++
|
||||||
RAttachmentMeta.table ++ fr"m ON" ++ aId.is(mId)
|
RAttachmentMeta.table ++ fr"m ON" ++ aId.is(mId)
|
||||||
val cond = mPages.isNull
|
val cond = mPages.isNull
|
||||||
|
|
||||||
selectSimple(cols, join, cond)
|
(selectSimple(cols, join, cond) ++ orderBy(aCreated.desc))
|
||||||
.query[RAttachment]
|
.query[RAttachment]
|
||||||
.streamWithChunkSize(chunkSize)
|
.streamWithChunkSize(chunkSize)
|
||||||
}
|
}
|
||||||
@ -274,11 +275,12 @@ object RAttachment {
|
|||||||
coll: Option[Ident],
|
coll: Option[Ident],
|
||||||
chunkSize: Int
|
chunkSize: Int
|
||||||
): Stream[ConnectionIO, RAttachment] = {
|
): Stream[ConnectionIO, RAttachment] = {
|
||||||
val aId = Columns.id.prefix("a")
|
val aId = Columns.id.prefix("a")
|
||||||
val aItem = Columns.itemId.prefix("a")
|
val aItem = Columns.itemId.prefix("a")
|
||||||
val pId = RAttachmentPreview.Columns.id.prefix("p")
|
val aCreated = Columns.created.prefix("a")
|
||||||
val iId = RItem.Columns.id.prefix("i")
|
val pId = RAttachmentPreview.Columns.id.prefix("p")
|
||||||
val iColl = RItem.Columns.cid.prefix("i")
|
val iId = RItem.Columns.id.prefix("i")
|
||||||
|
val iColl = RItem.Columns.cid.prefix("i")
|
||||||
|
|
||||||
val cols = all.map(_.prefix("a"))
|
val cols = all.map(_.prefix("a"))
|
||||||
val baseJoin =
|
val baseJoin =
|
||||||
@ -292,11 +294,11 @@ object RAttachment {
|
|||||||
case Some(cid) =>
|
case Some(cid) =>
|
||||||
val join = baseJoin ++ fr"INNER JOIN" ++ RItem.table ++ fr"i ON" ++ iId.is(aItem)
|
val join = baseJoin ++ fr"INNER JOIN" ++ RItem.table ++ fr"i ON" ++ iId.is(aItem)
|
||||||
val cond = and(baseCond ++ Seq(iColl.is(cid)))
|
val cond = and(baseCond ++ Seq(iColl.is(cid)))
|
||||||
selectSimple(cols, join, cond)
|
(selectSimple(cols, join, cond) ++ orderBy(aCreated.desc))
|
||||||
.query[RAttachment]
|
.query[RAttachment]
|
||||||
.streamWithChunkSize(chunkSize)
|
.streamWithChunkSize(chunkSize)
|
||||||
case None =>
|
case None =>
|
||||||
selectSimple(cols, baseJoin, and(baseCond))
|
(selectSimple(cols, baseJoin, and(baseCond)) ++ orderBy(aCreated.desc))
|
||||||
.query[RAttachment]
|
.query[RAttachment]
|
||||||
.streamWithChunkSize(chunkSize)
|
.streamWithChunkSize(chunkSize)
|
||||||
}
|
}
|
||||||
|
@ -54,6 +54,12 @@ object RAttachmentMeta {
|
|||||||
def findById(attachId: Ident): ConnectionIO[Option[RAttachmentMeta]] =
|
def findById(attachId: Ident): ConnectionIO[Option[RAttachmentMeta]] =
|
||||||
selectSimple(all, table, id.is(attachId)).query[RAttachmentMeta].option
|
selectSimple(all, table, id.is(attachId)).query[RAttachmentMeta].option
|
||||||
|
|
||||||
|
def findPageCountById(attachId: Ident): ConnectionIO[Option[Int]] =
|
||||||
|
selectSimple(Seq(pages), table, id.is(attachId))
|
||||||
|
.query[Option[Int]]
|
||||||
|
.option
|
||||||
|
.map(_.flatten)
|
||||||
|
|
||||||
def upsert(v: RAttachmentMeta): ConnectionIO[Int] =
|
def upsert(v: RAttachmentMeta): ConnectionIO[Int] =
|
||||||
for {
|
for {
|
||||||
n0 <- update(v)
|
n0 <- update(v)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user