Skip to content

Commit 2d170c7

Browse files
authored
Merge pull request #33 from DevKor-github/16-create-repository-interfaces
16 create repository interfaces
2 parents 9201a6d + 023ca59 commit 2d170c7

File tree

6 files changed

+110
-23
lines changed

6 files changed

+110
-23
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import 'package:on_time_front/domain/entities/preparation_step_entity.dart';
2+
3+
class PreparationEntity {
4+
List<PreparationStepEntity> preparationStepList;
5+
6+
PreparationEntity({
7+
required this.preparationStepList,
8+
});
9+
10+
@override
11+
String toString() {
12+
return 'PreparationEntity(preparationStepList: ${preparationStepList.toString()})';
13+
}
14+
}
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.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import 'package:on_time_front/domain/entities/schedule_entity.dart';
2+
3+
abstract interface class ScheduleRepository {
4+
/// Create a schedule
5+
/// This is for creating a schedule
6+
Future<void> createSchedule(ScheduleEntity schedule);
7+
8+
/// Get a List of schedules that are between the [startDate] and [endDate]
9+
/// if [endDate] is null, it will get all schedules after [startDate]
10+
/// This is for getting schedules by date
11+
Stream<List<ScheduleEntity>> getSchedulesByDate(
12+
DateTime startDate, DateTime? endDate);
13+
14+
/// Get a schedule by [id]
15+
/// This is for getting a schedule by id
16+
Stream<ScheduleEntity> getScheduleById(int id);
17+
18+
/// Update a schedule
19+
/// This is for updating a schedule
20+
Future<void> updateSchedule(ScheduleEntity schedule);
21+
22+
/// Delete a schedule
23+
/// This is for deleting a schedule
24+
Future<void> deleteSchedule(ScheduleEntity schedule);
25+
}

pubspec.lock

Lines changed: 23 additions & 23 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:
@@ -194,7 +194,7 @@ packages:
194194
dependency: transitive
195195
description:
196196
name: collection
197-
sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
197+
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
198198
url: "https://pub.dev"
199199
source: hosted
200200
version: "1.19.0"
@@ -460,18 +460,18 @@ packages:
460460
dependency: transitive
461461
description:
462462
name: leak_tracker
463-
sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
463+
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
464464
url: "https://pub.dev"
465465
source: hosted
466-
version: "10.0.8"
466+
version: "10.0.5"
467467
leak_tracker_flutter_testing:
468468
dependency: transitive
469469
description:
470470
name: leak_tracker_flutter_testing
471-
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
471+
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
472472
url: "https://pub.dev"
473473
source: hosted
474-
version: "3.0.9"
474+
version: "3.0.5"
475475
leak_tracker_testing:
476476
dependency: transitive
477477
description:
@@ -484,10 +484,10 @@ packages:
484484
dependency: transitive
485485
description:
486486
name: lints
487-
sha256: "4a16b3f03741e1252fda5de3ce712666d010ba2122f8e912c94f9f7b90e1a4c3"
487+
sha256: "3315600f3fb3b135be672bf4a178c55f274bebe368325ae18462c89ac1e3b413"
488488
url: "https://pub.dev"
489489
source: hosted
490-
version: "5.1.0"
490+
version: "5.0.0"
491491
logging:
492492
dependency: transitive
493493
description:
@@ -500,10 +500,10 @@ packages:
500500
dependency: transitive
501501
description:
502502
name: macros
503-
sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656"
503+
sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536"
504504
url: "https://pub.dev"
505505
source: hosted
506-
version: "0.1.3-main.0"
506+
version: "0.1.2-main.4"
507507
matcher:
508508
dependency: transitive
509509
description:
@@ -716,7 +716,7 @@ packages:
716716
dependency: transitive
717717
description: flutter
718718
source: sdk
719-
version: "0.0.0"
719+
version: "0.0.99"
720720
source_gen:
721721
dependency: transitive
722722
description:
@@ -769,7 +769,7 @@ packages:
769769
dependency: transitive
770770
description:
771771
name: stack_trace
772-
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
772+
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
773773
url: "https://pub.dev"
774774
source: hosted
775775
version: "1.12.0"
@@ -801,10 +801,10 @@ packages:
801801
dependency: transitive
802802
description:
803803
name: string_scanner
804-
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
804+
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
805805
url: "https://pub.dev"
806806
source: hosted
807-
version: "1.3.0"
807+
version: "1.2.0"
808808
term_glyph:
809809
dependency: transitive
810810
description:
@@ -817,10 +817,10 @@ packages:
817817
dependency: transitive
818818
description:
819819
name: test_api
820-
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
820+
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
821821
url: "https://pub.dev"
822822
source: hosted
823-
version: "0.7.3"
823+
version: "0.7.2"
824824
timing:
825825
dependency: transitive
826826
description:
@@ -865,10 +865,10 @@ packages:
865865
dependency: transitive
866866
description:
867867
name: vm_service
868-
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
868+
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
869869
url: "https://pub.dev"
870870
source: hosted
871-
version: "14.3.0"
871+
version: "14.2.5"
872872
watcher:
873873
dependency: transitive
874874
description:
@@ -918,5 +918,5 @@ packages:
918918
source: hosted
919919
version: "3.1.2"
920920
sdks:
921-
dart: ">=3.6.0-0 <4.0.0"
921+
dart: ">=3.5.4 <4.0.0"
922922
flutter: ">=3.24.0"

0 commit comments

Comments
 (0)