using IRaCIS.Application.Contracts;
using Microsoft.AspNetCore.Mvc;

namespace IRaCIS.Application.Interfaces
{
    public interface ISubjectService
    {
        Task<IResponseOutput<string>> AddOrUpdateSubject([FromBody] SubjectCommand subjectCommand);
        Task<IResponseOutput> DeleteSubject(Guid id);

        Task<IResponseOutput> UpdateSubjectStatus(SubjectStatusChangeCommand subjectStatusChangeCommand);
        Task<IResponseOutput<PageOutput<SubjectQueryView>, TrialSubjectConfig>> GetSubjectList(SubjectQueryParam param);
    }
}