Skip to content

Commit b06082d

Browse files
committed
feat: add PreparationStepEntity and PreparationRepository
Change name of PreparationEntity to PreparationStepEntity and make PreparationEntity to be a list of PreparationStepEntity. Create interface for PreparationRepository.
1 parent e2d4be9 commit b06082d

File tree

5 files changed

+110
-34
lines changed

5 files changed

+110
-34
lines changed
Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
1+
import 'package:on_time_front/domain/entities/preparation_step_entity.dart';
2+
13
class PreparationEntity {
2-
final int id;
3-
final String preparationName;
4-
final int preparationTime;
5-
final int order;
4+
List<PreparationStepEntity> preparationStepList;
65

76
PreparationEntity({
8-
required this.id,
9-
required this.preparationName,
10-
required this.preparationTime,
11-
required this.order,
7+
required this.preparationStepList,
128
});
139

1410
@override
1511
String toString() {
16-
return 'PreparationEntity(id: $id, preparationName: $preparationName, preparationTime: $preparationTime, order: $order)';
12+
return 'PreparationEntity(preparationStepList: ${preparationStepList.toString()})';
1713
}
1814
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class PreparationStepEntity {
2+
final int id;
3+
final String preparationName;
4+
final int preparationTime;
5+
final int order;
6+
7+
PreparationStepEntity({
8+
required this.id,
9+
required this.preparationName,
10+
required this.preparationTime,
11+
required this.order,
12+
});
13+
14+
@override
15+
String toString() {
16+
return 'PreparationStepEntity(id: $id, preparationName: $preparationName, preparationTime: $preparationTime, order: $order)';
17+
}
18+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import 'package:on_time_front/domain/entities/preparation_entity.dart';
2+
import 'package:on_time_front/domain/entities/preparation_step_entity.dart';
3+
4+
abstract interface class PreparationRepository {
5+
/// Get preparation by [scheduleId]
6+
/// This is for getting preparation by scheduleId
7+
Stream<PreparationEntity> getPreparationByScheduleId(int scheduleId);
8+
9+
/// Get preparationStep by [preparationStepId]
10+
/// This is for getting preparation by preparationStepId
11+
Stream<PreparationStepEntity> getPreparationStepById(int preparationStepId);
12+
13+
/// Create user's default preparation
14+
/// This is for creating default preparation for a user
15+
Future<void> createDefualtPreparation(
16+
PreparationEntity preparationEntity, int userId);
17+
18+
/// Create custom preparation
19+
/// This is for creating custom preparation for a specific schedule
20+
Future<void> createCustomPreparation(
21+
PreparationEntity preparationEntity, int scheduleId);
22+
23+
/// Update preparation
24+
/// This is for updating preparation
25+
Future<void> updatePreparation(PreparationStepEntity preparationEntity);
26+
27+
/// Delete preparation
28+
/// This is for deleting preparation
29+
Future<void> deletePreparation(PreparationEntity preparationEntity);
30+
}

lib/domain/repositories/preperation_repository.dart

Whitespace-only changes.

pubspec.lock

Lines changed: 57 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,23 @@ packages:
55
dependency: transitive
66
description:
77
name: _fe_analyzer_shared
8-
sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab"
8+
sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834
99
url: "https://pub.dev"
1010
source: hosted
11-
version: "76.0.0"
11+
version: "72.0.0"
1212
_macros:
1313
dependency: transitive
1414
description: dart
1515
source: sdk
16-
version: "0.3.3"
16+
version: "0.3.2"
1717
analyzer:
1818
dependency: transitive
1919
description:
2020
name: analyzer
21-
sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e"
21+
sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139
2222
url: "https://pub.dev"
2323
source: hosted
24-
version: "6.11.0"
24+
version: "6.7.0"
2525
analyzer_plugin:
2626
dependency: transitive
2727
description:
@@ -30,6 +30,14 @@ packages:
3030
url: "https://pub.dev"
3131
source: hosted
3232
version: "0.11.3"
33+
ansi:
34+
dependency: transitive
35+
description:
36+
name: ansi
37+
sha256: "070af96189f9da6f996cee46049682bdcd1d191b483e13f9d2a2600729d8b2a1"
38+
url: "https://pub.dev"
39+
source: hosted
40+
version: "0.4.2"
3341
args:
3442
dependency: transitive
3543
description:
@@ -118,6 +126,14 @@ packages:
118126
url: "https://pub.dev"
119127
source: hosted
120128
version: "8.9.2"
129+
change_case:
130+
dependency: transitive
131+
description:
132+
name: change_case
133+
sha256: f4e08feaa845e75e4f5ad2b0e15f24813d7ea6c27e7b78252f0c17f752cf1157
134+
url: "https://pub.dev"
135+
source: hosted
136+
version: "1.1.0"
121137
characters:
122138
dependency: transitive
123139
description:
@@ -178,10 +194,18 @@ packages:
178194
dependency: transitive
179195
description:
180196
name: collection
181-
sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
197+
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
198+
url: "https://pub.dev"
199+
source: hosted
200+
version: "1.18.0"
201+
commitlint_cli:
202+
dependency: "direct dev"
203+
description:
204+
name: commitlint_cli
205+
sha256: "78f6e1c2df3f4bdbf8c455d69311bd4c791de7e26d40df57cf33df068524cfe3"
182206
url: "https://pub.dev"
183207
source: hosted
184-
version: "1.19.0"
208+
version: "0.7.2"
185209
convert:
186210
dependency: transitive
187211
description:
@@ -420,18 +444,18 @@ packages:
420444
dependency: transitive
421445
description:
422446
name: leak_tracker
423-
sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
447+
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
424448
url: "https://pub.dev"
425449
source: hosted
426-
version: "10.0.8"
450+
version: "10.0.5"
427451
leak_tracker_flutter_testing:
428452
dependency: transitive
429453
description:
430454
name: leak_tracker_flutter_testing
431-
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
455+
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
432456
url: "https://pub.dev"
433457
source: hosted
434-
version: "3.0.9"
458+
version: "3.0.5"
435459
leak_tracker_testing:
436460
dependency: transitive
437461
description:
@@ -444,10 +468,10 @@ packages:
444468
dependency: transitive
445469
description:
446470
name: lints
447-
sha256: "4a16b3f03741e1252fda5de3ce712666d010ba2122f8e912c94f9f7b90e1a4c3"
471+
sha256: "3315600f3fb3b135be672bf4a178c55f274bebe368325ae18462c89ac1e3b413"
448472
url: "https://pub.dev"
449473
source: hosted
450-
version: "5.1.0"
474+
version: "5.0.0"
451475
logging:
452476
dependency: transitive
453477
description:
@@ -460,10 +484,10 @@ packages:
460484
dependency: transitive
461485
description:
462486
name: macros
463-
sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656"
487+
sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536"
464488
url: "https://pub.dev"
465489
source: hosted
466-
version: "0.1.3-main.0"
490+
version: "0.1.2-main.4"
467491
matcher:
468492
dependency: transitive
469493
description:
@@ -676,7 +700,7 @@ packages:
676700
dependency: transitive
677701
description: flutter
678702
source: sdk
679-
version: "0.0.0"
703+
version: "0.0.99"
680704
source_gen:
681705
dependency: transitive
682706
description:
@@ -729,10 +753,10 @@ packages:
729753
dependency: transitive
730754
description:
731755
name: stack_trace
732-
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
756+
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
733757
url: "https://pub.dev"
734758
source: hosted
735-
version: "1.12.1"
759+
version: "1.11.1"
736760
state_notifier:
737761
dependency: transitive
738762
description:
@@ -761,10 +785,10 @@ packages:
761785
dependency: transitive
762786
description:
763787
name: string_scanner
764-
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
788+
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
765789
url: "https://pub.dev"
766790
source: hosted
767-
version: "1.3.0"
791+
version: "1.2.0"
768792
term_glyph:
769793
dependency: transitive
770794
description:
@@ -777,10 +801,10 @@ packages:
777801
dependency: transitive
778802
description:
779803
name: test_api
780-
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
804+
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
781805
url: "https://pub.dev"
782806
source: hosted
783-
version: "0.7.3"
807+
version: "0.7.2"
784808
timing:
785809
dependency: transitive
786810
description:
@@ -813,14 +837,22 @@ packages:
813837
url: "https://pub.dev"
814838
source: hosted
815839
version: "2.1.4"
840+
verbose:
841+
dependency: transitive
842+
description:
843+
name: verbose
844+
sha256: "8e63580e35d58a15e4fca702fe91766430b1d28738c160c466e5cb10c373002a"
845+
url: "https://pub.dev"
846+
source: hosted
847+
version: "0.1.1"
816848
vm_service:
817849
dependency: transitive
818850
description:
819851
name: vm_service
820-
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
852+
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
821853
url: "https://pub.dev"
822854
source: hosted
823-
version: "14.3.0"
855+
version: "14.2.5"
824856
watcher:
825857
dependency: transitive
826858
description:
@@ -870,5 +902,5 @@ packages:
870902
source: hosted
871903
version: "3.1.2"
872904
sdks:
873-
dart: ">=3.6.0-0 <4.0.0"
905+
dart: ">=3.5.4 <4.0.0"
874906
flutter: ">=3.24.0"

0 commit comments

Comments
 (0)