using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassiApp.Core.Interfaces.Synchronization; using gehGassiApp.Domain.Walkers; namespace gehGassiApp.Core.Interfaces { /// /// Schnittstellenbeschreibung für einen Service der die Verfügbarkeit eines Walkers für Walks je wochentag ermöglicht /// public interface IWalkingTimeService : IService, ISyncPushPullService { /// /// Gibt eine Liste aller WalkingTimes eines DogWalkers zurück /// /// Id des DogWalkers /// Unbedingt online versuchen /// Aktuelles Accesstoken /// CancellationToken /// CommunicationResult Task>> GetAllAsync(string dogWalkerId, bool forceOnline, string accessToken, CancellationToken token); /// /// Hinzufügen einer WalkingTime /// /// Id des Dogwalkers /// Wochentag /// Startzeit /// Endzeit /// Aktiv /// Aktuelles Accesstoken /// CancellationToken /// WalkingTime Task AddAsync(string dogWalkerId, DayOfWeek day, TimeSpan start, TimeSpan end, bool enabled, string accessToken, CancellationToken token); /// /// Aktualisieren einer WalkingTime /// /// WalkingTime /// Aktuelles Accesstoken /// CancellationToken /// True wenn erfolgreich, false sonst Task UpdateAsync(WalkingTime walkingTime, string accessToken, CancellationToken token); /// /// Echtes Löschen einer WalkingTime /// /// Id der WalkingTime /// Id des AppBenutzers /// Aktuelles Accesstoken /// CancellationToken /// True wenn erfolgreich, false sonst Task DeleteAsync(string walkingTimeId, string appUserId, string accessToken, CancellationToken token); } }