mnemo_cards/lib/features/subscription/subscription_api.dart

41 lines
1 KiB
Dart
Raw Normal View History

2024-07-27 13:13:42 +00:00
import 'dart:typed_data';
import 'package:dio/dio.dart';
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
import '../../managers/repository/api.dart';
class SubscriptionApi with Api {
final Dio _dio;
SubscriptionApi(this._dio);
// buy page dto if not available
Future<CardPackBuyDto?> getPackBuy(String id) async {
final r = await _dio.get<String>(
'$path/pack/buy/$id',
options: Options(
sendTimeout: Duration(seconds: 5),
receiveTimeout: Duration(seconds: 5),
),
);
return (r.data as String).decode(CardPackBuyDto.fromJson);
}
/// cards zip archive for available pack
/// unavailable packs transfer images by base64
Future<Uint8List> packImagesArchive(String packId) async {
final response = await _dio.get<Uint8List>(
'$path/pack/cards/$packId',
options: Options(
responseType: ResponseType.bytes,
),
);
final data = response.data;
if (data == null) {
return Uint8List.fromList([]);
}
return data;
}
}