feat: Add store to manage categories (#5127)
This commit is contained in:
27
app/javascript/dashboard/api/helpCenter/categories.js
Normal file
27
app/javascript/dashboard/api/helpCenter/categories.js
Normal 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();
|
||||
@@ -13,4 +13,4 @@ class PortalsAPI extends ApiClient {
|
||||
}
|
||||
}
|
||||
|
||||
export default new PortalsAPI();
|
||||
export default PortalsAPI;
|
||||
|
||||
@@ -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');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user