Files
gamification-service/Services/Interfaces/IProgressTrackingService.cs

15 lines
690 B
C#

using GamificationService.Models.Database;
using GamificationService.Models.DTO;
namespace GamificationService.Services.Interfaces;
public interface IProgressTrackingService
{
Task<PlayerMission> StartMissionAsync(Guid missionId, Guid playerId);
Task<PlayerMission> UpdateMissionProgressAsync(Guid playerMissionId, int progressPercentage, object? proof = null);
Task<PlayerMission> CompleteMissionAsync(Guid playerMissionId, object? proof = null);
Task<IEnumerable<PlayerMission>> GetPlayerMissionsAsync(Guid playerId);
Task<PlayerMission?> GetPlayerMissionAsync(Guid playerId, Guid missionId);
Task<PlayerProgress> GetPlayerOverallProgressAsync(Guid playerId);
}