Fix position of merged attachments

This commit is contained in:
eikek
2021-08-16 15:05:26 +02:00
parent 2252acff12
commit c7c488f0cc
2 changed files with 15 additions and 7 deletions

View File

@ -69,9 +69,9 @@ object RAttachment {
DML.set(T.position.increment(1))
)
def nextPosition(id: Ident): ConnectionIO[Int] =
def nextPosition(itemId: Ident): ConnectionIO[Int] =
for {
max <- Select(max(T.position).s, from(T), T.itemId === id).build
max <- Select(max(T.position).s, from(T), T.itemId === itemId).build
.query[Option[Int]]
.unique
} yield max.map(_ + 1).getOrElse(0)
@ -97,8 +97,15 @@ object RAttachment {
DML.set(T.fileId.setTo(fId))
)
def updateItemId(attachId: Ident, itemId: Ident): ConnectionIO[Int] =
DML.update(T, T.id === attachId, DML.set(T.itemId.setTo(itemId)))
def updateItemId(attachId: Ident, itemId: Ident, pos: Int): ConnectionIO[Int] =
DML.update(
T,
T.id === attachId,
DML.set(
T.itemId.setTo(itemId),
T.position.setTo(pos)
)
)
def updatePosition(attachId: Ident, pos: Int): ConnectionIO[Int] =
DML.update(T, T.id === attachId, DML.set(T.position.setTo(pos)))