feat: add rows count (broken), fix: bug with low stock items
This commit is contained in:
@@ -2,7 +2,6 @@ import 'package:drift/drift.dart';
|
||||
import 'package:drift_flutter/drift_flutter.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
|
||||
|
||||
part 'app_database.g.dart';
|
||||
|
||||
@DataClassName('ProductRow')
|
||||
@@ -111,6 +110,8 @@ class AppSettingsTable extends Table {
|
||||
|
||||
TextColumn get language => text().withDefault(const Constant('system'))();
|
||||
|
||||
IntColumn get barGridRows => integer().withDefault(const Constant(3))();
|
||||
|
||||
@override
|
||||
Set<Column> get primaryKey => {id};
|
||||
}
|
||||
@@ -131,7 +132,7 @@ class AppDatabase extends _$AppDatabase {
|
||||
AppDatabase([QueryExecutor? executor]) : super(executor ?? _openConnection());
|
||||
|
||||
@override
|
||||
int get schemaVersion => 7;
|
||||
int get schemaVersion => 8;
|
||||
|
||||
@override
|
||||
MigrationStrategy get migration {
|
||||
@@ -140,6 +141,14 @@ class AppDatabase extends _$AppDatabase {
|
||||
await migrator.createAll();
|
||||
},
|
||||
onUpgrade: (migrator, from, to) async {
|
||||
Future<bool> hasSettingsColumn(String columnName) async {
|
||||
final columns = await migrator.database
|
||||
.customSelect('PRAGMA table_info(app_settings)')
|
||||
.get();
|
||||
|
||||
return columns.any((column) => column.data['name'] == columnName);
|
||||
}
|
||||
|
||||
if (from < 2) {
|
||||
await migrator.createTable(barTabs);
|
||||
await migrator.createTable(tabItems);
|
||||
@@ -162,9 +171,16 @@ class AppDatabase extends _$AppDatabase {
|
||||
await migrator.addColumn(closedTabs, closedTabs.paymentMethod);
|
||||
}
|
||||
|
||||
if (from < 7) {
|
||||
if (from < 7 && !await hasSettingsColumn('language')) {
|
||||
await migrator.addColumn(appSettingsTable, appSettingsTable.language);
|
||||
}
|
||||
|
||||
if (from < 8 && !await hasSettingsColumn('bar_grid_rows')) {
|
||||
await migrator.addColumn(
|
||||
appSettingsTable,
|
||||
appSettingsTable.barGridRows,
|
||||
);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2231,8 +2231,26 @@ class $AppSettingsTableTable extends AppSettingsTable
|
||||
requiredDuringInsert: false,
|
||||
defaultValue: const Constant('system'),
|
||||
);
|
||||
static const VerificationMeta _barGridRowsMeta = const VerificationMeta(
|
||||
'barGridRows',
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [id, pinRequired, themeMode, language];
|
||||
late final GeneratedColumn<int> barGridRows = GeneratedColumn<int>(
|
||||
'bar_grid_rows',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: false,
|
||||
defaultValue: const Constant(3),
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [
|
||||
id,
|
||||
pinRequired,
|
||||
themeMode,
|
||||
language,
|
||||
barGridRows,
|
||||
];
|
||||
@override
|
||||
String get aliasedName => _alias ?? actualTableName;
|
||||
@override
|
||||
@@ -2271,6 +2289,15 @@ class $AppSettingsTableTable extends AppSettingsTable
|
||||
language.isAcceptableOrUnknown(data['language']!, _languageMeta),
|
||||
);
|
||||
}
|
||||
if (data.containsKey('bar_grid_rows')) {
|
||||
context.handle(
|
||||
_barGridRowsMeta,
|
||||
barGridRows.isAcceptableOrUnknown(
|
||||
data['bar_grid_rows']!,
|
||||
_barGridRowsMeta,
|
||||
),
|
||||
);
|
||||
}
|
||||
return context;
|
||||
}
|
||||
|
||||
@@ -2296,6 +2323,10 @@ class $AppSettingsTableTable extends AppSettingsTable
|
||||
DriftSqlType.string,
|
||||
data['${effectivePrefix}language'],
|
||||
)!,
|
||||
barGridRows: attachedDatabase.typeMapping.read(
|
||||
DriftSqlType.int,
|
||||
data['${effectivePrefix}bar_grid_rows'],
|
||||
)!,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2310,11 +2341,13 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
|
||||
final bool pinRequired;
|
||||
final String themeMode;
|
||||
final String language;
|
||||
final int barGridRows;
|
||||
const AppSettingsRow({
|
||||
required this.id,
|
||||
required this.pinRequired,
|
||||
required this.themeMode,
|
||||
required this.language,
|
||||
required this.barGridRows,
|
||||
});
|
||||
@override
|
||||
Map<String, Expression> toColumns(bool nullToAbsent) {
|
||||
@@ -2323,6 +2356,7 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
|
||||
map['pin_required'] = Variable<bool>(pinRequired);
|
||||
map['theme_mode'] = Variable<String>(themeMode);
|
||||
map['language'] = Variable<String>(language);
|
||||
map['bar_grid_rows'] = Variable<int>(barGridRows);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -2332,6 +2366,7 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
|
||||
pinRequired: Value(pinRequired),
|
||||
themeMode: Value(themeMode),
|
||||
language: Value(language),
|
||||
barGridRows: Value(barGridRows),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2345,6 +2380,7 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
|
||||
pinRequired: serializer.fromJson<bool>(json['pinRequired']),
|
||||
themeMode: serializer.fromJson<String>(json['themeMode']),
|
||||
language: serializer.fromJson<String>(json['language']),
|
||||
barGridRows: serializer.fromJson<int>(json['barGridRows']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -2355,6 +2391,7 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
|
||||
'pinRequired': serializer.toJson<bool>(pinRequired),
|
||||
'themeMode': serializer.toJson<String>(themeMode),
|
||||
'language': serializer.toJson<String>(language),
|
||||
'barGridRows': serializer.toJson<int>(barGridRows),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2363,11 +2400,13 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
|
||||
bool? pinRequired,
|
||||
String? themeMode,
|
||||
String? language,
|
||||
int? barGridRows,
|
||||
}) => AppSettingsRow(
|
||||
id: id ?? this.id,
|
||||
pinRequired: pinRequired ?? this.pinRequired,
|
||||
themeMode: themeMode ?? this.themeMode,
|
||||
language: language ?? this.language,
|
||||
barGridRows: barGridRows ?? this.barGridRows,
|
||||
);
|
||||
AppSettingsRow copyWithCompanion(AppSettingsTableCompanion data) {
|
||||
return AppSettingsRow(
|
||||
@@ -2377,6 +2416,9 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
|
||||
: this.pinRequired,
|
||||
themeMode: data.themeMode.present ? data.themeMode.value : this.themeMode,
|
||||
language: data.language.present ? data.language.value : this.language,
|
||||
barGridRows: data.barGridRows.present
|
||||
? data.barGridRows.value
|
||||
: this.barGridRows,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2386,13 +2428,15 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
|
||||
..write('id: $id, ')
|
||||
..write('pinRequired: $pinRequired, ')
|
||||
..write('themeMode: $themeMode, ')
|
||||
..write('language: $language')
|
||||
..write('language: $language, ')
|
||||
..write('barGridRows: $barGridRows')
|
||||
..write(')'))
|
||||
.toString();
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(id, pinRequired, themeMode, language);
|
||||
int get hashCode =>
|
||||
Object.hash(id, pinRequired, themeMode, language, barGridRows);
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
@@ -2400,7 +2444,8 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
|
||||
other.id == this.id &&
|
||||
other.pinRequired == this.pinRequired &&
|
||||
other.themeMode == this.themeMode &&
|
||||
other.language == this.language);
|
||||
other.language == this.language &&
|
||||
other.barGridRows == this.barGridRows);
|
||||
}
|
||||
|
||||
class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
|
||||
@@ -2408,12 +2453,14 @@ class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
|
||||
final Value<bool> pinRequired;
|
||||
final Value<String> themeMode;
|
||||
final Value<String> language;
|
||||
final Value<int> barGridRows;
|
||||
final Value<int> rowid;
|
||||
const AppSettingsTableCompanion({
|
||||
this.id = const Value.absent(),
|
||||
this.pinRequired = const Value.absent(),
|
||||
this.themeMode = const Value.absent(),
|
||||
this.language = const Value.absent(),
|
||||
this.barGridRows = const Value.absent(),
|
||||
this.rowid = const Value.absent(),
|
||||
});
|
||||
AppSettingsTableCompanion.insert({
|
||||
@@ -2421,6 +2468,7 @@ class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
|
||||
this.pinRequired = const Value.absent(),
|
||||
this.themeMode = const Value.absent(),
|
||||
this.language = const Value.absent(),
|
||||
this.barGridRows = const Value.absent(),
|
||||
this.rowid = const Value.absent(),
|
||||
}) : id = Value(id);
|
||||
static Insertable<AppSettingsRow> custom({
|
||||
@@ -2428,6 +2476,7 @@ class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
|
||||
Expression<bool>? pinRequired,
|
||||
Expression<String>? themeMode,
|
||||
Expression<String>? language,
|
||||
Expression<int>? barGridRows,
|
||||
Expression<int>? rowid,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
@@ -2435,6 +2484,7 @@ class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
|
||||
if (pinRequired != null) 'pin_required': pinRequired,
|
||||
if (themeMode != null) 'theme_mode': themeMode,
|
||||
if (language != null) 'language': language,
|
||||
if (barGridRows != null) 'bar_grid_rows': barGridRows,
|
||||
if (rowid != null) 'rowid': rowid,
|
||||
});
|
||||
}
|
||||
@@ -2444,6 +2494,7 @@ class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
|
||||
Value<bool>? pinRequired,
|
||||
Value<String>? themeMode,
|
||||
Value<String>? language,
|
||||
Value<int>? barGridRows,
|
||||
Value<int>? rowid,
|
||||
}) {
|
||||
return AppSettingsTableCompanion(
|
||||
@@ -2451,6 +2502,7 @@ class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
|
||||
pinRequired: pinRequired ?? this.pinRequired,
|
||||
themeMode: themeMode ?? this.themeMode,
|
||||
language: language ?? this.language,
|
||||
barGridRows: barGridRows ?? this.barGridRows,
|
||||
rowid: rowid ?? this.rowid,
|
||||
);
|
||||
}
|
||||
@@ -2470,6 +2522,9 @@ class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
|
||||
if (language.present) {
|
||||
map['language'] = Variable<String>(language.value);
|
||||
}
|
||||
if (barGridRows.present) {
|
||||
map['bar_grid_rows'] = Variable<int>(barGridRows.value);
|
||||
}
|
||||
if (rowid.present) {
|
||||
map['rowid'] = Variable<int>(rowid.value);
|
||||
}
|
||||
@@ -2483,6 +2538,7 @@ class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
|
||||
..write('pinRequired: $pinRequired, ')
|
||||
..write('themeMode: $themeMode, ')
|
||||
..write('language: $language, ')
|
||||
..write('barGridRows: $barGridRows, ')
|
||||
..write('rowid: $rowid')
|
||||
..write(')'))
|
||||
.toString();
|
||||
@@ -4071,6 +4127,7 @@ typedef $$AppSettingsTableTableCreateCompanionBuilder =
|
||||
Value<bool> pinRequired,
|
||||
Value<String> themeMode,
|
||||
Value<String> language,
|
||||
Value<int> barGridRows,
|
||||
Value<int> rowid,
|
||||
});
|
||||
typedef $$AppSettingsTableTableUpdateCompanionBuilder =
|
||||
@@ -4079,6 +4136,7 @@ typedef $$AppSettingsTableTableUpdateCompanionBuilder =
|
||||
Value<bool> pinRequired,
|
||||
Value<String> themeMode,
|
||||
Value<String> language,
|
||||
Value<int> barGridRows,
|
||||
Value<int> rowid,
|
||||
});
|
||||
|
||||
@@ -4110,6 +4168,11 @@ class $$AppSettingsTableTableFilterComposer
|
||||
column: $table.language,
|
||||
builder: (column) => ColumnFilters(column),
|
||||
);
|
||||
|
||||
ColumnFilters<int> get barGridRows => $composableBuilder(
|
||||
column: $table.barGridRows,
|
||||
builder: (column) => ColumnFilters(column),
|
||||
);
|
||||
}
|
||||
|
||||
class $$AppSettingsTableTableOrderingComposer
|
||||
@@ -4140,6 +4203,11 @@ class $$AppSettingsTableTableOrderingComposer
|
||||
column: $table.language,
|
||||
builder: (column) => ColumnOrderings(column),
|
||||
);
|
||||
|
||||
ColumnOrderings<int> get barGridRows => $composableBuilder(
|
||||
column: $table.barGridRows,
|
||||
builder: (column) => ColumnOrderings(column),
|
||||
);
|
||||
}
|
||||
|
||||
class $$AppSettingsTableTableAnnotationComposer
|
||||
@@ -4164,6 +4232,11 @@ class $$AppSettingsTableTableAnnotationComposer
|
||||
|
||||
GeneratedColumn<String> get language =>
|
||||
$composableBuilder(column: $table.language, builder: (column) => column);
|
||||
|
||||
GeneratedColumn<int> get barGridRows => $composableBuilder(
|
||||
column: $table.barGridRows,
|
||||
builder: (column) => column,
|
||||
);
|
||||
}
|
||||
|
||||
class $$AppSettingsTableTableTableManager
|
||||
@@ -4207,12 +4280,14 @@ class $$AppSettingsTableTableTableManager
|
||||
Value<bool> pinRequired = const Value.absent(),
|
||||
Value<String> themeMode = const Value.absent(),
|
||||
Value<String> language = const Value.absent(),
|
||||
Value<int> barGridRows = const Value.absent(),
|
||||
Value<int> rowid = const Value.absent(),
|
||||
}) => AppSettingsTableCompanion(
|
||||
id: id,
|
||||
pinRequired: pinRequired,
|
||||
themeMode: themeMode,
|
||||
language: language,
|
||||
barGridRows: barGridRows,
|
||||
rowid: rowid,
|
||||
),
|
||||
createCompanionCallback:
|
||||
@@ -4221,12 +4296,14 @@ class $$AppSettingsTableTableTableManager
|
||||
Value<bool> pinRequired = const Value.absent(),
|
||||
Value<String> themeMode = const Value.absent(),
|
||||
Value<String> language = const Value.absent(),
|
||||
Value<int> barGridRows = const Value.absent(),
|
||||
Value<int> rowid = const Value.absent(),
|
||||
}) => AppSettingsTableCompanion.insert(
|
||||
id: id,
|
||||
pinRequired: pinRequired,
|
||||
themeMode: themeMode,
|
||||
language: language,
|
||||
barGridRows: barGridRows,
|
||||
rowid: rowid,
|
||||
),
|
||||
withReferenceMapper: (p0) => p0
|
||||
|
||||
Reference in New Issue
Block a user