159 lines
6.8 KiB
C#

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