added comment for payment, changed intent and added amount ui in operations

This commit is contained in:
Arseni
2026-03-12 00:09:38 +03:00
parent ddc2f1facc
commit 13b84e1e0f
26 changed files with 271 additions and 298 deletions

View File

@@ -1,8 +1,10 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:pshared/data/dto/money.dart';
part 'operation.g.dart';
@JsonSerializable()
class PaymentOperationDTO {
final String? stepRef;
@@ -11,7 +13,8 @@ class PaymentOperationDTO {
final String? code;
final String? state;
final String? label;
final PaymentOperationMoneyDTO? money;
final MoneyDTO? amount;
final MoneyDTO? convertedAmount;
final String? failureCode;
final String? failureReason;
final String? startedAt;
@@ -24,7 +27,8 @@ class PaymentOperationDTO {
this.code,
this.state,
this.label,
this.money,
this.amount,
this.convertedAmount,
this.failureCode,
this.failureReason,
this.startedAt,
@@ -35,29 +39,3 @@ class PaymentOperationDTO {
_$PaymentOperationDTOFromJson(json);
Map<String, dynamic> toJson() => _$PaymentOperationDTOToJson(this);
}
@JsonSerializable()
class PaymentOperationMoneyDTO {
final PaymentOperationMoneySnapshotDTO? planned;
final PaymentOperationMoneySnapshotDTO? executed;
const PaymentOperationMoneyDTO({this.planned, this.executed});
factory PaymentOperationMoneyDTO.fromJson(Map<String, dynamic> json) =>
_$PaymentOperationMoneyDTOFromJson(json);
Map<String, dynamic> toJson() => _$PaymentOperationMoneyDTOToJson(this);
}
@JsonSerializable()
class PaymentOperationMoneySnapshotDTO {
final MoneyDTO? amount;
final MoneyDTO? convertedAmount;
const PaymentOperationMoneySnapshotDTO({this.amount, this.convertedAmount});
factory PaymentOperationMoneySnapshotDTO.fromJson(
Map<String, dynamic> json,
) => _$PaymentOperationMoneySnapshotDTOFromJson(json);
Map<String, dynamic> toJson() =>
_$PaymentOperationMoneySnapshotDTOToJson(this);
}

View File

@@ -11,6 +11,7 @@ part 'payment.g.dart';
class PaymentDTO {
final String? paymentRef;
final String? state;
final String? comment;
final PaymentResponseEndpointDTO? source;
final PaymentResponseEndpointDTO? destination;
final String? failureCode;
@@ -23,6 +24,7 @@ class PaymentDTO {
const PaymentDTO({
this.paymentRef,
this.state,
this.comment,
this.source,
this.destination,
this.failureCode,

View File

@@ -2,6 +2,7 @@ import 'package:pshared/data/dto/payment/operation.dart';
import 'package:pshared/data/mapper/money.dart';
import 'package:pshared/models/payment/execution_operation.dart';
extension PaymentOperationDTOMapper on PaymentOperationDTO {
PaymentExecutionOperation toDomain() => PaymentExecutionOperation(
stepRef: stepRef,
@@ -10,7 +11,8 @@ extension PaymentOperationDTOMapper on PaymentOperationDTO {
code: code,
state: state,
label: label,
money: money?.toDomain(),
amount: amount?.toDomain(),
convertedAmount: convertedAmount?.toDomain(),
failureCode: failureCode,
failureReason: failureReason,
startedAt: _parseDateTime(startedAt),
@@ -26,7 +28,8 @@ extension PaymentExecutionOperationMapper on PaymentExecutionOperation {
code: code,
state: state,
label: label,
money: money?.toDTO(),
amount: amount?.toDTO(),
convertedAmount: convertedAmount?.toDTO(),
failureCode: failureCode,
failureReason: failureReason,
startedAt: startedAt?.toUtc().toIso8601String(),
@@ -34,38 +37,6 @@ extension PaymentExecutionOperationMapper on PaymentExecutionOperation {
);
}
extension PaymentOperationMoneyDTOMapper on PaymentOperationMoneyDTO {
PaymentExecutionOperationMoney toDomain() => PaymentExecutionOperationMoney(
planned: planned?.toDomain(),
executed: executed?.toDomain(),
);
}
extension PaymentExecutionOperationMoneyMapper
on PaymentExecutionOperationMoney {
PaymentOperationMoneyDTO toDTO() => PaymentOperationMoneyDTO(
planned: planned?.toDTO(),
executed: executed?.toDTO(),
);
}
extension PaymentOperationMoneySnapshotDTOMapper
on PaymentOperationMoneySnapshotDTO {
PaymentExecutionOperationMoneySnapshot toDomain() =>
PaymentExecutionOperationMoneySnapshot(
amount: amount?.toDomain(),
convertedAmount: convertedAmount?.toDomain(),
);
}
extension PaymentExecutionOperationMoneySnapshotMapper
on PaymentExecutionOperationMoneySnapshot {
PaymentOperationMoneySnapshotDTO toDTO() => PaymentOperationMoneySnapshotDTO(
amount: amount?.toDTO(),
convertedAmount: convertedAmount?.toDTO(),
);
}
DateTime? _parseDateTime(String? value) {
final normalized = value?.trim();
if (normalized == null || normalized.isEmpty) return null;

View File

@@ -10,6 +10,7 @@ extension PaymentDTOMapper on PaymentDTO {
Payment toDomain() => Payment(
paymentRef: paymentRef,
state: state,
comment: comment,
source: source?.toDomain(),
destination: destination?.toDomain(),
orchestrationState: paymentOrchestrationStateFromValue(state),
@@ -26,6 +27,7 @@ extension PaymentMapper on Payment {
PaymentDTO toDTO() => PaymentDTO(
paymentRef: paymentRef,
state: state ?? paymentOrchestrationStateToValue(orchestrationState),
comment: comment,
source: source?.toDTO(),
destination: destination?.toDTO(),
failureCode: failureCode,