mnemo_cards/mnemo_cards_backend/lib/user/user_model.dart

20 lines
697 B
Dart
Raw Normal View History

2025-11-16 11:25:27 +00:00
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<UserDto> toDto() async {
2025-12-13 20:55:50 +00:00
final activeSubscription = subscriptionModel != null && subscriptionModel!.isActive;
2025-11-16 11:25:27 +00:00
return UserDto(
id: id,
name: name,
email: email,
admin: admin,
packs: packs.map((e) => e.id?.toString()).whereNotNull().toList(),
subscription: activeSubscription,
2025-12-13 20:55:50 +00:00
subscriptionFeatures: subscriptionModel?.features.toSet() ?? {},
userDataDto: userData?.toDto(),
2025-11-16 11:25:27 +00:00
);
}
}