IWishlistService.cs
945 bytes
| 1 | using SplitApp.WebApp.Application.DTO; |
|---|---|
| 2 | |
| 3 | namespace SplitApp.WebApp.Application.Services; |
| 4 | |
| 5 | public interface IWishlistService |
| 6 | { |
| 7 | Task<List<TripWishlistItemBllDto>> GetByTripIdAsync(Guid tripId, Guid userId); // participant-only |
| 8 | Task<TripWishlistItemBllDto?> GetByIdAsync(Guid id, Guid userId); // participant-only |
| 9 | Task<TripWishlistItemBllDto?> GetByIdRawAsync(Guid id); // no IDOR |
| 10 | |
| 11 | Task<(TripWishlistItemBllDto? item, string? errorCode)> CreateAsync(TripWishlistItemBllDto item, Guid userId); // participant |
| 12 | Task<(bool success, string? errorCode)> UpdateAsync(Guid id, TripWishlistItemBllDto incoming, Guid userId); // creator only |
| 13 | Task<(bool success, string? errorCode)> DeleteAsync(Guid id, Guid userId); // creator only |
| 14 | Task<(bool success, string? errorCode)> ToggleVoteAsync(Guid id, Guid userId); // participant |
| 15 | Task<(bool success, string? errorCode)> ToggleCompleteAsync(Guid id, Guid userId); // participant |
| 16 | } |
| 17 | |