diff --git a/src/database/schemas/finance/payment.schema.js b/src/database/schemas/finance/payment.schema.js index 437583d..4c35a28 100644 --- a/src/database/schemas/finance/payment.schema.js +++ b/src/database/schemas/finance/payment.schema.js @@ -15,6 +15,8 @@ const paymentSchema = new Schema( }, paymentDate: { type: Date, required: false }, postedAt: { type: Date, required: false }, + authorisedAt: { type: Date, required: false }, + declinedAt: { type: Date, required: false }, cancelledAt: { type: Date, required: false }, paymentMethod: { type: String, required: false }, notes: { type: String, required: false }, @@ -39,6 +41,22 @@ const rollupConfigs = [ { name: 'postedAmount', property: 'amount', operation: 'sum' }, ], }, + { + name: 'authorised', + filter: { 'state.type': 'authorised' }, + rollups: [ + { name: 'authorisedCount', property: 'state.type', operation: 'count' }, + { name: 'authorisedAmount', property: 'amount', operation: 'sum' }, + ], + }, + { + name: 'declined', + filter: { 'state.type': 'declined' }, + rollups: [ + { name: 'declinedCount', property: 'state.type', operation: 'count' }, + { name: 'declinedAmount', property: 'amount', operation: 'sum' }, + ], + }, { name: 'cancelled', filter: { 'state.type': 'cancelled' },