Skip to content

Commit

Permalink
#2: Implementing receipts in squeryl storage
Browse files Browse the repository at this point in the history
  • Loading branch information
adamw committed Dec 6, 2012
1 parent fa25c39 commit 27f11c3
Showing 1 changed file with 8 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,17 @@ trait SquerylMessagesStorageModule {

private def updateNextDelivery(message: MessageData, nextDelivery: MillisNextDelivery) = {
inTransaction {
val deliveryReceipt = DeliveryReceipt.generate

val updatedCount = update(messages)(m =>
where(m.id === message.id.id and m.nextDelivery === message.nextDelivery.millis)
set(m.nextDelivery := nextDelivery.millis))
set(m.nextDelivery := nextDelivery.millis, m.receipt := Some(deliveryReceipt.receipt)))

if (updatedCount == 0) None else Some(message.copy(nextDelivery = nextDelivery))
if (updatedCount == 0) None else {
Some(message
.copy(nextDelivery = nextDelivery)
.copy(deliveryReceipt = Some(deliveryReceipt)))
}
}
}
}
Expand Down

0 comments on commit 27f11c3

Please sign in to comment.