import 'package:mnemo_cards_common_backend/mnemo_cards_common_backend.dart'; import 'package:mnemo_cards_backend/user/user_data_model.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; extension UserModelExtension on UserModel { Future toDto() async { await userData.load(); await subscriptionModel.load(); final subscription = subscriptionModel.value; final activeSubscription = subscription != null && subscription.isActive; return UserDto( id: id, name: name, email: email, admin: admin, packs: packs.map((e) => e.id?.toString()).whereNotNull().toList(), subscription: activeSubscription, subscriptionFeatures: subscription?.features.toSet() ?? {}, userDataDto: userData.value?.toDto(), ); } }