using SessionCompanion.Database.Tables;
using SessionCompanion.Services.Base;
using SessionCompanion.ViewModels.CharacterWeaponViewModels;

namespace SessionCompanion.Services.Interfaces
{
    using SessionCompanion.Extensions.EitherType;
    using SessionCompanion.ViewModels.ApiResponses;
    using System.Collections.Generic;
    using System.Threading.Tasks;

    public interface ICharacterWeaponService : IServiceBase<CharacterWeaponViewModel, CharacterWeapon>
    {
        Task<List<CharacterWeaponWithWeaponDetailsViewModel>> GetCharacterWeaponsList(int characterId);
        Task<Either<SuccessResponse, ErrorResponse>> ChangeCharacterWeapon(CharacterWeaponViewModel model);
    }
}