import apiFetch from "@wordpress/api-fetch"; import { addQueryArgs } from "@wordpress/url"; declare const plooginsData: PlooginsData; export const getComments = async (pluginSlug: string): Promise => { apiFetch.use(apiFetch.createNonceMiddleware(plooginsData.nonce)); const data = await apiFetch({ path: addQueryArgs('ploogins/v1/plugin/comments', { plugin_slug: pluginSlug }), }) as PluginComment[]; return data as PluginComment[]; } export const addComment = async (comment: AddPluginComment): Promise<{ comment: PluginComment }> => { apiFetch.use(apiFetch.createNonceMiddleware(plooginsData.nonce)); const data = await apiFetch({ path: 'ploogins/v1/plugin/comments', method: 'POST', data: comment, }); return data as { comment: PluginComment }; } export const deleteComment = async (commentId: number): Promise<{ deleted: boolean }> => { apiFetch.use(apiFetch.createNonceMiddleware(plooginsData.nonce)); const data = await apiFetch({ path: 'ploogins/v1/plugin/comments', method: 'DELETE', data: { comment_id: commentId } }); return data as { deleted: boolean }; } export const updateComment = async (args: { comment_id: number, comment_content: string, plugin_slug: string }): Promise<{ comment: PluginComment }> => { apiFetch.use(apiFetch.createNonceMiddleware(plooginsData.nonce)); const data = await apiFetch({ path: 'ploogins/v1/plugin/comments', method: 'PUT', data: args, }); return data as { comment: PluginComment }; }