feature/Add the bouble-entry booking system

This commit is contained in:
Guillaume Kergreis 2020-08-24 09:56:51 +02:00
parent a625a9debd
commit 12468af3c8
3 changed files with 43 additions and 0 deletions

View File

@ -810,6 +810,7 @@ object ToSchemify {
MappedBankAccount,
BankAccountRouting,
MappedTransaction,
DoubleEntryBookTransaction,
MappedCustomerMessage,
MappedBranch,
MappedAtm,

View File

@ -0,0 +1,36 @@
package code.model.dataAccess
import code.util.UUIDString
import com.openbankproject.commons.model.{TransactionRequestId => ModelTransactionRequestId, _}
import net.liftweb.mapper._
class DoubleEntryBookTransaction extends DoubleEntryBookTransactionTrait with LongKeyedMapper[DoubleEntryBookTransaction] with IdPK with CreatedUpdated {
def getSingleton: DoubleEntryBookTransaction.type = DoubleEntryBookTransaction
override def transactionRequestId: Option[ModelTransactionRequestId] = {
val transactionRequestIdString = TransactionRequestId.get
if (transactionRequestIdString.isEmpty) None else Some(ModelTransactionRequestId(transactionRequestIdString))
}
override def debitTransactionId: TransactionId = TransactionId(DebitTransactionId.get)
override def creditTransactionId: TransactionId = TransactionId(CreditTransactionId.get)
object TransactionRequestId extends UUIDString(this)
object DebitTransactionId extends UUIDString(this)
object CreditTransactionId extends UUIDString(this)
}
object DoubleEntryBookTransaction extends DoubleEntryBookTransaction with LongKeyedMetaMapper[DoubleEntryBookTransaction] {
override def dbIndexes: List[BaseIndex[DoubleEntryBookTransaction]] =
UniqueIndex(DebitTransactionId) :: UniqueIndex(CreditTransactionId) :: UniqueIndex(DebitTransactionId, CreditTransactionId) :: super.dbIndexes
}

View File

@ -352,3 +352,9 @@ case class CounterpartyBespoke(
case class CustomerDependant(
dateOfBirth: Date
)
trait DoubleEntryBookTransactionTrait {
def transactionRequestId: Option[TransactionRequestId]
def debitTransactionId: TransactionId
def creditTransactionId: TransactionId
}