2026-04-02 15:07:05 +02:00
|
|
|
#nullable enable
|
|
|
|
|
using System.Threading.Tasks;
|
2024-04-18 01:44:37 +02:00
|
|
|
using Wino.Core.Domain.Enums;
|
2026-04-02 15:07:05 +02:00
|
|
|
|
2025-02-16 11:54:23 +01:00
|
|
|
namespace Wino.Core.Domain.Interfaces;
|
|
|
|
|
|
|
|
|
|
public interface IStoreManagementService
|
2024-04-18 01:44:37 +02:00
|
|
|
{
|
2025-02-16 11:54:23 +01:00
|
|
|
/// <summary>
|
|
|
|
|
/// Checks whether user has the type of an add-on purchased.
|
|
|
|
|
/// </summary>
|
2026-03-19 01:50:14 +01:00
|
|
|
Task<bool> HasProductAsync(WinoAddOnProductType productType);
|
2024-04-18 01:44:37 +02:00
|
|
|
|
2025-02-16 11:54:23 +01:00
|
|
|
/// <summary>
|
|
|
|
|
/// Attempts to purchase the given add-on.
|
|
|
|
|
/// </summary>
|
2026-03-19 01:50:14 +01:00
|
|
|
Task<StorePurchaseResult> PurchaseAsync(WinoAddOnProductType productType);
|
2026-04-02 15:07:05 +02:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Requests a Microsoft Store collections ID key for the current customer.
|
|
|
|
|
/// </summary>
|
|
|
|
|
Task<string?> GetCustomerCollectionsIdAsync(string serviceTicket, string publisherUserId);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Requests a Microsoft Store purchase ID key for the current customer.
|
|
|
|
|
/// </summary>
|
|
|
|
|
Task<string?> GetCustomerPurchaseIdAsync(string serviceTicket, string publisherUserId);
|
2024-04-18 01:44:37 +02:00
|
|
|
}
|