feat: DTOs and interfaces

This commit is contained in:
2025-09-29 17:45:55 +03:00
parent eab5db823b
commit 459f77bcc7
13 changed files with 165 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
using GamificationService.Models.Database;
using GamificationService.Models.DTO;
namespace GamificationService.Services.Interfaces;
public interface IMissionService
{
Task<Mission?> GetMissionByIdAsync(Guid missionId);
Task<IEnumerable<Mission>> GetMissionsByCategoryAsync(Guid categoryId);
Task<IEnumerable<Mission>> GetAvailableMissionsForPlayerAsync(Guid playerId);
Task<IEnumerable<Mission>> GetChildMissionsAsync(Guid parentMissionId);
Task<Mission> CreateMissionAsync(Mission mission);
Task<Mission> UpdateMissionAsync(Mission mission);
Task<bool> DeleteMissionAsync(Guid missionId);
Task<bool> IsMissionAvailableForPlayerAsync(Guid missionId, Guid playerId);
Task<MissionCompletionResult> CompleteMissionAsync(Guid missionId, Guid playerId, object? missionProof = null);
}