/** * Generated by orval v8.2.0 🍺 * Do not edit manually. * OpenClaw Agency API * OpenAPI spec version: 0.3.0 */ import { useMutation, useQuery } from "@tanstack/react-query"; import type { DataTag, DefinedInitialDataOptions, DefinedUseQueryResult, MutationFunction, QueryClient, QueryFunction, QueryKey, UndefinedInitialDataOptions, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult, } from "@tanstack/react-query"; import type { HTTPValidationError, Project, ProjectCreate, ProjectMember, ProjectUpdate, } from ".././model"; import { customFetch } from "../../mutator"; type SecondParameter unknown> = Parameters[1]; /** * @summary List Projects */ export type listProjectsProjectsGetResponse200 = { data: Project[]; status: 200; }; export type listProjectsProjectsGetResponseSuccess = listProjectsProjectsGetResponse200 & { headers: Headers; }; export type listProjectsProjectsGetResponse = listProjectsProjectsGetResponseSuccess; export const getListProjectsProjectsGetUrl = () => { return `/projects`; }; export const listProjectsProjectsGet = async ( options?: RequestInit, ): Promise => { return customFetch( getListProjectsProjectsGetUrl(), { ...options, method: "GET", }, ); }; export const getListProjectsProjectsGetQueryKey = () => { return [`/projects`] as const; }; export const getListProjectsProjectsGetQueryOptions = < TData = Awaited>, TError = unknown, >(options?: { query?: Partial< UseQueryOptions< Awaited>, TError, TData > >; request?: SecondParameter; }) => { const { query: queryOptions, request: requestOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getListProjectsProjectsGetQueryKey(); const queryFn: QueryFunction< Awaited> > = ({ signal }) => listProjectsProjectsGet({ signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< Awaited>, TError, TData > & { queryKey: DataTag }; }; export type ListProjectsProjectsGetQueryResult = NonNullable< Awaited> >; export type ListProjectsProjectsGetQueryError = unknown; export function useListProjectsProjectsGet< TData = Awaited>, TError = unknown, >( options: { query: Partial< UseQueryOptions< Awaited>, TError, TData > > & Pick< DefinedInitialDataOptions< Awaited>, TError, Awaited> >, "initialData" >; request?: SecondParameter; }, queryClient?: QueryClient, ): DefinedUseQueryResult & { queryKey: DataTag; }; export function useListProjectsProjectsGet< TData = Awaited>, TError = unknown, >( options?: { query?: Partial< UseQueryOptions< Awaited>, TError, TData > > & Pick< UndefinedInitialDataOptions< Awaited>, TError, Awaited> >, "initialData" >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseQueryResult & { queryKey: DataTag; }; export function useListProjectsProjectsGet< TData = Awaited>, TError = unknown, >( options?: { query?: Partial< UseQueryOptions< Awaited>, TError, TData > >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseQueryResult & { queryKey: DataTag; }; /** * @summary List Projects */ export function useListProjectsProjectsGet< TData = Awaited>, TError = unknown, >( options?: { query?: Partial< UseQueryOptions< Awaited>, TError, TData > >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseQueryResult & { queryKey: DataTag; } { const queryOptions = getListProjectsProjectsGetQueryOptions(options); const query = useQuery(queryOptions, queryClient) as UseQueryResult< TData, TError > & { queryKey: DataTag }; return { ...query, queryKey: queryOptions.queryKey }; } /** * Create a project. Keep operation atomic: flush to get id, log activity, then commit once. Translate DB integrity errors to 409s. * @summary Create Project */ export type createProjectProjectsPostResponse200 = { data: Project; status: 200; }; export type createProjectProjectsPostResponse422 = { data: HTTPValidationError; status: 422; }; export type createProjectProjectsPostResponseSuccess = createProjectProjectsPostResponse200 & { headers: Headers; }; export type createProjectProjectsPostResponseError = createProjectProjectsPostResponse422 & { headers: Headers; }; export type createProjectProjectsPostResponse = | createProjectProjectsPostResponseSuccess | createProjectProjectsPostResponseError; export const getCreateProjectProjectsPostUrl = () => { return `/projects`; }; export const createProjectProjectsPost = async ( projectCreate: ProjectCreate, options?: RequestInit, ): Promise => { return customFetch( getCreateProjectProjectsPostUrl(), { ...options, method: "POST", headers: { "Content-Type": "application/json", ...options?.headers }, body: JSON.stringify(projectCreate), }, ); }; export const getCreateProjectProjectsPostMutationOptions = < TError = HTTPValidationError, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited>, TError, { data: ProjectCreate }, TContext >; request?: SecondParameter; }): UseMutationOptions< Awaited>, TError, { data: ProjectCreate }, TContext > => { const mutationKey = ["createProjectProjectsPost"]; const { mutation: mutationOptions, request: requestOptions } = options ? options.mutation && "mutationKey" in options.mutation && options.mutation.mutationKey ? options : { ...options, mutation: { ...options.mutation, mutationKey } } : { mutation: { mutationKey }, request: undefined }; const mutationFn: MutationFunction< Awaited>, { data: ProjectCreate } > = (props) => { const { data } = props ?? {}; return createProjectProjectsPost(data, requestOptions); }; return { mutationFn, ...mutationOptions }; }; export type CreateProjectProjectsPostMutationResult = NonNullable< Awaited> >; export type CreateProjectProjectsPostMutationBody = ProjectCreate; export type CreateProjectProjectsPostMutationError = HTTPValidationError; /** * @summary Create Project */ export const useCreateProjectProjectsPost = < TError = HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< Awaited>, TError, { data: ProjectCreate }, TContext >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseMutationResult< Awaited>, TError, { data: ProjectCreate }, TContext > => { return useMutation( getCreateProjectProjectsPostMutationOptions(options), queryClient, ); }; /** * @summary Update Project */ export type updateProjectProjectsProjectIdPatchResponse200 = { data: Project; status: 200; }; export type updateProjectProjectsProjectIdPatchResponse422 = { data: HTTPValidationError; status: 422; }; export type updateProjectProjectsProjectIdPatchResponseSuccess = updateProjectProjectsProjectIdPatchResponse200 & { headers: Headers; }; export type updateProjectProjectsProjectIdPatchResponseError = updateProjectProjectsProjectIdPatchResponse422 & { headers: Headers; }; export type updateProjectProjectsProjectIdPatchResponse = | updateProjectProjectsProjectIdPatchResponseSuccess | updateProjectProjectsProjectIdPatchResponseError; export const getUpdateProjectProjectsProjectIdPatchUrl = ( projectId: number, ) => { return `/projects/${projectId}`; }; export const updateProjectProjectsProjectIdPatch = async ( projectId: number, projectUpdate: ProjectUpdate, options?: RequestInit, ): Promise => { return customFetch( getUpdateProjectProjectsProjectIdPatchUrl(projectId), { ...options, method: "PATCH", headers: { "Content-Type": "application/json", ...options?.headers }, body: JSON.stringify(projectUpdate), }, ); }; export const getUpdateProjectProjectsProjectIdPatchMutationOptions = < TError = HTTPValidationError, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited>, TError, { projectId: number; data: ProjectUpdate }, TContext >; request?: SecondParameter; }): UseMutationOptions< Awaited>, TError, { projectId: number; data: ProjectUpdate }, TContext > => { const mutationKey = ["updateProjectProjectsProjectIdPatch"]; const { mutation: mutationOptions, request: requestOptions } = options ? options.mutation && "mutationKey" in options.mutation && options.mutation.mutationKey ? options : { ...options, mutation: { ...options.mutation, mutationKey } } : { mutation: { mutationKey }, request: undefined }; const mutationFn: MutationFunction< Awaited>, { projectId: number; data: ProjectUpdate } > = (props) => { const { projectId, data } = props ?? {}; return updateProjectProjectsProjectIdPatch(projectId, data, requestOptions); }; return { mutationFn, ...mutationOptions }; }; export type UpdateProjectProjectsProjectIdPatchMutationResult = NonNullable< Awaited> >; export type UpdateProjectProjectsProjectIdPatchMutationBody = ProjectUpdate; export type UpdateProjectProjectsProjectIdPatchMutationError = HTTPValidationError; /** * @summary Update Project */ export const useUpdateProjectProjectsProjectIdPatch = < TError = HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< Awaited>, TError, { projectId: number; data: ProjectUpdate }, TContext >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseMutationResult< Awaited>, TError, { projectId: number; data: ProjectUpdate }, TContext > => { return useMutation( getUpdateProjectProjectsProjectIdPatchMutationOptions(options), queryClient, ); }; /** * @summary List Project Members */ export type listProjectMembersProjectsProjectIdMembersGetResponse200 = { data: ProjectMember[]; status: 200; }; export type listProjectMembersProjectsProjectIdMembersGetResponse422 = { data: HTTPValidationError; status: 422; }; export type listProjectMembersProjectsProjectIdMembersGetResponseSuccess = listProjectMembersProjectsProjectIdMembersGetResponse200 & { headers: Headers; }; export type listProjectMembersProjectsProjectIdMembersGetResponseError = listProjectMembersProjectsProjectIdMembersGetResponse422 & { headers: Headers; }; export type listProjectMembersProjectsProjectIdMembersGetResponse = | listProjectMembersProjectsProjectIdMembersGetResponseSuccess | listProjectMembersProjectsProjectIdMembersGetResponseError; export const getListProjectMembersProjectsProjectIdMembersGetUrl = ( projectId: number, ) => { return `/projects/${projectId}/members`; }; export const listProjectMembersProjectsProjectIdMembersGet = async ( projectId: number, options?: RequestInit, ): Promise => { return customFetch( getListProjectMembersProjectsProjectIdMembersGetUrl(projectId), { ...options, method: "GET", }, ); }; export const getListProjectMembersProjectsProjectIdMembersGetQueryKey = ( projectId: number, ) => { return [`/projects/${projectId}/members`] as const; }; export const getListProjectMembersProjectsProjectIdMembersGetQueryOptions = < TData = Awaited< ReturnType >, TError = HTTPValidationError, >( projectId: number, options?: { query?: Partial< UseQueryOptions< Awaited< ReturnType >, TError, TData > >; request?: SecondParameter; }, ) => { const { query: queryOptions, request: requestOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getListProjectMembersProjectsProjectIdMembersGetQueryKey(projectId); const queryFn: QueryFunction< Awaited> > = ({ signal }) => listProjectMembersProjectsProjectIdMembersGet(projectId, { signal, ...requestOptions, }); return { queryKey, queryFn, enabled: !!projectId, ...queryOptions, } as UseQueryOptions< Awaited>, TError, TData > & { queryKey: DataTag }; }; export type ListProjectMembersProjectsProjectIdMembersGetQueryResult = NonNullable< Awaited> >; export type ListProjectMembersProjectsProjectIdMembersGetQueryError = HTTPValidationError; export function useListProjectMembersProjectsProjectIdMembersGet< TData = Awaited< ReturnType >, TError = HTTPValidationError, >( projectId: number, options: { query: Partial< UseQueryOptions< Awaited< ReturnType >, TError, TData > > & Pick< DefinedInitialDataOptions< Awaited< ReturnType >, TError, Awaited< ReturnType > >, "initialData" >; request?: SecondParameter; }, queryClient?: QueryClient, ): DefinedUseQueryResult & { queryKey: DataTag; }; export function useListProjectMembersProjectsProjectIdMembersGet< TData = Awaited< ReturnType >, TError = HTTPValidationError, >( projectId: number, options?: { query?: Partial< UseQueryOptions< Awaited< ReturnType >, TError, TData > > & Pick< UndefinedInitialDataOptions< Awaited< ReturnType >, TError, Awaited< ReturnType > >, "initialData" >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseQueryResult & { queryKey: DataTag; }; export function useListProjectMembersProjectsProjectIdMembersGet< TData = Awaited< ReturnType >, TError = HTTPValidationError, >( projectId: number, options?: { query?: Partial< UseQueryOptions< Awaited< ReturnType >, TError, TData > >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseQueryResult & { queryKey: DataTag; }; /** * @summary List Project Members */ export function useListProjectMembersProjectsProjectIdMembersGet< TData = Awaited< ReturnType >, TError = HTTPValidationError, >( projectId: number, options?: { query?: Partial< UseQueryOptions< Awaited< ReturnType >, TError, TData > >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseQueryResult & { queryKey: DataTag; } { const queryOptions = getListProjectMembersProjectsProjectIdMembersGetQueryOptions( projectId, options, ); const query = useQuery(queryOptions, queryClient) as UseQueryResult< TData, TError > & { queryKey: DataTag }; return { ...query, queryKey: queryOptions.queryKey }; } /** * @summary Add Project Member */ export type addProjectMemberProjectsProjectIdMembersPostResponse200 = { data: ProjectMember; status: 200; }; export type addProjectMemberProjectsProjectIdMembersPostResponse422 = { data: HTTPValidationError; status: 422; }; export type addProjectMemberProjectsProjectIdMembersPostResponseSuccess = addProjectMemberProjectsProjectIdMembersPostResponse200 & { headers: Headers; }; export type addProjectMemberProjectsProjectIdMembersPostResponseError = addProjectMemberProjectsProjectIdMembersPostResponse422 & { headers: Headers; }; export type addProjectMemberProjectsProjectIdMembersPostResponse = | addProjectMemberProjectsProjectIdMembersPostResponseSuccess | addProjectMemberProjectsProjectIdMembersPostResponseError; export const getAddProjectMemberProjectsProjectIdMembersPostUrl = ( projectId: number, ) => { return `/projects/${projectId}/members`; }; export const addProjectMemberProjectsProjectIdMembersPost = async ( projectId: number, projectMember: ProjectMember, options?: RequestInit, ): Promise => { return customFetch( getAddProjectMemberProjectsProjectIdMembersPostUrl(projectId), { ...options, method: "POST", headers: { "Content-Type": "application/json", ...options?.headers }, body: JSON.stringify(projectMember), }, ); }; export const getAddProjectMemberProjectsProjectIdMembersPostMutationOptions = < TError = HTTPValidationError, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited>, TError, { projectId: number; data: ProjectMember }, TContext >; request?: SecondParameter; }): UseMutationOptions< Awaited>, TError, { projectId: number; data: ProjectMember }, TContext > => { const mutationKey = ["addProjectMemberProjectsProjectIdMembersPost"]; const { mutation: mutationOptions, request: requestOptions } = options ? options.mutation && "mutationKey" in options.mutation && options.mutation.mutationKey ? options : { ...options, mutation: { ...options.mutation, mutationKey } } : { mutation: { mutationKey }, request: undefined }; const mutationFn: MutationFunction< Awaited>, { projectId: number; data: ProjectMember } > = (props) => { const { projectId, data } = props ?? {}; return addProjectMemberProjectsProjectIdMembersPost( projectId, data, requestOptions, ); }; return { mutationFn, ...mutationOptions }; }; export type AddProjectMemberProjectsProjectIdMembersPostMutationResult = NonNullable< Awaited> >; export type AddProjectMemberProjectsProjectIdMembersPostMutationBody = ProjectMember; export type AddProjectMemberProjectsProjectIdMembersPostMutationError = HTTPValidationError; /** * @summary Add Project Member */ export const useAddProjectMemberProjectsProjectIdMembersPost = < TError = HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< Awaited>, TError, { projectId: number; data: ProjectMember }, TContext >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseMutationResult< Awaited>, TError, { projectId: number; data: ProjectMember }, TContext > => { return useMutation( getAddProjectMemberProjectsProjectIdMembersPostMutationOptions(options), queryClient, ); }; /** * @summary Remove Project Member */ export type removeProjectMemberProjectsProjectIdMembersMemberIdDeleteResponse200 = { data: unknown; status: 200; }; export type removeProjectMemberProjectsProjectIdMembersMemberIdDeleteResponse422 = { data: HTTPValidationError; status: 422; }; export type removeProjectMemberProjectsProjectIdMembersMemberIdDeleteResponseSuccess = removeProjectMemberProjectsProjectIdMembersMemberIdDeleteResponse200 & { headers: Headers; }; export type removeProjectMemberProjectsProjectIdMembersMemberIdDeleteResponseError = removeProjectMemberProjectsProjectIdMembersMemberIdDeleteResponse422 & { headers: Headers; }; export type removeProjectMemberProjectsProjectIdMembersMemberIdDeleteResponse = | removeProjectMemberProjectsProjectIdMembersMemberIdDeleteResponseSuccess | removeProjectMemberProjectsProjectIdMembersMemberIdDeleteResponseError; export const getRemoveProjectMemberProjectsProjectIdMembersMemberIdDeleteUrl = ( projectId: number, memberId: number, ) => { return `/projects/${projectId}/members/${memberId}`; }; export const removeProjectMemberProjectsProjectIdMembersMemberIdDelete = async ( projectId: number, memberId: number, options?: RequestInit, ): Promise => { return customFetch( getRemoveProjectMemberProjectsProjectIdMembersMemberIdDeleteUrl( projectId, memberId, ), { ...options, method: "DELETE", }, ); }; export const getRemoveProjectMemberProjectsProjectIdMembersMemberIdDeleteMutationOptions = (options?: { mutation?: UseMutationOptions< Awaited< ReturnType< typeof removeProjectMemberProjectsProjectIdMembersMemberIdDelete > >, TError, { projectId: number; memberId: number }, TContext >; request?: SecondParameter; }): UseMutationOptions< Awaited< ReturnType< typeof removeProjectMemberProjectsProjectIdMembersMemberIdDelete > >, TError, { projectId: number; memberId: number }, TContext > => { const mutationKey = [ "removeProjectMemberProjectsProjectIdMembersMemberIdDelete", ]; const { mutation: mutationOptions, request: requestOptions } = options ? options.mutation && "mutationKey" in options.mutation && options.mutation.mutationKey ? options : { ...options, mutation: { ...options.mutation, mutationKey } } : { mutation: { mutationKey }, request: undefined }; const mutationFn: MutationFunction< Awaited< ReturnType< typeof removeProjectMemberProjectsProjectIdMembersMemberIdDelete > >, { projectId: number; memberId: number } > = (props) => { const { projectId, memberId } = props ?? {}; return removeProjectMemberProjectsProjectIdMembersMemberIdDelete( projectId, memberId, requestOptions, ); }; return { mutationFn, ...mutationOptions }; }; export type RemoveProjectMemberProjectsProjectIdMembersMemberIdDeleteMutationResult = NonNullable< Awaited< ReturnType< typeof removeProjectMemberProjectsProjectIdMembersMemberIdDelete > > >; export type RemoveProjectMemberProjectsProjectIdMembersMemberIdDeleteMutationError = HTTPValidationError; /** * @summary Remove Project Member */ export const useRemoveProjectMemberProjectsProjectIdMembersMemberIdDelete = < TError = HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< Awaited< ReturnType< typeof removeProjectMemberProjectsProjectIdMembersMemberIdDelete > >, TError, { projectId: number; memberId: number }, TContext >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseMutationResult< Awaited< ReturnType >, TError, { projectId: number; memberId: number }, TContext > => { return useMutation( getRemoveProjectMemberProjectsProjectIdMembersMemberIdDeleteMutationOptions( options, ), queryClient, ); }; /** * @summary Update Project Member */ export type updateProjectMemberProjectsProjectIdMembersMemberIdPatchResponse200 = { data: ProjectMember; status: 200; }; export type updateProjectMemberProjectsProjectIdMembersMemberIdPatchResponse422 = { data: HTTPValidationError; status: 422; }; export type updateProjectMemberProjectsProjectIdMembersMemberIdPatchResponseSuccess = updateProjectMemberProjectsProjectIdMembersMemberIdPatchResponse200 & { headers: Headers; }; export type updateProjectMemberProjectsProjectIdMembersMemberIdPatchResponseError = updateProjectMemberProjectsProjectIdMembersMemberIdPatchResponse422 & { headers: Headers; }; export type updateProjectMemberProjectsProjectIdMembersMemberIdPatchResponse = | updateProjectMemberProjectsProjectIdMembersMemberIdPatchResponseSuccess | updateProjectMemberProjectsProjectIdMembersMemberIdPatchResponseError; export const getUpdateProjectMemberProjectsProjectIdMembersMemberIdPatchUrl = ( projectId: number, memberId: number, ) => { return `/projects/${projectId}/members/${memberId}`; }; export const updateProjectMemberProjectsProjectIdMembersMemberIdPatch = async ( projectId: number, memberId: number, projectMember: ProjectMember, options?: RequestInit, ): Promise => { return customFetch( getUpdateProjectMemberProjectsProjectIdMembersMemberIdPatchUrl( projectId, memberId, ), { ...options, method: "PATCH", headers: { "Content-Type": "application/json", ...options?.headers }, body: JSON.stringify(projectMember), }, ); }; export const getUpdateProjectMemberProjectsProjectIdMembersMemberIdPatchMutationOptions = (options?: { mutation?: UseMutationOptions< Awaited< ReturnType< typeof updateProjectMemberProjectsProjectIdMembersMemberIdPatch > >, TError, { projectId: number; memberId: number; data: ProjectMember }, TContext >; request?: SecondParameter; }): UseMutationOptions< Awaited< ReturnType< typeof updateProjectMemberProjectsProjectIdMembersMemberIdPatch > >, TError, { projectId: number; memberId: number; data: ProjectMember }, TContext > => { const mutationKey = [ "updateProjectMemberProjectsProjectIdMembersMemberIdPatch", ]; const { mutation: mutationOptions, request: requestOptions } = options ? options.mutation && "mutationKey" in options.mutation && options.mutation.mutationKey ? options : { ...options, mutation: { ...options.mutation, mutationKey } } : { mutation: { mutationKey }, request: undefined }; const mutationFn: MutationFunction< Awaited< ReturnType< typeof updateProjectMemberProjectsProjectIdMembersMemberIdPatch > >, { projectId: number; memberId: number; data: ProjectMember } > = (props) => { const { projectId, memberId, data } = props ?? {}; return updateProjectMemberProjectsProjectIdMembersMemberIdPatch( projectId, memberId, data, requestOptions, ); }; return { mutationFn, ...mutationOptions }; }; export type UpdateProjectMemberProjectsProjectIdMembersMemberIdPatchMutationResult = NonNullable< Awaited< ReturnType< typeof updateProjectMemberProjectsProjectIdMembersMemberIdPatch > > >; export type UpdateProjectMemberProjectsProjectIdMembersMemberIdPatchMutationBody = ProjectMember; export type UpdateProjectMemberProjectsProjectIdMembersMemberIdPatchMutationError = HTTPValidationError; /** * @summary Update Project Member */ export const useUpdateProjectMemberProjectsProjectIdMembersMemberIdPatch = < TError = HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< Awaited< ReturnType< typeof updateProjectMemberProjectsProjectIdMembersMemberIdPatch > >, TError, { projectId: number; memberId: number; data: ProjectMember }, TContext >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseMutationResult< Awaited< ReturnType >, TError, { projectId: number; memberId: number; data: ProjectMember }, TContext > => { return useMutation( getUpdateProjectMemberProjectsProjectIdMembersMemberIdPatchMutationOptions( options, ), queryClient, ); };