feat: Add store to manage categories (#5127)

This commit is contained in:
Fayaz Ahmed
2022-08-04 15:11:29 +05:30
committed by GitHub
parent d55a8f7987
commit 7c5ee55d3e
14 changed files with 613 additions and 10 deletions

View File

@@ -0,0 +1,27 @@
/* global axios */
import PortalsAPI from './portals';
class CategoriesAPI extends PortalsAPI {
constructor() {
super('categories', { accountScoped: true });
}
get({ portalSlug }) {
return axios.get(`${this.url}/${portalSlug}/categories`);
}
create({ portalSlug, categoryObj }) {
return axios.post(`${this.url}/${portalSlug}/categories`, categoryObj);
}
update({ portalSlug, categoryObj }) {
return axios.patch(`${this.url}/${portalSlug}/categories`, categoryObj);
}
delete({ portalSlug, categoryId }) {
return axios.delete(`${this.url}/${portalSlug}/categories/${categoryId}`);
}
}
export default new CategoriesAPI();

View File

@@ -13,4 +13,4 @@ class PortalsAPI extends ApiClient {
}
}
export default new PortalsAPI();
export default PortalsAPI;

View File

@@ -0,0 +1,12 @@
import categoriesAPI from '../../helpCenter/categories';
import ApiClient from '../../ApiClient';
describe('#BulkActionsAPI', () => {
it('creates correct instance', () => {
expect(categoriesAPI).toBeInstanceOf(ApiClient);
expect(categoriesAPI).toHaveProperty('get');
expect(categoriesAPI).toHaveProperty('create');
expect(categoriesAPI).toHaveProperty('update');
expect(categoriesAPI).toHaveProperty('delete');
});
});