@@ -10,6 +10,7 @@ import { AuditService } from '../audit/audit.service';
|
||||
import { RealtimeService } from '../realtime/realtime.service';
|
||||
import { CreateCommandDto } from './dto/create-command.dto';
|
||||
import { VenueLedger } from '../tabs/venue-ledger';
|
||||
import { CashPaymentNotifier } from '../email/cash-payment-notifier';
|
||||
|
||||
@Injectable()
|
||||
export class CommandsService {
|
||||
@@ -17,6 +18,7 @@ export class CommandsService {
|
||||
private prisma: PrismaService,
|
||||
private auditService: AuditService,
|
||||
private realtime: RealtimeService,
|
||||
private cashPayments: CashPaymentNotifier,
|
||||
) {}
|
||||
|
||||
/**
|
||||
@@ -46,7 +48,7 @@ export class CommandsService {
|
||||
}
|
||||
|
||||
const requestedBy = user.name || user.email;
|
||||
const result = await this.prisma.$transaction(async (tx) => {
|
||||
const { result, settlements } = await this.prisma.$transaction(async (tx) => {
|
||||
const now = new Date();
|
||||
const ledger = await VenueLedger.open(tx, venueId);
|
||||
|
||||
@@ -103,10 +105,14 @@ export class CommandsService {
|
||||
},
|
||||
});
|
||||
|
||||
return { id: command.id, status: command.status, amountInCents: settlement.amountInCents };
|
||||
return {
|
||||
result: { id: command.id, status: command.status, amountInCents: settlement.amountInCents },
|
||||
settlements: ledger.settlements,
|
||||
};
|
||||
});
|
||||
|
||||
this.realtime.notify(venueId, 'commands', 'tabs');
|
||||
this.cashPayments.notify(venueId, settlements, requestedBy);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user