using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace gehGassiApp.Core.Interfaces.Synchronization
{
///
/// Schnittstellenbeschreibung für einen Service der Synchronisierungen initiieren kann
///
public interface ISyncService
{
///
/// App-User Synchronisieren
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncAppUserAsync(string language, string accessToken, CancellationToken token);
///
/// Walker-Profil Synchronisieren
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncWalkerProfileAsync(string language, string accessToken, CancellationToken token);
///
/// Konversationen synchronisieren
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncConversationsAsync(string language, string accessToken, CancellationToken token);
///
/// Nachrichten synchronisieren
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncMessagesAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der News-Kategorien
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncNewsCategoriesAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der Hunderassen
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncDogRacesAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der Hunde
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncDogsAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der offenen Anfragen
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncPublicWalkRequestsAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der Antworten auf offenen Anfragen
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncPublicWalkResponsesAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der Walks
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncWalksAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der WalkintgTimes
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncWalkingTimesAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der Ratings
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncRatingsAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der Favoriten
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncFavouritesAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der Systemnachrichten
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncSystemMessagesAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der Transaktionsgebühren
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncTransactionFeesAsync(string language, string accessToken, CancellationToken token);
///
/// Synchronisieren der Auszahlungen
///
/// Gewünschte Sprache
/// Aktuelles Accesstoken
/// CancellationToken
/// Task
Task SyncPayoutsAsync(string language, string accessToken, CancellationToken token);
}
}