mirror of
https://github.com/Iconica-Development/flutter_availability.git
synced 2025-05-19 05:03:44 +02:00
feat: improve data interface API to be more consistent
This commit is contained in:
parent
134f827f3a
commit
67842ed2f5
3 changed files with 11 additions and 8 deletions
|
@ -44,7 +44,7 @@ class AvailabilityService {
|
||||||
userId: userId,
|
userId: userId,
|
||||||
);
|
);
|
||||||
|
|
||||||
await dataInterface.createAvailabilitiesForUser(
|
await dataInterface.setAvailabilitiesForUser(
|
||||||
userId: userId,
|
userId: userId,
|
||||||
availability: updatedAvailability,
|
availability: updatedAvailability,
|
||||||
start: range.start,
|
start: range.start,
|
||||||
|
|
|
@ -47,7 +47,7 @@ class LocalAvailabilityDataInterface implements AvailabilityDataInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> createAvailabilitiesForUser({
|
Future<void> setAvailabilitiesForUser({
|
||||||
required String userId,
|
required String userId,
|
||||||
required AvailabilityModel availability,
|
required AvailabilityModel availability,
|
||||||
required DateTime start,
|
required DateTime start,
|
||||||
|
|
|
@ -37,14 +37,17 @@ abstract interface class AvailabilityDataInterface {
|
||||||
/// Updates the availability for the given [userId] and [availabilityId].
|
/// Updates the availability for the given [userId] and [availabilityId].
|
||||||
///
|
///
|
||||||
/// This will not work if no [availabilityId] for [userId] exists.
|
/// This will not work if no [availabilityId] for [userId] exists.
|
||||||
Future<AvailabilityModel> updateAvailabilityForUser(
|
Future<void> updateAvailabilityForUser(
|
||||||
String userId,
|
String userId,
|
||||||
String availabilityId,
|
String availabilityId,
|
||||||
AvailabilityModel updatedModel,
|
AvailabilityModel updatedModel,
|
||||||
);
|
);
|
||||||
|
|
||||||
/// Creates a new persistant representation of an availability model.
|
/// Creates / Updates availabilities for each day in range [start] ... [end].
|
||||||
Future<void> createAvailabilitiesForUser({
|
///
|
||||||
|
/// [end] is an inclusive date. [start] and [end] are processed ignoring any
|
||||||
|
/// non-date related information.
|
||||||
|
Future<void> setAvailabilitiesForUser({
|
||||||
required String userId,
|
required String userId,
|
||||||
required AvailabilityModel availability,
|
required AvailabilityModel availability,
|
||||||
required DateTime start,
|
required DateTime start,
|
||||||
|
@ -74,20 +77,20 @@ abstract interface class AvailabilityDataInterface {
|
||||||
/// Updates the availability for the given [userId] and [templateId].
|
/// Updates the availability for the given [userId] and [templateId].
|
||||||
///
|
///
|
||||||
/// This will not work if no [templateId] for [userId] exists.
|
/// This will not work if no [templateId] for [userId] exists.
|
||||||
Future<AvailabilityTemplateModel> updateTemplateForUser(
|
Future<void> updateTemplateForUser(
|
||||||
String userId,
|
String userId,
|
||||||
String templateId,
|
String templateId,
|
||||||
AvailabilityTemplateModel updatedModel,
|
AvailabilityTemplateModel updatedModel,
|
||||||
);
|
);
|
||||||
|
|
||||||
/// Creates a new persistant representation of an availability template model.
|
/// Creates a new persistant representation of an availability template model.
|
||||||
Future<AvailabilityTemplateModel> createTemplateForUser(
|
Future<void> createTemplateForUser(
|
||||||
String userId,
|
String userId,
|
||||||
AvailabilityTemplateModel template,
|
AvailabilityTemplateModel template,
|
||||||
);
|
);
|
||||||
|
|
||||||
/// Applies a given [template] for a [userId] and creates new availabilities.
|
/// Applies a given [template] for a [userId] and creates new availabilities.
|
||||||
Future<List<AvailabilityModel>> applyTemplateForUser(
|
Future<void> applyTemplateForUser(
|
||||||
String userId,
|
String userId,
|
||||||
AvailabilityTemplateModel template,
|
AvailabilityTemplateModel template,
|
||||||
DateTime start,
|
DateTime start,
|
||||||
|
|
Loading…
Reference in a new issue