product availability
Some checks are pending
Backend CI / test (push) Waiting to run
Backend CI / build (push) Blocked by required conditions
Deploy Mnemo Cards / Deploy Backend (push) Waiting to run
Deploy Mnemo Cards / Deploy Web App (push) Blocked by required conditions
Deploy Mnemo Cards / Final Verification (push) Blocked by required conditions

This commit is contained in:
Dmitry 2026-01-08 20:00:39 +03:00
parent 829542714a
commit efe1a8f898

View file

@ -5,11 +5,13 @@ import 'package:mnemo_cards_common_backend/mnemo_cards_common_backend.dart'
hide VoiceModel;
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
import '../api/di/injector.dart';
import 'product_availability_manager.dart';
/// Extension для конвертации CardPack (Drift) в DTO
extension CardPackToDto on CardPack {
Future<CardPackPreviewDto> toPreviewDto(UserModel? user) async {
final hasAccess =
user != null && (user.packs.contains(id.toString()) || user.admin);
final isAvailable = await getIt.get<ProductAvailabilityManager>().isPackAvailable(packId: id.toString(), user: user);
// Generate cover image URL
String? coverUrl;
@ -36,7 +38,7 @@ extension CardPackToDto on CardPack {
price: price,
imageUrl: coverUrl,
color: color,
isAvailable: hasAccess,
isAvailable: isAvailable,
tip: null,
version: version,
);