UNPKG

@selfcommunity/api-services

Version:
145 lines (137 loc) 5.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IncubatorApiClient = 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 incubators. */ class IncubatorApiClient { /** * This endpoint retrieves all incubators. * @param params * @param config */ static getAllIncubators(params, config) { const p = (0, url_1.urlParams)(params); return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: `${Endpoints_1.default.GetAllIncubators.url({})}?${p.toString()}`, method: Endpoints_1.default.GetAllIncubators.method })); } /** * This endpoint performs search od Incubators * @param params * @param config */ static searchIncubators(params, config) { const p = (0, url_1.urlParams)(params); return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: `${Endpoints_1.default.SearchIncubators.url({})}?${p.toString()}`, method: Endpoints_1.default.SearchIncubators.method })); } /** * This endpoint retrieves a specific incubator. * @param id * @param config */ static getSpecificIncubator(id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetASpecificIncubator.url({ id }), method: Endpoints_1.default.GetASpecificIncubator.method })); } /** * This endpoint creates an incubator. * @param data * @param config */ static createIncubator(data, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.CreateAnIncubator.url({}), method: Endpoints_1.default.CreateAnIncubator.method, data: data })); } /** * This endpoint returns all subscribers of a specific incubator. * @param id * @param config */ static getIncubatorSubscribers(id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.GetIncubatorSubscribers.url({ id }), method: Endpoints_1.default.GetIncubatorSubscribers.method })); } /** * This endpoint subscribes to an incubator. * @param id * @param config */ static subscribeToIncubator(id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.SubscribeToIncubator.url({ id }), method: Endpoints_1.default.SubscribeToIncubator.method })); } /** * This endpoint returns subscribed = true if the incubator (identified in path) is subscribed by the authenticated user. * @param id * @param config */ static checkIncubatorSubscription(id, config) { return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.CheckIncubatorSubscription.url({ id }), method: Endpoints_1.default.CheckIncubatorSubscription.method })); } } exports.IncubatorApiClient = IncubatorApiClient; /** * :::tip Incubator service can be used in the following way: ```jsx 1. Import the service from our library: import {IncubatorService} from "@selfcommunity/api-services"; ``` ```jsx 2. Create a function and put the service inside it! The async function `getAllIncubators` will return the paginated list of incubators. async getAllIncubators() { return await IncubatorService.getAllIncubators(); } ``` ```jsx In case of required `params`, just add them inside the brackets. async getSpecificIncubator(incubatorId) { return await IncubatorService.getSpecificIncubator(incubatorId); } ``` ```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 IncubatorService { static getAllIncubators(params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return IncubatorApiClient.getAllIncubators(params, config); }); } static searchIncubators(params, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return IncubatorApiClient.searchIncubators(params, config); }); } static getSpecificIncubator(id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return IncubatorApiClient.getSpecificIncubator(id, config); }); } static createIncubator(data, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return IncubatorApiClient.createIncubator(data, config); }); } static getIncubatorSubscribers(id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return IncubatorApiClient.getIncubatorSubscribers(id, config); }); } static subscribeToIncubator(id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return IncubatorApiClient.subscribeToIncubator(id, config); }); } static checkIncubatorSubscription(id, config) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return IncubatorApiClient.checkIncubatorSubscription(id, config); }); } } exports.default = IncubatorService;