Skip to content

Commit 61952a0

Browse files
authored
Merge pull request #51 from sharedstreets/project-points
new point queries
2 parents 2fd998e + 301b1dc commit 61952a0

File tree

3 files changed

+29
-7
lines changed

3 files changed

+29
-7
lines changed

lib/database/survey_point_dao.dart

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'package:moor_flutter/moor_flutter.dart';
33

44
part 'survey_point_dao.g.dart';
55

6-
@UseDao(tables: [SurveyPoints])
6+
@UseDao(tables: [SurveyPoints, SurveyItems, Surveys])
77
class SurveyPointDao extends DatabaseAccessor<CurbWheelDatabase>
88
with _$SurveyPointDaoMixin {
99
SurveyPointDao(CurbWheelDatabase db) : super(db);
@@ -12,9 +12,6 @@ class SurveyPointDao extends DatabaseAccessor<CurbWheelDatabase>
1212

1313
Stream<List<SurveyPoint>> watchAllPoints() => select(surveyPoints).watch();
1414

15-
Future<List<SurveyPoint>> getPointsBySurveyItemId(String surveyItemId) =>
16-
select(surveyPoints).get();
17-
1815
Future insertPoint(SurveyPointsCompanion surveyPoint) =>
1916
into(surveyPoints).insert(surveyPoint);
2017

@@ -23,4 +20,27 @@ class SurveyPointDao extends DatabaseAccessor<CurbWheelDatabase>
2320

2421
Future deletePoint(SurveyPoint surveyPoint) =>
2522
delete(surveyPoints).delete(surveyPoint);
23+
24+
Future<List<SurveyPoint>> getPointsBySurveyItemId(String surveyItemId) =>
25+
(select(surveyPoints)..where((sp) => sp.surveyItemId.equals(surveyItemId))).get();
26+
27+
Future<List<SurveyPoint>> getPointsBySurveyId(String surveyId) =>
28+
(select(surveyPoints)
29+
..where((t) => surveys.id.equals(surveyId))
30+
..join([
31+
innerJoin(surveyItems,
32+
surveyItems.id.equalsExp(surveyPoints.surveyItemId)),
33+
innerJoin(surveys,
34+
surveys.id.equalsExp(surveyItems.surveyId))
35+
])).get();
36+
37+
Future<List<SurveyPoint>> getPointsByProjectId(String projectId) =>
38+
(select(surveyPoints)
39+
..where((t) => surveys.projectId.equals(projectId))
40+
..join([
41+
innerJoin(surveyItems,
42+
surveyItems.id.equalsExp(surveyPoints.surveyItemId)),
43+
innerJoin(surveys,
44+
surveys.id.equalsExp(surveyItems.surveyId))
45+
])).get();
2646
}

lib/database/survey_point_dao.g.dart

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pubspec.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -786,7 +786,7 @@ packages:
786786
name: sqflite
787787
url: "https://pub.dartlang.org"
788788
source: hosted
789-
version: "1.3.2+3"
789+
version: "1.3.1+2"
790790
sqflite_common:
791791
dependency: transitive
792792
description:
@@ -984,5 +984,5 @@ packages:
984984
source: hosted
985985
version: "2.2.1"
986986
sdks:
987-
dart: ">=2.10.2 <2.11.0"
988-
flutter: ">=1.22.2 <2.0.0"
987+
dart: ">=2.10.0 <2.11.0"
988+
flutter: ">=1.22.0 <2.0.0"

0 commit comments

Comments
 (0)