fix for quote and operations addition

This commit is contained in:
Arseni
2026-03-13 16:07:22 +03:00
parent 34a7edd50c
commit 530432e3f8
13 changed files with 200 additions and 359 deletions

View File

@@ -1,4 +1,5 @@
import 'package:pshared/data/dto/payment/operation.dart';
import 'package:pshared/data/dto/payment/operation_money.dart';
import 'package:pshared/data/mapper/money.dart';
import 'package:pshared/models/payment/execution_operation.dart';
@@ -11,8 +12,7 @@ extension PaymentOperationDTOMapper on PaymentOperationDTO {
code: code,
state: state,
label: label,
amount: amount?.toDomain(),
convertedAmount: convertedAmount?.toDomain(),
money: money?.toDomain(),
failureCode: failureCode,
failureReason: failureReason,
startedAt: _parseDateTime(startedAt),
@@ -28,8 +28,7 @@ extension PaymentExecutionOperationMapper on PaymentExecutionOperation {
code: code,
state: state,
label: label,
amount: amount?.toDTO(),
convertedAmount: convertedAmount?.toDTO(),
money: money?.toDTO(),
failureCode: failureCode,
failureReason: failureReason,
startedAt: startedAt?.toUtc().toIso8601String(),
@@ -37,6 +36,35 @@ extension PaymentExecutionOperationMapper on PaymentExecutionOperation {
);
}
extension PaymentOperationMoneyDTOMapper on PaymentOperationMoneyDTO {
PaymentOperationMoney toDomain() => PaymentOperationMoney(
planned: planned?.toDomain(),
executed: executed?.toDomain(),
);
}
extension PaymentOperationMoneyMapper on PaymentOperationMoney {
PaymentOperationMoneyDTO toDTO() => PaymentOperationMoneyDTO(
planned: planned?.toDTO(),
executed: executed?.toDTO(),
);
}
extension PaymentOperationMoneySnapshotDTOMapper
on PaymentOperationMoneySnapshotDTO {
PaymentOperationMoneySnapshot toDomain() => PaymentOperationMoneySnapshot(
amount: amount?.toDomain(),
convertedAmount: convertedAmount?.toDomain(),
);
}
extension PaymentOperationMoneySnapshotMapper on PaymentOperationMoneySnapshot {
PaymentOperationMoneySnapshotDTO toDTO() => PaymentOperationMoneySnapshotDTO(
amount: amount?.toDTO(),
convertedAmount: convertedAmount?.toDTO(),
);
}
DateTime? _parseDateTime(String? value) {
final normalized = value?.trim();
if (normalized == null || normalized.isEmpty) return null;