using adas_core.Application.Repositories.Interfaces;
using adas_core.Domain.Models.MongoModels;
using MongoDB.Bson;

namespace adas_core.LocalLogin;

public interface ILocalLoginRepository : IMongoRepository<User>
{
    Task<List<User>> GetAll();

    Task<User?> GetById(ObjectId id);

    Task<User?> GetByEmail(string email);

    //User UpdateUser(User user);
    //User DeleteUser(ObjectId id);
    //User CreateUser(User user);
    //IMongoCollection<LocalLoginRepository> Collection { get; }
    Task<User?> GetByUsername(string username);
    Task<bool> UpdateOneUserAsync(ObjectId id, User user);
    Task<bool> InsertUserOneAsync(User user);
}