From 22340d78ef814d8e3ac70ab59f0069fc7e80c26c Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sun, 14 Dec 2025 03:25:54 +0300 Subject: [PATCH] s --- .../lib/database/converters.dart | 14 ++++---- .../lib/database/database.g.dart | 36 +++++++++---------- .../lib/database/tables/users.dart | 1 + .../lib/user/user_manager.dart | 1 - 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/mnemo_cards_backend/lib/database/converters.dart b/mnemo_cards_backend/lib/database/converters.dart index eab8965..82239f2 100644 --- a/mnemo_cards_backend/lib/database/converters.dart +++ b/mnemo_cards_backend/lib/database/converters.dart @@ -26,7 +26,7 @@ class JsonMapConverter extends TypeConverter?, String?> { } } -class JsonListConverter extends TypeConverter, String> { +class JsonListConverter extends TypeConverter, String?> { const JsonListConverter(); @override @@ -46,12 +46,12 @@ class JsonListConverter extends TypeConverter, String> { } } -class StringListConverter extends TypeConverter, String> { +class StringListConverter extends TypeConverter, String?> { const StringListConverter(); @override - List fromSql(String fromDb) { - if (fromDb.isEmpty || fromDb == '[]') return []; + List fromSql(String? fromDb) { + if (fromDb == null || fromDb.isEmpty || fromDb == '[]') return []; try { final decoded = json.decode(fromDb); return (decoded as List).map((e) => e as String).toList(); @@ -93,12 +93,12 @@ class DateTimeListConverter extends TypeConverter?, String> { } } -class IntListConverter extends TypeConverter, String> { +class IntListConverter extends TypeConverter, String?> { const IntListConverter(); @override - List fromSql(String fromDb) { - if (fromDb.isEmpty || fromDb == '[]') return []; + List fromSql(String? fromDb) { + if (fromDb == null || fromDb.isEmpty || fromDb == '[]') return []; try { final decoded = json.decode(fromDb); return (decoded as List).map((e) => e as int).toList(); diff --git a/mnemo_cards_backend/lib/database/database.g.dart b/mnemo_cards_backend/lib/database/database.g.dart index 65b9f74..f8b5cf6 100644 --- a/mnemo_cards_backend/lib/database/database.g.dart +++ b/mnemo_cards_backend/lib/database/database.g.dart @@ -75,7 +75,7 @@ class $UsersTable extends Users with TableInfo<$UsersTable, User> { GeneratedColumn( 'purchases', aliasedName, - false, + true, type: DriftSqlType.string, requiredDuringInsert: false, defaultValue: const Constant('[]'), @@ -240,7 +240,7 @@ class $UsersTable extends Users with TableInfo<$UsersTable, User> { attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}purchases'], - )!, + ), ), createdAt: attachedDatabase.typeMapping.read( PgTypes.timestampWithTimezone, @@ -262,7 +262,7 @@ class $UsersTable extends Users with TableInfo<$UsersTable, User> { return $UsersTable(attachedDatabase, alias); } - static TypeConverter, String> $converterpurchases = + static TypeConverter, String?> $converterpurchases = const StringListConverter(); } @@ -1058,15 +1058,15 @@ class $UserDatasTable extends UserDatas return $UserDatasTable(attachedDatabase, alias); } - static TypeConverter, String> $converterwords = + static TypeConverter, String?> $converterwords = const JsonListConverter(); - static TypeConverter, String> $convertertags = + static TypeConverter, String?> $convertertags = const StringListConverter(); - static TypeConverter, String> $converterpackProgress = + static TypeConverter, String?> $converterpackProgress = const JsonListConverter(); static TypeConverter?, String> $converterstudyDates = const DateTimeListConverter(); - static TypeConverter, String> $converterachievements = + static TypeConverter, String?> $converterachievements = const JsonListConverter(); static TypeConverter?, String?> $convertercategoryMinutes = const JsonMapConverter(); @@ -3641,7 +3641,7 @@ class $CardPacksTable extends CardPacks return $CardPacksTable(attachedDatabase, alias); } - static TypeConverter, String> $convertercardsOrder = + static TypeConverter, String?> $convertercardsOrder = const StringListConverter(); } @@ -6734,7 +6734,7 @@ class $SubscriptionPlansTable extends SubscriptionPlans static TypeConverter?, String?> $converterui = const JsonMapConverter(); - static TypeConverter, String> $converterfeatures = + static TypeConverter, String?> $converterfeatures = const JsonListConverter(); } @@ -7314,7 +7314,7 @@ class $UserSubscriptionsTable extends UserSubscriptions return $UserSubscriptionsTable(attachedDatabase, alias); } - static TypeConverter, String> $converterfeatures = + static TypeConverter, String?> $converterfeatures = const JsonListConverter(); } @@ -7944,9 +7944,9 @@ class $PaymentsTable extends Payments with TableInfo<$PaymentsTable, Payment> { return $PaymentsTable(attachedDatabase, alias); } - static TypeConverter, String> $converterproducts = + static TypeConverter, String?> $converterproducts = const JsonListConverter(); - static TypeConverter, String> $converterpacks = + static TypeConverter, String?> $converterpacks = const StringListConverter(); } @@ -11232,9 +11232,9 @@ class $UserTasksTable extends UserTasks return $UserTasksTable(attachedDatabase, alias); } - static TypeConverter, String> $converterrewards = + static TypeConverter, String?> $converterrewards = const JsonListConverter(); - static TypeConverter, String> $convertertags = + static TypeConverter, String?> $convertertags = const StringListConverter(); } @@ -12949,9 +12949,9 @@ class $PromoCodesCampaignsTable extends PromoCodesCampaigns return $PromoCodesCampaignsTable(attachedDatabase, alias); } - static TypeConverter, String> $converterproducts = + static TypeConverter, String?> $converterproducts = const JsonListConverter(); - static TypeConverter, String> $convertertags = + static TypeConverter, String?> $convertertags = const StringListConverter(); } @@ -14131,7 +14131,7 @@ class $DiscountCampaignsTable extends DiscountCampaigns return $DiscountCampaignsTable(attachedDatabase, alias); } - static TypeConverter, String> $convertertags = + static TypeConverter, String?> $convertertags = const StringListConverter(); } @@ -14665,7 +14665,7 @@ class $DiscountsTable extends Discounts return $DiscountsTable(attachedDatabase, alias); } - static TypeConverter, String> $converterproducts = + static TypeConverter, String?> $converterproducts = const JsonListConverter(); } diff --git a/mnemo_cards_backend/lib/database/tables/users.dart b/mnemo_cards_backend/lib/database/tables/users.dart index 781d1bd..2cd0009 100644 --- a/mnemo_cards_backend/lib/database/tables/users.dart +++ b/mnemo_cards_backend/lib/database/tables/users.dart @@ -19,6 +19,7 @@ class Users extends Table { // Purchases (JSON array) TextColumn get purchases => text() + .nullable() .withDefault(const Constant('[]')) .map(const StringListConverter())(); diff --git a/mnemo_cards_backend/lib/user/user_manager.dart b/mnemo_cards_backend/lib/user/user_manager.dart index 702b4a4..11dd181 100644 --- a/mnemo_cards_backend/lib/user/user_manager.dart +++ b/mnemo_cards_backend/lib/user/user_manager.dart @@ -131,7 +131,6 @@ class UserManager { externalUserId: externalId, name: drift.Value(name), email: drift.Value(email), - // Explicitly set fields with default values to ensure they're returned by insertReturning admin: drift.Value(false), purchases: drift.Value([]), createdAt: drift.Value(PgDateTime(now)),