import type { Article, PaginationResponse } from '~/types/models' export function useArticles() { const { get } = useApi() const fetchArticles = async (params?: { page?: number limit?: number status?: string visibility?: string authorId?: number search?: string }): Promise> => { const queryParams = new URLSearchParams() if (params?.page) queryParams.set('page', params.page.toString()) if (params?.limit) queryParams.set('limit', params.limit.toString()) if (params?.status) queryParams.set('status', params.status) if (params?.visibility) queryParams.set('visibility', params.visibility) if (params?.authorId) queryParams.set('authorId', params.authorId.toString()) if (params?.search) queryParams.set('search', params.search) const query = queryParams.toString() const url = `/articles${query ? `?${query}` : ''}` return await get>(url) } const fetchArticleBySlug = async (slug: string): Promise
=> { return await get
(`/articles/slug/${slug}`) } const fetchArticleById = async (id: number): Promise
=> { return await get
(`/articles/${id}`) } return { fetchArticles, fetchArticleBySlug, fetchArticleById, } }