2025-12-13 13:27:05 +00:00
|
|
|
import 'package:drift/drift.dart' as drift;
|
|
|
|
|
import 'package:mnemo_cards_backend/database/database.dart';
|
|
|
|
|
import 'package:mnemo_cards_common_backend/mnemo_cards_common_backend.dart';
|
|
|
|
|
|
2025-12-13 20:55:50 +00:00
|
|
|
/// Extension для конвертации User (Drift) в UserModel
|
2025-12-13 13:27:05 +00:00
|
|
|
extension UserToUserModel on User {
|
|
|
|
|
Future<UserModel> toUserModel() async {
|
|
|
|
|
final userModel = UserModel(
|
|
|
|
|
id: id,
|
|
|
|
|
name: name,
|
|
|
|
|
email: email,
|
2025-12-18 20:40:48 +00:00
|
|
|
telegram: telegram,
|
2025-12-13 13:27:05 +00:00
|
|
|
admin: admin,
|
2025-12-13 14:48:00 +00:00
|
|
|
purchases: purchases,
|
|
|
|
|
userSettings: userSettings,
|
2025-12-13 13:27:05 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
return userModel;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Extension для конвертации UserModel в User (Drift)
|
|
|
|
|
extension UserModelToUser on UserModel {
|
|
|
|
|
UsersCompanion toUsersCompanion() {
|
|
|
|
|
return UsersCompanion(
|
2025-12-13 20:55:50 +00:00
|
|
|
id: id != null ? drift.Value(id!) : const drift.Value.absent(),
|
2025-12-13 14:48:00 +00:00
|
|
|
externalUserId: const drift.Value.absent(),
|
2025-12-13 13:27:05 +00:00
|
|
|
name: drift.Value(name),
|
|
|
|
|
email: drift.Value(email),
|
2025-12-18 20:40:48 +00:00
|
|
|
telegram: drift.Value(telegram),
|
2025-12-13 13:27:05 +00:00
|
|
|
admin: drift.Value(admin),
|
2025-12-13 14:48:00 +00:00
|
|
|
purchases: drift.Value(purchases),
|
|
|
|
|
userSettings: drift.Value(userSettings),
|
2025-12-13 13:27:05 +00:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|