feat: improve data interface API to be more consistent

This commit is contained in:
Joey Boerwinkel 2024-07-22 08:19:25 +02:00 committed by Bart Ribbers
parent 134f827f3a
commit 67842ed2f5
3 changed files with 11 additions and 8 deletions

View file

@ -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,

View file

@ -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,

View file

@ -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,