@selfcommunity/api-services
Version:
Client api for SelfCommunity.
145 lines (137 loc) • 5.77 kB
JavaScript
;
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;