using System; using System.Threading.Tasks; using ShareeBike.Model.Bikes; using ShareeBike.Model.Services.CopriApi; namespace ShareeBike.Model.Connector { public interface IQuery { /// Gets all stations including positions. Task> GetBikesAndStationsAsync(); /// Gets bikes occupied is a user is logged in. /// Collection of bikes. Task> GetBikesOccupiedAsync(); /// Gets bikes either bikes available if no user is logged in or bikes available and bikes occupied if a user is logged in. /// Uri of the operator host to get bikes from or null if bikes have to be gotten form primary host. /// Id of station which is used for filtering bikes. Null if no filtering should be applied. /// Collection of bikes. Task> GetBikesAsync(Uri operatorUri = null, string stationId = null, string bikeId = null); } }