using UtopiaCanteenSystem.Models;
namespace UtopiaCanteenSystem.Services;
///
/// Employee lookup by RFID from local SQLite cache; menu authorization may still use HRMS.
///
public interface IEmployeeLookupService
{
///
/// Finds employee by RFID (manufacturer_serial) in local employee_rfid_tag_cache.
/// Returns null if the card is not in the cache (sync from HRMS first).
///
Task GetEmployeeByRfidAsync(string rfid, CancellationToken cancellationToken = default);
///
/// Reads employee.location_site_id where employee.serial_number matches the login employee id. Null if missing or not configured.
///
Task GetLocationSiteIdByEmployeeSerialAsync(string employeeSerial, CancellationToken cancellationToken = default);
///
/// Validates that a menu item is authorized for the employee RFID via employee_menu_item_tag.
///
Task IsMenuItemAuthorizedForRfidAsync(string rfid, int menuItemId, CancellationToken cancellationToken = default);
}