mirror of https://github.com/AMT-Cheif/drift.git
Use aliases in the operations
This commit is contained in:
parent
df2a681410
commit
9ca52d7f87
|
@ -10,12 +10,15 @@ class Category {
|
|||
final int id;
|
||||
final String description;
|
||||
Category({this.id, this.description});
|
||||
factory Category.fromData(Map<String, dynamic> data, GeneratedDatabase db) {
|
||||
factory Category.fromData(Map<String, dynamic> data, GeneratedDatabase db,
|
||||
{String alias}) {
|
||||
final effectivePrefix = alias != null ? '$alias.' : '';
|
||||
final intType = db.typeSystem.forDartType<int>();
|
||||
final stringType = db.typeSystem.forDartType<String>();
|
||||
return Category(
|
||||
id: intType.mapFromDatabaseResponse(data['id']),
|
||||
description: stringType.mapFromDatabaseResponse(data['description']),
|
||||
id: intType.mapFromDatabaseResponse(data['${effectivePrefix}id']),
|
||||
description: stringType
|
||||
.mapFromDatabaseResponse(data['${effectivePrefix}description']),
|
||||
);
|
||||
}
|
||||
factory Category.fromJson(Map<String, dynamic> json) {
|
||||
|
@ -59,14 +62,26 @@ class $CategoriesTable extends Categories
|
|||
$CategoriesTable(this._db, [this._alias]);
|
||||
GeneratedIntColumn _id;
|
||||
@override
|
||||
GeneratedIntColumn get id =>
|
||||
_id ??= GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
GeneratedIntColumn get id => _id ??= _constructId();
|
||||
GeneratedIntColumn _constructId() {
|
||||
var cName = 'id';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
}
|
||||
|
||||
GeneratedTextColumn _description;
|
||||
@override
|
||||
GeneratedTextColumn get description => _description ??= GeneratedTextColumn(
|
||||
'description',
|
||||
true,
|
||||
);
|
||||
GeneratedTextColumn get description =>
|
||||
_description ??= _constructDescription();
|
||||
GeneratedTextColumn _constructDescription() {
|
||||
var cName = 'description';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedTextColumn(
|
||||
'description',
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [id, description];
|
||||
@override
|
||||
|
@ -108,14 +123,19 @@ class Recipe {
|
|||
final String instructions;
|
||||
final int category;
|
||||
Recipe({this.id, this.title, this.instructions, this.category});
|
||||
factory Recipe.fromData(Map<String, dynamic> data, GeneratedDatabase db) {
|
||||
factory Recipe.fromData(Map<String, dynamic> data, GeneratedDatabase db,
|
||||
{String alias}) {
|
||||
final effectivePrefix = alias != null ? '$alias.' : '';
|
||||
final intType = db.typeSystem.forDartType<int>();
|
||||
final stringType = db.typeSystem.forDartType<String>();
|
||||
return Recipe(
|
||||
id: intType.mapFromDatabaseResponse(data['id']),
|
||||
title: stringType.mapFromDatabaseResponse(data['title']),
|
||||
instructions: stringType.mapFromDatabaseResponse(data['instructions']),
|
||||
category: intType.mapFromDatabaseResponse(data['category']),
|
||||
id: intType.mapFromDatabaseResponse(data['${effectivePrefix}id']),
|
||||
title:
|
||||
stringType.mapFromDatabaseResponse(data['${effectivePrefix}title']),
|
||||
instructions: stringType
|
||||
.mapFromDatabaseResponse(data['${effectivePrefix}instructions']),
|
||||
category:
|
||||
intType.mapFromDatabaseResponse(data['${effectivePrefix}category']),
|
||||
);
|
||||
}
|
||||
factory Recipe.fromJson(Map<String, dynamic> json) {
|
||||
|
@ -174,24 +194,47 @@ class $RecipesTable extends Recipes implements TableInfo<Recipes, Recipe> {
|
|||
$RecipesTable(this._db, [this._alias]);
|
||||
GeneratedIntColumn _id;
|
||||
@override
|
||||
GeneratedIntColumn get id =>
|
||||
_id ??= GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
GeneratedIntColumn get id => _id ??= _constructId();
|
||||
GeneratedIntColumn _constructId() {
|
||||
var cName = 'id';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
}
|
||||
|
||||
GeneratedTextColumn _title;
|
||||
@override
|
||||
GeneratedTextColumn get title =>
|
||||
_title ??= GeneratedTextColumn('title', false, maxTextLength: 16);
|
||||
GeneratedTextColumn get title => _title ??= _constructTitle();
|
||||
GeneratedTextColumn _constructTitle() {
|
||||
var cName = 'title';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedTextColumn('title', false, maxTextLength: 16);
|
||||
}
|
||||
|
||||
GeneratedTextColumn _instructions;
|
||||
@override
|
||||
GeneratedTextColumn get instructions => _instructions ??= GeneratedTextColumn(
|
||||
'instructions',
|
||||
false,
|
||||
);
|
||||
GeneratedTextColumn get instructions =>
|
||||
_instructions ??= _constructInstructions();
|
||||
GeneratedTextColumn _constructInstructions() {
|
||||
var cName = 'instructions';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedTextColumn(
|
||||
'instructions',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
GeneratedIntColumn _category;
|
||||
@override
|
||||
GeneratedIntColumn get category => _category ??= GeneratedIntColumn(
|
||||
'category',
|
||||
true,
|
||||
);
|
||||
GeneratedIntColumn get category => _category ??= _constructCategory();
|
||||
GeneratedIntColumn _constructCategory() {
|
||||
var cName = 'category';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn(
|
||||
'category',
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [id, title, instructions, category];
|
||||
@override
|
||||
|
@ -240,13 +283,16 @@ class Ingredient {
|
|||
final String name;
|
||||
final int caloriesPer100g;
|
||||
Ingredient({this.id, this.name, this.caloriesPer100g});
|
||||
factory Ingredient.fromData(Map<String, dynamic> data, GeneratedDatabase db) {
|
||||
factory Ingredient.fromData(Map<String, dynamic> data, GeneratedDatabase db,
|
||||
{String alias}) {
|
||||
final effectivePrefix = alias != null ? '$alias.' : '';
|
||||
final intType = db.typeSystem.forDartType<int>();
|
||||
final stringType = db.typeSystem.forDartType<String>();
|
||||
return Ingredient(
|
||||
id: intType.mapFromDatabaseResponse(data['id']),
|
||||
name: stringType.mapFromDatabaseResponse(data['name']),
|
||||
caloriesPer100g: intType.mapFromDatabaseResponse(data['calories']),
|
||||
id: intType.mapFromDatabaseResponse(data['${effectivePrefix}id']),
|
||||
name: stringType.mapFromDatabaseResponse(data['${effectivePrefix}name']),
|
||||
caloriesPer100g:
|
||||
intType.mapFromDatabaseResponse(data['${effectivePrefix}calories']),
|
||||
);
|
||||
}
|
||||
factory Ingredient.fromJson(Map<String, dynamic> json) {
|
||||
|
@ -298,21 +344,38 @@ class $IngredientsTable extends Ingredients
|
|||
$IngredientsTable(this._db, [this._alias]);
|
||||
GeneratedIntColumn _id;
|
||||
@override
|
||||
GeneratedIntColumn get id =>
|
||||
_id ??= GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
GeneratedIntColumn get id => _id ??= _constructId();
|
||||
GeneratedIntColumn _constructId() {
|
||||
var cName = 'id';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
}
|
||||
|
||||
GeneratedTextColumn _name;
|
||||
@override
|
||||
GeneratedTextColumn get name => _name ??= GeneratedTextColumn(
|
||||
'name',
|
||||
false,
|
||||
);
|
||||
GeneratedTextColumn get name => _name ??= _constructName();
|
||||
GeneratedTextColumn _constructName() {
|
||||
var cName = 'name';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedTextColumn(
|
||||
'name',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
GeneratedIntColumn _caloriesPer100g;
|
||||
@override
|
||||
GeneratedIntColumn get caloriesPer100g =>
|
||||
_caloriesPer100g ??= GeneratedIntColumn(
|
||||
'calories',
|
||||
false,
|
||||
);
|
||||
_caloriesPer100g ??= _constructCaloriesPer100g();
|
||||
GeneratedIntColumn _constructCaloriesPer100g() {
|
||||
var cName = 'calories';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn(
|
||||
'calories',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [id, name, caloriesPer100g];
|
||||
@override
|
||||
|
@ -358,12 +421,16 @@ class IngredientInRecipe {
|
|||
final int amountInGrams;
|
||||
IngredientInRecipe({this.recipe, this.ingredient, this.amountInGrams});
|
||||
factory IngredientInRecipe.fromData(
|
||||
Map<String, dynamic> data, GeneratedDatabase db) {
|
||||
Map<String, dynamic> data, GeneratedDatabase db,
|
||||
{String alias}) {
|
||||
final effectivePrefix = alias != null ? '$alias.' : '';
|
||||
final intType = db.typeSystem.forDartType<int>();
|
||||
return IngredientInRecipe(
|
||||
recipe: intType.mapFromDatabaseResponse(data['recipe']),
|
||||
ingredient: intType.mapFromDatabaseResponse(data['ingredient']),
|
||||
amountInGrams: intType.mapFromDatabaseResponse(data['amount']),
|
||||
recipe: intType.mapFromDatabaseResponse(data['${effectivePrefix}recipe']),
|
||||
ingredient:
|
||||
intType.mapFromDatabaseResponse(data['${effectivePrefix}ingredient']),
|
||||
amountInGrams:
|
||||
intType.mapFromDatabaseResponse(data['${effectivePrefix}amount']),
|
||||
);
|
||||
}
|
||||
factory IngredientInRecipe.fromJson(Map<String, dynamic> json) {
|
||||
|
@ -418,22 +485,41 @@ class $IngredientInRecipesTable extends IngredientInRecipes
|
|||
$IngredientInRecipesTable(this._db, [this._alias]);
|
||||
GeneratedIntColumn _recipe;
|
||||
@override
|
||||
GeneratedIntColumn get recipe => _recipe ??= GeneratedIntColumn(
|
||||
'recipe',
|
||||
false,
|
||||
);
|
||||
GeneratedIntColumn get recipe => _recipe ??= _constructRecipe();
|
||||
GeneratedIntColumn _constructRecipe() {
|
||||
var cName = 'recipe';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn(
|
||||
'recipe',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
GeneratedIntColumn _ingredient;
|
||||
@override
|
||||
GeneratedIntColumn get ingredient => _ingredient ??= GeneratedIntColumn(
|
||||
'ingredient',
|
||||
false,
|
||||
);
|
||||
GeneratedIntColumn get ingredient => _ingredient ??= _constructIngredient();
|
||||
GeneratedIntColumn _constructIngredient() {
|
||||
var cName = 'ingredient';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn(
|
||||
'ingredient',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
GeneratedIntColumn _amountInGrams;
|
||||
@override
|
||||
GeneratedIntColumn get amountInGrams => _amountInGrams ??= GeneratedIntColumn(
|
||||
'amount',
|
||||
false,
|
||||
);
|
||||
GeneratedIntColumn get amountInGrams =>
|
||||
_amountInGrams ??= _constructAmountInGrams();
|
||||
GeneratedIntColumn _constructAmountInGrams() {
|
||||
var cName = 'amount';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn(
|
||||
'amount',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [recipe, ingredient, amountInGrams];
|
||||
@override
|
||||
|
|
|
@ -14,16 +14,22 @@ class TodoEntry {
|
|||
final int category;
|
||||
TodoEntry(
|
||||
{this.id, this.title, this.content, this.targetDate, this.category});
|
||||
factory TodoEntry.fromData(Map<String, dynamic> data, GeneratedDatabase db) {
|
||||
factory TodoEntry.fromData(Map<String, dynamic> data, GeneratedDatabase db,
|
||||
{String alias}) {
|
||||
final effectivePrefix = alias != null ? '$alias.' : '';
|
||||
final intType = db.typeSystem.forDartType<int>();
|
||||
final stringType = db.typeSystem.forDartType<String>();
|
||||
final dateTimeType = db.typeSystem.forDartType<DateTime>();
|
||||
return TodoEntry(
|
||||
id: intType.mapFromDatabaseResponse(data['id']),
|
||||
title: stringType.mapFromDatabaseResponse(data['title']),
|
||||
content: stringType.mapFromDatabaseResponse(data['content']),
|
||||
targetDate: dateTimeType.mapFromDatabaseResponse(data['target_date']),
|
||||
category: intType.mapFromDatabaseResponse(data['category']),
|
||||
id: intType.mapFromDatabaseResponse(data['${effectivePrefix}id']),
|
||||
title:
|
||||
stringType.mapFromDatabaseResponse(data['${effectivePrefix}title']),
|
||||
content:
|
||||
stringType.mapFromDatabaseResponse(data['${effectivePrefix}content']),
|
||||
targetDate: dateTimeType
|
||||
.mapFromDatabaseResponse(data['${effectivePrefix}target_date']),
|
||||
category:
|
||||
intType.mapFromDatabaseResponse(data['${effectivePrefix}category']),
|
||||
);
|
||||
}
|
||||
factory TodoEntry.fromJson(Map<String, dynamic> json) {
|
||||
|
@ -94,31 +100,60 @@ class $TodosTableTable extends TodosTable
|
|||
$TodosTableTable(this._db, [this._alias]);
|
||||
GeneratedIntColumn _id;
|
||||
@override
|
||||
GeneratedIntColumn get id =>
|
||||
_id ??= GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
GeneratedIntColumn get id => _id ??= _constructId();
|
||||
GeneratedIntColumn _constructId() {
|
||||
var cName = 'id';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
}
|
||||
|
||||
GeneratedTextColumn _title;
|
||||
@override
|
||||
GeneratedTextColumn get title => _title ??=
|
||||
GeneratedTextColumn('title', true, minTextLength: 4, maxTextLength: 16);
|
||||
GeneratedTextColumn get title => _title ??= _constructTitle();
|
||||
GeneratedTextColumn _constructTitle() {
|
||||
var cName = 'title';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedTextColumn('title', true,
|
||||
minTextLength: 4, maxTextLength: 16);
|
||||
}
|
||||
|
||||
GeneratedTextColumn _content;
|
||||
@override
|
||||
GeneratedTextColumn get content => _content ??= GeneratedTextColumn(
|
||||
'content',
|
||||
false,
|
||||
);
|
||||
GeneratedTextColumn get content => _content ??= _constructContent();
|
||||
GeneratedTextColumn _constructContent() {
|
||||
var cName = 'content';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedTextColumn(
|
||||
'content',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
GeneratedDateTimeColumn _targetDate;
|
||||
@override
|
||||
GeneratedDateTimeColumn get targetDate =>
|
||||
_targetDate ??= GeneratedDateTimeColumn(
|
||||
'target_date',
|
||||
true,
|
||||
);
|
||||
_targetDate ??= _constructTargetDate();
|
||||
GeneratedDateTimeColumn _constructTargetDate() {
|
||||
var cName = 'target_date';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedDateTimeColumn(
|
||||
'target_date',
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
GeneratedIntColumn _category;
|
||||
@override
|
||||
GeneratedIntColumn get category => _category ??= GeneratedIntColumn(
|
||||
'category',
|
||||
true,
|
||||
);
|
||||
GeneratedIntColumn get category => _category ??= _constructCategory();
|
||||
GeneratedIntColumn _constructCategory() {
|
||||
var cName = 'category';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn(
|
||||
'category',
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<GeneratedColumn> get $columns =>
|
||||
[id, title, content, targetDate, category];
|
||||
|
@ -171,12 +206,15 @@ class Category {
|
|||
final int id;
|
||||
final String description;
|
||||
Category({this.id, this.description});
|
||||
factory Category.fromData(Map<String, dynamic> data, GeneratedDatabase db) {
|
||||
factory Category.fromData(Map<String, dynamic> data, GeneratedDatabase db,
|
||||
{String alias}) {
|
||||
final effectivePrefix = alias != null ? '$alias.' : '';
|
||||
final intType = db.typeSystem.forDartType<int>();
|
||||
final stringType = db.typeSystem.forDartType<String>();
|
||||
return Category(
|
||||
id: intType.mapFromDatabaseResponse(data['id']),
|
||||
description: stringType.mapFromDatabaseResponse(data['`desc`']),
|
||||
id: intType.mapFromDatabaseResponse(data['${effectivePrefix}id']),
|
||||
description:
|
||||
stringType.mapFromDatabaseResponse(data['${effectivePrefix}`desc`']),
|
||||
);
|
||||
}
|
||||
factory Category.fromJson(Map<String, dynamic> json) {
|
||||
|
@ -220,13 +258,24 @@ class $CategoriesTable extends Categories
|
|||
$CategoriesTable(this._db, [this._alias]);
|
||||
GeneratedIntColumn _id;
|
||||
@override
|
||||
GeneratedIntColumn get id =>
|
||||
_id ??= GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
GeneratedIntColumn get id => _id ??= _constructId();
|
||||
GeneratedIntColumn _constructId() {
|
||||
var cName = 'id';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
}
|
||||
|
||||
GeneratedTextColumn _description;
|
||||
@override
|
||||
GeneratedTextColumn get description =>
|
||||
_description ??= GeneratedTextColumn('`desc`', false,
|
||||
$customConstraints: 'NOT NULL UNIQUE');
|
||||
_description ??= _constructDescription();
|
||||
GeneratedTextColumn _constructDescription() {
|
||||
var cName = '`desc`';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedTextColumn('`desc`', false,
|
||||
$customConstraints: 'NOT NULL UNIQUE');
|
||||
}
|
||||
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [id, description];
|
||||
@override
|
||||
|
@ -268,17 +317,20 @@ class User {
|
|||
final bool isAwesome;
|
||||
final Uint8List profilePicture;
|
||||
User({this.id, this.name, this.isAwesome, this.profilePicture});
|
||||
factory User.fromData(Map<String, dynamic> data, GeneratedDatabase db) {
|
||||
factory User.fromData(Map<String, dynamic> data, GeneratedDatabase db,
|
||||
{String alias}) {
|
||||
final effectivePrefix = alias != null ? '$alias.' : '';
|
||||
final intType = db.typeSystem.forDartType<int>();
|
||||
final stringType = db.typeSystem.forDartType<String>();
|
||||
final boolType = db.typeSystem.forDartType<bool>();
|
||||
final uint8ListType = db.typeSystem.forDartType<Uint8List>();
|
||||
return User(
|
||||
id: intType.mapFromDatabaseResponse(data['id']),
|
||||
name: stringType.mapFromDatabaseResponse(data['name']),
|
||||
isAwesome: boolType.mapFromDatabaseResponse(data['is_awesome']),
|
||||
profilePicture:
|
||||
uint8ListType.mapFromDatabaseResponse(data['profile_picture']),
|
||||
id: intType.mapFromDatabaseResponse(data['${effectivePrefix}id']),
|
||||
name: stringType.mapFromDatabaseResponse(data['${effectivePrefix}name']),
|
||||
isAwesome: boolType
|
||||
.mapFromDatabaseResponse(data['${effectivePrefix}is_awesome']),
|
||||
profilePicture: uint8ListType
|
||||
.mapFromDatabaseResponse(data['${effectivePrefix}profile_picture']),
|
||||
);
|
||||
}
|
||||
factory User.fromJson(Map<String, dynamic> json) {
|
||||
|
@ -337,25 +389,48 @@ class $UsersTable extends Users implements TableInfo<Users, User> {
|
|||
$UsersTable(this._db, [this._alias]);
|
||||
GeneratedIntColumn _id;
|
||||
@override
|
||||
GeneratedIntColumn get id =>
|
||||
_id ??= GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
GeneratedIntColumn get id => _id ??= _constructId();
|
||||
GeneratedIntColumn _constructId() {
|
||||
var cName = 'id';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
}
|
||||
|
||||
GeneratedTextColumn _name;
|
||||
@override
|
||||
GeneratedTextColumn get name => _name ??=
|
||||
GeneratedTextColumn('name', false, minTextLength: 6, maxTextLength: 32);
|
||||
GeneratedTextColumn get name => _name ??= _constructName();
|
||||
GeneratedTextColumn _constructName() {
|
||||
var cName = 'name';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedTextColumn('name', false,
|
||||
minTextLength: 6, maxTextLength: 32);
|
||||
}
|
||||
|
||||
GeneratedBoolColumn _isAwesome;
|
||||
@override
|
||||
GeneratedBoolColumn get isAwesome => _isAwesome ??= GeneratedBoolColumn(
|
||||
'is_awesome',
|
||||
false,
|
||||
);
|
||||
GeneratedBoolColumn get isAwesome => _isAwesome ??= _constructIsAwesome();
|
||||
GeneratedBoolColumn _constructIsAwesome() {
|
||||
var cName = 'is_awesome';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedBoolColumn(
|
||||
'is_awesome',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
GeneratedBlobColumn _profilePicture;
|
||||
@override
|
||||
GeneratedBlobColumn get profilePicture =>
|
||||
_profilePicture ??= GeneratedBlobColumn(
|
||||
'profile_picture',
|
||||
false,
|
||||
);
|
||||
_profilePicture ??= _constructProfilePicture();
|
||||
GeneratedBlobColumn _constructProfilePicture() {
|
||||
var cName = 'profile_picture';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedBlobColumn(
|
||||
'profile_picture',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [id, name, isAwesome, profilePicture];
|
||||
@override
|
||||
|
@ -403,11 +478,13 @@ class SharedTodo {
|
|||
final int todo;
|
||||
final int user;
|
||||
SharedTodo({this.todo, this.user});
|
||||
factory SharedTodo.fromData(Map<String, dynamic> data, GeneratedDatabase db) {
|
||||
factory SharedTodo.fromData(Map<String, dynamic> data, GeneratedDatabase db,
|
||||
{String alias}) {
|
||||
final effectivePrefix = alias != null ? '$alias.' : '';
|
||||
final intType = db.typeSystem.forDartType<int>();
|
||||
return SharedTodo(
|
||||
todo: intType.mapFromDatabaseResponse(data['todo']),
|
||||
user: intType.mapFromDatabaseResponse(data['user']),
|
||||
todo: intType.mapFromDatabaseResponse(data['${effectivePrefix}todo']),
|
||||
user: intType.mapFromDatabaseResponse(data['${effectivePrefix}user']),
|
||||
);
|
||||
}
|
||||
factory SharedTodo.fromJson(Map<String, dynamic> json) {
|
||||
|
@ -451,16 +528,28 @@ class $SharedTodosTable extends SharedTodos
|
|||
$SharedTodosTable(this._db, [this._alias]);
|
||||
GeneratedIntColumn _todo;
|
||||
@override
|
||||
GeneratedIntColumn get todo => _todo ??= GeneratedIntColumn(
|
||||
'todo',
|
||||
false,
|
||||
);
|
||||
GeneratedIntColumn get todo => _todo ??= _constructTodo();
|
||||
GeneratedIntColumn _constructTodo() {
|
||||
var cName = 'todo';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn(
|
||||
'todo',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
GeneratedIntColumn _user;
|
||||
@override
|
||||
GeneratedIntColumn get user => _user ??= GeneratedIntColumn(
|
||||
'user',
|
||||
false,
|
||||
);
|
||||
GeneratedIntColumn get user => _user ??= _constructUser();
|
||||
GeneratedIntColumn _constructUser() {
|
||||
var cName = 'user';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn(
|
||||
'user',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [todo, user];
|
||||
@override
|
||||
|
|
|
@ -12,15 +12,20 @@ class TodoEntry {
|
|||
final DateTime targetDate;
|
||||
final int category;
|
||||
TodoEntry({this.id, this.content, this.targetDate, this.category});
|
||||
factory TodoEntry.fromData(Map<String, dynamic> data, GeneratedDatabase db) {
|
||||
factory TodoEntry.fromData(Map<String, dynamic> data, GeneratedDatabase db,
|
||||
{String alias}) {
|
||||
final effectivePrefix = alias != null ? '$alias.' : '';
|
||||
final intType = db.typeSystem.forDartType<int>();
|
||||
final stringType = db.typeSystem.forDartType<String>();
|
||||
final dateTimeType = db.typeSystem.forDartType<DateTime>();
|
||||
return TodoEntry(
|
||||
id: intType.mapFromDatabaseResponse(data['id']),
|
||||
content: stringType.mapFromDatabaseResponse(data['content']),
|
||||
targetDate: dateTimeType.mapFromDatabaseResponse(data['target_date']),
|
||||
category: intType.mapFromDatabaseResponse(data['category']),
|
||||
id: intType.mapFromDatabaseResponse(data['${effectivePrefix}id']),
|
||||
content:
|
||||
stringType.mapFromDatabaseResponse(data['${effectivePrefix}content']),
|
||||
targetDate: dateTimeType
|
||||
.mapFromDatabaseResponse(data['${effectivePrefix}target_date']),
|
||||
category:
|
||||
intType.mapFromDatabaseResponse(data['${effectivePrefix}category']),
|
||||
);
|
||||
}
|
||||
factory TodoEntry.fromJson(Map<String, dynamic> json) {
|
||||
|
@ -80,27 +85,50 @@ class $TodosTable extends Todos implements TableInfo<Todos, TodoEntry> {
|
|||
$TodosTable(this._db, [this._alias]);
|
||||
GeneratedIntColumn _id;
|
||||
@override
|
||||
GeneratedIntColumn get id =>
|
||||
_id ??= GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
GeneratedIntColumn get id => _id ??= _constructId();
|
||||
GeneratedIntColumn _constructId() {
|
||||
var cName = 'id';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
}
|
||||
|
||||
GeneratedTextColumn _content;
|
||||
@override
|
||||
GeneratedTextColumn get content => _content ??= GeneratedTextColumn(
|
||||
'content',
|
||||
false,
|
||||
);
|
||||
GeneratedTextColumn get content => _content ??= _constructContent();
|
||||
GeneratedTextColumn _constructContent() {
|
||||
var cName = 'content';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedTextColumn(
|
||||
'content',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
GeneratedDateTimeColumn _targetDate;
|
||||
@override
|
||||
GeneratedDateTimeColumn get targetDate =>
|
||||
_targetDate ??= GeneratedDateTimeColumn(
|
||||
'target_date',
|
||||
true,
|
||||
);
|
||||
_targetDate ??= _constructTargetDate();
|
||||
GeneratedDateTimeColumn _constructTargetDate() {
|
||||
var cName = 'target_date';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedDateTimeColumn(
|
||||
'target_date',
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
GeneratedIntColumn _category;
|
||||
@override
|
||||
GeneratedIntColumn get category => _category ??= GeneratedIntColumn(
|
||||
'category',
|
||||
true,
|
||||
);
|
||||
GeneratedIntColumn get category => _category ??= _constructCategory();
|
||||
GeneratedIntColumn _constructCategory() {
|
||||
var cName = 'category';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn(
|
||||
'category',
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [id, content, targetDate, category];
|
||||
@override
|
||||
|
@ -148,12 +176,15 @@ class Category {
|
|||
final int id;
|
||||
final String description;
|
||||
Category({this.id, this.description});
|
||||
factory Category.fromData(Map<String, dynamic> data, GeneratedDatabase db) {
|
||||
factory Category.fromData(Map<String, dynamic> data, GeneratedDatabase db,
|
||||
{String alias}) {
|
||||
final effectivePrefix = alias != null ? '$alias.' : '';
|
||||
final intType = db.typeSystem.forDartType<int>();
|
||||
final stringType = db.typeSystem.forDartType<String>();
|
||||
return Category(
|
||||
id: intType.mapFromDatabaseResponse(data['id']),
|
||||
description: stringType.mapFromDatabaseResponse(data['`desc`']),
|
||||
id: intType.mapFromDatabaseResponse(data['${effectivePrefix}id']),
|
||||
description:
|
||||
stringType.mapFromDatabaseResponse(data['${effectivePrefix}`desc`']),
|
||||
);
|
||||
}
|
||||
factory Category.fromJson(Map<String, dynamic> json) {
|
||||
|
@ -197,14 +228,26 @@ class $CategoriesTable extends Categories
|
|||
$CategoriesTable(this._db, [this._alias]);
|
||||
GeneratedIntColumn _id;
|
||||
@override
|
||||
GeneratedIntColumn get id =>
|
||||
_id ??= GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
GeneratedIntColumn get id => _id ??= _constructId();
|
||||
GeneratedIntColumn _constructId() {
|
||||
var cName = 'id';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedIntColumn('id', false, hasAutoIncrement: true);
|
||||
}
|
||||
|
||||
GeneratedTextColumn _description;
|
||||
@override
|
||||
GeneratedTextColumn get description => _description ??= GeneratedTextColumn(
|
||||
'`desc`',
|
||||
false,
|
||||
);
|
||||
GeneratedTextColumn get description =>
|
||||
_description ??= _constructDescription();
|
||||
GeneratedTextColumn _constructDescription() {
|
||||
var cName = '`desc`';
|
||||
if (_alias != null) cName = '$_alias.$cName';
|
||||
return GeneratedTextColumn(
|
||||
'`desc`',
|
||||
false,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [id, description];
|
||||
@override
|
||||
|
|
|
@ -67,8 +67,11 @@ class DataClassWriter {
|
|||
void _writeMappingConstructor(StringBuffer buffer) {
|
||||
final dataClassName = table.dartTypeName;
|
||||
|
||||
buffer.write(
|
||||
'factory $dataClassName.fromData(Map<String, dynamic> data, GeneratedDatabase db) {\n');
|
||||
buffer
|
||||
..write('factory $dataClassName.fromData')
|
||||
..write('(Map<String, dynamic> data, GeneratedDatabase db, ')
|
||||
..write('{String alias}) {\n')
|
||||
..write("final effectivePrefix = alias != null ? '\$alias.' : '';");
|
||||
|
||||
final dartTypeToResolver = <String, String>{};
|
||||
|
||||
|
@ -89,8 +92,8 @@ class DataClassWriter {
|
|||
// id: intType.mapFromDatabaseResponse(data["id])
|
||||
final getter = column.dartGetterName;
|
||||
final resolver = dartTypeToResolver[column.dartTypeName];
|
||||
final typeParser =
|
||||
'$resolver.mapFromDatabaseResponse(data[\'${column.name.name}\'])';
|
||||
final columnName = "'\${effectivePrefix}${column.name.name}'";
|
||||
final typeParser = '$resolver.mapFromDatabaseResponse(data[$columnName])';
|
||||
|
||||
buffer.write('$getter: $typeParser,');
|
||||
}
|
||||
|
|
|
@ -87,6 +87,7 @@ class TableWriter {
|
|||
void _writeColumnGetter(StringBuffer buffer, SpecifiedColumn column) {
|
||||
final isNullable = column.nullable;
|
||||
final additionalParams = <String, String>{};
|
||||
final expressionBuffer = StringBuffer();
|
||||
|
||||
for (var feature in column.features) {
|
||||
if (feature is AutoIncrement) {
|
||||
|
@ -106,9 +107,12 @@ class TableWriter {
|
|||
additionalParams['\$customConstraints'] = "'${column.customConstraints}'";
|
||||
}
|
||||
|
||||
// GeneratedIntColumn('sql_name', isNullable, additionalField: true)
|
||||
final expressionBuffer = StringBuffer()
|
||||
..write(column.implColumnTypeName)
|
||||
// Handle aliasing
|
||||
expressionBuffer
|
||||
..write("var cName = '${column.name.name}';\n")
|
||||
..write("if (_alias != null) cName = '\$_alias.\$cName';\n")
|
||||
// GeneratedIntColumn('sql_name', isNullable, additionalField: true)
|
||||
..write('return ${column.implColumnTypeName}')
|
||||
..write('(\'${column.name.name}\', $isNullable, ');
|
||||
|
||||
var first = true;
|
||||
|
@ -122,9 +126,9 @@ class TableWriter {
|
|||
expressionBuffer..write(name)..write(': ')..write(value);
|
||||
});
|
||||
|
||||
expressionBuffer.write(')');
|
||||
expressionBuffer.write(');');
|
||||
|
||||
writeMemoizedGetter(
|
||||
writeMemoizedGetterWithBody(
|
||||
buffer: buffer,
|
||||
getterName: column.dartGetterName,
|
||||
returnType: column.implColumnTypeName,
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import 'package:meta/meta.dart';
|
||||
import 'package:recase/recase.dart';
|
||||
|
||||
/// Writes the following dart code into the [buffer]:
|
||||
/// ```
|
||||
|
@ -19,3 +20,33 @@ void writeMemoizedGetter(
|
|||
}
|
||||
buffer.write('$returnType get $getterName => _$getterName ??= $code;');
|
||||
}
|
||||
|
||||
/// Writes the following dart code into the [buffer]:
|
||||
/// ```
|
||||
/// ReturnType _getterName;
|
||||
/// ReturnType get getterName => _getterName ??= _constructGetterName();
|
||||
/// ReturnType _constructGetterName() {
|
||||
/// code
|
||||
/// }
|
||||
/// ```
|
||||
/// This means that the generated code will also be responsible for writing the
|
||||
/// return statement and more.
|
||||
void writeMemoizedGetterWithBody(
|
||||
{@required StringBuffer buffer,
|
||||
@required String getterName,
|
||||
@required String returnType,
|
||||
@required String code,
|
||||
bool hasOverride}) {
|
||||
final constructingMethod = '_construct${ReCase(getterName).pascalCase}';
|
||||
|
||||
buffer.write('$returnType _$getterName;\n');
|
||||
if (hasOverride == true) {
|
||||
buffer.write('@override\n');
|
||||
}
|
||||
buffer
|
||||
..write('$returnType get $getterName =>')
|
||||
..write(' _$getterName ??= $constructingMethod();\n')
|
||||
..write('$returnType $constructingMethod() {\n')
|
||||
..write(code)
|
||||
..write('\n}');
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue