Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

usersApiSlice.js 800B

123456789101112131415161718192021222324252627282930313233
  1. import { apiSlice } from "features/api/apiSlice";
  2. const notificationTag = "notifications";
  3. export const usersApiSlice = apiSlice.injectEndpoints({
  4. tagTypes: [notificationTag],
  5. endpoints: (builder) => ({
  6. myUser: builder.query({
  7. query: () => ({
  8. url: "api/user/me",
  9. }),
  10. }),
  11. notifications: builder.query({
  12. query: () => ({
  13. url: "api/user/me/notifications",
  14. }),
  15. providesTags: [notificationTag],
  16. }),
  17. seeNotification: builder.mutation({
  18. query: (notificationId) => ({
  19. url: `api/user/me/notifications/${notificationId}`,
  20. method: "PATCH",
  21. }),
  22. invalidatesTags: [notificationTag],
  23. }),
  24. }),
  25. });
  26. export const {
  27. useMyUserQuery,
  28. useNotificationsQuery,
  29. useSeeNotificationMutation,
  30. } = usersApiSlice;