UNPKG

@selfcommunity/api-services

Version:
645 lines (637 loc) • 28.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CourseApiClient = void 0; const tslib_1 = require("tslib"); const Endpoints_1 = tslib_1.__importDefault(require("../../constants/Endpoints")); const apiRequest_1 = require("../../utils/apiRequest"); const url_1 = require("../../utils/url"); /** * Contains all the endpoints needed to manage events. */ class CourseApiClient { /** * This endpoint allows user managers to change the role of some users in the specified course. * @param _id * @param data * @param config */ static changeCourseUserRole(id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.ChangeCourseUserRole.url({ id }), method: Endpoints_1.default.ChangeCourseUserRole.method, data })); } /** * This endpoint retrieves all the events of the logged-in user. * @param params * @param config */ static getJoinedCourses(params, config) { const p = (0, url_1.urlParams)(params); return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: `${Endpoints_1.default.GetJoinedCourses.url({})}?${p.toString()}`, method: Endpoints_1.default.GetJoinedCourses.method })); } /** * This endpoint retrieves a specific course. * @param id * @param params * @param config */ static getUserJoinedCourses(id, params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { params, url: Endpoints_1.default.GetUserJoinedCourses.url({ id }), method: Endpoints_1.default.GetUserJoinedCourses.method })); } /** * This endpoint performs events search * @param params * @param config */ static searchCourses(params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { params, url: Endpoints_1.default.SearchCourses.url({}), method: Endpoints_1.default.SearchCourses.method })); } /** * This endpoint retrieves a specific course. * @param id * @param params * @param config */ static getSpecificCourseInfo(id, params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { params, url: Endpoints_1.default.GetCourseInfo.url({ id }), method: Endpoints_1.default.GetCourseInfo.method })); } /** * This endpoint retrieves the list of all users that joined the course identified by Id * it will also return some useful stats that can be used to make a course dashboard. * @param id * @param params * @param config */ static getCourseDashboardUsers(id, params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { params, url: Endpoints_1.default.GetCourseDashboardUsers.url({ id }), method: Endpoints_1.default.GetCourseDashboardUsers.method })); } /** * This endpoint creates a course. * @param data * @param config */ static createCourse(data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.CreateCourse.url({}), method: Endpoints_1.default.CreateCourse.method, data })); } /** * This endpoint updates a course. * @param id * @param data * @param config */ static updateCourse(id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.UpdateCourse.url({ id }), method: Endpoints_1.default.UpdateCourse.method, data })); } /** * This endpoint patches a course. * @param id * @param data * @param config */ static patchCourse(id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.PatchCourse.url({ id }), method: Endpoints_1.default.PatchCourse.method, data })); } /** * This endpoint deletes a course. * @param id * @param config */ static deleteCourse(id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.DeleteCourse.url({ id }), method: Endpoints_1.default.DeleteCourse.method })); } /** * This endpoint retrieves a specific course comment. * @param id * @param section_id * @param lesson_id * @param comment_id * @param config */ static getCourseLessonComment(id, section_id, lesson_id, comment_id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetCourseLessonComment.url({ id, section_id, lesson_id, comment_id }), method: Endpoints_1.default.GetCourseLessonComment.method })); } /** * This endpoint retrieves the course comments. * @param id * @param params * @param config */ static getCourseComments(id, params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetCourseComments.url({ id }), method: Endpoints_1.default.GetCourseComments.method, params })); } /** * This endpoint creates a course comment. * @param id * @param section_id * @param lesson_id * @param data * @param config */ static createCourseComment(id, section_id, lesson_id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.CreateCourseComment.url({ id, section_id, lesson_id }), method: Endpoints_1.default.CreateCourseComment.method, data })); } /** * This endpoint updates a course comment. * @param id * @param section_id * @param lesson_id * @param comment_id * @param data * @param config */ static updateCourseComment(id, section_id, lesson_id, comment_id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.UpdateCourseComment.url({ id, section_id, lesson_id, comment_id }), method: Endpoints_1.default.UpdateCourseComment.method, data })); } /** * This endpoint patches a course comment. * @param id * @param section_id * @param lesson_id * @param comment_id * @param data * @param config */ static patchCourseComment(id, section_id, lesson_id, comment_id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.PatchCourseComment.url({ id, section_id, lesson_id, comment_id }), method: Endpoints_1.default.PatchCourseComment.method, data })); } /** * This endpoint deletes a course comment. * @param id * @param section_id * @param lesson_id * @param comment_id * @param config */ static deleteCourseComment(id, section_id, lesson_id, comment_id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.DeleteCourseComment.url({ id, section_id, lesson_id, comment_id }), method: Endpoints_1.default.DeleteCourseComment.method })); } /** * This endpoint retrieves a specific course section. * @param id * @param section_id * @param config */ static getCourseSection(id, section_id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetCourseSection.url({ id, section_id }), method: Endpoints_1.default.GetCourseSection.method })); } /** * This endpoint retrieves the course sections. * @param id * @param config */ static getCourseSections(id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetCourseSections.url({ id }), method: Endpoints_1.default.GetCourseSections.method })); } /** * This endpoint creates a course section. * @param data * @param config */ static createCourseSection(id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.CreateCourseSection.url({ id }), method: Endpoints_1.default.CreateCourseSection.method, data })); } /** * This endpoint updates a course section. * @param id * @param section_id * @param data * @param config */ static updateCourseSection(id, section_id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.UpdateCourseSection.url({ id, section_id }), method: Endpoints_1.default.UpdateCourseSection.method, data })); } /** * This endpoint patches a course section. * @param id * @param section_id * @param data * @param config */ static patchCourseSection(id, section_id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.PatchCourseSection.url({ id, section_id }), method: Endpoints_1.default.PatchCourseSection.method, data })); } /** * This endpoint deletes a course section. * @param id * @param section_id * @param config */ static deleteCourseSection(id, section_id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.DeleteCourseSection.url({ id, section_id }), method: Endpoints_1.default.DeleteCourseSection.method })); } /** * This endpoint retrieves a specific course lesson. * @param id * @param section_id * @param lesson_id * @param config */ static getCourseLesson(id, section_id, lesson_id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetCourseLesson.url({ id, section_id, lesson_id }), method: Endpoints_1.default.GetCourseLesson.method })); } /** * This endpoint retrieves the comments for a specific course lesson. * @param id * @param section_id * @param lesson_id * @param params * @param config */ static getCourseLessonComments(id, section_id, lesson_id, params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetCourseLessonComments.url({ id, section_id, lesson_id }), method: Endpoints_1.default.GetCourseLessonComments.method, params })); } /** * This endpoint retrieves the course lessons. * @param id * @param section_id * @param config */ static getCourseLessons(id, section_id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetCourseLessons.url({ id, section_id }), method: Endpoints_1.default.GetCourseLessons.method })); } /** * This endpoint creates a course lesson. * @param data * @param config */ static createCourseLesson(data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.CreateCourseLesson.url({}), method: Endpoints_1.default.CreateCourseLesson.method, data })); } /** * This endpoint updates a course lesson. * @param id * @param section_id * @param lesson_id * @param data * @param config */ static updateCourseLesson(id, section_id, lesson_id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.UpdateCourseLesson.url({ id, section_id, lesson_id }), method: Endpoints_1.default.UpdateCourseLesson.method, data })); } /** * This endpoint patches a course lesson. * @param id * @param section_id * @param lesson_id * @param data * @param config */ static patchCourseLesson(id, section_id, lesson_id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.PatchCourseLesson.url({ id, section_id, lesson_id }), method: Endpoints_1.default.PatchCourseLesson.method, data })); } /** * This endpoint deletes a course lesson. * @param id * @param section_id * @param lesson_id * @param config */ static deleteCourseLesson(id, section_id, lesson_id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.DeleteCourseLesson.url({ id, section_id, lesson_id }), method: Endpoints_1.default.DeleteCourseLesson.method })); } /** * This endpoint marks a course lesson as complete. * @param id * @param section_id * @param lesson_id * @param config */ static markLessonComplete(id, section_id, lesson_id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.MarkLessonComplete.url({ id, section_id, lesson_id }), method: Endpoints_1.default.MarkLessonComplete.method })); } /** * This endpoint marks a course lesson as incomplete. * @param id * @param section_id * @param lesson_id * @param config */ static markLessonIncomplete(id, section_id, lesson_id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.MarkLessonIncomplete.url({ id, section_id, lesson_id }), method: Endpoints_1.default.MarkLessonIncomplete.method })); } /** * This endpoint changes the course avatar * @param id * @param data * @param config */ static changeCourseCover(id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign({ url: Endpoints_1.default.PatchCourse.url({ id }), method: Endpoints_1.default.PatchCourse.method, data }, config)); } /** * This endpoint returns all waiting approval subscribers * @param id * @param params * @param config */ static getCourseWaitingApproval(id, params, config) { const p = (0, url_1.urlParams)(params); return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: `${Endpoints_1.default.GetCourseWaitingApproval.url({ id })}?${p.toString()}`, method: Endpoints_1.default.GetCourseWaitingApproval.method })); } /** * This endpoint returns a list of suggested users to invite to the course. * @param id * @param search * @param config */ static getCourseSuggestedUsers(id, search, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetCourseSuggestedUsers.url({ id, search }), method: Endpoints_1.default.GetCourseSuggestedUsers.method })); } /** * This endpoint returns a list of invited users. * @param id * @param params * @param config */ static getCourseInvitedUsers(id, params, config) { const p = (0, url_1.urlParams)(params); return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: `${Endpoints_1.default.GetCourseInvitedUsers.url({ id })}?${p.toString()}`, method: Endpoints_1.default.GetCourseInvitedUsers.method })); } /** * This endpoint returns a list of joined users. * @param id * @param params * @param config */ static getCourseJoinedUsers(id, params, config) { const p = (0, url_1.urlParams)(params); return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: `${Endpoints_1.default.GetCourseJoinedUsers.url({ id })}?${p.toString()}`, method: Endpoints_1.default.GetCourseJoinedUsers.method })); } /** * This endpoint subscribes to a course. * @param id * @param config */ static joinOrAcceptInviteToCourse(id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.JoinOrAcceptInviteToCourse.url({ id }), method: Endpoints_1.default.JoinOrAcceptInviteToCourse.method })); } /** * This endpoint unsubscribes from a course. * @param id * @param config */ static leaveOrRemoveCourseRequest(id, params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.LeaveOrRemoveCourseRequest.url({ id }), method: Endpoints_1.default.LeaveOrRemoveCourseRequest.method, params })); } /** * This endpoint allows to invite or accept a course invite. * @param id * @param data * @param config */ static inviteOrAcceptUsersToCourse(id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.InviteOrAcceptUsersToCourse.url({ id }), method: Endpoints_1.default.InviteOrAcceptUsersToCourse.method, data })); } /** * This endpoint allows to remove invites. * @param id * @param data * @param config */ static removeInvitationToCourse(id, data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.RemoveInvitationToCourse.url({ id }), method: Endpoints_1.default.RemoveInvitationToCourse.method, data })); } /** * This endpoint retrieves the course subscription status. * @param id * @param config */ static getCourseStatus(id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetCourseStatus.url({ id }), method: Endpoints_1.default.GetCourseStatus.method })); } } exports.CourseApiClient = CourseApiClient; /** * :::tip Incubator service can be used in the following way: ```jsx 1. Import the service from our library: import {CourseService} from "@selfcommunity/api-services"; ``` ```jsx 2. Create a function and put the service inside it! The async function `searchCourses` will return the events matching the search query. async searchCourses() { return await CourseService.searchCourses(); } ``` ```jsx In case of required `params`, just add them inside the brackets. async getSpecificCourseInfo(eventId) { return await CourseService.getSpecificCourseInfo(eventId); } ``` ```jsx If you need to customize the request, you can add optional config params (`AxiosRequestConfig` type). 1. Declare it(or declare them, it is possible to add multiple params) const headers = headers: {Authorization: `Bearer ${yourToken}`} 2. Add it inside the brackets and pass it to the function, as shown in the previous example! ``` ::: */ class CourseService { static changeCourseUserRole(id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.changeCourseUserRole(id, data, config); }); } static getJoinedCourses(params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getJoinedCourses(params, config); }); } static getUserJoinedCourses(id, params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getUserJoinedCourses(id, params, config); }); } static searchCourses(params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.searchCourses(params, config); }); } static getSpecificCourseInfo(id, params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getSpecificCourseInfo(id, params, config); }); } static getCourseDashboardUsers(id, params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseDashboardUsers(id, params, config); }); } static createCourse(data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.createCourse(data, config); }); } static updateCourse(id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.updateCourse(id, data, config); }); } static patchCourse(id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.patchCourse(id, data, config); }); } static deleteCourse(id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.deleteCourse(id, config); }); } static getCourseLessonComment(id, section_id, lesson_id, comment_id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseLessonComment(id, section_id, lesson_id, comment_id, config); }); } static getCourseComments(id, params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseComments(id, params, config); }); } static createCourseComment(id, section_id, lesson_id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.createCourseComment(id, section_id, lesson_id, data, config); }); } static updateCourseComment(id, section_id, lesson_id, comment_id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.updateCourseComment(id, section_id, lesson_id, comment_id, data, config); }); } static patchCourseComment(id, section_id, lesson_id, comment_id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.patchCourseComment(id, section_id, lesson_id, comment_id, data, config); }); } static deleteCourseComment(id, section_id, lesson_id, comment_id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.deleteCourseComment(id, section_id, lesson_id, comment_id, config); }); } static getCourseSection(id, section_id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseSection(id, section_id, config); }); } static getCourseSections(id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseSections(id, config); }); } static createCourseSection(id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.createCourseSection(id, data, config); }); } static updateCourseSection(id, section_id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.updateCourseSection(id, section_id, data, config); }); } static patchCourseSection(id, section_id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.patchCourseSection(id, section_id, data, config); }); } static deleteCourseSection(id, section_id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.deleteCourseSection(id, section_id, config); }); } static getCourseLesson(id, section_id, lesson_id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseLesson(id, section_id, lesson_id, config); }); } static getCourseLessonComments(id, section_id, lesson_id, params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseLessonComments(id, section_id, lesson_id, params, config); }); } static getCourseLessons(id, section_id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseLessons(id, section_id, config); }); } static createCourseLesson(data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.createCourseLesson(data, config); }); } static updateCourseLesson(id, section_id, lesson_id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.updateCourseLesson(id, section_id, lesson_id, data, config); }); } static patchCourseLesson(id, section_id, lesson_id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.patchCourseLesson(id, section_id, lesson_id, data, config); }); } static deleteCourseLesson(id, section_id, lesson_id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.deleteCourseLesson(id, section_id, lesson_id, config); }); } static markLessonComplete(id, section_id, lesson_id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.markLessonComplete(id, section_id, lesson_id, config); }); } static markLessonIncomplete(id, section_id, lesson_id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.markLessonIncomplete(id, section_id, lesson_id, config); }); } static changeCourseCover(id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.changeCourseCover(id, data, config); }); } static getCourseWaitingApproval(id, params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseWaitingApproval(id, params, config); }); } static getCourseSuggestedUsers(id, search, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseSuggestedUsers(id, search, config); }); } static getCourseInvitedUsers(id, params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseInvitedUsers(id, params, config); }); } static getCourseJoinedUsers(id, params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseJoinedUsers(id, params, config); }); } static joinOrAcceptInviteToCourse(id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.joinOrAcceptInviteToCourse(id, config); }); } static leaveOrRemoveCourseRequest(id, params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.leaveOrRemoveCourseRequest(id, params, config); }); } static inviteOrAcceptUsersToCourse(id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.inviteOrAcceptUsersToCourse(id, data, config); }); } static removeInvitationToCourse(id, data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.removeInvitationToCourse(id, data, config); }); } static getCourseStatus(id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return CourseApiClient.getCourseStatus(id, config); }); } } exports.default = CourseService;