Files
SSA-Admin-Panel/src/Redux/Service/privacy.policy.service.ts
2025-02-12 11:58:17 +05:30

68 lines
1.7 KiB
TypeScript

import { createApi } from "@reduxjs/toolkit/query/react"; // Fix import
import { baseQueryWithReauth } from "./apiSlice";
export const privacyPolicy = createApi({
reducerPath: "privacyPolicy",
baseQuery: baseQueryWithReauth, // Use enhanced baseQuery with error handling
endpoints: (builder) => ({
// 🔹 GET: Fetch all privacy policies
getPrivacyPolicy: builder.query<PrivacyPolicy[], void>({
query: () => "/privacy-policy",
}),
// 🔹 GET: Fetch a single post by ID
// getPostById: builder.query<Post, number>({
// query: (id) => `/posts/${id}`,
// }),
// 🔹 POST: Create a new post
// createPost: builder.mutation<Post, Partial<Post>>({
// query: (newPost) => ({
// url: "/posts",
// method: "POST",
// body: newPost,
// }),
// }),
// 🔹 PUT: Update an existing post
// updatePost: builder.mutation<Post, { id: number; updatedData: Partial<Post> }>({
// query: ({ id, updatedData }) => ({
// url: `/posts/${id}`,
// method: "PUT",
// body: updatedData,
// }),
// }),
// 🔹 DELETE: Remove a post by ID
// deletePost: builder.mutation<{ success: boolean }, number>({
// query: (id) => ({
// url: `/posts/${id}`,
// method: "DELETE",
// }),
// }),
}),
});
// Export hooks for usage in components
export const {
useGetPrivacyPolicyQuery, // Export the correct hook
} = privacyPolicy;
// Define types at the top for better readability
export type Post = {
id: number;
title: string;
body: string;
};
export type PrivacyPolicy = {
id: number;
language_master_xid: number;
content: string;
is_active: boolean;
};