first commit
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
using Fitness_core_BE.DTOs;
|
||||
using Fitness_core_BE.DTOs.AccessDevice;
|
||||
using Fitness_core_BE.Models;
|
||||
|
||||
namespace Fitness_core_BE.Interfaces.Services
|
||||
{
|
||||
public interface IAccessDeviceService
|
||||
{
|
||||
Task<object> AddDevice(object payload);
|
||||
Task<object> RemoveDevice(object payload);
|
||||
Task<object> GeneratePairingCode(object payload);
|
||||
Task<bool> WhiteListMember(Guid memberId);
|
||||
Task<bool> BlackListMember(Guid memberId);
|
||||
|
||||
// Manual/auto lock (req 7) — wraps WhiteListMember/BlackListMember and mirrors the
|
||||
// result onto Customer.IsLocked/LockReason/LockedAt.
|
||||
Task<bool> LockCustomer(Guid customerId, string reason);
|
||||
Task<bool> UnlockCustomer(Guid customerId);
|
||||
Task<Customer> UpdateDeviceProfile(Customer customer);
|
||||
Task<object> AddUser(CustomerAccess cusDevice);
|
||||
|
||||
// Dedup + persist attendance. Reused by the agent attendance ingestion endpoint.
|
||||
Task<int> SaveAttendanceRecords(Guid clientId, List<AttendanceDTO> attendanceList);
|
||||
|
||||
// Fingerprint-enrolled-directly-on-device reconciliation (req 3).
|
||||
Task<List<UnlinkedDeviceEnrollment>> GetUnlinkedFingerprintsAsync(Guid clientId);
|
||||
Task<AccessProfile> LinkFingerprintAsync(Guid clientId, Guid customerId, Guid unlinkedEnrollmentId);
|
||||
|
||||
Task<AccessProfile> EnsureAccessProfileAsync(
|
||||
Guid clientId, Guid userId, string personType, string displayName, bool queueProvisioning = true);
|
||||
Task ProvisionProfilesToDeviceAsync(AccessDevice device);
|
||||
Task<object> SetUserAccessAsync(Guid clientId, Guid userId, bool enabled, string? reason);
|
||||
Task<object> SetCustomerAccessAsync(Guid clientId, Guid customerId, bool enabled, string? reason);
|
||||
|
||||
/// <summary>
|
||||
/// Queues a face photo for enrolment into the gym's Hikvision terminals. The image
|
||||
/// travels in the command payload only -- it is purged once a terminal confirms.
|
||||
/// </summary>
|
||||
Task<object> SetCustomerFacePhotoAsync(Guid clientId, Guid customerId, string base64Jpeg);
|
||||
Task<object> SetStaffAccessAsync(Guid clientId, Guid staffId, bool enabled, string? reason);
|
||||
Task<AccessProfile> LinkDevicePersonAsync(
|
||||
Guid clientId, Guid userId, string personType, string displayName, Guid unlinkedEnrollmentId);
|
||||
Task<AccessProfile> LinkStaffFingerprintAsync(
|
||||
Guid clientId, Guid staffId, Guid unlinkedEnrollmentId);
|
||||
Task<AccessStatusDto?> GetAccessStatusAsync(Guid clientId, Guid userId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user