summaryrefslogtreecommitdiff
path: root/src/lib/blog
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/blog')
-rw-r--r--src/lib/blog/api/blogApi.js8
-rw-r--r--src/lib/blog/api/blogsApi.js8
-rw-r--r--src/lib/blog/hooks/useBlog.js11
-rw-r--r--src/lib/blog/hooks/useBlogs.js13
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