using Microsoft.AspNetCore.Http; using System.Collections.Generic; using System.Threading.Tasks; using eprintServer.Entities; using eprintServer.Requests; namespace eprintServer.Interfaces { public interface IUserCustomizationService { Task CreateAndSaveStepsAsync(long userId, long productId, IEnumerable steps); Task SaveStepAsync(Guid customizationId, SaveCustomizationStepRequest request); Task CompleteCustomizationAsync(Guid customizationId); Task GetUserCustomizationByIdAsync(Guid customizationId); Task> GetUserCustomizationsByUserIdAsync(long userId); Task> GetUserCustomizationsByProductAsync(long userId, long productId); Task> GetAllCompletedCustomizationsAsync(); Task UpdateCustomizationAsync(Guid customizationId, UpdateCustomizationRequest request); Task DeleteCustomizationAsync(Guid customizationId); Task GetLastInProgressCustomizationByUserAsync(long userId, long productId); } }