first commit

This commit is contained in:
sajjadtalkhabi
2026-05-13 01:43:05 +03:30
commit d2a577f254
297 changed files with 36274 additions and 0 deletions
+117
View File
@@ -0,0 +1,117 @@
export const endpoints = {
register: '/register',
resendVerificationCodeForRegister: '/resend-verification-code',
verifyCode: '/verify-code',
completeProfile: '/complete-profile',
getRegistrationQuestionVideo: '/verification-registration-media',
login: '/login',
loginWithCode2Step: '/login-with-code',
forgotPassword: '/forgot-password',
verifyForgotPasswordCode: '/verify-forgot-password-code',
resetPassword: '/reset-password',
logout: '/logout',
uploadMediaTemporary: '/upload-temp',
provinceList: '/provinces',
citiesList: '/provinces/:provinceId/cities',
getProfile: '/profile',
updateProfile: '/profile',
getStudentCourses: '/student/courses',
showStudentCourse: '/student/courses/:id',
getPendingStudents: '/admin/pending-students',
showPendingStudent: '/admin/pending-students/:id',
changeStatusPendingStudent: '/admin/pending-students/:id/status',
downloadPdfPendingStudentInfo: '/admin/pending-students/:id/pdf',
getApprovedUsers: '/admin/users',
showUserDetails: '/admin/users/:id',
addNewUser: '/admin/users',
updateUser: '/admin/users/:id',
updateUserRole: '/admin/users/:id/role',
getRolesList: '/admin/roles',
changeUserStatus: '/admin/users/:id/status',
deleteUser: '/admin/users/:id',
getTermsList: '/admin/terms',
addNewTerm: '/admin/terms',
showTerm: '/admin/terms/:id',
updateTerm: '/admin/terms/:id',
deleteTerm: '/admin/terms/:id',
cloneTerm: '/admin/terms/:id/clone',
changeStatusTerm: '/admin/terms/:id/status',
listUserTerm: '/admin/terms/:termId/students',
addUserTerm: '/admin/terms/:termId/students',
removeUserTerm: '/admin/terms/:termId/students/:userId',
changeLeaveStatus: '/admin/terms/:termId/students/:userId/toggle-leave',
listCourseTerm: '/admin/terms/:termId/courses',
addCourseTerm: '/admin/terms/:termId/courses',
removeCourseTerm: '/admin/terms/:termId/courses/:courseId',
getCoursesList: '/admin/courses',
addNewCourse: '/admin/courses',
showCourse: '/admin/courses/:id',
updateCourse: '/admin/courses/:id',
deleteCourse: '/admin/courses/:id',
changeStatusCourse: '/admin/courses/:id/toggle-status',
getCourseTemplatesList: '/admin/course-templates',
addNewCourseTemplate: '/admin/course-templates',
showCourseTemplate: '/admin/course-templates/:id',
updateCourseTemplate: '/admin/course-templates/:id',
deleteCourseTemplate: '/admin/course-templates/:id',
changeStatusCourseTemplate: '/admin/course-templates/:id/status',
listTemplateStudents: '/admin/course-templates/:templateId/students',
addTemplateStudent: '/admin/course-templates/:templateId/students',
removeTemplateStudent: '/admin/course-templates/:templateId/students/:userId',
listTemplateSessions: '/admin/course-templates/:templateId/sessions',
attachTemplateSession: '/admin/course-templates/:templateId/sessions',
detachTemplateSession: '/admin/course-templates/:templateId/sessions/:sessionId',
getSessionsList: '/admin/sessions',
addNewSession: '/admin/sessions',
showSession: '/admin/sessions/:id',
updateSession: '/admin/sessions/:id',
deleteSession: '/admin/sessions/:id',
changeStatusSession: '/admin/sessions/:id/toggle-status',
getSessionsAttendance: '/admin/sessions/:sessionId/attendances',
getAssignmentsList: '/admin/assignments',
addNewAssignment: '/admin/assignments',
showAssignment: '/admin/assignments/:id',
updateAssignment: '/admin/assignments/:id',
deleteAssignment: '/admin/assignments/:id',
getAssignmentSubmissions: '/admin/assignments/:assignmentId/submissions',
showAssignmentSubmission: '/admin/assignments/:assignmentId/submissions/:submissionId',
reviewAssignmentSubmission: '/admin/assignments/:assignmentId/submissions/:submissionId/review',
getTicketsList: '/admin/tickets',
showTicket: '/admin/tickets/:id',
sendTicketMessage: '/admin/tickets/:id/messages',
changeTicketStatus: '/admin/tickets/:id/status',
getConsultationsList: '/admin/consultations',
showConsultation: '/admin/consultations/:id',
sendConsultationMessage: '/admin/consultations/:id/messages',
changeConsultationStatus: '/admin/consultations/:id/status',
getExamsList: '/admin/exams',
addNewExam: '/admin/exams',
showExam: '/admin/exams/:id',
updateExam: '/admin/exams/:id',
deleteExam: '/admin/exams/:id',
getExamParticipants: '/admin/exams/:examId/participants',
showExamParticipant: '/admin/exams/:examId/participants/:participantId',
}
export const buildUrl = (template, params = {}) =>
Object.entries(params).reduce(
(url, [key, value]) => url.replace(`:${key}`, encodeURIComponent(value)),
template
)