Skip to content

Commit a1295e5

Browse files
committed
wip logitem
1 parent c3b213e commit a1295e5

File tree

2 files changed

+43
-68
lines changed

2 files changed

+43
-68
lines changed

lib/models/nutrition/log.dart

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,14 @@
1717
*/
1818

1919
import 'package:json_annotation/json_annotation.dart';
20+
import 'package:powersync/sqlite3.dart' as sqlite;
2021
import 'package:wger/helpers/json.dart';
2122
import 'package:wger/models/nutrition/ingredient.dart';
2223
import 'package:wger/models/nutrition/ingredient_weight_unit.dart';
2324
import 'package:wger/models/nutrition/meal_item.dart';
2425
import 'package:wger/models/nutrition/nutritional_values.dart';
26+
import 'package:wger/models/schema.dart';
27+
import 'package:wger/powersync.dart';
2528

2629
part 'log.g.dart';
2730

@@ -75,6 +78,19 @@ class Log {
7578
amount = mealItem.amount;
7679
}
7780

81+
factory Log.fromRow(sqlite.Row row) {
82+
return Log(
83+
id: row['id'],
84+
mealId: row['meal_id'],
85+
ingredientId: row['ingredient_id'],
86+
weightUnitId: row['weight_unit_id'],
87+
amount: row['amount'],
88+
planId: row['plan_id'],
89+
datetime: row['datetime'],
90+
comment: row['comment'],
91+
);
92+
}
93+
7894
// Boilerplate
7995
factory Log.fromJson(Map<String, dynamic> json) => _$LogFromJson(json);
8096

@@ -89,4 +105,31 @@ class Log {
89105

90106
return ingredient.nutritionalValues / (100 / weight);
91107
}
108+
/*
109+
Future<void> delete() async {
110+
await db.execute('DELETE FROM $logItemsTable WHERE id = ?', [id]);
111+
}
112+
113+
static Future<void> addPhoto(String photoId, String id) async {
114+
await db.execute('UPDATE $logItemsTable SET photo_id = ? WHERE id = ?', [photoId, id]);
115+
}
116+
}
117+
118+
static Stream<List<TodoList>> watchLists() {
119+
// This query is automatically re-run when data in "lists" or "todos" is modified.
120+
return db.watch('SELECT * FROM lists ORDER BY created_at, id').map((results) {
121+
return results.map(TodoList.fromRow).toList(growable: false);
122+
});
123+
}
124+
125+
static Future<TodoList> create(String name) async {
126+
final results = await db.execute('''
127+
INSERT INTO
128+
lists(id, created_at, name, owner_id)
129+
VALUES(uuid(), datetime(), ?, ?)
130+
RETURNING *
131+
''', [name, await getUserId()]);
132+
return TodoList.fromRow(results.first);
133+
}
134+
*/
92135
}

lib/models/nutrition/log_powersync.dart

Lines changed: 0 additions & 68 deletions
This file was deleted.

0 commit comments

Comments
 (0)