Add customer communication system
This commit is contained in:
19
LittleShop/Services/ICustomerService.cs
Normal file
19
LittleShop/Services/ICustomerService.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using LittleShop.DTOs;
|
||||
using LittleShop.Models;
|
||||
|
||||
namespace LittleShop.Services;
|
||||
|
||||
public interface ICustomerService
|
||||
{
|
||||
Task<CustomerDto?> GetCustomerByIdAsync(Guid id);
|
||||
Task<CustomerDto?> GetCustomerByTelegramUserIdAsync(long telegramUserId);
|
||||
Task<CustomerDto> CreateCustomerAsync(CreateCustomerDto createCustomerDto);
|
||||
Task<CustomerDto?> UpdateCustomerAsync(Guid id, UpdateCustomerDto updateCustomerDto);
|
||||
Task<bool> DeleteCustomerAsync(Guid id);
|
||||
Task<IEnumerable<CustomerDto>> GetAllCustomersAsync();
|
||||
Task<IEnumerable<CustomerDto>> SearchCustomersAsync(string searchTerm);
|
||||
Task<CustomerDto?> GetOrCreateCustomerAsync(long telegramUserId, string displayName, string username = "", string firstName = "", string lastName = "");
|
||||
Task UpdateCustomerMetricsAsync(Guid customerId);
|
||||
Task<bool> BlockCustomerAsync(Guid customerId, string reason);
|
||||
Task<bool> UnblockCustomerAsync(Guid customerId);
|
||||
}
|
||||
Reference in New Issue
Block a user