using gehGassiApp.Core.Interfaces.Synchronization; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassiApp.Domain.Dogs; namespace gehGassiApp.Core.Interfaces { /// /// Schnittstellenbeschreibung für einen Service der die Verwaltung von Hunden ermöglicht /// public interface IDogService : IService, ISyncPushPullService { /// /// Erstellen eines Hundes /// /// public Dog Create(string appUserId); /// /// Gibt eine Liste der Hunden zurück. /// Entweder von der DB oder vom Server /// /// Id des AppBenutzers /// Aktuelles Accesstoken /// CancellationToken /// Liste der Hunde Task> GetDogsAsync(string appUserId, string accessToken, CancellationToken token); /// /// Gibt eine Liste der Hunden zurück. /// Entweder von der DB oder vom Server /// /// Id des AppBenutzers /// Gewünschte Sprache /// Aktuelles Accesstoken /// CancellationToken /// Liste der Hunde Task> GetDogsMinAsync(string appUserId, string language, string accessToken, CancellationToken token); /// /// Gibt einen hund vom Server zurück /// /// Id des Hundes /// Aktuelles Accesstoken /// CancellationToken /// Hund oder null, wenn nicht gfunden Task GetDogAsync(string dogId, string accessToken, CancellationToken token); /// /// Hinzufügen eines Hundes /// /// Hund /// Aktuelles Accesstoken /// CancellationToken /// Angelegter Hund Task AddAsync(Dog dog, string accessToken, CancellationToken token); /// /// Aktualisieren eines Hundes /// /// Hund /// Aktuelles Accesstoken /// CancellationToken /// Angelegter Hund Task UpdateAsync(Dog dog, string accessToken, CancellationToken token); /// /// Echtes Löschen eines Hundes - wird derzeit nicht verwendet! /// Bitte Hund auf deleted setzen und UPDATE /// /// Id des Hundes /// Id des AppBenutzers /// Aktuelles Accesstoken /// CancellationToken /// Angelegter Hund Task DeleteAsync(string dogId, string appUserId, string accessToken, CancellationToken token); } }