From b7ef9c70c4913c7ffc5792eb445d7a84230bfdbb Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Tue, 16 Jul 2024 15:12:11 -0300 Subject: [PATCH] feat: add useAddUser hook for adding a user via API --- .../src/controllers/API/queries/auth/index.ts | 1 + .../API/queries/auth/use-add-user.ts | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 src/frontend/src/controllers/API/queries/auth/use-add-user.ts diff --git a/src/frontend/src/controllers/API/queries/auth/index.ts b/src/frontend/src/controllers/API/queries/auth/index.ts index e69de29bb2d1..49ecf2dc42eb 100644 --- a/src/frontend/src/controllers/API/queries/auth/index.ts +++ b/src/frontend/src/controllers/API/queries/auth/index.ts @@ -0,0 +1 @@ +export * from "./use-get-user"; diff --git a/src/frontend/src/controllers/API/queries/auth/use-add-user.ts b/src/frontend/src/controllers/API/queries/auth/use-add-user.ts new file mode 100644 index 000000000000..258118babe8f --- /dev/null +++ b/src/frontend/src/controllers/API/queries/auth/use-add-user.ts @@ -0,0 +1,28 @@ +import { Users, useMutationFunctionType } from "@/types/api"; +import { UserInputType } from "@/types/components"; +import { UseMutationResult } from "@tanstack/react-query"; +import { api } from "../../api"; +import { getURL } from "../../helpers/constants"; +import { UseRequestProcessor } from "../../services/request-processor"; + +export const useAddUser: useMutationFunctionType = ( + options?, +) => { + const { mutate } = UseRequestProcessor(); + + const addUserFunction = async (user: UserInputType): Promise> => { + const res = await api.post(`${getURL("USERS")}`, user); + return res.data; + } + + const mutation: UseMutationResult, any, UserInputType> = mutate( + ["useAddUser"], + async (payload: UserInputType) => { + const res = await addUserFunction(payload); + return res; + }, + options, + ); + + return mutation; +};