using GamificationService.Models.Database; using GamificationService.Models.DTO; namespace GamificationService.Services.InstructionTests; public interface IInstructionTestsService { public Task CreateInstructionTest(InstructionTest instructionTest); public Task CreateInstructionTest(InstructionTestCreateDTO instructionTest); public Task UpdateInstructionTest(InstructionTest instructionTest); public Task UpdateInstructionTest(InstructionTestCreateDTO instructionTest); public Task DeleteInstructionTestByIdAsync(long id); public Task SubmitInstructionTestAsync(long userId, InstructionTestSubmissionDTO submission); public InstructionTestDTO GetInstructionTestById(long id); public List GetInstructionTestsByInstructionId(long instructionId); public List GetInstructionTestQuestionsByInstructionTestId(long instructionTestId); public List GetUserInstructionTestResultsByInstructionTestId(long userId, long instructionId); public List GetInstructionTestResultsByUserId(long userId); public List GetCompletedInstructionTestsByUserId(long userId); }