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
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|