source: iknow-api/Services/Interfaces/IAdminService.cs@ ea40556

Last change on this file since ea40556 was ea40556, checked in by Stefan-Saveski <stefansaveski19@…>, 8 days ago
  • ready for presentation
  • Property mode set to 100644
File size: 1.2 KB
Line 
1using iknow_api.DTOs;
2
3namespace iknow_api.Services
4{
5 public interface IAdminService
6 {
7 // UC012 - subjects
8 Task<List<AdminSubjectDto>> GetSubjectsAsync();
9 Task<AdminResultDto> CreateSubjectAsync(SubjectWriteDto request);
10 Task<AdminResultDto> UpdateSubjectAsync(int subjectId, SubjectWriteDto request);
11 Task<AdminResultDto> DeleteSubjectAsync(int subjectId);
12 Task<AdminResultDto> LinkMajorAsync(int subjectId, MajorLinkDto request);
13 Task<AdminResultDto> UnlinkMajorAsync(int subjectId, int majorId);
14 Task<AdminResultDto> AddPrerequisiteAsync(int subjectId, PrerequisiteDto request);
15 Task<AdminResultDto> RemovePrerequisiteAsync(int subjectId, int dependencyId);
16
17 // UC013 - active semesters
18 Task<List<AdminSemesterDto>> GetSemestersAsync();
19 Task<AdminResultDto> CreateSemesterAsync(SemesterWriteDto request);
20
21 // UC014 - professor assignments
22 Task<ScheduleDto?> GetScheduleAsync(int semesterId);
23 Task<AdminResultDto> AssignAsync(ScheduleWriteDto request);
24 Task<AdminResultDto> UnassignAsync(ScheduleWriteDto request);
25
26 Task<List<SubjectRefDto>> GetMajorsAsync();
27 }
28}
Note: See TracBrowser for help on using the repository browser.