TRON -> TRON_MAINNET
This commit is contained in:
44
frontend/pshared/lib/service/payment/documents.dart
Normal file
44
frontend/pshared/lib/service/payment/documents.dart
Normal file
@@ -0,0 +1,44 @@
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
import 'package:pshared/models/file/downloaded_file.dart';
|
||||
import 'package:pshared/service/authorization/service.dart';
|
||||
import 'package:pshared/service/services.dart';
|
||||
|
||||
|
||||
class PaymentDocumentsService {
|
||||
static final _logger = Logger('service.payment_documents');
|
||||
static const String _objectType = Services.payments;
|
||||
|
||||
static Future<DownloadedFile> getAct(String organizationRef, String paymentRef) async {
|
||||
final encodedRef = Uri.encodeQueryComponent(paymentRef);
|
||||
final url = '/documents/act/$organizationRef?payment_ref=$encodedRef';
|
||||
_logger.fine('Downloading act document for payment $paymentRef');
|
||||
final response = await AuthorizationService.getGETBinaryResponse(_objectType, url);
|
||||
final filename = _filenameFromDisposition(response.header('content-disposition')) ??
|
||||
'act_$paymentRef.pdf';
|
||||
final mimeType = response.header('content-type') ?? 'application/pdf';
|
||||
return DownloadedFile(
|
||||
bytes: response.bytes,
|
||||
filename: filename,
|
||||
mimeType: mimeType,
|
||||
);
|
||||
}
|
||||
|
||||
static String? _filenameFromDisposition(String? disposition) {
|
||||
if (disposition == null || disposition.isEmpty) return null;
|
||||
final parts = disposition.split(';');
|
||||
for (final part in parts) {
|
||||
final trimmed = part.trim();
|
||||
if (trimmed.toLowerCase().startsWith('filename=')) {
|
||||
var value = trimmed.substring('filename='.length).trim();
|
||||
if (value.startsWith('"') && value.endsWith('"') && value.length > 1) {
|
||||
value = value.substring(1, value.length - 1);
|
||||
}
|
||||
if (value.isNotEmpty) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user