UNPKG

@selfcommunity/api-services

Version:
138 lines (131 loc) 5.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SuggestionApiClient = void 0; const tslib_1 = require("tslib"); const apiRequest_1 = require("../../utils/apiRequest"); const Endpoints_1 = tslib_1.__importDefault(require("../../constants/Endpoints")); const url_1 = require("../../utils/url"); /** * Contains all the endpoints needed to manage suggestions. */ class SuggestionApiClient { /** * This endpoint retrieves a list of categories suggested to the current user. * @param params * @param config */ static getCategorySuggestion(params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.CategoriesSuggestion.url({}), method: Endpoints_1.default.CategoriesSuggestion.method, params })); } /** * This endpoint retrieves a list of courses suggested to the current user. * @param params * @param config */ static getCourseSuggestion(params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.CourseSuggestion.url({}), method: Endpoints_1.default.CourseSuggestion.method, params })); } /** * This endpoint retrieves a list of suggested incubators. * @param params * @param config */ static getIncubatorSuggestion(params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetIncubatorSuggestion.url({}), method: Endpoints_1.default.GetIncubatorSuggestion.method, params })); } /** * This endpoint retrieves a list of contributes(discussions, posts, statuses) with a related poll. * @param params * @param config */ static getPollSuggestion(params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.PollSuggestion.url({}), method: Endpoints_1.default.PollSuggestion.method, params })); } /** * This endpoint retrieves a list of users suggested to the current user. * @param params * @param config */ static getUserSuggestion(params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.UserSuggestion.url({}), method: Endpoints_1.default.UserSuggestion.method, params })); } /** * This endpoint retrieves a list of events suggested to the current user. * @param params * @param config */ static getEventSuggestion(params, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.EventSuggestion.url({}), method: Endpoints_1.default.EventSuggestion.method, params })); } /** * This endpoint retrieves a list of users suggested to the current user. * @param search * @param params * @param config */ static getSearchSuggestion(search, params, config) { const p = (0, url_1.urlParams)({ search: search }); return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: `${Endpoints_1.default.SearchSuggestion.url({})}?${p.toString()}`, method: Endpoints_1.default.UserSuggestion.method, params })); } } exports.SuggestionApiClient = SuggestionApiClient; /** * :::tip Suggestion service can be used in the following way: ```jsx 1. Import the service from our library: import {SuggestionService} from "@selfcommunity/api-services"; ``` ```jsx 2. Create a function and put the service inside it! The async function `getCategorySuggestion` will return the paginated list of categories. async getCategorySuggestion() { return await SuggestionService.getCategorySuggestion(); } ``` ```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 SuggestionService { static getCategorySuggestion(params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return SuggestionApiClient.getCategorySuggestion(params, config); }); } static getCourseSuggestion(params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return SuggestionApiClient.getCourseSuggestion(params, config); }); } static getIncubatorSuggestion(params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return SuggestionApiClient.getIncubatorSuggestion(params, config); }); } static getPollSuggestion(params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return SuggestionApiClient.getPollSuggestion(params, config); }); } static getUserSuggestion(params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return SuggestionApiClient.getUserSuggestion(params, config); }); } static getEventSuggestion(params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return SuggestionApiClient.getEventSuggestion(params, config); }); } static getSearchSuggestion(search, params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return SuggestionApiClient.getSearchSuggestion(search, params, config); }); } } exports.default = SuggestionService;