mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-25 14:11:38 +10:00
refactor(v4.0.0-alpha): beginning of a new era
This commit is contained in:
34
apps/client/src/services/resume/resume.ts
Normal file
34
apps/client/src/services/resume/resume.ts
Normal file
@ -0,0 +1,34 @@
|
||||
import { ResumeDto } from "@reactive-resume/dto";
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
|
||||
import { RESUME_KEY } from "@/client/constants/query-keys";
|
||||
import { axios } from "@/client/libs/axios";
|
||||
import { useResumeStore } from "@/client/stores/resume";
|
||||
|
||||
export const findResumeById = async (data: { id: string }) => {
|
||||
const response = await axios.get<ResumeDto>(`/resume/${data.id}`);
|
||||
|
||||
return response.data;
|
||||
};
|
||||
|
||||
export const findResumeByUsernameSlug = async (data: { username: string; slug: string }) => {
|
||||
const response = await axios.get<ResumeDto>(`/resume/public/${data.username}/${data.slug}`);
|
||||
|
||||
return response.data;
|
||||
};
|
||||
|
||||
export const useResume = (id: string) => {
|
||||
const {
|
||||
error,
|
||||
isPending: loading,
|
||||
data: resume,
|
||||
} = useQuery({
|
||||
queryKey: [RESUME_KEY, { id }],
|
||||
queryFn: () => findResumeById({ id }),
|
||||
});
|
||||
|
||||
useResumeStore.setState({ resume });
|
||||
useResumeStore.temporal.getState().clear();
|
||||
|
||||
return { resume, loading, error };
|
||||
};
|
||||
Reference in New Issue
Block a user