Initial and done prolly

This commit is contained in:
Andrew 2025-01-05 16:01:21 +07:00
commit 6f88b9966f
175 changed files with 15445 additions and 0 deletions

View file

@ -0,0 +1,15 @@
import 'package:drift/drift.dart';
import 'package:groceries_manager/db/tables/product_category.dart';
import 'package:groceries_manager/db/tables/storage_location.dart';
class Product extends Table {
IntColumn get id => integer().autoIncrement()();
TextColumn get name => text()();
IntColumn get category => integer().references(ProductCategory, #id)();
IntColumn get storage => integer().references(StorageLocation, #id)();
RealColumn get quantity => real()();
TextColumn get unit => text()();
DateTimeColumn get purchaseDate => dateTime().nullable()();
DateTimeColumn get expiryDate => dateTime().nullable()();
TextColumn get barcode => text().withLength(max: 20)();
}

View file

@ -0,0 +1,7 @@
import 'package:drift/drift.dart';
class ProductCategory extends Table {
IntColumn get id => integer().autoIncrement()();
TextColumn get name => text()();
TextColumn get icon => text()();
}

View file

@ -0,0 +1,16 @@
import 'package:drift/drift.dart';
import 'product_category.dart';
import 'storage_location.dart';
class ShoppingListItem extends Table {
IntColumn get id => integer().autoIncrement()();
TextColumn get name => text()();
IntColumn get category => integer().references(ProductCategory, #id)();
IntColumn get storage => integer().references(StorageLocation, #id)();
RealColumn get quantity => real()();
TextColumn get unit => text()();
BoolColumn get isPurchased => boolean().withDefault(const Constant(false))();
DateTimeColumn get dateAdded =>
dateTime().withDefault(currentDateAndTime).nullable()();
}

View file

@ -0,0 +1,10 @@
import 'package:drift/drift.dart';
class StorageLocation extends Table {
IntColumn get id => integer().autoIncrement()();
TextColumn get name => text()();
TextColumn get description => text()();
TextColumn get temperatureMode => text()();
TextColumn get icon => text()();
BoolColumn get isDefault => boolean().withDefault(const Constant(false))();
}

View file

@ -0,0 +1,7 @@
import 'package:drift/drift.dart';
class User extends Table {
IntColumn get id => integer().autoIncrement()();
TextColumn get login => text().unique()();
TextColumn get password => text()();
}