Skip to content

Commit

Permalink
feat: implement settling 0-amount debit notes
Browse files Browse the repository at this point in the history
  • Loading branch information
Paweł Nowosielski committed Feb 11, 2021
1 parent 9aac944 commit 91c4792
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion core/payment/src/dao/debit_note.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ use crate::models::debit_note::{ReadObj, WriteObj};
use crate::schema::pay_activity::dsl as activity_dsl;
use crate::schema::pay_agreement::dsl as agreement_dsl;
use crate::schema::pay_debit_note::dsl;
use bigdecimal::BigDecimal;
use chrono::NaiveDateTime;
use diesel::{
self, BoolExpressionMethods, ExpressionMethods, JoinOnDsl, OptionalExtension, QueryDsl,
Expand Down Expand Up @@ -245,13 +246,32 @@ impl<'c> DebitNoteDao<'c> {
activity::set_amount_accepted(&activity_id, &owner_id, &amount, conn)?;
if let Role::Provider = role {
debit_note_event::create::<()>(
debit_note_id,
debit_note_id.clone(),
owner_id,
DebitNoteEventType::DebitNoteAcceptedEvent,
None,
conn,
)?;
}

if amount.0 == BigDecimal::from(0) {
update_status(
&vec![debit_note_id.clone()],
&owner_id,
&DocumentStatus::Settled,
conn,
)?;
if let Role::Provider = role {
debit_note_event::create::<()>(
debit_note_id,
owner_id,
DebitNoteEventType::DebitNoteSettledEvent,
None,
conn,
)?;
}
}

Ok(())
})
.await
Expand Down

0 comments on commit 91c4792

Please sign in to comment.