using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WorkFlowCheck.Common.DTO;

namespace WorkFlowCheck.MAUI.Services.Interfaces
{
    public interface IUserService
    {
        UserDTO? GetCurrentUser();
        string DeviceId { get; }    
        Task<ApiResponseDTO<UserDTO>> GetUserAsync(int id);
        

        Task<ApiResponseDTO<UserDTO>> Authenticate(string username, string password);
        Task<ApiResponseDTO<UserDTO>> AuthenticateNFC(string NFCCode);
        
        void SetCurrentUser(UserDTO user);

        
        Task<MobileUserDTO> UpdateCheckPoint(MobileUserDTO mobileUserDTO);
        Task<List<MobileUserDTO>> GetAllMobileUserAsync();
    }
}
