import { queryOptions } from '@tanstack/react-query'; import { IUser, IUserInfo, IUserProfile, IUserSignupData } from '@/models/user'; import { axiosInstance } from '../apiConfiguration'; /** * Represents user data, intended to update user profile in persistent storage. */ export interface IUpdateProfileDTO extends Omit {} export const usersApi = { baseKey: 'users', getUsersQueryOptions: () => queryOptions({ queryKey: [usersApi.baseKey, 'list'], queryFn: meta => axiosInstance .get('/users/api/active-users', { signal: meta.signal }) .then(response => response.data), placeholderData: [] }), getProfileQueryOptions: () => queryOptions({ queryKey: [usersApi.baseKey, 'profile'], queryFn: meta => axiosInstance .get('/users/api/profile', { signal: meta.signal }) .then(response => response.data) }), signup: (data: IUserSignupData) => axiosInstance.post('/users/api/signup', data), updateProfile: (data: IUpdateProfileDTO) => axiosInstance.patch('/users/api/profile', data) }; //DataCallback