toggle exam
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
BaseResponse,
|
||||
Course,
|
||||
Lesson,
|
||||
PopulatedCourse,
|
||||
User,
|
||||
UserData,
|
||||
} from '../model'
|
||||
@@ -20,9 +21,9 @@ export const api = createApi({
|
||||
init?: RequestInit | undefined,
|
||||
) => {
|
||||
const response = await fetch(input, init)
|
||||
|
||||
|
||||
if (response.status === 403) keycloak.login()
|
||||
|
||||
|
||||
return response
|
||||
},
|
||||
headers: {
|
||||
@@ -32,15 +33,15 @@ export const api = createApi({
|
||||
headers.set('Authorization', `Bearer ${keycloak.token}`)
|
||||
},
|
||||
}),
|
||||
tagTypes: ['LessonList', 'CourseList'],
|
||||
tagTypes: ['LessonList', 'CourseList', 'Course'],
|
||||
endpoints: (builder) => ({
|
||||
coursesList: builder.query<BaseResponse<Course[]>, void>({
|
||||
query: () => '/course/list',
|
||||
providesTags: ['CourseList'],
|
||||
}),
|
||||
createUpdateCourse: builder.mutation<
|
||||
BaseResponse<Course>,
|
||||
Partial<Course> & Pick<Course, 'name'>
|
||||
BaseResponse<Course>,
|
||||
Partial<Course> & Pick<Course, 'name'>
|
||||
>({
|
||||
query: (course) => ({
|
||||
url: '/course',
|
||||
@@ -53,8 +54,8 @@ export const api = createApi({
|
||||
query: (courseId) => `/course/students/${courseId}`,
|
||||
}),
|
||||
manualAddStudent: builder.mutation<
|
||||
BaseResponse<void>,
|
||||
{ lessonId: string; user: User }
|
||||
BaseResponse<void>,
|
||||
{ lessonId: string; user: User }
|
||||
>({
|
||||
query: ({ lessonId, user }) => ({
|
||||
url: `/lesson/add-student/${lessonId}`,
|
||||
@@ -62,14 +63,14 @@ export const api = createApi({
|
||||
body: user,
|
||||
}),
|
||||
}),
|
||||
|
||||
|
||||
lessonList: builder.query<BaseResponse<Lesson[]>, string>({
|
||||
query: (courseId) => `/lesson/list/${courseId}`,
|
||||
providesTags: ['LessonList'],
|
||||
}),
|
||||
createLesson: builder.mutation<
|
||||
BaseResponse<Lesson>,
|
||||
Partial<Lesson> & Pick<Lesson, 'name' | 'date'> & { courseId: string }
|
||||
BaseResponse<Lesson>,
|
||||
Partial<Lesson> & Pick<Lesson, 'name' | 'date'> & { courseId: string }
|
||||
>({
|
||||
query: (data) => ({
|
||||
url: '/lesson',
|
||||
@@ -78,7 +79,7 @@ export const api = createApi({
|
||||
}),
|
||||
invalidatesTags: ['LessonList'],
|
||||
}),
|
||||
updateLesson: builder.mutation<BaseResponse<Lesson>, Partial<Lesson> & Pick<Lesson, '_id'>>({
|
||||
updateLesson: builder.mutation<BaseResponse<Lesson>, Partial<Lesson> & Pick<Lesson, 'id'>>({
|
||||
query: (data) => ({
|
||||
method: 'PUT',
|
||||
url: '/lesson',
|
||||
@@ -96,10 +97,10 @@ export const api = createApi({
|
||||
lessonById: builder.query<BaseResponse<Lesson>, string>({
|
||||
query: (lessonId: string) => `/lesson/${lessonId}`,
|
||||
}),
|
||||
|
||||
|
||||
createAccessCode: builder.query<
|
||||
BaseResponse<AccessCode>,
|
||||
{ lessonId: string }
|
||||
BaseResponse<AccessCode>,
|
||||
{ lessonId: string }
|
||||
>({
|
||||
query: ({ lessonId }) => ({
|
||||
url: '/lesson/access-code',
|
||||
@@ -108,13 +109,25 @@ export const api = createApi({
|
||||
}),
|
||||
}),
|
||||
getAccess: builder.query<
|
||||
BaseResponse<{ user: UserData; accessCode: AccessCode }>,
|
||||
{ accessCode: string }
|
||||
BaseResponse<{ user: UserData; accessCode: AccessCode }>,
|
||||
{ accessCode: string }
|
||||
>({
|
||||
query: ({ accessCode }) => ({
|
||||
url: `/lesson/access-code/${accessCode}`,
|
||||
method: 'GET',
|
||||
}),
|
||||
}),
|
||||
getCourseById: builder.query<PopulatedCourse, string>({
|
||||
query: (courseId) => `/course/${courseId}`,
|
||||
transformResponse: (response: BaseResponse<PopulatedCourse>) => response.body,
|
||||
providesTags: ['Course'],
|
||||
}),
|
||||
toggleExamWithJury: builder.mutation<void, string>({
|
||||
query: (courseId) => ({
|
||||
url: `/course/toggle-exam-with-jury/${courseId}`,
|
||||
method: 'POST',
|
||||
}),
|
||||
invalidatesTags: ['Course']
|
||||
})
|
||||
}),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user