| 12345678910111213141516171819202122232425262728293031 | using Luticate2.Auth.Dbo.Users;
using Luticate2.Utils.Dbo.Basic;
using Luticate2.Utils.Dbo.PaginatedRequest;
using Luticate2.Utils.Dbo.Result;
using Luticate2.Utils.Interfaces;
namespace Luticate2.Auth.Interfaces.Users
{
    public interface ILuUsersBusiness : ILuCrudInterface<LuUsersAddFullDbo, LuUsersFullDbo, LuUsersEditFullDbo, string>
    {
        string GenerateSalt();
        string HashPassword(string password, string salt);
        bool VerifyPasswordHash(string password, string hash, string salt);
        LuResult<LuUsersLoginResultDbo> Login(string username, string password);
        LuResult<bool> Logout(string token);
        LuResult<LuUsersFullDbo> FindByUsername(string username);
        LuResult<LuUsersFullDbo> Register(LuUsersAddDbo user);
        LuResult<LuUsersFullDbo> Edit(string id, LuUsersEditDbo user);
        LuResult<LuUsersFullDbo> Me();
        LuResult<LuPaginatedDbo<LuUsersTokenDbo>> Sessions(LuPaginatedRequestDbo paginatedRequestDbo);
    }
}
 |