Commit 0a9f2e35 authored by chinhnc's avatar chinhnc
Browse files

react base code

parent 36756938
......@@ -2,17 +2,8 @@ const modules = [
{ name: 'Common', subModules: ['common', 'menu', 'error_message'] },
{
name: 'Admin_Course management',
subModules: ['course', 'course_category', 'unit_setting', 'create_lecture', 'report_setting', 'test_question_management', 'test_question', 'upload_file']
},
{
name: 'Admin_User management',
subModules: ['user']
},
{
name: 'Admin_Video management',
subModules: ['recording']
},
{ name: 'Other', subModules: ['contact', 'notification'] }
subModules: ['course']
}
]
module.exports = {
......
......@@ -3,15 +3,11 @@
/* eslint-disable symbol-description */
import axios from 'axios'
import JSONBig from 'json-bigint'
import { notification } from 'antd'
import i18next from 'I18n'
import { isEmpty, assign } from 'lodash'
import { BASE_API_URL } from 'Constants'
import { STORAGE, getLocalStorage } from 'Utils'
i18next.loadNamespaces(['error_message'])
const singletonEnforcer = Symbol()
const BASE_URL = `${BASE_API_URL}/api/v1`
class AxiosClient {
......@@ -56,11 +52,6 @@ class AxiosClient {
const { data, status } = error.response
switch (status) {
case 400:
notification.error({
message: i18next.t('error'),
description: i18next.t(`error_message:${data.error}`),
duration: 2
})
break
case 500:
break
......
/* eslint-disable no-unused-vars */
import { parseFilter, parseFilterArrayToStringV2 } from 'Utils'
import AxiosClient from './api'
import END_POINT from './constants'
function loadAutomaticAssignmentAPI({ params }) {
params = parseFilter(params)
return AxiosClient.get(
END_POINT.AUTO_ASSIGNMENT_COURSE.LOAD_AUTOMATIC_ASSIGNMENT,
'',
{ params }
).then((res) => res.data)
}
function deleteCourseAssignmentAPI({ data }) {
return AxiosClient.put(
END_POINT.AUTO_ASSIGNMENT_COURSE.DELETE_COURSE_ASSIGNMENT,
data
).then((res) => res.data)
}
function loadCourseCategoryAPI() {
return AxiosClient.get(
END_POINT.AUTO_ASSIGNMENT_COURSE.LOAD_COURSE_CATEGORY
).then((res) => res.data)
}
function loadCourseAssignmentAPI({ params }) {
const q = parseFilterArrayToStringV2(params)
return AxiosClient.get(`${END_POINT.AUTO_ASSIGNMENT_COURSE.LOAD_COURSE_ASSIGNMENT}?${q}`)
.then((res) => res.data)
}
function loadTargetGroupAPI() {
return AxiosClient.get(END_POINT.AUTO_ASSIGNMENT_COURSE.LOAD_TARGET_GROUP)
.then((res) => res.data)
}
function loadTargetAttributeAPI({ params }) {
params = parseFilter(params)
return AxiosClient.get(
END_POINT.AUTO_ASSIGNMENT_COURSE.LOAD_TARGET_ATTRIBUTE,
'',
{ params }
).then((res) => res.data)
}
function createAssignmentAPI({ data }) {
return AxiosClient.post(END_POINT.AUTO_ASSIGNMENT_COURSE.CREATE_ASSIGNMENT, data)
.then((res) => res.data)
}
function updateAssignmentAPI({ data }) {
return AxiosClient.put(END_POINT.AUTO_ASSIGNMENT_COURSE.UPDATE_ASSIGNMENT, data)
.then((res) => res.data)
}
function loadDetailAssignmentAPI({ assignId }) {
return AxiosClient.get(`${END_POINT.AUTO_ASSIGNMENT_COURSE.LOAD_DETAIL_ASSIGNMENT({ assignId })}`)
.then((res) => res.data)
}
export {
loadAutomaticAssignmentAPI,
deleteCourseAssignmentAPI,
loadCourseCategoryAPI,
loadCourseAssignmentAPI,
loadTargetGroupAPI,
loadTargetAttributeAPI,
createAssignmentAPI,
updateAssignmentAPI,
loadDetailAssignmentAPI
}
import AxiosClient from './api'
import END_POINT from './constants'
function getAutocompleteCourse(params) {
const q = new URLSearchParams({ ...params }).toString()
return AxiosClient.get(`${END_POINT.AUTOCOMPLETE.SEARCH_COURSE}?${q}`)
.then((res) => res)
}
export {
getAutocompleteCourse
}
import { parseFilterArrayToString } from 'Utils'
import AxiosClient from './api'
import END_POINT from './constants'
function getListSeminar(params) {
const q = parseFilterArrayToString(params)
return AxiosClient.get(`${END_POINT.COMPANY_SEMINAR.GET_LIST_SEMINAR}?${q}`)
.then((res) => res.data)
}
function createSeminar(data) {
return AxiosClient.post(`${END_POINT.COMPANY_SEMINAR.CREATE_SEMINAR}`, data)
.then((res) => res.data)
}
function updateSeminar(data) {
return AxiosClient.put(`${END_POINT.COMPANY_SEMINAR.UPDATE_SEMINAR}`, data)
.then((res) => res.data)
}
function getDetailSeminar({ seminarId, data }) {
const q = parseFilterArrayToString(data)
return AxiosClient.get(`${END_POINT.COMPANY_SEMINAR.GET_DETAIL_SEMINAR(seminarId)}?${q}`)
.then((res) => res.data)
}
function deleteSeminar({ data }) {
return AxiosClient.put(END_POINT.COMPANY_SEMINAR.DELETE_SEMINAR, data)
.then((res) => res.data)
}
export {
getListSeminar,
updateSeminar,
deleteSeminar,
createSeminar,
getDetailSeminar
}
import { parseFilter } from 'Utils'
import AxiosClient from './api'
import ENDPOINT from './constants'
function loadContractPlanAPI() {
return AxiosClient.get(ENDPOINT.COMPANY_MANAGEMENT.LOAD_CONTRACT_PLAN)
.then(({ data }) => data)
}
function loadCompanyListAPI({ params }) {
params = parseFilter(params)
return AxiosClient.get(ENDPOINT.COMPANY_MANAGEMENT.LOAD_COMPANY_LIST, '', { params })
.then(({ data }) => data)
}
export {
loadContractPlanAPI,
loadCompanyListAPI
}
const END_POINT = {
TEST_API: 'api/0.4/',
COURSE_CATEGORIES: '/admin/course-category/category',
COURSE_CATEGORY_DETAIL: '/admin/course-category/detail-category',
COURSE_CATEGORIES_ALL: '/admin/course-category/get-all-category',
COURSE_CATEGORIES_COMPANY: '/admin/course-category/category-company',
UPDATE_COURSE_CATEGORY: '/admin/course-category/update-category',
DELETE_COURSE_CATEGORIES: '/admin/course-category/delete-course-category/',
GET_COURSE_CATEGORIES_REORDER: '/admin/course-category/get-order-category',
REORDER_COURSE_CATEGORIES: '/admin/course-category/order-category',
COURSE_LIST: '/admin/course/course-list',
GET_ORDER_COURSE: '/admin/course/get-order-course',
ORDER_COURSE: '/admin/course/order-course',
COURSE: '/admin/course/',
DELETE_COURSES: '/admin/course/delete-course/',
// common
PRESIGNED: '/api/v1/file/pre-signed',
USER_ATTRIBUTE: '/admin/user-management/attribute-list',
USER_COURSE: '/admin/course/course-list',
USER_GROUP: '/admin/department/list-department',
USER_UNIT: '/admin/common/user-unit/list',
ADD_NEW: '/admin/notification/add-news',
EDIT_NEW: '/admin/notification/edit-news',
GET_FIND_USER: '/admin/notification/find-user',
GET_NEWS_DETAIL: '/admin/notification/news-detail',
LIST_NOTIFICATION: '/admin/notification/list',
DELETE_NOTIFICATION: '/admin/notification/delete',
GET_NOTIFICATION: '/notification/detail/',
AUTOCOMPLETE: {
SEARCH_COURSE: '/admin/course/course-unit-search'
},
UNIT_SETTING: {
LIST: '/admin/course/lesson/list-unit-lesson',
DELETE: '/admin/course/lesson/delete-unit-setting',
LIST_ORDER: '/admin/course/lesson/order-unit-setting',
UPDATE_ORDER: '/admin/course/lesson/order-unit-setting',
CREATE_LECTURE: '/admin/course/lesson/unit-lesson',
UPDATE_LECTURE: ({ courseId, unitId }) => `/admin/course/lesson/${courseId}/unit-lesson/${unitId}`,
GET_DETAIL_LECTURE: '/admin/course/lesson/unit',
PARENT: '/admin/course/unit-setting/',
REGISTER_TEST: '/admin/course/lesson/register-test/',
GET_DETAIL_TEST: '/admin/course/unit-setting/detail-test/',
OPTION_SETTING: '/admin/course/unit-setting/option-settings/',
UPDATE_PASS_SCORE: '/admin/course/unit-setting/pass-score/',
GET_QUESTIONS_CATEGORY: '/admin/question-category/test-question-category',
GET_QUESTIONS_LIST: '/admin/course/unit-setting/question-settings',
LOAD_ORDER_QUESTIONS: '/admin/course/unit-setting/order-question-settings/',
DELETE_QUESTION: '/admin/course/unit-setting/delete-question-test/',
UPDATE_SORT_QUESTION: '/admin/course/unit-setting/order-course',
CREATE_UNIT_SURVEY: '/admin/course/unit-setting/unit-survey/unit-survey',
GET_UNIT_SURVEY: '/admin/course/unit-setting/unit-survey/get-detail',
UPDATE_UNIT_SURVEY: '/admin/course/unit-setting/unit-survey',
GET_UNIT_SURVEY_QUESTIONS: '/admin/course/unit-setting/unit-survey/unit-question/list',
DELETE_UNIT_SURVEY_QUESTIONS: '/admin/course/unit-setting/unit-survey/unit-question/delete',
GET_UNIT_SURVEY_QUESTIONS_CREATE: '/admin/course/unit-setting/unit-survey/question-create',
CREATE_UNIT_SURVEY_QUESTION: '/admin/course/unit-setting/unit-survey/question',
GET_UNIT_SURVEY_QUESTION: '/admin/course/unit-setting/unit-survey/question-detail/{questionId}',
GET_UNIT_SURVEY_QUESTIONS_EDIT: '/admin/course/unit-setting/unit-survey/question-update/{surveyId}',
UPDATE_UNIT_SURVEY_QUESTION: '/admin/course/unit-setting/unit-survey/question/{questionId}',
UPDATE_ORDER_UNIT_SURVEY_QUESTION: '/admin/course/unit-setting/order-course',
CREATE_QUESTION: '/admin/course/unit-setting/question-test',
GET_DETAIL_QUESTION: 'admin/course/unit-setting/question-detail',
UPDATE_QUESTION: ({ testId, questionId }) => `/admin/course/unit-setting/${testId}/question-test/${questionId}`,
// REPORT
LOAD_DETAIL_REPORT: '/admin/course/unit-report/',
LOAD_REPORTS: '/admin/publishing-setting',
REGISTER_REPORT: '/admin/course/lesson/unit-report/',
LOAD_QUESTION_REPORT: '/admin/course/report-question/',
QUESTION_SETTING_REPORT: '/admin/course/question-settings/',
DELETE_QUESTION_REPORT: ({ reportId }) => `/admin/course/report-question/${reportId}`,
CREATE_QUESTION_REPORT: ({ reportId }) => `/admin/course/report-question/${reportId}`,
EDIT_QUESTION_REPORT: ({ reportId, questionId }) => `/admin/course/report-question/${reportId}/question/${questionId}`,
LOAD_DETAIL_QUESTION_REPORT: ({ reportId, questionId }) => `/admin/course/report-question/${reportId}/question/${questionId}`,
LOAD_DETAIL_PUBLISH_REPORT: ({ reportId }) => `/admin/course/report-question/setting-public/${reportId}`,
UPDATE_DETAIL_PUBLISH_REPORT: ({ reportId }) => `/admin/course/report-question/setting-public/${reportId}`
},
TEST_QUESTION_MANAGEMENT: {
LOAD_TEST_UNITS: '/admin/question-management/unit-test',
LOAD_TEST_QUESTIONS: '/admin/question-management/',
LOAD_TEST_QUESTION_DETAIL: ({ questionId }) => `admin/course/unit-setting/question-detail/${questionId}`,
DELETE_TEST_QUESTIONS: '/admin/question-management/'
},
AUTO_ASSIGNMENT_COURSE: {
LOAD_AUTOMATIC_ASSIGNMENT: '/admin/course/course-assignment-setting/list',
DELETE_COURSE_ASSIGNMENT: '/admin/course/course-assignment-setting/delete',
LOAD_COURSE_CATEGORY: '/admin/course-category/category-company',
LOAD_COURSE_ASSIGNMENT: '/admin/course/course-assignment-setting/list-course-assign',
LOAD_TARGET_GROUP: '/admin/department/list-department',
LOAD_TARGET_ATTRIBUTE: '/admin/user-management/attribute-list',
CREATE_ASSIGNMENT: '/admin/course/course-assignment-setting/create',
UPDATE_ASSIGNMENT: '/admin/course/course-assignment-setting/update',
LOAD_DETAIL_ASSIGNMENT: ({ assignId }) => `/admin/course/course-assignment-setting/${assignId}/detail`
},
RECORDING: {
UPLOAD: 'admin/course/course-file/upload-file/',
GET_FOLDER_RECORDING: 'admin/course/course-file/get-recording-folders',
CHECK_EXIST_FILE_NAME: 'admin/course/course-file/check-existed-file'
},
PROFILE_USER: '/profile-user',
UPLOAD_FILE: {
DELETE_FILES: '/admin/course/course-file/delete',
DETAIL_FILE: '/admin/course/course-file/detail-file',
GET_FOLDER_TREE: '/admin/course/course-file/treefile',
GET_FILES: '/admin/course/course-file/file',
REGISTER_FOLDER: '/admin/course/course-file/register-folder',
SEARCH_FILE: '/admin/course/course-file/search-file',
UPDATE_FILE: '/admin/course/course-file/update-file',
UPLOAD_FILE: '/admin/course/course-file/upload-file',
CHECK_EXIST_FILE: '/admin/course/course-file/check-existed-file',
SUBTITLE_VIDEO: '/admin/course/course-file/subtitle',
VIDEO_DETAIL: '/admin/course/course-file/video-detail'
},
COURSE_RESULT: {
COMPLETE_STATUS: '/admin/study/hist-learn-course/complete-status',
UNIT_STATUS: '/admin/study/hist-learn-unit/complete-status',
UNIT_LIST_TEST: '/admin/study/user-unit/list?unitType=TEST',
UNIT_LIST_SURVEY: '/admin/study/user-unit/list?unitType=SURVEY',
UNIT_LIST_LESSON: '/admin/study/user-unit/list?unitType=LESSON',
UNIT_LIST_REPORT: '/admin/study/user-unit/list?unitType=REPORT',
UNIT_LIST_ALL: '/admin/study/user-unit/list',
TEST_RESULT: '/admin/study/hist-test-status/list',
SURVEY_ANSWER: '/admin/study/hist-survey-status/list',
SURVEY_RESULTS: 'admin/study/hist-survey-result/list',
SURVEY_QUESTION: 'admin/study/course',
GET_COURSE: 'admin/course/course-list',
GET_REPORT_HISTORIES: 'admin/study/hist-report-result/list',
GET_REPORT_DETAIL: ({ userId, courseId, reportId }) => `admin/study/user/${userId}/course/${courseId}/report/${reportId}`,
SURVEY_ANSWER_DETAIL: ({ userId, courseId, surveyId }) => `admin/study/user/${userId}/course/${courseId}/survey/${surveyId}/result-detail`,
EVALUATE_REPORT: 'admin/study/report-evaluation',
GET_REPORT_QUESTIONS: ({ userId, courseId, reportId }) => `admin/study/hist-report-result/list-detail?userId=${userId}&courseId=${courseId}&reportId=${reportId}`,
PUBLIC_REPORT: ({ userId, courseId, reportId, publicStatus }) => `admin/study/user/${userId}/course/${courseId}/report/${reportId}/public-status/${publicStatus}`,
GET_UNIT: 'admin/study/user-unit/list'
},
USER: {
IMPORT_MULTI_USER_CSV: '/admin/user/upload',
DOWNLOAD_CSV_TEMPLATE: '/admin/user/download',
GET_IMPORT_USER_RESULT: '/admin/user/user-list',
GET_USERS: '/admin/user/list',
DELETE_USERS: '/admin/user/delete',
GET_USER: '/admin/user/user-detail',
CREATE_USER: '/admin/user/create',
ASSIGN_REMOVE_GROUP: '/admin/user/assign-remove-for-group',
ASSIGN_REMOVE_ATTRIBUTE: '/admin/user/assign-remove-for-attribute',
UPDATE_LOGIN_STATUS: '/admin/user/change-status',
USER_LEARN_STATUS: '',
USER_TEST_RESULT: '/admin/user/result-test',
USER_LEARN_HISTORY: '/admin/user-management/course/learned-histories',
LOGIN_HISTORY: '/admin/login/history/list',
GET_GROUPS: '/admin/department/list-department',
GET_GROUP: '',
CREATE_GROUP: '/admin/department/create-department',
UPDATE_GROUP: '/admin/department/update-department',
DELETE_GROUPS: '/admin/department/delete-department',
GET_ATTRIBUTES: '/admin/user-management/attribute-list',
GET_ATTRIBUTE: '/admin/user-management/attribute-detail',
CREATE_ATTRIBUTE: '/admin/user-management/attribute-create',
UPDATE_ATTRIBUTE: '/admin/user-management/attribute-update',
DELETE_ATTRIBUTES: '/admin/user-management/attribute-delete'
},
ISSUE_PERMISSION: {
GET_LIST_CATEGORY: '/admin/course/enrollment/list-category',
GET_LIST_USER: '/admin/course/enrollment/list-user',
GET_LIST_USER_SELECTED: '/admin/course/enrollment/list-user-seleted',
GET_LIST_ATTRIBUTE: '/admin/user-management/attribute-list',
GET_LIST_GROUP: '/admin/department/list-department',
GET_LIST_COURSE: '/admin/course/course-list',
GET_LIST_ISSUE_PERMISSION: '/admin/course/enrollment/user-course/list',
UPDATE_ISSUE_PERMISSION: '/admin/course/enrollment/update',
CREATE_ISSUE_PERMISSION: '/admin/course/enrollment/course-enrollment',
DELETE_ISSUE_PERMISSION: '/admin/course/enrollment/delete',
COMPLETE_STATUS: '/admin/study/hist-learn-course/complete-status',
GET_LIST_UPDATE_ISSUE_PERMISSION: '/admin/course/enrollment/enrollment-update'
},
COMPANY_MANAGEMENT: {
LOAD_CONTRACT_PLAN: '/admin/plan-package/list',
LOAD_COMPANY_LIST: '/admin/company-management/list'
},
COMPANY_SEMINAR: {
GET_LIST_SEMINAR: '/admin/seminar/list',
UPDATE_SEMINAR: '/admin/seminar/update',
DELETE_SEMINAR: '/admin/seminar/delete',
CREATE_SEMINAR: '/admin/seminar/create',
GET_DETAIL_SEMINAR: (seminarId) => `/admin/seminar/${seminarId}/detail`
}
TEST_API: 'api/0.4/'
}
export default END_POINT
import { parseFilterArrayToStringV2 } from 'Utils'
import AxiosClient from './api'
import END_POINT from './constants'
function getUserAttribute() {
return AxiosClient.get(END_POINT.USER_ATTRIBUTE)
.then((res) => res.data)
}
function getUserCourse() {
return AxiosClient.get(END_POINT.COURSE_RESULT.GET_COURSE)
.then((res) => res.data)
}
function getUserGroup() {
return AxiosClient.get(END_POINT.USER_GROUP)
.then((res) => res.data)
}
function getUserUnit() {
return AxiosClient.get(END_POINT.USER_UNIT)
.then((res) => res.data)
}
function getCourseStatus(params) {
const q = parseFilterArrayToStringV2(params)
return AxiosClient.get(`${END_POINT.COURSE_RESULT.COMPLETE_STATUS}?${q}`)
.then((res) => res.data)
}
function getUnitStatus(params) {
const q = parseFilterArrayToStringV2(params)
return AxiosClient.get(`${END_POINT.COURSE_RESULT.UNIT_STATUS}?${q}`)
.then((res) => res.data)
}
function getUnitListTest() {
return AxiosClient.get(END_POINT.COURSE_RESULT.UNIT_LIST_TEST)
.then((res) => res.data)
}
function getUnitListSurvey() {
return AxiosClient.get(END_POINT.COURSE_RESULT.UNIT_LIST_SURVEY)
.then((res) => res.data)
}
function getUnitListLesson() {
return AxiosClient.get(END_POINT.COURSE_RESULT.UNIT_LIST_LESSON)
.then((res) => res.data)
}
function getUnitListReport() {
return AxiosClient.get(END_POINT.COURSE_RESULT.UNIT_LIST_REPORT)
.then((res) => res.data)
}
function getUnitListAll(params) {
const q = parseFilterArrayToStringV2(params)
return AxiosClient.get(`${END_POINT.COURSE_RESULT.UNIT_LIST_ALL}?${q}`)
.then((res) => res.data)
}
function getTestResult(params) {
const q = parseFilterArrayToStringV2(params)
return AxiosClient.get(`${END_POINT.COURSE_RESULT.TEST_RESULT}?${q}`)
.then((res) => res.data)
}
function getSurveyAnswer(params) {
const q = parseFilterArrayToStringV2(params)
return AxiosClient.get(`${END_POINT.COURSE_RESULT.SURVEY_ANSWER}?${q}`)
.then((res) => res.data)
}
function getSurveyAnswerDetail({ userId, courseId, surveyId, params }) {
const q = new URLSearchParams({ ...params }).toString()
const uri = END_POINT.COURSE_RESULT.SURVEY_ANSWER_DETAIL({ userId, courseId, surveyId })
return AxiosClient.get(`${uri}?${q}`)
.then((res) => res.data)
}
function getResultOfSurvey({ courseIds, limit = 20, page = 1 }) {
let uri = `${END_POINT.COURSE_RESULT.SURVEY_RESULTS}?page=${page}&limit=${limit}`
if (courseIds) {
courseIds.forEach((id) => {
uri += `&listCourse=${id}`
})
}
return AxiosClient.get(uri)
.then((res) => res.data)
}
function getSurveyQuestion({ courseId, surveyId, page = 1, limit = 20 }) {
let uri = `${END_POINT.COURSE_RESULT.SURVEY_QUESTION}/${courseId}/survey/${surveyId}/question-list?page=${page}&limit=${limit}`
return AxiosClient.get(uri)
.then((res) => res.data)
}
function getUnitsByCourseIds({ courseIds, unitType }) {
let uri = `${END_POINT.COURSE_RESULT.GET_UNIT}`
let query = ''
if (courseIds.length) {
courseIds.forEach((id) => {
if (!query) {
query += `?lstCourse=${id}`
} else {
query += `&lstCourse=${id}`
}
})
}
if (unitType) {
if (!query) {
query += `?unitType=${unitType}`
} else {
query += `&unitType=${unitType}`
}
}
return AxiosClient.get(`${uri}${query}`)
.then((res) => res.data)
}
const generateReportHistoriesUri = (params) => {
let query = `?userName=${params.userName || ''}&email=${params.email || ''}&submissionTimeStart=${params.submissionTimeStart || ''}&submissionTimeEnd=${params.submissionTimeEnd || ''}`
query += `&page=${params.page}&limit=${params.limit}`
if (params.submissionStatus) {
query += `&submissionStatus=${params.submissionStatus}`
}
if (params.evaluationStatus) {
query += `&evaluationStatus=${params.evaluationStatus}`
}
if (params.listAttribute?.length) {
params.listAttribute.forEach((attribute) => {
query += `&listAttribute=${attribute}`
})
}
if (params.listGroup?.length) {
params.listGroup.forEach((group) => {
query += `&listGroup=${group}`
})
}
if (params.listCourse?.length) {
params.listCourse.forEach((course) => {
query += `&listCourse=${course}`
})
}
if (params.listUnitReports?.length) {
params.listUnitReports.forEach((unit) => {
query += `&listUnitReports=${unit}`
})
}
query += params.sortBy ? `&sortBy=${params.sortBy}` : '&sortBy=SUBMISSION_TIME'
query += params.isAscending ? `&isAscending=${params.isAscending}` : '&isAscending=false'
return query
}
function getReportHistories({ params = null }) {
let uri = END_POINT.COURSE_RESULT.GET_REPORT_HISTORIES
if (params) {
uri += generateReportHistoriesUri(params)
}
return AxiosClient.get(uri)
.then((res) => res.data)
}
function getReportDetail({ params }) {
return AxiosClient.get(END_POINT.COURSE_RESULT.GET_REPORT_DETAIL(params))
.then((res) => res.data)
}
function evaluateReport({ params }) {
return AxiosClient.put(END_POINT.COURSE_RESULT.EVALUATE_REPORT, params)
.then((res) => res.data)
}
function getReportQuestions({ params }) {
return AxiosClient.get(END_POINT.COURSE_RESULT.GET_REPORT_QUESTIONS(params))
.then((res) => res.data)
}