using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassi.Dto.Common; using gehGassiApp.Core.Interfaces.Synchronization; using gehGassiApp.Domain.Common; using gehGassiApp.Domain.News; namespace gehGassiApp.Core.Interfaces { /// /// Schnittstellenbeschreibung für einen Service der alle Funktionen rund um News zur Verfügung stellt /// public interface INewsService : IService, ISyncPushPullService { /// /// Gibt eine Liste der aktuellen News Kategorien zurück. /// Entweder von der DB oder vom Server /// /// Aktuelles Accesstoken /// Gewünschte Sprache /// CancellationToken /// Liste der News Kategorien Task> GetCategoriesAsync(string accessToken, string language, CancellationToken token); /// /// Abrufen von News. Berücksichtigt auch den Standort. /// /// Id der Kategorie. Leer wenn ohne gewünscht /// Aktuelle Position /// Wie viele News sollen abgerufen werden? -1 Wenn nicht anwenden. /// Wie viele News sollen ausgelassen werden? -1 Wenn nicht anwenden. /// Akteuller Modus der App /// Aktuelles Accesstoken /// Gewünschte Sprache /// CancellationToken /// Liste der News Task>> GetNewsAsync(string categoryId, LocationDto location, int take, int skip, AppMode appMode, string language, string accessToken, CancellationToken token); } }