@selfcommunity/api-services
Version:
Client api for SelfCommunity.
63 lines (56 loc) • 1.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PromoApiClient = void 0;
const tslib_1 = require("tslib");
const Endpoints_1 = tslib_1.__importDefault(require("../../constants/Endpoints"));
const apiRequest_1 = require("../../utils/apiRequest");
/**
* Contains all the endpoints needed to manage Promo codes.
*/
class PromoApiClient {
/**
* This endpoint retrieves a specific Promo identified by Promo code.
* @param code
* @param config
*/
static getSpecificPromo(code, config) {
return (0, apiRequest_1.apiRequest)(Object.assign(Object.assign({}, config), { url: Endpoints_1.default.PromoCode.url({ code }), method: Endpoints_1.default.User.method }));
}
}
exports.PromoApiClient = PromoApiClient;
/**
*
:::tip Promo service can be used in the following way:
```jsx
1. Import the service from our library:
import {PromoService} from "@selfcommunity/api-services";
```
```jsx
2. Create a function and put the service inside it!
The async function `create` will return the paginated list of categories.
async getSpecificPromoCode() {
return await PromoService.getSpecificPromo();
}
```
```jsx
In case of required `params`, just add them inside the brackets.
async create(data) {
return await PromoService.getSpecificPromo(code);
}
```
```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 PromoService {
static getSpecificPromo(code, config) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return PromoApiClient.getSpecificPromo(code, config);
});
}
}
exports.default = PromoService;