/* global axios */ import PortalsAPI from './portals'; class ArticlesAPI extends PortalsAPI { constructor() { super('articles', { accountScoped: true }); } getArticles({ pageNumber, portalSlug, locale, status, author_id, category_slug, }) { let baseUrl = `${this.url}/${portalSlug}/articles?page=${pageNumber}&locale=${locale}`; if (status !== undefined) baseUrl += `&status=${status}`; if (author_id) baseUrl += `&author_id=${author_id}`; if (category_slug) baseUrl += `&category_slug=${category_slug}`; return axios.get(baseUrl); } getArticle({ id, portalSlug }) { return axios.get(`${this.url}/${portalSlug}/articles/${id}`); } updateArticle({ portalSlug, articleId, articleObj }) { return axios.patch( `${this.url}/${portalSlug}/articles/${articleId}`, articleObj ); } createArticle({ portalSlug, articleObj }) { const { content, title, author_id, category_id } = articleObj; return axios.post(`${this.url}/${portalSlug}/articles`, { content, title, author_id, category_id, }); } deleteArticle({ articleId, portalSlug }) { return axios.delete(`${this.url}/${portalSlug}/articles/${articleId}`); } } export default new ArticlesAPI();