17 lines
673 B
C#
17 lines
673 B
C#
using UniVerse.Application.DTOs.Achievements;
|
|
using UniVerse.Application.DTOs.Common;
|
|
using UniVerse.Application.DTOs.Gamification;
|
|
using UniVerse.Domain.Enums;
|
|
|
|
namespace UniVerse.Application.Interfaces;
|
|
|
|
public interface IGamificationService
|
|
{
|
|
Task AwardCoinsAsync(int userId, int amount, CoinTransactionType type,
|
|
int? reviewId = null, int? achievementId = null, string? description = null);
|
|
Task CheckAndAwardAchievementsAsync(int userId);
|
|
int CalculateLevel(int xp);
|
|
Task<List<UserAchievementDto>> GetUserAchievementsAsync(int userId);
|
|
Task<PagedResult<CoinTransactionDto>> GetTransactionsAsync(int userId, PaginationRequest pagination);
|
|
}
|