diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-03-29 14:29:29 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-03-29 14:29:29 +0700 |
| commit | 1d606fe88f97f87e32a58b1b187a71f40c70169c (patch) | |
| tree | 3045839e7e9362f1b851d182614f6ed3ae04af80 /src/lib/blog | |
| parent | ac230a35f325cc47e89fd5d635847536f2dd9b44 (diff) | |
blog detail
Diffstat (limited to 'src/lib/blog')
| -rw-r--r-- | src/lib/blog/api/blogApi.js | 8 | ||||
| -rw-r--r-- | src/lib/blog/api/blogsApi.js | 8 | ||||
| -rw-r--r-- | src/lib/blog/hooks/useBlog.js | 11 | ||||
| -rw-r--r-- | src/lib/blog/hooks/useBlogs.js | 13 |
4 files changed, 40 insertions, 0 deletions
diff --git a/src/lib/blog/api/blogApi.js b/src/lib/blog/api/blogApi.js new file mode 100644 index 00000000..e38c9cd5 --- /dev/null +++ b/src/lib/blog/api/blogApi.js @@ -0,0 +1,8 @@ +import odooApi from '@/core/api/odooApi' + +const blogApi = async ({ id }) => { + const dataBlog = await odooApi('GET', `/api/v1/blog/${id}`) + return dataBlog +} + +export default blogApi diff --git a/src/lib/blog/api/blogsApi.js b/src/lib/blog/api/blogsApi.js new file mode 100644 index 00000000..8943c61e --- /dev/null +++ b/src/lib/blog/api/blogsApi.js @@ -0,0 +1,8 @@ +import odooApi from '@/core/api/odooApi' + +const blogsApi = async ({ limit, offset }) => { + const dataBlogs = await odooApi('GET', `/api/v1/blog?limit=${limit}&offset=${offset}`) + return dataBlogs +} + +export default blogsApi diff --git a/src/lib/blog/hooks/useBlog.js b/src/lib/blog/hooks/useBlog.js new file mode 100644 index 00000000..bc01be7f --- /dev/null +++ b/src/lib/blog/hooks/useBlog.js @@ -0,0 +1,11 @@ +import { useQuery } from 'react-query' +import blogApi from '../api/blogApi' + +const useBlog = ({ id }) => { + const fetchBlog = async () => await blogApi({ id }) + const blog = useQuery(`blog-${id}`, fetchBlog) + + return { blog } +} + +export default useBlog diff --git a/src/lib/blog/hooks/useBlogs.js b/src/lib/blog/hooks/useBlogs.js new file mode 100644 index 00000000..edcea020 --- /dev/null +++ b/src/lib/blog/hooks/useBlogs.js @@ -0,0 +1,13 @@ +import { useQuery } from 'react-query' +import blogsApi from '../api/blogsApi' + +const useBlogs = ({ limit, offset }) => { + const fetchBlogs = async () => await blogsApi({ limit, offset }) + const blogs = useQuery(`blogs-${limit}-${offset}`, fetchBlogs, { + refetchOnWindowFocus: false + }) + + return { blogs } +} + +export default useBlogs |
