27 lines
1.3 KiB
C#
27 lines
1.3 KiB
C#
using Fitness_core_BE.Models;
|
|
using Fitness_core_BE.DTOs.Ticket;
|
|
|
|
namespace Fitness_core_BE.Interfaces
|
|
{
|
|
public interface ITicketRepository
|
|
{
|
|
// Ticket operations
|
|
Task<Guid> GetTicketCatId(string type);
|
|
Task<List<TicketDto>> GetTicketListAsync(CancellationToken ct = default);
|
|
Task<List<TicketDto>> GetTicketByUserIdAsync(Guid userId, CancellationToken ct = default);
|
|
Task<TicketDetailDto?> GetByTicketIdAsync(Guid id, CancellationToken ct = default);
|
|
Task<Ticket> CreateTicketAsync(Ticket ticket, CancellationToken ct = default);
|
|
Task<Ticket> UpdateTicketAsync(TicketDetailDto ticket, CancellationToken ct = default);
|
|
Task<bool> DeleteAsync(Guid id, CancellationToken ct = default);
|
|
|
|
// Ticket category operations
|
|
Task<List<TicketCategory>> GetTicketCategoryListAsync(CancellationToken ct = default);
|
|
Task<TicketCategory?> GetTicketCategoryByIdAsync(Guid id, CancellationToken ct = default);
|
|
|
|
// Ticket message operations
|
|
Task<TicketMessage> SendMessageAsync(TicketMessage ticketMessage, CancellationToken ct = default);
|
|
Task<Ticket> SubmitTicketFeedbackAsync(Guid ticketId, int rating, string? feedback, CancellationToken ct = default);
|
|
Task UpdateTicketStatusAsync(Guid ticketId, Fitness_core_BE.Models.Enums.TicketStatusEnum statusCode);
|
|
}
|
|
}
|