using System;
using System.Threading.Tasks;
namespace Timeline.Services.User
{
///
/// This service provide some basic user features, which should be used internally for other services.
///
public interface IBasicUserService
{
///
/// Check if a user exists.
///
/// The id of the user.
/// True if exists. Otherwise false.
Task CheckUserExistenceAsync(long id);
///
/// Get the user id of given username.
///
/// Username of the user.
/// The id of the user.
/// Thrown when is null.
/// Thrown when is of bad format.
/// Thrown when the user with given username does not exist.
Task GetUserIdByUsernameAsync(string username);
///
/// Get the username modified time of a user.
///
/// User id.
/// The time.
/// Thrown when user does not exist.
Task GetUsernameLastModifiedTimeAsync(long userId);
}
}