- Wallet EnakPoint & EnakCoin: beranda, riwayat, saldo kedaluwarsa, kode bayar, tukar EnakCoin, transfer - PIN (buat, ganti, lupa), outlet, riwayat order, game spin - Halaman community, webview, coming soon, dan ikon menu beranda baru - Redesign Reward Saya: kartu tiket, filter chip, detail kode + QR - Hapus customer point loader, menu, dan checkout lama - Base URL ke enaklo-pos-api.altru.id Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
722 B
Dart
25 lines
722 B
Dart
part of '../wallet_dtos.dart';
|
|
|
|
@freezed
|
|
abstract class PaymentCodeDto with _$PaymentCodeDto {
|
|
const factory PaymentCodeDto({
|
|
@JsonKey(name: 'code') String? code,
|
|
@JsonKey(name: 'qr_payload') String? qrPayload,
|
|
@JsonKey(name: 'expires_at') String? expiresAt,
|
|
}) = _PaymentCodeDto;
|
|
|
|
factory PaymentCodeDto.fromJson(Map<String, dynamic> json) =>
|
|
_$PaymentCodeDtoFromJson(json);
|
|
|
|
const PaymentCodeDto._();
|
|
|
|
PaymentCode toDomain() => PaymentCode(
|
|
code: code ?? '',
|
|
qrPayload: qrPayload ?? '',
|
|
// Kode berlaku 2 menit; dipakai hanya bila server tidak mengirim expires_at.
|
|
expiresAt:
|
|
_parseDateTime(expiresAt) ??
|
|
DateTime.now().add(const Duration(minutes: 2)),
|
|
);
|
|
}
|