authula 0.7.12 → 0.7.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["withQueryKey","accessControl","withQueryKey","withQueryKey","withQueryKey","withQueryKey","withQueryKey","adminUsers","adminAccounts","adminUserState","adminSessionState","adminImpersonation","withQueryKey","apiKey","withQueryKey","core","withQueryKey","emailPassword","withQueryKey","jwt","withQueryKey","magicLink","withQueryKey","oauth2","withQueryKey","withQueryKey","withQueryKey","withQueryKey","withQueryKey","organizations","organizationInvitations","organizationMembers","organizationTeams","organizationTeamMembers","totp"],"sources":["../../src/utils/wrap-generated.ts","../../src/gen/endpoints/access-control/access-control.ts","../../src/plugins/access-control/plugin.ts","../../src/gen/endpoints/admin-accounts/admin-accounts.ts","../../src/gen/endpoints/admin-impersonation/admin-impersonation.ts","../../src/gen/endpoints/admin-session-state/admin-session-state.ts","../../src/gen/endpoints/admin-user-state/admin-user-state.ts","../../src/gen/endpoints/admin-users/admin-users.ts","../../src/plugins/admin/plugin.ts","../../src/gen/endpoints/api-keys/api-keys.ts","../../src/plugins/api-key/plugin.ts","../../src/plugins/bearer/plugin.ts","../../src/gen/endpoints/core/core.ts","../../src/plugins/core/plugin.ts","../../src/plugins/csrf/plugin.ts","../../src/gen/endpoints/email-password-plugin/email-password-plugin.ts","../../src/plugins/email-password/plugin.ts","../../src/gen/endpoints/jwt-plugin/jwt-plugin.ts","../../src/plugins/jwt/plugin.ts","../../src/gen/endpoints/magic-link-plugin/magic-link-plugin.ts","../../src/plugins/magic-link/plugin.ts","../../src/gen/endpoints/oauth2-plugin/oauth2-plugin.ts","../../src/plugins/oauth2/plugin.ts","../../src/gen/endpoints/organizations/organizations.ts","../../src/gen/endpoints/organization-invitations/organization-invitations.ts","../../src/gen/endpoints/organization-members/organization-members.ts","../../src/gen/endpoints/organization-teams/organization-teams.ts","../../src/gen/endpoints/organization-team-members/organization-team-members.ts","../../src/plugins/organizations/plugin.ts","../../src/gen/endpoints/totp-plugin/totp-plugin.ts","../../src/plugins/totp/plugin.ts"],"sourcesContent":["import type { AuthulaClient } from \"../client\";\n\nfunction isHookKey(key: string): boolean {\n return key.startsWith(\"use\") && key[3] === key[3]?.toUpperCase();\n}\n\nexport function wrapGenerated<T extends Record<string, any>>(\n mod: T,\n client: AuthulaClient,\n): T {\n const baseUrl = client.config.url.replace(/\\/+$/, \"\");\n const cookies = client.config.cookies;\n const onBeforeFetch = (ctx: any) => client.runBeforeFetch(ctx);\n const onAfterFetch = (ctx: any, res: Response) =>\n client.runAfterFetch(ctx, res);\n\n const wrapped: Record<string, any> = {};\n for (const [key, value] of Object.entries(mod)) {\n if (typeof value !== \"function\") {\n wrapped[key] = value;\n continue;\n }\n\n if (isHookKey(key)) {\n wrapped[key] = (...args: any[]) => {\n const ctx = { baseUrl, cookies, onBeforeFetch, onAfterFetch };\n let optionsIdx = Math.max(0, value.length - 2);\n if (args[optionsIdx] != null && typeof args[optionsIdx] !== \"object\") {\n optionsIdx = Math.max(0, value.length - 1);\n }\n while (args.length <= optionsIdx) {\n args.push(undefined);\n }\n const existing = args[optionsIdx] ?? {};\n args[optionsIdx] = {\n ...(typeof existing === \"object\" && existing !== null ? existing : {}),\n request: { ...(existing?.request ?? {}), ...ctx },\n };\n return value(...args);\n };\n } else {\n wrapped[key] = (...args: any[]) => {\n const ctx = { baseUrl, cookies, onBeforeFetch, onAfterFetch };\n const optionsIdx = value.length - 1;\n while (args.length < optionsIdx) {\n args.push(undefined);\n }\n if (optionsIdx >= 0 && args.length === optionsIdx) {\n args.push(ctx);\n } else if (optionsIdx >= 0) {\n args[optionsIdx] = { ...args[optionsIdx], ...ctx };\n }\n return value(...args);\n };\n }\n }\n return wrapped as T;\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAddRolePermissionRequest,\n\tAddRolePermissionResponse,\n\tAssignUserRoleRequest,\n\tAssignUserRoleResponse,\n\tCheckUserPermissionsRequest,\n\tCheckUserPermissionsResponse,\n\tCreatePermissionRequest,\n\tCreatePermissionResponse,\n\tCreateRoleRequest,\n\tCreateRoleResponse,\n\tDeletePermissionResponse,\n\tDeleteRoleResponse,\n\tGetUserPermissionsResponse,\n\tPermission,\n\tRemoveRolePermissionResponse,\n\tRemoveUserRoleResponse,\n\tReplaceRolePermissionResponse,\n\tReplaceRolePermissionsRequest,\n\tReplaceUserRolesRequest,\n\tReplaceUserRolesResponse,\n\tRole,\n\tRoleDetails,\n\tUpdatePermissionRequest,\n\tUpdatePermissionResponse,\n\tUpdateRoleRequest,\n\tUpdateRoleResponse,\n\tUserPermissionInfo,\n\tUserRoleInfo,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListPermissionsUrl = () => {\n\treturn `/access-control/permissions`;\n};\n\n/**\n * Lists all permissions.\n * @summary List permissions\n */\nexport const listPermissions = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Permission[] | null> => {\n\treturn customFetch<Permission[] | null>(getListPermissionsUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListPermissionsQueryKey = () => {\n\treturn [`/access-control/permissions`] as const;\n};\n\nexport const getListPermissionsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listPermissions>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof listPermissions>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListPermissionsQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof listPermissions>>> = ({\n\t\tsignal,\n\t}) => listPermissions({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListPermissionsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listPermissions>>\n>;\nexport type ListPermissionsQueryError = unknown;\n\nexport function useListPermissions<\n\tTData = Awaited<ReturnType<typeof listPermissions>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listPermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListPermissions<\n\tTData = Awaited<ReturnType<typeof listPermissions>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listPermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListPermissions<\n\tTData = Awaited<ReturnType<typeof listPermissions>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List permissions\n */\n\nexport function useListPermissions<\n\tTData = Awaited<ReturnType<typeof listPermissions>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListPermissionsQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreatePermissionUrl = () => {\n\treturn `/access-control/permissions`;\n};\n\n/**\n * Creates a new permission.\n * @summary Create permission\n */\nexport const createPermission = async (\n\tcreatePermissionRequest?: CreatePermissionRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CreatePermissionResponse> => {\n\treturn customFetch<CreatePermissionResponse>(getCreatePermissionUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createPermissionRequest),\n\t});\n};\n\nexport const getCreatePermissionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createPermission>>,\n\t\tTError,\n\t\t{ data?: CreatePermissionRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createPermission>>,\n\tTError,\n\t{ data?: CreatePermissionRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createPermission\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createPermission>>,\n\t\t{ data?: CreatePermissionRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn createPermission(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreatePermissionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createPermission>>\n>;\nexport type CreatePermissionMutationBody = CreatePermissionRequest | undefined;\nexport type CreatePermissionMutationError = unknown;\n\n/**\n * @summary Create permission\n */\nexport const useCreatePermission = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createPermission>>,\n\t\t\tTError,\n\t\t\t{ data?: CreatePermissionRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createPermission>>,\n\tTError,\n\t{ data?: CreatePermissionRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreatePermissionMutationOptions(options), queryClient);\n};\nexport const getGetPermissionByKeyUrl = (permissionKey: string) => {\n\treturn `/access-control/permissions/by-key/${permissionKey}`;\n};\n\n/**\n * Retrieves a permission by its key.\n * @summary Get permission by key\n */\nexport const getPermissionByKey = async (\n\tpermissionKey: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Permission> => {\n\treturn customFetch<Permission>(getGetPermissionByKeyUrl(permissionKey), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetPermissionByKeyQueryKey = (permissionKey: string) => {\n\treturn [`/access-control/permissions/by-key/${permissionKey}`] as const;\n};\n\nexport const getGetPermissionByKeyQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getPermissionByKey>>,\n\tTError = unknown,\n>(\n\tpermissionKey: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetPermissionByKeyQueryKey(permissionKey);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getPermissionByKey>>\n\t> = ({ signal }) =>\n\t\tgetPermissionByKey(permissionKey, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: permissionKey !== null && permissionKey !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetPermissionByKeyQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getPermissionByKey>>\n>;\nexport type GetPermissionByKeyQueryError = unknown;\n\nexport function useGetPermissionByKey<\n\tTData = Awaited<ReturnType<typeof getPermissionByKey>>,\n\tTError = unknown,\n>(\n\tpermissionKey: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetPermissionByKey<\n\tTData = Awaited<ReturnType<typeof getPermissionByKey>>,\n\tTError = unknown,\n>(\n\tpermissionKey: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetPermissionByKey<\n\tTData = Awaited<ReturnType<typeof getPermissionByKey>>,\n\tTError = unknown,\n>(\n\tpermissionKey: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get permission by key\n */\n\nexport function useGetPermissionByKey<\n\tTData = Awaited<ReturnType<typeof getPermissionByKey>>,\n\tTError = unknown,\n>(\n\tpermissionKey: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetPermissionByKeyQueryOptions(\n\t\tpermissionKey,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getGetPermissionUrl = (permissionId: string) => {\n\treturn `/access-control/permissions/${permissionId}`;\n};\n\n/**\n * Retrieves a permission by its ID.\n * @summary Get permission by ID\n */\nexport const getPermission = async (\n\tpermissionId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Permission> => {\n\treturn customFetch<Permission>(getGetPermissionUrl(permissionId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetPermissionQueryKey = (permissionId: string) => {\n\treturn [`/access-control/permissions/${permissionId}`] as const;\n};\n\nexport const getGetPermissionQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getPermission>>,\n\tTError = unknown,\n>(\n\tpermissionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getPermission>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetPermissionQueryKey(permissionId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getPermission>>> = ({\n\t\tsignal,\n\t}) => getPermission(permissionId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: permissionId !== null && permissionId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getPermission>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetPermissionQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getPermission>>\n>;\nexport type GetPermissionQueryError = unknown;\n\nexport function useGetPermission<\n\tTData = Awaited<ReturnType<typeof getPermission>>,\n\tTError = unknown,\n>(\n\tpermissionId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getPermission>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getPermission>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getPermission>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetPermission<\n\tTData = Awaited<ReturnType<typeof getPermission>>,\n\tTError = unknown,\n>(\n\tpermissionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getPermission>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getPermission>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getPermission>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetPermission<\n\tTData = Awaited<ReturnType<typeof getPermission>>,\n\tTError = unknown,\n>(\n\tpermissionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getPermission>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get permission by ID\n */\n\nexport function useGetPermission<\n\tTData = Awaited<ReturnType<typeof getPermission>>,\n\tTError = unknown,\n>(\n\tpermissionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getPermission>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetPermissionQueryOptions(permissionId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeletePermissionUrl = (permissionId: string) => {\n\treturn `/access-control/permissions/${permissionId}`;\n};\n\n/**\n * Deletes a permission.\n * @summary Delete permission\n */\nexport const deletePermission = async (\n\tpermissionId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeletePermissionResponse> => {\n\treturn customFetch<DeletePermissionResponse>(\n\t\tgetDeletePermissionUrl(permissionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeletePermissionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deletePermission>>,\n\t\tTError,\n\t\t{ permissionId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deletePermission>>,\n\tTError,\n\t{ permissionId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deletePermission\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deletePermission>>,\n\t\t{ permissionId: string }\n\t> = (props) => {\n\t\tconst { permissionId } = props ?? {};\n\n\t\treturn deletePermission(permissionId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeletePermissionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deletePermission>>\n>;\n\nexport type DeletePermissionMutationError = unknown;\n\n/**\n * @summary Delete permission\n */\nexport const useDeletePermission = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deletePermission>>,\n\t\t\tTError,\n\t\t\t{ permissionId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deletePermission>>,\n\tTError,\n\t{ permissionId: string },\n\tTContext\n> => {\n\treturn useMutation(getDeletePermissionMutationOptions(options), queryClient);\n};\nexport const getUpdatePermissionUrl = (permissionId: string) => {\n\treturn `/access-control/permissions/${permissionId}`;\n};\n\n/**\n * Updates a permission's description.\n * @summary Update permission\n */\nexport const updatePermission = async (\n\tpermissionId: string,\n\tupdatePermissionRequest?: UpdatePermissionRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpdatePermissionResponse> => {\n\treturn customFetch<UpdatePermissionResponse>(\n\t\tgetUpdatePermissionUrl(permissionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(updatePermissionRequest),\n\t\t},\n\t);\n};\n\nexport const getUpdatePermissionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updatePermission>>,\n\t\tTError,\n\t\t{ permissionId: string; data?: UpdatePermissionRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updatePermission>>,\n\tTError,\n\t{ permissionId: string; data?: UpdatePermissionRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updatePermission\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updatePermission>>,\n\t\t{ permissionId: string; data?: UpdatePermissionRequest }\n\t> = (props) => {\n\t\tconst { permissionId, data } = props ?? {};\n\n\t\treturn updatePermission(permissionId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdatePermissionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updatePermission>>\n>;\nexport type UpdatePermissionMutationBody = UpdatePermissionRequest | undefined;\nexport type UpdatePermissionMutationError = unknown;\n\n/**\n * @summary Update permission\n */\nexport const useUpdatePermission = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updatePermission>>,\n\t\t\tTError,\n\t\t\t{ permissionId: string; data?: UpdatePermissionRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updatePermission>>,\n\tTError,\n\t{ permissionId: string; data?: UpdatePermissionRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdatePermissionMutationOptions(options), queryClient);\n};\nexport const getListRolesUrl = () => {\n\treturn `/access-control/roles`;\n};\n\n/**\n * Lists all roles.\n * @summary List roles\n */\nexport const listRoles = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Role[] | null> => {\n\treturn customFetch<Role[] | null>(getListRolesUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListRolesQueryKey = () => {\n\treturn [`/access-control/roles`] as const;\n};\n\nexport const getListRolesQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listRoles>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof listRoles>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListRolesQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof listRoles>>> = ({\n\t\tsignal,\n\t}) => listRoles({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listRoles>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListRolesQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listRoles>>\n>;\nexport type ListRolesQueryError = unknown;\n\nexport function useListRoles<\n\tTData = Awaited<ReturnType<typeof listRoles>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listRoles>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRoles>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRoles>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRoles<\n\tTData = Awaited<ReturnType<typeof listRoles>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listRoles>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRoles>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRoles>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRoles<\n\tTData = Awaited<ReturnType<typeof listRoles>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listRoles>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List roles\n */\n\nexport function useListRoles<\n\tTData = Awaited<ReturnType<typeof listRoles>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listRoles>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListRolesQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateRoleUrl = () => {\n\treturn `/access-control/roles`;\n};\n\n/**\n * Creates a new role.\n * @summary Create role\n */\nexport const createRole = async (\n\tcreateRoleRequest?: CreateRoleRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CreateRoleResponse> => {\n\treturn customFetch<CreateRoleResponse>(getCreateRoleUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createRoleRequest),\n\t});\n};\n\nexport const getCreateRoleMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createRole>>,\n\t\tTError,\n\t\t{ data?: CreateRoleRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createRole>>,\n\tTError,\n\t{ data?: CreateRoleRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createRole\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createRole>>,\n\t\t{ data?: CreateRoleRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn createRole(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateRoleMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createRole>>\n>;\nexport type CreateRoleMutationBody = CreateRoleRequest | undefined;\nexport type CreateRoleMutationError = unknown;\n\n/**\n * @summary Create role\n */\nexport const useCreateRole = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createRole>>,\n\t\t\tTError,\n\t\t\t{ data?: CreateRoleRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createRole>>,\n\tTError,\n\t{ data?: CreateRoleRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreateRoleMutationOptions(options), queryClient);\n};\nexport const getGetRoleByNameUrl = (roleName: string) => {\n\treturn `/access-control/roles/by-name/${roleName}`;\n};\n\n/**\n * Retrieves a role by its name.\n * @summary Get role by name\n */\nexport const getRoleByName = async (\n\troleName: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Role> => {\n\treturn customFetch<Role>(getGetRoleByNameUrl(roleName), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetRoleByNameQueryKey = (roleName: string) => {\n\treturn [`/access-control/roles/by-name/${roleName}`] as const;\n};\n\nexport const getGetRoleByNameQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getRoleByName>>,\n\tTError = unknown,\n>(\n\troleName: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRoleByName>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetRoleByNameQueryKey(roleName);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getRoleByName>>> = ({\n\t\tsignal,\n\t}) => getRoleByName(roleName, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: roleName !== null && roleName !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getRoleByName>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetRoleByNameQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getRoleByName>>\n>;\nexport type GetRoleByNameQueryError = unknown;\n\nexport function useGetRoleByName<\n\tTData = Awaited<ReturnType<typeof getRoleByName>>,\n\tTError = unknown,\n>(\n\troleName: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRoleByName>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getRoleByName>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getRoleByName>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetRoleByName<\n\tTData = Awaited<ReturnType<typeof getRoleByName>>,\n\tTError = unknown,\n>(\n\troleName: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRoleByName>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getRoleByName>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getRoleByName>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetRoleByName<\n\tTData = Awaited<ReturnType<typeof getRoleByName>>,\n\tTError = unknown,\n>(\n\troleName: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRoleByName>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get role by name\n */\n\nexport function useGetRoleByName<\n\tTData = Awaited<ReturnType<typeof getRoleByName>>,\n\tTError = unknown,\n>(\n\troleName: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRoleByName>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetRoleByNameQueryOptions(roleName, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getGetRoleUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}`;\n};\n\n/**\n * Retrieves a role by its ID, including its permissions.\n * @summary Get role by ID\n */\nexport const getRole = async (\n\troleId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<RoleDetails> => {\n\treturn customFetch<RoleDetails>(getGetRoleUrl(roleId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetRoleQueryKey = (roleId: string) => {\n\treturn [`/access-control/roles/${roleId}`] as const;\n};\n\nexport const getGetRoleQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getRole>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetRoleQueryKey(roleId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getRole>>> = ({\n\t\tsignal,\n\t}) => getRole(roleId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: roleId !== null && roleId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData> & {\n\t\tqueryKey: DataTag<QueryKey, TData, TError>;\n\t};\n};\n\nexport type GetRoleQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getRole>>\n>;\nexport type GetRoleQueryError = unknown;\n\nexport function useGetRole<\n\tTData = Awaited<ReturnType<typeof getRole>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getRole>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getRole>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetRole<\n\tTData = Awaited<ReturnType<typeof getRole>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getRole>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getRole>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetRole<\n\tTData = Awaited<ReturnType<typeof getRole>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get role by ID\n */\n\nexport function useGetRole<\n\tTData = Awaited<ReturnType<typeof getRole>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetRoleQueryOptions(roleId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteRoleUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}`;\n};\n\n/**\n * Deletes a role.\n * @summary Delete role\n */\nexport const deleteRole = async (\n\troleId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteRoleResponse> => {\n\treturn customFetch<DeleteRoleResponse>(getDeleteRoleUrl(roleId), {\n\t\t...options,\n\t\tmethod: \"DELETE\",\n\t});\n};\n\nexport const getDeleteRoleMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteRole>>,\n\t\tTError,\n\t\t{ roleId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteRole>>,\n\tTError,\n\t{ roleId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteRole\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteRole>>,\n\t\t{ roleId: string }\n\t> = (props) => {\n\t\tconst { roleId } = props ?? {};\n\n\t\treturn deleteRole(roleId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteRoleMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteRole>>\n>;\n\nexport type DeleteRoleMutationError = unknown;\n\n/**\n * @summary Delete role\n */\nexport const useDeleteRole = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteRole>>,\n\t\t\tTError,\n\t\t\t{ roleId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteRole>>,\n\tTError,\n\t{ roleId: string },\n\tTContext\n> => {\n\treturn useMutation(getDeleteRoleMutationOptions(options), queryClient);\n};\nexport const getUpdateRoleUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}`;\n};\n\n/**\n * Updates a role's attributes.\n * @summary Update role\n */\nexport const updateRole = async (\n\troleId: string,\n\tupdateRoleRequest?: UpdateRoleRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpdateRoleResponse> => {\n\treturn customFetch<UpdateRoleResponse>(getUpdateRoleUrl(roleId), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(updateRoleRequest),\n\t});\n};\n\nexport const getUpdateRoleMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateRole>>,\n\t\tTError,\n\t\t{ roleId: string; data?: UpdateRoleRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateRole>>,\n\tTError,\n\t{ roleId: string; data?: UpdateRoleRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateRole\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateRole>>,\n\t\t{ roleId: string; data?: UpdateRoleRequest }\n\t> = (props) => {\n\t\tconst { roleId, data } = props ?? {};\n\n\t\treturn updateRole(roleId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateRoleMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateRole>>\n>;\nexport type UpdateRoleMutationBody = UpdateRoleRequest | undefined;\nexport type UpdateRoleMutationError = unknown;\n\n/**\n * @summary Update role\n */\nexport const useUpdateRole = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateRole>>,\n\t\t\tTError,\n\t\t\t{ roleId: string; data?: UpdateRoleRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateRole>>,\n\tTError,\n\t{ roleId: string; data?: UpdateRoleRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdateRoleMutationOptions(options), queryClient);\n};\nexport const getListRolePermissionsUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}/permissions`;\n};\n\n/**\n * Lists all permissions assigned to a role.\n * @summary List role permissions\n */\nexport const listRolePermissions = async (\n\troleId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UserPermissionInfo[] | null> => {\n\treturn customFetch<UserPermissionInfo[] | null>(\n\t\tgetListRolePermissionsUrl(roleId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListRolePermissionsQueryKey = (roleId: string) => {\n\treturn [`/access-control/roles/${roleId}/permissions`] as const;\n};\n\nexport const getListRolePermissionsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listRolePermissions>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getListRolePermissionsQueryKey(roleId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listRolePermissions>>\n\t> = ({ signal }) =>\n\t\tlistRolePermissions(roleId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: roleId !== null && roleId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListRolePermissionsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listRolePermissions>>\n>;\nexport type ListRolePermissionsQueryError = unknown;\n\nexport function useListRolePermissions<\n\tTData = Awaited<ReturnType<typeof listRolePermissions>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRolePermissions<\n\tTData = Awaited<ReturnType<typeof listRolePermissions>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRolePermissions<\n\tTData = Awaited<ReturnType<typeof listRolePermissions>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List role permissions\n */\n\nexport function useListRolePermissions<\n\tTData = Awaited<ReturnType<typeof listRolePermissions>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListRolePermissionsQueryOptions(roleId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getReplaceRolePermissionsUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}/permissions`;\n};\n\n/**\n * Replaces all permissions assigned to a role with a new set.\n * @summary Replace role permissions\n */\nexport const replaceRolePermissions = async (\n\troleId: string,\n\treplaceRolePermissionsRequest?: ReplaceRolePermissionsRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ReplaceRolePermissionResponse> => {\n\treturn customFetch<ReplaceRolePermissionResponse>(\n\t\tgetReplaceRolePermissionsUrl(roleId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PUT\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(replaceRolePermissionsRequest),\n\t\t},\n\t);\n};\n\nexport const getReplaceRolePermissionsMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof replaceRolePermissions>>,\n\t\tTError,\n\t\t{ roleId: string; data?: ReplaceRolePermissionsRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof replaceRolePermissions>>,\n\tTError,\n\t{ roleId: string; data?: ReplaceRolePermissionsRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"replaceRolePermissions\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof replaceRolePermissions>>,\n\t\t{ roleId: string; data?: ReplaceRolePermissionsRequest }\n\t> = (props) => {\n\t\tconst { roleId, data } = props ?? {};\n\n\t\treturn replaceRolePermissions(roleId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type ReplaceRolePermissionsMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof replaceRolePermissions>>\n>;\nexport type ReplaceRolePermissionsMutationBody =\n\t| ReplaceRolePermissionsRequest\n\t| undefined;\nexport type ReplaceRolePermissionsMutationError = unknown;\n\n/**\n * @summary Replace role permissions\n */\nexport const useReplaceRolePermissions = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof replaceRolePermissions>>,\n\t\t\tTError,\n\t\t\t{ roleId: string; data?: ReplaceRolePermissionsRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof replaceRolePermissions>>,\n\tTError,\n\t{ roleId: string; data?: ReplaceRolePermissionsRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetReplaceRolePermissionsMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getAddRolePermissionUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}/permissions`;\n};\n\n/**\n * Assigns a permission to a role.\n * @summary Assign permission to role\n */\nexport const addRolePermission = async (\n\troleId: string,\n\taddRolePermissionRequest?: AddRolePermissionRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AddRolePermissionResponse> => {\n\treturn customFetch<AddRolePermissionResponse>(\n\t\tgetAddRolePermissionUrl(roleId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(addRolePermissionRequest),\n\t\t},\n\t);\n};\n\nexport const getAddRolePermissionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof addRolePermission>>,\n\t\tTError,\n\t\t{ roleId: string; data?: AddRolePermissionRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof addRolePermission>>,\n\tTError,\n\t{ roleId: string; data?: AddRolePermissionRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"addRolePermission\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof addRolePermission>>,\n\t\t{ roleId: string; data?: AddRolePermissionRequest }\n\t> = (props) => {\n\t\tconst { roleId, data } = props ?? {};\n\n\t\treturn addRolePermission(roleId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type AddRolePermissionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof addRolePermission>>\n>;\nexport type AddRolePermissionMutationBody =\n\t| AddRolePermissionRequest\n\t| undefined;\nexport type AddRolePermissionMutationError = unknown;\n\n/**\n * @summary Assign permission to role\n */\nexport const useAddRolePermission = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof addRolePermission>>,\n\t\t\tTError,\n\t\t\t{ roleId: string; data?: AddRolePermissionRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof addRolePermission>>,\n\tTError,\n\t{ roleId: string; data?: AddRolePermissionRequest },\n\tTContext\n> => {\n\treturn useMutation(getAddRolePermissionMutationOptions(options), queryClient);\n};\nexport const getRemoveRolePermissionUrl = (\n\troleId: string,\n\tpermissionId: string,\n) => {\n\treturn `/access-control/roles/${roleId}/permissions/${permissionId}`;\n};\n\n/**\n * Removes a permission from a role.\n * @summary Remove role permission\n */\nexport const removeRolePermission = async (\n\troleId: string,\n\tpermissionId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<RemoveRolePermissionResponse> => {\n\treturn customFetch<RemoveRolePermissionResponse>(\n\t\tgetRemoveRolePermissionUrl(roleId, permissionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getRemoveRolePermissionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof removeRolePermission>>,\n\t\tTError,\n\t\t{ roleId: string; permissionId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof removeRolePermission>>,\n\tTError,\n\t{ roleId: string; permissionId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"removeRolePermission\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof removeRolePermission>>,\n\t\t{ roleId: string; permissionId: string }\n\t> = (props) => {\n\t\tconst { roleId, permissionId } = props ?? {};\n\n\t\treturn removeRolePermission(roleId, permissionId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RemoveRolePermissionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof removeRolePermission>>\n>;\n\nexport type RemoveRolePermissionMutationError = unknown;\n\n/**\n * @summary Remove role permission\n */\nexport const useRemoveRolePermission = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof removeRolePermission>>,\n\t\t\tTError,\n\t\t\t{ roleId: string; permissionId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof removeRolePermission>>,\n\tTError,\n\t{ roleId: string; permissionId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetRemoveRolePermissionMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetUserPermissionsUrl = (userId: string) => {\n\treturn `/access-control/users/${userId}/permissions`;\n};\n\n/**\n * Retrieves all permissions granted to a user through their roles.\n * @summary Get user permissions\n */\nexport const getUserPermissions = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetUserPermissionsResponse> => {\n\treturn customFetch<GetUserPermissionsResponse>(\n\t\tgetGetUserPermissionsUrl(userId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetUserPermissionsQueryKey = (userId: string) => {\n\treturn [`/access-control/users/${userId}/permissions`] as const;\n};\n\nexport const getGetUserPermissionsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getUserPermissions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetUserPermissionsQueryKey(userId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getUserPermissions>>\n\t> = ({ signal }) => getUserPermissions(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetUserPermissionsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getUserPermissions>>\n>;\nexport type GetUserPermissionsQueryError = unknown;\n\nexport function useGetUserPermissions<\n\tTData = Awaited<ReturnType<typeof getUserPermissions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUserPermissions<\n\tTData = Awaited<ReturnType<typeof getUserPermissions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUserPermissions<\n\tTData = Awaited<ReturnType<typeof getUserPermissions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get user permissions\n */\n\nexport function useGetUserPermissions<\n\tTData = Awaited<ReturnType<typeof getUserPermissions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetUserPermissionsQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCheckUserPermissionsUrl = (userId: string) => {\n\treturn `/access-control/users/${userId}/permissions/check`;\n};\n\n/**\n * Checks whether a user has all the specified permissions.\n * @summary Check user permissions\n */\nexport const checkUserPermissions = async (\n\tuserId: string,\n\tcheckUserPermissionsRequest?: CheckUserPermissionsRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CheckUserPermissionsResponse> => {\n\treturn customFetch<CheckUserPermissionsResponse>(\n\t\tgetCheckUserPermissionsUrl(userId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(checkUserPermissionsRequest),\n\t\t},\n\t);\n};\n\nexport const getCheckUserPermissionsMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof checkUserPermissions>>,\n\t\tTError,\n\t\t{ userId: string; data?: CheckUserPermissionsRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof checkUserPermissions>>,\n\tTError,\n\t{ userId: string; data?: CheckUserPermissionsRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"checkUserPermissions\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof checkUserPermissions>>,\n\t\t{ userId: string; data?: CheckUserPermissionsRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn checkUserPermissions(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CheckUserPermissionsMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof checkUserPermissions>>\n>;\nexport type CheckUserPermissionsMutationBody =\n\t| CheckUserPermissionsRequest\n\t| undefined;\nexport type CheckUserPermissionsMutationError = unknown;\n\n/**\n * @summary Check user permissions\n */\nexport const useCheckUserPermissions = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof checkUserPermissions>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: CheckUserPermissionsRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof checkUserPermissions>>,\n\tTError,\n\t{ userId: string; data?: CheckUserPermissionsRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetCheckUserPermissionsMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getListUserRolesUrl = (userId: string) => {\n\treturn `/access-control/users/${userId}/roles`;\n};\n\n/**\n * Lists all roles assigned to a user.\n * @summary List user roles\n */\nexport const listUserRoles = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UserRoleInfo[] | null> => {\n\treturn customFetch<UserRoleInfo[] | null>(getListUserRolesUrl(userId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListUserRolesQueryKey = (userId: string) => {\n\treturn [`/access-control/users/${userId}/roles`] as const;\n};\n\nexport const getListUserRolesQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listUserRoles>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUserRoles>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListUserRolesQueryKey(userId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof listUserRoles>>> = ({\n\t\tsignal,\n\t}) => listUserRoles(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listUserRoles>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListUserRolesQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listUserRoles>>\n>;\nexport type ListUserRolesQueryError = unknown;\n\nexport function useListUserRoles<\n\tTData = Awaited<ReturnType<typeof listUserRoles>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUserRoles>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserRoles>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserRoles>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserRoles<\n\tTData = Awaited<ReturnType<typeof listUserRoles>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUserRoles>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserRoles>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserRoles>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserRoles<\n\tTData = Awaited<ReturnType<typeof listUserRoles>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUserRoles>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List user roles\n */\n\nexport function useListUserRoles<\n\tTData = Awaited<ReturnType<typeof listUserRoles>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUserRoles>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListUserRolesQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getReplaceUserRolesUrl = (userId: string) => {\n\treturn `/access-control/users/${userId}/roles`;\n};\n\n/**\n * Replaces all roles assigned to a user with a new set.\n * @summary Replace user roles\n */\nexport const replaceUserRoles = async (\n\tuserId: string,\n\treplaceUserRolesRequest?: ReplaceUserRolesRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ReplaceUserRolesResponse> => {\n\treturn customFetch<ReplaceUserRolesResponse>(getReplaceUserRolesUrl(userId), {\n\t\t...options,\n\t\tmethod: \"PUT\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(replaceUserRolesRequest),\n\t});\n};\n\nexport const getReplaceUserRolesMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof replaceUserRoles>>,\n\t\tTError,\n\t\t{ userId: string; data?: ReplaceUserRolesRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof replaceUserRoles>>,\n\tTError,\n\t{ userId: string; data?: ReplaceUserRolesRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"replaceUserRoles\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof replaceUserRoles>>,\n\t\t{ userId: string; data?: ReplaceUserRolesRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn replaceUserRoles(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type ReplaceUserRolesMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof replaceUserRoles>>\n>;\nexport type ReplaceUserRolesMutationBody = ReplaceUserRolesRequest | undefined;\nexport type ReplaceUserRolesMutationError = unknown;\n\n/**\n * @summary Replace user roles\n */\nexport const useReplaceUserRoles = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof replaceUserRoles>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: ReplaceUserRolesRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof replaceUserRoles>>,\n\tTError,\n\t{ userId: string; data?: ReplaceUserRolesRequest },\n\tTContext\n> => {\n\treturn useMutation(getReplaceUserRolesMutationOptions(options), queryClient);\n};\nexport const getAssignUserRoleUrl = (userId: string) => {\n\treturn `/access-control/users/${userId}/roles`;\n};\n\n/**\n * Assigns a role to a user.\n * @summary Assign role to user\n */\nexport const assignUserRole = async (\n\tuserId: string,\n\tassignUserRoleRequest?: AssignUserRoleRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AssignUserRoleResponse> => {\n\treturn customFetch<AssignUserRoleResponse>(getAssignUserRoleUrl(userId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(assignUserRoleRequest),\n\t});\n};\n\nexport const getAssignUserRoleMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof assignUserRole>>,\n\t\tTError,\n\t\t{ userId: string; data?: AssignUserRoleRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof assignUserRole>>,\n\tTError,\n\t{ userId: string; data?: AssignUserRoleRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"assignUserRole\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof assignUserRole>>,\n\t\t{ userId: string; data?: AssignUserRoleRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn assignUserRole(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type AssignUserRoleMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof assignUserRole>>\n>;\nexport type AssignUserRoleMutationBody = AssignUserRoleRequest | undefined;\nexport type AssignUserRoleMutationError = unknown;\n\n/**\n * @summary Assign role to user\n */\nexport const useAssignUserRole = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof assignUserRole>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: AssignUserRoleRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof assignUserRole>>,\n\tTError,\n\t{ userId: string; data?: AssignUserRoleRequest },\n\tTContext\n> => {\n\treturn useMutation(getAssignUserRoleMutationOptions(options), queryClient);\n};\nexport const getRemoveUserRoleUrl = (userId: string, roleId: string) => {\n\treturn `/access-control/users/${userId}/roles/${roleId}`;\n};\n\n/**\n * Removes a role from a user.\n * @summary Remove user role\n */\nexport const removeUserRole = async (\n\tuserId: string,\n\troleId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<RemoveUserRoleResponse> => {\n\treturn customFetch<RemoveUserRoleResponse>(\n\t\tgetRemoveUserRoleUrl(userId, roleId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getRemoveUserRoleMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof removeUserRole>>,\n\t\tTError,\n\t\t{ userId: string; roleId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof removeUserRole>>,\n\tTError,\n\t{ userId: string; roleId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"removeUserRole\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof removeUserRole>>,\n\t\t{ userId: string; roleId: string }\n\t> = (props) => {\n\t\tconst { userId, roleId } = props ?? {};\n\n\t\treturn removeUserRole(userId, roleId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RemoveUserRoleMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof removeUserRole>>\n>;\n\nexport type RemoveUserRoleMutationError = unknown;\n\n/**\n * @summary Remove user role\n */\nexport const useRemoveUserRole = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof removeUserRole>>,\n\t\t\tTError,\n\t\t\t{ userId: string; roleId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof removeUserRole>>,\n\tTError,\n\t{ userId: string; roleId: string },\n\tTContext\n> => {\n\treturn useMutation(getRemoveUserRoleMutationOptions(options), queryClient);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as accessControl from \"../../gen/endpoints/access-control/access-control\";\n\nexport class AccessControlPlugin implements Plugin {\n public readonly id = \"accessControl\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return wrapGenerated(accessControl, client);\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tCreateAccountRequest,\n\tCreateAccountResponse,\n\tDeleteAccountResponse,\n\tGetAccountByIDResponse,\n\tUpdateAccountRequest,\n\tUpdateAccountResponse,\n\tUserAccountsResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getGetAccountUrl = (id: string) => {\n\treturn `/admin/accounts/${id}`;\n};\n\n/**\n * Retrieves an account by its ID.\n * @summary Get account by ID\n */\nexport const getAccount = async (\n\tid: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetAccountByIDResponse> => {\n\treturn customFetch<GetAccountByIDResponse>(getGetAccountUrl(id), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetAccountQueryKey = (id: string) => {\n\treturn [`/admin/accounts/${id}`] as const;\n};\n\nexport const getGetAccountQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getAccount>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getAccount>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetAccountQueryKey(id);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getAccount>>> = ({\n\t\tsignal,\n\t}) => getAccount(id, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: id !== null && id !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getAccount>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetAccountQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getAccount>>\n>;\nexport type GetAccountQueryError = unknown;\n\nexport function useGetAccount<\n\tTData = Awaited<ReturnType<typeof getAccount>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getAccount>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getAccount>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getAccount>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetAccount<\n\tTData = Awaited<ReturnType<typeof getAccount>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getAccount>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getAccount>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getAccount>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetAccount<\n\tTData = Awaited<ReturnType<typeof getAccount>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getAccount>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get account by ID\n */\n\nexport function useGetAccount<\n\tTData = Awaited<ReturnType<typeof getAccount>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getAccount>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetAccountQueryOptions(id, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteAccountUrl = (id: string) => {\n\treturn `/admin/accounts/${id}`;\n};\n\n/**\n * Deletes an account.\n * @summary Delete account\n */\nexport const deleteAccount = async (\n\tid: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteAccountResponse> => {\n\treturn customFetch<DeleteAccountResponse>(getDeleteAccountUrl(id), {\n\t\t...options,\n\t\tmethod: \"DELETE\",\n\t});\n};\n\nexport const getDeleteAccountMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteAccount>>,\n\t\tTError,\n\t\t{ id: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteAccount>>,\n\tTError,\n\t{ id: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteAccount\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteAccount>>,\n\t\t{ id: string }\n\t> = (props) => {\n\t\tconst { id } = props ?? {};\n\n\t\treturn deleteAccount(id, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteAccountMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteAccount>>\n>;\n\nexport type DeleteAccountMutationError = unknown;\n\n/**\n * @summary Delete account\n */\nexport const useDeleteAccount = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteAccount>>,\n\t\t\tTError,\n\t\t\t{ id: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteAccount>>,\n\tTError,\n\t{ id: string },\n\tTContext\n> => {\n\treturn useMutation(getDeleteAccountMutationOptions(options), queryClient);\n};\nexport const getUpdateAccountUrl = (id: string) => {\n\treturn `/admin/accounts/${id}`;\n};\n\n/**\n * Updates an account's attributes.\n * @summary Update account\n */\nexport const updateAccount = async (\n\tid: string,\n\tupdateAccountRequest?: UpdateAccountRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpdateAccountResponse> => {\n\treturn customFetch<UpdateAccountResponse>(getUpdateAccountUrl(id), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(updateAccountRequest),\n\t});\n};\n\nexport const getUpdateAccountMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateAccount>>,\n\t\tTError,\n\t\t{ id: string; data?: UpdateAccountRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateAccount>>,\n\tTError,\n\t{ id: string; data?: UpdateAccountRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateAccount\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateAccount>>,\n\t\t{ id: string; data?: UpdateAccountRequest }\n\t> = (props) => {\n\t\tconst { id, data } = props ?? {};\n\n\t\treturn updateAccount(id, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateAccountMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateAccount>>\n>;\nexport type UpdateAccountMutationBody = UpdateAccountRequest | undefined;\nexport type UpdateAccountMutationError = unknown;\n\n/**\n * @summary Update account\n */\nexport const useUpdateAccount = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateAccount>>,\n\t\t\tTError,\n\t\t\t{ id: string; data?: UpdateAccountRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateAccount>>,\n\tTError,\n\t{ id: string; data?: UpdateAccountRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdateAccountMutationOptions(options), queryClient);\n};\nexport const getListUserAccountsUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/accounts`;\n};\n\n/**\n * Lists all accounts for a user.\n * @summary List user accounts\n */\nexport const listUserAccounts = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UserAccountsResponse> => {\n\treturn customFetch<UserAccountsResponse>(getListUserAccountsUrl(userId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListUserAccountsQueryKey = (userId: string) => {\n\treturn [`/admin/users/${userId}/accounts`] as const;\n};\n\nexport const getListUserAccountsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listUserAccounts>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getListUserAccountsQueryKey(userId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listUserAccounts>>\n\t> = ({ signal }) => listUserAccounts(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListUserAccountsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listUserAccounts>>\n>;\nexport type ListUserAccountsQueryError = unknown;\n\nexport function useListUserAccounts<\n\tTData = Awaited<ReturnType<typeof listUserAccounts>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserAccounts<\n\tTData = Awaited<ReturnType<typeof listUserAccounts>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserAccounts<\n\tTData = Awaited<ReturnType<typeof listUserAccounts>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List user accounts\n */\n\nexport function useListUserAccounts<\n\tTData = Awaited<ReturnType<typeof listUserAccounts>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListUserAccountsQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateAccountUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/accounts`;\n};\n\n/**\n * Creates a new account for a user.\n * @summary Create account\n */\nexport const createAccount = async (\n\tuserId: string,\n\tcreateAccountRequest?: CreateAccountRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CreateAccountResponse> => {\n\treturn customFetch<CreateAccountResponse>(getCreateAccountUrl(userId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createAccountRequest),\n\t});\n};\n\nexport const getCreateAccountMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createAccount>>,\n\t\tTError,\n\t\t{ userId: string; data?: CreateAccountRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createAccount>>,\n\tTError,\n\t{ userId: string; data?: CreateAccountRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createAccount\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createAccount>>,\n\t\t{ userId: string; data?: CreateAccountRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn createAccount(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateAccountMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createAccount>>\n>;\nexport type CreateAccountMutationBody = CreateAccountRequest | undefined;\nexport type CreateAccountMutationError = unknown;\n\n/**\n * @summary Create account\n */\nexport const useCreateAccount = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createAccount>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: CreateAccountRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createAccount>>,\n\tTError,\n\t{ userId: string; data?: CreateAccountRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreateAccountMutationOptions(options), queryClient);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tGetImpersonationByIDResponse,\n\tImpersonation,\n\tStartImpersonationRequest,\n\tStartImpersonationResponse,\n\tStopImpersonationResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListImpersonationsUrl = () => {\n\treturn `/admin/impersonations`;\n};\n\n/**\n * Lists all impersonations.\n * @summary List impersonations\n */\nexport const listImpersonations = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Impersonation[] | null> => {\n\treturn customFetch<Impersonation[] | null>(getListImpersonationsUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListImpersonationsQueryKey = () => {\n\treturn [`/admin/impersonations`] as const;\n};\n\nexport const getListImpersonationsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listImpersonations>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<\n\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\tTError,\n\t\t\tTData\n\t\t>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListImpersonationsQueryKey();\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listImpersonations>>\n\t> = ({ signal }) => listImpersonations({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListImpersonationsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listImpersonations>>\n>;\nexport type ListImpersonationsQueryError = unknown;\n\nexport function useListImpersonations<\n\tTData = Awaited<ReturnType<typeof listImpersonations>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListImpersonations<\n\tTData = Awaited<ReturnType<typeof listImpersonations>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListImpersonations<\n\tTData = Awaited<ReturnType<typeof listImpersonations>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List impersonations\n */\n\nexport function useListImpersonations<\n\tTData = Awaited<ReturnType<typeof listImpersonations>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListImpersonationsQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getStartImpersonationUrl = () => {\n\treturn `/admin/impersonations`;\n};\n\n/**\n * Starts an impersonation session as a target user.\n * @summary Start impersonation\n */\nexport const startImpersonation = async (\n\tstartImpersonationRequest?: StartImpersonationRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<StartImpersonationResponse> => {\n\treturn customFetch<StartImpersonationResponse>(getStartImpersonationUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(startImpersonationRequest),\n\t});\n};\n\nexport const getStartImpersonationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof startImpersonation>>,\n\t\tTError,\n\t\t{ data?: StartImpersonationRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof startImpersonation>>,\n\tTError,\n\t{ data?: StartImpersonationRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"startImpersonation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof startImpersonation>>,\n\t\t{ data?: StartImpersonationRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn startImpersonation(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type StartImpersonationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof startImpersonation>>\n>;\nexport type StartImpersonationMutationBody =\n\t| StartImpersonationRequest\n\t| undefined;\nexport type StartImpersonationMutationError = unknown;\n\n/**\n * @summary Start impersonation\n */\nexport const useStartImpersonation = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof startImpersonation>>,\n\t\t\tTError,\n\t\t\t{ data?: StartImpersonationRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof startImpersonation>>,\n\tTError,\n\t{ data?: StartImpersonationRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetStartImpersonationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetImpersonationUrl = (impersonationId: string) => {\n\treturn `/admin/impersonations/${impersonationId}`;\n};\n\n/**\n * Retrieves an impersonation by its ID.\n * @summary Get impersonation by ID\n */\nexport const getImpersonation = async (\n\timpersonationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetImpersonationByIDResponse> => {\n\treturn customFetch<GetImpersonationByIDResponse>(\n\t\tgetGetImpersonationUrl(impersonationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetImpersonationQueryKey = (impersonationId: string) => {\n\treturn [`/admin/impersonations/${impersonationId}`] as const;\n};\n\nexport const getGetImpersonationQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getImpersonation>>,\n\tTError = unknown,\n>(\n\timpersonationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetImpersonationQueryKey(impersonationId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getImpersonation>>\n\t> = ({ signal }) =>\n\t\tgetImpersonation(impersonationId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: impersonationId !== null && impersonationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetImpersonationQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getImpersonation>>\n>;\nexport type GetImpersonationQueryError = unknown;\n\nexport function useGetImpersonation<\n\tTData = Awaited<ReturnType<typeof getImpersonation>>,\n\tTError = unknown,\n>(\n\timpersonationId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetImpersonation<\n\tTData = Awaited<ReturnType<typeof getImpersonation>>,\n\tTError = unknown,\n>(\n\timpersonationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetImpersonation<\n\tTData = Awaited<ReturnType<typeof getImpersonation>>,\n\tTError = unknown,\n>(\n\timpersonationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get impersonation by ID\n */\n\nexport function useGetImpersonation<\n\tTData = Awaited<ReturnType<typeof getImpersonation>>,\n\tTError = unknown,\n>(\n\timpersonationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetImpersonationQueryOptions(\n\t\timpersonationId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getStopImpersonationUrl = (impersonationId: string) => {\n\treturn `/admin/impersonations/${impersonationId}/stop`;\n};\n\n/**\n * Stops an impersonation session and restores the original session.\n * @summary Stop impersonation\n */\nexport const stopImpersonation = async (\n\timpersonationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<StopImpersonationResponse> => {\n\treturn customFetch<StopImpersonationResponse>(\n\t\tgetStopImpersonationUrl(impersonationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t},\n\t);\n};\n\nexport const getStopImpersonationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof stopImpersonation>>,\n\t\tTError,\n\t\t{ impersonationId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof stopImpersonation>>,\n\tTError,\n\t{ impersonationId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"stopImpersonation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof stopImpersonation>>,\n\t\t{ impersonationId: string }\n\t> = (props) => {\n\t\tconst { impersonationId } = props ?? {};\n\n\t\treturn stopImpersonation(impersonationId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type StopImpersonationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof stopImpersonation>>\n>;\n\nexport type StopImpersonationMutationError = unknown;\n\n/**\n * @summary Stop impersonation\n */\nexport const useStopImpersonation = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof stopImpersonation>>,\n\t\t\tTError,\n\t\t\t{ impersonationId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof stopImpersonation>>,\n\tTError,\n\t{ impersonationId: string },\n\tTContext\n> => {\n\treturn useMutation(getStopImpersonationMutationOptions(options), queryClient);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAdminSessionState,\n\tCreateSessionStateRequest,\n\tDeleteSessionStateResponse,\n\tGetSessionStateResponse,\n\tRevokeSessionRequest,\n\tRevokeSessionResponse,\n\tUpsertSessionStateRequest,\n\tUpsertSessionStateResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListRevokedSessionStatesUrl = () => {\n\treturn `/admin/sessions/states/revoked`;\n};\n\n/**\n * Lists all revoked session states.\n * @summary List revoked session states\n */\nexport const listRevokedSessionStates = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AdminSessionState[] | null> => {\n\treturn customFetch<AdminSessionState[] | null>(\n\t\tgetListRevokedSessionStatesUrl(),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListRevokedSessionStatesQueryKey = () => {\n\treturn [`/admin/sessions/states/revoked`] as const;\n};\n\nexport const getListRevokedSessionStatesQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listRevokedSessionStates>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<\n\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\tTError,\n\t\t\tTData\n\t\t>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getListRevokedSessionStatesQueryKey();\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>\n\t> = ({ signal }) => listRevokedSessionStates({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListRevokedSessionStatesQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listRevokedSessionStates>>\n>;\nexport type ListRevokedSessionStatesQueryError = unknown;\n\nexport function useListRevokedSessionStates<\n\tTData = Awaited<ReturnType<typeof listRevokedSessionStates>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRevokedSessionStates<\n\tTData = Awaited<ReturnType<typeof listRevokedSessionStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRevokedSessionStates<\n\tTData = Awaited<ReturnType<typeof listRevokedSessionStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List revoked session states\n */\n\nexport function useListRevokedSessionStates<\n\tTData = Awaited<ReturnType<typeof listRevokedSessionStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListRevokedSessionStatesQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getRevokeSessionUrl = (sessionId: string) => {\n\treturn `/admin/sessions/${sessionId}/revoke`;\n};\n\n/**\n * Revokes a session.\n * @summary Revoke session\n */\nexport const revokeSession = async (\n\tsessionId: string,\n\trevokeSessionRequest?: RevokeSessionRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<RevokeSessionResponse> => {\n\treturn customFetch<RevokeSessionResponse>(getRevokeSessionUrl(sessionId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(revokeSessionRequest),\n\t});\n};\n\nexport const getRevokeSessionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof revokeSession>>,\n\t\tTError,\n\t\t{ sessionId: string; data?: RevokeSessionRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof revokeSession>>,\n\tTError,\n\t{ sessionId: string; data?: RevokeSessionRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"revokeSession\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof revokeSession>>,\n\t\t{ sessionId: string; data?: RevokeSessionRequest }\n\t> = (props) => {\n\t\tconst { sessionId, data } = props ?? {};\n\n\t\treturn revokeSession(sessionId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RevokeSessionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof revokeSession>>\n>;\nexport type RevokeSessionMutationBody = RevokeSessionRequest | undefined;\nexport type RevokeSessionMutationError = unknown;\n\n/**\n * @summary Revoke session\n */\nexport const useRevokeSession = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof revokeSession>>,\n\t\t\tTError,\n\t\t\t{ sessionId: string; data?: RevokeSessionRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof revokeSession>>,\n\tTError,\n\t{ sessionId: string; data?: RevokeSessionRequest },\n\tTContext\n> => {\n\treturn useMutation(getRevokeSessionMutationOptions(options), queryClient);\n};\nexport const getGetSessionStateUrl = (sessionId: string) => {\n\treturn `/admin/sessions/${sessionId}/state`;\n};\n\n/**\n * Retrieves the state of a session.\n * @summary Get session state\n */\nexport const getSessionState = async (\n\tsessionId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetSessionStateResponse> => {\n\treturn customFetch<GetSessionStateResponse>(\n\t\tgetGetSessionStateUrl(sessionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetSessionStateQueryKey = (sessionId: string) => {\n\treturn [`/admin/sessions/${sessionId}/state`] as const;\n};\n\nexport const getGetSessionStateQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getSessionState>>,\n\tTError = unknown,\n>(\n\tsessionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetSessionStateQueryKey(sessionId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getSessionState>>> = ({\n\t\tsignal,\n\t}) => getSessionState(sessionId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: sessionId !== null && sessionId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetSessionStateQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getSessionState>>\n>;\nexport type GetSessionStateQueryError = unknown;\n\nexport function useGetSessionState<\n\tTData = Awaited<ReturnType<typeof getSessionState>>,\n\tTError = unknown,\n>(\n\tsessionId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getSessionState>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetSessionState<\n\tTData = Awaited<ReturnType<typeof getSessionState>>,\n\tTError = unknown,\n>(\n\tsessionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getSessionState>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetSessionState<\n\tTData = Awaited<ReturnType<typeof getSessionState>>,\n\tTError = unknown,\n>(\n\tsessionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get session state\n */\n\nexport function useGetSessionState<\n\tTData = Awaited<ReturnType<typeof getSessionState>>,\n\tTError = unknown,\n>(\n\tsessionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetSessionStateQueryOptions(sessionId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateSessionStateUrl = (sessionId: string) => {\n\treturn `/admin/sessions/${sessionId}/state`;\n};\n\n/**\n * Creates the state for a session.\n * @summary Create session state\n */\nexport const createSessionState = async (\n\tsessionId: string,\n\tcreateSessionStateRequest?: CreateSessionStateRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpsertSessionStateResponse> => {\n\treturn customFetch<UpsertSessionStateResponse>(\n\t\tgetCreateSessionStateUrl(sessionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(createSessionStateRequest),\n\t\t},\n\t);\n};\n\nexport const getCreateSessionStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createSessionState>>,\n\t\tTError,\n\t\t{ sessionId: string; data?: CreateSessionStateRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createSessionState>>,\n\tTError,\n\t{ sessionId: string; data?: CreateSessionStateRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createSessionState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createSessionState>>,\n\t\t{ sessionId: string; data?: CreateSessionStateRequest }\n\t> = (props) => {\n\t\tconst { sessionId, data } = props ?? {};\n\n\t\treturn createSessionState(sessionId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateSessionStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createSessionState>>\n>;\nexport type CreateSessionStateMutationBody =\n\t| CreateSessionStateRequest\n\t| undefined;\nexport type CreateSessionStateMutationError = unknown;\n\n/**\n * @summary Create session state\n */\nexport const useCreateSessionState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createSessionState>>,\n\t\t\tTError,\n\t\t\t{ sessionId: string; data?: CreateSessionStateRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createSessionState>>,\n\tTError,\n\t{ sessionId: string; data?: CreateSessionStateRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetCreateSessionStateMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getDeleteSessionStateUrl = (sessionId: string) => {\n\treturn `/admin/sessions/${sessionId}/state`;\n};\n\n/**\n * Deletes the state of a session.\n * @summary Delete session state\n */\nexport const deleteSessionState = async (\n\tsessionId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteSessionStateResponse> => {\n\treturn customFetch<DeleteSessionStateResponse>(\n\t\tgetDeleteSessionStateUrl(sessionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeleteSessionStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteSessionState>>,\n\t\tTError,\n\t\t{ sessionId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteSessionState>>,\n\tTError,\n\t{ sessionId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteSessionState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteSessionState>>,\n\t\t{ sessionId: string }\n\t> = (props) => {\n\t\tconst { sessionId } = props ?? {};\n\n\t\treturn deleteSessionState(sessionId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteSessionStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteSessionState>>\n>;\n\nexport type DeleteSessionStateMutationError = unknown;\n\n/**\n * @summary Delete session state\n */\nexport const useDeleteSessionState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteSessionState>>,\n\t\t\tTError,\n\t\t\t{ sessionId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteSessionState>>,\n\tTError,\n\t{ sessionId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetDeleteSessionStateMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getUpdateSessionStateUrl = (sessionId: string) => {\n\treturn `/admin/sessions/${sessionId}/state`;\n};\n\n/**\n * Updates the state of a session.\n * @summary Update session state\n */\nexport const updateSessionState = async (\n\tsessionId: string,\n\tupsertSessionStateRequest?: UpsertSessionStateRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpsertSessionStateResponse> => {\n\treturn customFetch<UpsertSessionStateResponse>(\n\t\tgetUpdateSessionStateUrl(sessionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(upsertSessionStateRequest),\n\t\t},\n\t);\n};\n\nexport const getUpdateSessionStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateSessionState>>,\n\t\tTError,\n\t\t{ sessionId: string; data?: UpsertSessionStateRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateSessionState>>,\n\tTError,\n\t{ sessionId: string; data?: UpsertSessionStateRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateSessionState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateSessionState>>,\n\t\t{ sessionId: string; data?: UpsertSessionStateRequest }\n\t> = (props) => {\n\t\tconst { sessionId, data } = props ?? {};\n\n\t\treturn updateSessionState(sessionId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateSessionStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateSessionState>>\n>;\nexport type UpdateSessionStateMutationBody =\n\t| UpsertSessionStateRequest\n\t| undefined;\nexport type UpdateSessionStateMutationError = unknown;\n\n/**\n * @summary Update session state\n */\nexport const useUpdateSessionState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateSessionState>>,\n\t\t\tTError,\n\t\t\t{ sessionId: string; data?: UpsertSessionStateRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateSessionState>>,\n\tTError,\n\t{ sessionId: string; data?: UpsertSessionStateRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetUpdateSessionStateMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAdminUserSession,\n\tAdminUserState,\n\tBanUserRequest,\n\tBanUserResponse,\n\tCreateUserStateRequest,\n\tDeleteUserStateResponse,\n\tGetUserStateResponse,\n\tUnbanUserResponse,\n\tUpsertUserStateRequest,\n\tUpsertUserStateResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListBannedUserStatesUrl = () => {\n\treturn `/admin/users/states/banned`;\n};\n\n/**\n * Lists all banned user states.\n * @summary List banned user states\n */\nexport const listBannedUserStates = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AdminUserState[] | null> => {\n\treturn customFetch<AdminUserState[] | null>(getListBannedUserStatesUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListBannedUserStatesQueryKey = () => {\n\treturn [`/admin/users/states/banned`] as const;\n};\n\nexport const getListBannedUserStatesQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listBannedUserStates>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<\n\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\tTError,\n\t\t\tTData\n\t\t>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListBannedUserStatesQueryKey();\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listBannedUserStates>>\n\t> = ({ signal }) => listBannedUserStates({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListBannedUserStatesQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listBannedUserStates>>\n>;\nexport type ListBannedUserStatesQueryError = unknown;\n\nexport function useListBannedUserStates<\n\tTData = Awaited<ReturnType<typeof listBannedUserStates>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListBannedUserStates<\n\tTData = Awaited<ReturnType<typeof listBannedUserStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListBannedUserStates<\n\tTData = Awaited<ReturnType<typeof listBannedUserStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List banned user states\n */\n\nexport function useListBannedUserStates<\n\tTData = Awaited<ReturnType<typeof listBannedUserStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListBannedUserStatesQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getBanUserUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/ban`;\n};\n\n/**\n * Bans a user.\n * @summary Ban user\n */\nexport const banUser = async (\n\tuserId: string,\n\tbanUserRequest?: BanUserRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<BanUserResponse> => {\n\treturn customFetch<BanUserResponse>(getBanUserUrl(userId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(banUserRequest),\n\t});\n};\n\nexport const getBanUserMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof banUser>>,\n\t\tTError,\n\t\t{ userId: string; data?: BanUserRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof banUser>>,\n\tTError,\n\t{ userId: string; data?: BanUserRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"banUser\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof banUser>>,\n\t\t{ userId: string; data?: BanUserRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn banUser(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type BanUserMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof banUser>>\n>;\nexport type BanUserMutationBody = BanUserRequest | undefined;\nexport type BanUserMutationError = unknown;\n\n/**\n * @summary Ban user\n */\nexport const useBanUser = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof banUser>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: BanUserRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof banUser>>,\n\tTError,\n\t{ userId: string; data?: BanUserRequest },\n\tTContext\n> => {\n\treturn useMutation(getBanUserMutationOptions(options), queryClient);\n};\nexport const getListUserSessionsUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/sessions`;\n};\n\n/**\n * Lists all sessions for a user.\n * @summary List user sessions\n */\nexport const listUserSessions = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AdminUserSession[] | null> => {\n\treturn customFetch<AdminUserSession[] | null>(\n\t\tgetListUserSessionsUrl(userId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListUserSessionsQueryKey = (userId: string) => {\n\treturn [`/admin/users/${userId}/sessions`] as const;\n};\n\nexport const getListUserSessionsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listUserSessions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getListUserSessionsQueryKey(userId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listUserSessions>>\n\t> = ({ signal }) => listUserSessions(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListUserSessionsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listUserSessions>>\n>;\nexport type ListUserSessionsQueryError = unknown;\n\nexport function useListUserSessions<\n\tTData = Awaited<ReturnType<typeof listUserSessions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserSessions<\n\tTData = Awaited<ReturnType<typeof listUserSessions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserSessions<\n\tTData = Awaited<ReturnType<typeof listUserSessions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List user sessions\n */\n\nexport function useListUserSessions<\n\tTData = Awaited<ReturnType<typeof listUserSessions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListUserSessionsQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getGetUserStateUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/state`;\n};\n\n/**\n * Retrieves the state of a user.\n * @summary Get user state\n */\nexport const getUserState = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetUserStateResponse> => {\n\treturn customFetch<GetUserStateResponse>(getGetUserStateUrl(userId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetUserStateQueryKey = (userId: string) => {\n\treturn [`/admin/users/${userId}/state`] as const;\n};\n\nexport const getGetUserStateQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getUserState>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUserState>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetUserStateQueryKey(userId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getUserState>>> = ({\n\t\tsignal,\n\t}) => getUserState(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getUserState>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetUserStateQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getUserState>>\n>;\nexport type GetUserStateQueryError = unknown;\n\nexport function useGetUserState<\n\tTData = Awaited<ReturnType<typeof getUserState>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUserState>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUserState>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUserState>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUserState<\n\tTData = Awaited<ReturnType<typeof getUserState>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUserState>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUserState>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUserState>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUserState<\n\tTData = Awaited<ReturnType<typeof getUserState>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUserState>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get user state\n */\n\nexport function useGetUserState<\n\tTData = Awaited<ReturnType<typeof getUserState>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUserState>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetUserStateQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateUserStateUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/state`;\n};\n\n/**\n * Creates the state for a user.\n * @summary Create user state\n */\nexport const createUserState = async (\n\tuserId: string,\n\tcreateUserStateRequest?: CreateUserStateRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpsertUserStateResponse> => {\n\treturn customFetch<UpsertUserStateResponse>(getCreateUserStateUrl(userId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createUserStateRequest),\n\t});\n};\n\nexport const getCreateUserStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createUserState>>,\n\t\tTError,\n\t\t{ userId: string; data?: CreateUserStateRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createUserState>>,\n\tTError,\n\t{ userId: string; data?: CreateUserStateRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createUserState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createUserState>>,\n\t\t{ userId: string; data?: CreateUserStateRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn createUserState(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateUserStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createUserState>>\n>;\nexport type CreateUserStateMutationBody = CreateUserStateRequest | undefined;\nexport type CreateUserStateMutationError = unknown;\n\n/**\n * @summary Create user state\n */\nexport const useCreateUserState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createUserState>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: CreateUserStateRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createUserState>>,\n\tTError,\n\t{ userId: string; data?: CreateUserStateRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreateUserStateMutationOptions(options), queryClient);\n};\nexport const getDeleteUserStateUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/state`;\n};\n\n/**\n * Deletes the state of a user.\n * @summary Delete user state\n */\nexport const deleteUserState = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteUserStateResponse> => {\n\treturn customFetch<DeleteUserStateResponse>(getDeleteUserStateUrl(userId), {\n\t\t...options,\n\t\tmethod: \"DELETE\",\n\t});\n};\n\nexport const getDeleteUserStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteUserState>>,\n\t\tTError,\n\t\t{ userId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteUserState>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteUserState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteUserState>>,\n\t\t{ userId: string }\n\t> = (props) => {\n\t\tconst { userId } = props ?? {};\n\n\t\treturn deleteUserState(userId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteUserStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteUserState>>\n>;\n\nexport type DeleteUserStateMutationError = unknown;\n\n/**\n * @summary Delete user state\n */\nexport const useDeleteUserState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteUserState>>,\n\t\t\tTError,\n\t\t\t{ userId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteUserState>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\treturn useMutation(getDeleteUserStateMutationOptions(options), queryClient);\n};\nexport const getUpdateUserStateUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/state`;\n};\n\n/**\n * Updates the state of a user.\n * @summary Update user state\n */\nexport const updateUserState = async (\n\tuserId: string,\n\tupsertUserStateRequest?: UpsertUserStateRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpsertUserStateResponse> => {\n\treturn customFetch<UpsertUserStateResponse>(getUpdateUserStateUrl(userId), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(upsertUserStateRequest),\n\t});\n};\n\nexport const getUpdateUserStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateUserState>>,\n\t\tTError,\n\t\t{ userId: string; data?: UpsertUserStateRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateUserState>>,\n\tTError,\n\t{ userId: string; data?: UpsertUserStateRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateUserState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateUserState>>,\n\t\t{ userId: string; data?: UpsertUserStateRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn updateUserState(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateUserStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateUserState>>\n>;\nexport type UpdateUserStateMutationBody = UpsertUserStateRequest | undefined;\nexport type UpdateUserStateMutationError = unknown;\n\n/**\n * @summary Update user state\n */\nexport const useUpdateUserState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateUserState>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: UpsertUserStateRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateUserState>>,\n\tTError,\n\t{ userId: string; data?: UpsertUserStateRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdateUserStateMutationOptions(options), queryClient);\n};\nexport const getUnbanUserUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/unban`;\n};\n\n/**\n * Unbans a user.\n * @summary Unban user\n */\nexport const unbanUser = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UnbanUserResponse> => {\n\treturn customFetch<UnbanUserResponse>(getUnbanUserUrl(userId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t});\n};\n\nexport const getUnbanUserMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof unbanUser>>,\n\t\tTError,\n\t\t{ userId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof unbanUser>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"unbanUser\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof unbanUser>>,\n\t\t{ userId: string }\n\t> = (props) => {\n\t\tconst { userId } = props ?? {};\n\n\t\treturn unbanUser(userId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UnbanUserMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof unbanUser>>\n>;\n\nexport type UnbanUserMutationError = unknown;\n\n/**\n * @summary Unban user\n */\nexport const useUnbanUser = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof unbanUser>>,\n\t\t\tTError,\n\t\t\t{ userId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof unbanUser>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\treturn useMutation(getUnbanUserMutationOptions(options), queryClient);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tCreateUserRequest,\n\tCreateUserResponse,\n\tDeleteUserResponse,\n\tGetUserByIDResponse,\n\tListUsersParams,\n\tUpdateUserRequest,\n\tUpdateUserResponse,\n\tUsersPage,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListUsersUrl = (params?: ListUsersParams) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/admin/users?${stringifiedParams}`\n\t\t: `/admin/users`;\n};\n\n/**\n * Lists users with cursor-based pagination.\n * @summary List users\n */\nexport const listUsers = async (\n\tparams?: ListUsersParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UsersPage> => {\n\treturn customFetch<UsersPage>(getListUsersUrl(params), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListUsersQueryKey = (params?: ListUsersParams) => {\n\treturn [`/admin/users`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListUsersQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listUsers>>,\n\tTError = unknown,\n>(\n\tparams?: ListUsersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUsers>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListUsersQueryKey(params);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof listUsers>>> = ({\n\t\tsignal,\n\t}) => listUsers(params, { signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listUsers>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListUsersQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listUsers>>\n>;\nexport type ListUsersQueryError = unknown;\n\nexport function useListUsers<\n\tTData = Awaited<ReturnType<typeof listUsers>>,\n\tTError = unknown,\n>(\n\tparams: undefined | ListUsersParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUsers>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUsers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUsers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUsers<\n\tTData = Awaited<ReturnType<typeof listUsers>>,\n\tTError = unknown,\n>(\n\tparams?: ListUsersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUsers>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUsers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUsers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUsers<\n\tTData = Awaited<ReturnType<typeof listUsers>>,\n\tTError = unknown,\n>(\n\tparams?: ListUsersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUsers>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List users\n */\n\nexport function useListUsers<\n\tTData = Awaited<ReturnType<typeof listUsers>>,\n\tTError = unknown,\n>(\n\tparams?: ListUsersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUsers>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListUsersQueryOptions(params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateUserUrl = () => {\n\treturn `/admin/users`;\n};\n\n/**\n * Creates a new user with the specified attributes.\n * @summary Create user\n */\nexport const createUser = async (\n\tcreateUserRequest?: CreateUserRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CreateUserResponse> => {\n\treturn customFetch<CreateUserResponse>(getCreateUserUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createUserRequest),\n\t});\n};\n\nexport const getCreateUserMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createUser>>,\n\t\tTError,\n\t\t{ data?: CreateUserRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createUser>>,\n\tTError,\n\t{ data?: CreateUserRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createUser\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createUser>>,\n\t\t{ data?: CreateUserRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn createUser(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateUserMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createUser>>\n>;\nexport type CreateUserMutationBody = CreateUserRequest | undefined;\nexport type CreateUserMutationError = unknown;\n\n/**\n * @summary Create user\n */\nexport const useCreateUser = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createUser>>,\n\t\t\tTError,\n\t\t\t{ data?: CreateUserRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createUser>>,\n\tTError,\n\t{ data?: CreateUserRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreateUserMutationOptions(options), queryClient);\n};\nexport const getGetUserUrl = (userId: string) => {\n\treturn `/admin/users/${userId}`;\n};\n\n/**\n * Retrieves a user by their ID.\n * @summary Get user by ID\n */\nexport const getUser = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetUserByIDResponse> => {\n\treturn customFetch<GetUserByIDResponse>(getGetUserUrl(userId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetUserQueryKey = (userId: string) => {\n\treturn [`/admin/users/${userId}`] as const;\n};\n\nexport const getGetUserQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getUser>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetUserQueryKey(userId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getUser>>> = ({\n\t\tsignal,\n\t}) => getUser(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData> & {\n\t\tqueryKey: DataTag<QueryKey, TData, TError>;\n\t};\n};\n\nexport type GetUserQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getUser>>\n>;\nexport type GetUserQueryError = unknown;\n\nexport function useGetUser<\n\tTData = Awaited<ReturnType<typeof getUser>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUser>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUser>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUser<\n\tTData = Awaited<ReturnType<typeof getUser>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUser>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUser>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUser<\n\tTData = Awaited<ReturnType<typeof getUser>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get user by ID\n */\n\nexport function useGetUser<\n\tTData = Awaited<ReturnType<typeof getUser>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetUserQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteUserUrl = (userId: string) => {\n\treturn `/admin/users/${userId}`;\n};\n\n/**\n * Deletes a user.\n * @summary Delete user\n */\nexport const deleteUser = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteUserResponse> => {\n\treturn customFetch<DeleteUserResponse>(getDeleteUserUrl(userId), {\n\t\t...options,\n\t\tmethod: \"DELETE\",\n\t});\n};\n\nexport const getDeleteUserMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteUser>>,\n\t\tTError,\n\t\t{ userId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteUser>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteUser\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteUser>>,\n\t\t{ userId: string }\n\t> = (props) => {\n\t\tconst { userId } = props ?? {};\n\n\t\treturn deleteUser(userId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteUserMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteUser>>\n>;\n\nexport type DeleteUserMutationError = unknown;\n\n/**\n * @summary Delete user\n */\nexport const useDeleteUser = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteUser>>,\n\t\t\tTError,\n\t\t\t{ userId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteUser>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\treturn useMutation(getDeleteUserMutationOptions(options), queryClient);\n};\nexport const getUpdateUserUrl = (userId: string) => {\n\treturn `/admin/users/${userId}`;\n};\n\n/**\n * Updates a user's attributes.\n * @summary Update user\n */\nexport const updateUser = async (\n\tuserId: string,\n\tupdateUserRequest?: UpdateUserRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpdateUserResponse> => {\n\treturn customFetch<UpdateUserResponse>(getUpdateUserUrl(userId), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(updateUserRequest),\n\t});\n};\n\nexport const getUpdateUserMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateUser>>,\n\t\tTError,\n\t\t{ userId: string; data?: UpdateUserRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateUser>>,\n\tTError,\n\t{ userId: string; data?: UpdateUserRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateUser\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateUser>>,\n\t\t{ userId: string; data?: UpdateUserRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn updateUser(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateUserMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateUser>>\n>;\nexport type UpdateUserMutationBody = UpdateUserRequest | undefined;\nexport type UpdateUserMutationError = unknown;\n\n/**\n * @summary Update user\n */\nexport const useUpdateUser = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateUser>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: UpdateUserRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateUser>>,\n\tTError,\n\t{ userId: string; data?: UpdateUserRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdateUserMutationOptions(options), queryClient);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as adminAccounts from \"../../gen/endpoints/admin-accounts/admin-accounts\";\nimport * as adminImpersonation from \"../../gen/endpoints/admin-impersonation/admin-impersonation\";\nimport * as adminSessionState from \"../../gen/endpoints/admin-session-state/admin-session-state\";\nimport * as adminUserState from \"../../gen/endpoints/admin-user-state/admin-user-state\";\nimport * as adminUsers from \"../../gen/endpoints/admin-users/admin-users\";\n\nexport class AdminPlugin implements Plugin {\n public readonly id = \"admin\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return {\n ...wrapGenerated(adminUsers, client),\n ...wrapGenerated(adminAccounts, client),\n ...wrapGenerated(adminUserState, client),\n ...wrapGenerated(adminSessionState, client),\n ...wrapGenerated(adminImpersonation, client),\n };\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tCreateApiKeyRequest,\n\tCreateApiKeyResponse,\n\tDeleteApiKeyResponse,\n\tGetAllApiKeysResponse,\n\tGetApiKeyResponse,\n\tListApiKeysParams,\n\tUpdateApiKeyRequest,\n\tUpdateApiKeyResponse,\n\tVerifyApiKeyRequest,\n\tVerifyApiKeyResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListApiKeysUrl = (params?: ListApiKeysParams) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/api-keys?${stringifiedParams}`\n\t\t: `/api-keys`;\n};\n\n/**\n * Lists API keys with pagination, optionally filtered by owner.\n * @summary List API keys\n */\nexport const listApiKeys = async (\n\tparams?: ListApiKeysParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetAllApiKeysResponse> => {\n\treturn customFetch<GetAllApiKeysResponse>(getListApiKeysUrl(params), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListApiKeysQueryKey = (params?: ListApiKeysParams) => {\n\treturn [`/api-keys`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListApiKeysQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listApiKeys>>,\n\tTError = unknown,\n>(\n\tparams?: ListApiKeysParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listApiKeys>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListApiKeysQueryKey(params);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof listApiKeys>>> = ({\n\t\tsignal,\n\t}) => listApiKeys(params, { signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listApiKeys>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListApiKeysQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listApiKeys>>\n>;\nexport type ListApiKeysQueryError = unknown;\n\nexport function useListApiKeys<\n\tTData = Awaited<ReturnType<typeof listApiKeys>>,\n\tTError = unknown,\n>(\n\tparams: undefined | ListApiKeysParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listApiKeys>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listApiKeys>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listApiKeys>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListApiKeys<\n\tTData = Awaited<ReturnType<typeof listApiKeys>>,\n\tTError = unknown,\n>(\n\tparams?: ListApiKeysParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listApiKeys>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listApiKeys>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listApiKeys>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListApiKeys<\n\tTData = Awaited<ReturnType<typeof listApiKeys>>,\n\tTError = unknown,\n>(\n\tparams?: ListApiKeysParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listApiKeys>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List API keys\n */\n\nexport function useListApiKeys<\n\tTData = Awaited<ReturnType<typeof listApiKeys>>,\n\tTError = unknown,\n>(\n\tparams?: ListApiKeysParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listApiKeys>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListApiKeysQueryOptions(params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateApiKeyUrl = () => {\n\treturn `/api-keys`;\n};\n\n/**\n * Creates a new API key for the specified owner.\n * @summary Create API key\n */\nexport const createApiKey = async (\n\tcreateApiKeyRequest?: CreateApiKeyRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CreateApiKeyResponse> => {\n\treturn customFetch<CreateApiKeyResponse>(getCreateApiKeyUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createApiKeyRequest),\n\t});\n};\n\nexport const getCreateApiKeyMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createApiKey>>,\n\t\tTError,\n\t\t{ data?: CreateApiKeyRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createApiKey>>,\n\tTError,\n\t{ data?: CreateApiKeyRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createApiKey\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createApiKey>>,\n\t\t{ data?: CreateApiKeyRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn createApiKey(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateApiKeyMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createApiKey>>\n>;\nexport type CreateApiKeyMutationBody = CreateApiKeyRequest | undefined;\nexport type CreateApiKeyMutationError = unknown;\n\n/**\n * @summary Create API key\n */\nexport const useCreateApiKey = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createApiKey>>,\n\t\t\tTError,\n\t\t\t{ data?: CreateApiKeyRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createApiKey>>,\n\tTError,\n\t{ data?: CreateApiKeyRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreateApiKeyMutationOptions(options), queryClient);\n};\nexport const getVerifyApiKeyUrl = () => {\n\treturn `/api-keys/verify`;\n};\n\n/**\n * Verifies an API key by its raw value and returns the associated key details.\n * @summary Verify API key\n */\nexport const verifyApiKey = async (\n\tverifyApiKeyRequest?: VerifyApiKeyRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<VerifyApiKeyResponse> => {\n\treturn customFetch<VerifyApiKeyResponse>(getVerifyApiKeyUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(verifyApiKeyRequest),\n\t});\n};\n\nexport const getVerifyApiKeyMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof verifyApiKey>>,\n\t\tTError,\n\t\t{ data?: VerifyApiKeyRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof verifyApiKey>>,\n\tTError,\n\t{ data?: VerifyApiKeyRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"verifyApiKey\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof verifyApiKey>>,\n\t\t{ data?: VerifyApiKeyRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn verifyApiKey(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type VerifyApiKeyMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof verifyApiKey>>\n>;\nexport type VerifyApiKeyMutationBody = VerifyApiKeyRequest | undefined;\nexport type VerifyApiKeyMutationError = unknown;\n\n/**\n * @summary Verify API key\n */\nexport const useVerifyApiKey = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof verifyApiKey>>,\n\t\t\tTError,\n\t\t\t{ data?: VerifyApiKeyRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof verifyApiKey>>,\n\tTError,\n\t{ data?: VerifyApiKeyRequest },\n\tTContext\n> => {\n\treturn useMutation(getVerifyApiKeyMutationOptions(options), queryClient);\n};\nexport const getGetApiKeyUrl = (id: string) => {\n\treturn `/api-keys/${id}`;\n};\n\n/**\n * Retrieves an API key by its ID.\n * @summary Get API key by ID\n */\nexport const getApiKey = async (\n\tid: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetApiKeyResponse> => {\n\treturn customFetch<GetApiKeyResponse>(getGetApiKeyUrl(id), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetApiKeyQueryKey = (id: string) => {\n\treturn [`/api-keys/${id}`] as const;\n};\n\nexport const getGetApiKeyQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getApiKey>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetApiKeyQueryKey(id);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getApiKey>>> = ({\n\t\tsignal,\n\t}) => getApiKey(id, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: id !== null && id !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData> & {\n\t\tqueryKey: DataTag<QueryKey, TData, TError>;\n\t};\n};\n\nexport type GetApiKeyQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getApiKey>>\n>;\nexport type GetApiKeyQueryError = unknown;\n\nexport function useGetApiKey<\n\tTData = Awaited<ReturnType<typeof getApiKey>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getApiKey>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getApiKey>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetApiKey<\n\tTData = Awaited<ReturnType<typeof getApiKey>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getApiKey>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getApiKey>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetApiKey<\n\tTData = Awaited<ReturnType<typeof getApiKey>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get API key by ID\n */\n\nexport function useGetApiKey<\n\tTData = Awaited<ReturnType<typeof getApiKey>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetApiKeyQueryOptions(id, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteApiKeyUrl = (id: string) => {\n\treturn `/api-keys/${id}`;\n};\n\n/**\n * Deletes an API key.\n * @summary Delete API key\n */\nexport const deleteApiKey = async (\n\tid: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteApiKeyResponse> => {\n\treturn customFetch<DeleteApiKeyResponse>(getDeleteApiKeyUrl(id), {\n\t\t...options,\n\t\tmethod: \"DELETE\",\n\t});\n};\n\nexport const getDeleteApiKeyMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteApiKey>>,\n\t\tTError,\n\t\t{ id: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteApiKey>>,\n\tTError,\n\t{ id: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteApiKey\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteApiKey>>,\n\t\t{ id: string }\n\t> = (props) => {\n\t\tconst { id } = props ?? {};\n\n\t\treturn deleteApiKey(id, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteApiKeyMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteApiKey>>\n>;\n\nexport type DeleteApiKeyMutationError = unknown;\n\n/**\n * @summary Delete API key\n */\nexport const useDeleteApiKey = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteApiKey>>,\n\t\t\tTError,\n\t\t\t{ id: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteApiKey>>,\n\tTError,\n\t{ id: string },\n\tTContext\n> => {\n\treturn useMutation(getDeleteApiKeyMutationOptions(options), queryClient);\n};\nexport const getUpdateApiKeyUrl = (id: string) => {\n\treturn `/api-keys/${id}`;\n};\n\n/**\n * Updates an API key's attributes.\n * @summary Update API key\n */\nexport const updateApiKey = async (\n\tid: string,\n\tupdateApiKeyRequest?: UpdateApiKeyRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpdateApiKeyResponse> => {\n\treturn customFetch<UpdateApiKeyResponse>(getUpdateApiKeyUrl(id), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(updateApiKeyRequest),\n\t});\n};\n\nexport const getUpdateApiKeyMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateApiKey>>,\n\t\tTError,\n\t\t{ id: string; data?: UpdateApiKeyRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateApiKey>>,\n\tTError,\n\t{ id: string; data?: UpdateApiKeyRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateApiKey\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateApiKey>>,\n\t\t{ id: string; data?: UpdateApiKeyRequest }\n\t> = (props) => {\n\t\tconst { id, data } = props ?? {};\n\n\t\treturn updateApiKey(id, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateApiKeyMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateApiKey>>\n>;\nexport type UpdateApiKeyMutationBody = UpdateApiKeyRequest | undefined;\nexport type UpdateApiKeyMutationError = unknown;\n\n/**\n * @summary Update API key\n */\nexport const useUpdateApiKey = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateApiKey>>,\n\t\t\tTError,\n\t\t\t{ id: string; data?: UpdateApiKeyRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateApiKey>>,\n\tTError,\n\t{ id: string; data?: UpdateApiKeyRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdateApiKeyMutationOptions(options), queryClient);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as apiKey from \"../../gen/endpoints/api-keys/api-keys\";\n\nexport class ApiKeyPlugin implements Plugin {\n public readonly id = \"apiKey\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return wrapGenerated(apiKey, client);\n }\n}\n","import type { FetchContext, Plugin } from \"@/types\";\nimport type { ClientWithPlugins } from \"@/sdk\";\nimport type { JWTPlugin } from \"../jwt/plugin\";\nimport type { BearerPluginOptions } from \"./types\";\n\nexport class BearerPlugin implements Plugin {\n public readonly id = \"bearer\";\n private refreshPromise: Promise<any> | null = null;\n\n constructor(private readonly options?: BearerPluginOptions) {}\n\n public init(client: ClientWithPlugins<[JWTPlugin]>) {\n client.registerBeforeFetch(async (ctx: FetchContext) => {\n if (typeof document === \"undefined\") {\n return;\n }\n\n const headerName = this.options?.headerName ?? \"Authorization\";\n const token = localStorage.getItem(\"accessToken\");\n if (token) {\n if (!(ctx.init.headers instanceof Headers)) {\n ctx.init.headers = new Headers(ctx.init.headers);\n }\n ctx.init.headers.set(headerName, `Bearer ${token}`);\n }\n });\n\n client.registerAfterFetch(async (ctx: FetchContext, res: Response) => {\n if (typeof document === \"undefined\") {\n return;\n }\n if (res.status !== 401) {\n return;\n }\n if (ctx.meta.retry) {\n return;\n }\n\n const refreshToken = localStorage.getItem(\"refreshToken\");\n if (!refreshToken) {\n return;\n }\n\n if (!client.jwt) {\n console.warn(\"JWT Plugin is required for Bearer token refresh.\");\n return;\n }\n\n // 🔒 SINGLE FLIGHT REFRESH\n if (!this.refreshPromise) {\n this.refreshPromise = (async () => {\n try {\n const response = await client.jwt.refreshToken({\n refreshToken: refreshToken,\n });\n if (!response) {\n return null;\n }\n\n localStorage.setItem(\"accessToken\", response.accessToken);\n localStorage.setItem(\"refreshToken\", response.refreshToken);\n\n return response;\n } finally {\n this.refreshPromise = null;\n }\n })();\n }\n\n const refreshed = await this.refreshPromise;\n if (!refreshed) {\n return;\n }\n\n const headerName = this.options?.headerName ?? \"Authorization\";\n if (!(ctx.init.headers instanceof Headers)) {\n ctx.init.headers = new Headers(ctx.init.headers);\n }\n ctx.init.headers.set(headerName, `Bearer ${refreshed.accessToken}`);\n\n return \"retry\";\n });\n\n return {};\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tGetMeResponse,\n\tSignOutRequest,\n\tSignOutResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getGetMeUrl = () => {\n\treturn `/me`;\n};\n\n/**\n * Retrieves the authenticated user's profile and current session.\n * @summary Get current user\n */\nexport const getMe = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetMeResponse> => {\n\treturn customFetch<GetMeResponse>(getGetMeUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetMeQueryKey = () => {\n\treturn [`/me`] as const;\n};\n\nexport const getGetMeQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getMe>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetMeQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getMe>>> = ({\n\t\tsignal,\n\t}) => getMe({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getMe>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetMeQueryResult = NonNullable<Awaited<ReturnType<typeof getMe>>>;\nexport type GetMeQueryError = unknown;\n\nexport function useGetMe<\n\tTData = Awaited<ReturnType<typeof getMe>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getMe>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getMe>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetMe<\n\tTData = Awaited<ReturnType<typeof getMe>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getMe>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getMe>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetMe<\n\tTData = Awaited<ReturnType<typeof getMe>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get current user\n */\n\nexport function useGetMe<\n\tTData = Awaited<ReturnType<typeof getMe>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetMeQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getSignOutUrl = () => {\n\treturn `/sign-out`;\n};\n\n/**\n * Signs out the authenticated user. Optionally sign out a specific session or all sessions.\n * @summary Sign out\n */\nexport const signOut = async (\n\tsignOutRequest?: SignOutRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<SignOutResponse> => {\n\treturn customFetch<SignOutResponse>(getSignOutUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(signOutRequest),\n\t});\n};\n\nexport const getSignOutMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof signOut>>,\n\t\tTError,\n\t\t{ data?: SignOutRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof signOut>>,\n\tTError,\n\t{ data?: SignOutRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"signOut\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof signOut>>,\n\t\t{ data?: SignOutRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn signOut(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type SignOutMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof signOut>>\n>;\nexport type SignOutMutationBody = SignOutRequest | undefined;\nexport type SignOutMutationError = unknown;\n\n/**\n * @summary Sign out\n */\nexport const useSignOut = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof signOut>>,\n\t\t\tTError,\n\t\t\t{ data?: SignOutRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof signOut>>,\n\tTError,\n\t{ data?: SignOutRequest },\n\tTContext\n> => {\n\treturn useMutation(getSignOutMutationOptions(options), queryClient);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as core from \"../../gen/endpoints/core/core\";\n\nexport class CorePlugin implements Plugin {\n public readonly id = \"core\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return wrapGenerated(core, client);\n }\n}\n","import type { FetchContext, Plugin } from \"@/types\";\nimport type { CSRFPluginOptions } from \"./types\";\nimport type { AuthulaClient } from \"@/client\";\n\nexport class CSRFPlugin implements Plugin {\n public readonly id = \"csrf\";\n\n constructor(private readonly options: CSRFPluginOptions) {}\n\n public init(client: AuthulaClient) {\n client.registerBeforeFetch(async (ctx: FetchContext) => {\n if ([\"OPTIONS\", \"HEAD\", \"GET\"].includes(ctx.init.method || \"GET\")) {\n return;\n }\n\n const value =\n ctx.cookies?.[this.options.cookieName] ??\n (await client.getCookie(this.options.cookieName));\n\n if (!value) {\n return;\n }\n\n ctx.init.headers = new Headers(ctx.init.headers);\n ctx.init.headers.set(this.options.headerName, value);\n });\n\n return {};\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tChangeEmailResponse,\n\tChangePasswordRequest,\n\tChangePasswordResponse,\n\tRequestEmailChangeRequest,\n\tRequestPasswordResetRequest,\n\tSendEmailVerificationRequest,\n\tSignInRequest,\n\tSignInResponse,\n\tSignUpRequest,\n\tSignUpResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getChangePasswordUrl = () => {\n\treturn `/email-password/change-password`;\n};\n\n/**\n * Changes the user's password using a reset token\n * @summary Change password\n */\nexport const changePassword = async (\n\tchangePasswordRequest?: ChangePasswordRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ChangePasswordResponse> => {\n\treturn customFetch<ChangePasswordResponse>(getChangePasswordUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(changePasswordRequest),\n\t});\n};\n\nexport const getChangePasswordMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof changePassword>>,\n\t\tTError,\n\t\t{ data?: ChangePasswordRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof changePassword>>,\n\tTError,\n\t{ data?: ChangePasswordRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"changePassword\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof changePassword>>,\n\t\t{ data?: ChangePasswordRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn changePassword(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type ChangePasswordMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof changePassword>>\n>;\nexport type ChangePasswordMutationBody = ChangePasswordRequest | undefined;\nexport type ChangePasswordMutationError = unknown;\n\n/**\n * @summary Change password\n */\nexport const useChangePassword = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof changePassword>>,\n\t\t\tTError,\n\t\t\t{ data?: ChangePasswordRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof changePassword>>,\n\tTError,\n\t{ data?: ChangePasswordRequest },\n\tTContext\n> => {\n\treturn useMutation(getChangePasswordMutationOptions(options), queryClient);\n};\nexport const getRequestEmailChangeUrl = () => {\n\treturn `/email-password/request-email-change`;\n};\n\n/**\n * Requests to change the authenticated user's email address\n * @summary Request email change\n */\nexport const requestEmailChange = async (\n\trequestEmailChangeRequest?: RequestEmailChangeRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ChangeEmailResponse> => {\n\treturn customFetch<ChangeEmailResponse>(getRequestEmailChangeUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(requestEmailChangeRequest),\n\t});\n};\n\nexport const getRequestEmailChangeMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof requestEmailChange>>,\n\t\tTError,\n\t\t{ data?: RequestEmailChangeRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof requestEmailChange>>,\n\tTError,\n\t{ data?: RequestEmailChangeRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"requestEmailChange\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof requestEmailChange>>,\n\t\t{ data?: RequestEmailChangeRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn requestEmailChange(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RequestEmailChangeMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof requestEmailChange>>\n>;\nexport type RequestEmailChangeMutationBody =\n\t| RequestEmailChangeRequest\n\t| undefined;\nexport type RequestEmailChangeMutationError = unknown;\n\n/**\n * @summary Request email change\n */\nexport const useRequestEmailChange = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof requestEmailChange>>,\n\t\t\tTError,\n\t\t\t{ data?: RequestEmailChangeRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof requestEmailChange>>,\n\tTError,\n\t{ data?: RequestEmailChangeRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetRequestEmailChangeMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getRequestPasswordResetUrl = () => {\n\treturn `/email-password/request-password-reset`;\n};\n\n/**\n * Requests a password reset link to be sent to the user's email\n * @summary Request password reset\n */\nexport const requestPasswordReset = async (\n\trequestPasswordResetRequest?: RequestPasswordResetRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ChangePasswordResponse> => {\n\treturn customFetch<ChangePasswordResponse>(getRequestPasswordResetUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(requestPasswordResetRequest),\n\t});\n};\n\nexport const getRequestPasswordResetMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof requestPasswordReset>>,\n\t\tTError,\n\t\t{ data?: RequestPasswordResetRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof requestPasswordReset>>,\n\tTError,\n\t{ data?: RequestPasswordResetRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"requestPasswordReset\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof requestPasswordReset>>,\n\t\t{ data?: RequestPasswordResetRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn requestPasswordReset(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RequestPasswordResetMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof requestPasswordReset>>\n>;\nexport type RequestPasswordResetMutationBody =\n\t| RequestPasswordResetRequest\n\t| undefined;\nexport type RequestPasswordResetMutationError = unknown;\n\n/**\n * @summary Request password reset\n */\nexport const useRequestPasswordReset = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof requestPasswordReset>>,\n\t\t\tTError,\n\t\t\t{ data?: RequestPasswordResetRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof requestPasswordReset>>,\n\tTError,\n\t{ data?: RequestPasswordResetRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetRequestPasswordResetMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getSendEmailVerificationUrl = () => {\n\treturn `/email-password/send-email-verification`;\n};\n\n/**\n * Sends a verification email to the authenticated user\n * @summary Send email verification\n */\nexport const sendEmailVerification = async (\n\tsendEmailVerificationRequest?: SendEmailVerificationRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ChangePasswordResponse> => {\n\treturn customFetch<ChangePasswordResponse>(getSendEmailVerificationUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(sendEmailVerificationRequest),\n\t});\n};\n\nexport const getSendEmailVerificationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof sendEmailVerification>>,\n\t\tTError,\n\t\t{ data?: SendEmailVerificationRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof sendEmailVerification>>,\n\tTError,\n\t{ data?: SendEmailVerificationRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"sendEmailVerification\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof sendEmailVerification>>,\n\t\t{ data?: SendEmailVerificationRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn sendEmailVerification(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type SendEmailVerificationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof sendEmailVerification>>\n>;\nexport type SendEmailVerificationMutationBody =\n\t| SendEmailVerificationRequest\n\t| undefined;\nexport type SendEmailVerificationMutationError = unknown;\n\n/**\n * @summary Send email verification\n */\nexport const useSendEmailVerification = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof sendEmailVerification>>,\n\t\t\tTError,\n\t\t\t{ data?: SendEmailVerificationRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof sendEmailVerification>>,\n\tTError,\n\t{ data?: SendEmailVerificationRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetSendEmailVerificationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getSignInUrl = () => {\n\treturn `/email-password/sign-in`;\n};\n\n/**\n * Authenticates a user with email and password\n * @summary Sign in\n */\nexport const signIn = async (\n\tsignInRequest?: SignInRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<SignInResponse> => {\n\treturn customFetch<SignInResponse>(getSignInUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(signInRequest),\n\t});\n};\n\nexport const getSignInMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof signIn>>,\n\t\tTError,\n\t\t{ data?: SignInRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof signIn>>,\n\tTError,\n\t{ data?: SignInRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"signIn\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof signIn>>,\n\t\t{ data?: SignInRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn signIn(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type SignInMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof signIn>>\n>;\nexport type SignInMutationBody = SignInRequest | undefined;\nexport type SignInMutationError = unknown;\n\n/**\n * @summary Sign in\n */\nexport const useSignIn = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof signIn>>,\n\t\t\tTError,\n\t\t\t{ data?: SignInRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof signIn>>,\n\tTError,\n\t{ data?: SignInRequest },\n\tTContext\n> => {\n\treturn useMutation(getSignInMutationOptions(options), queryClient);\n};\nexport const getSignUpUrl = () => {\n\treturn `/email-password/sign-up`;\n};\n\n/**\n * Registers a new user with email and password\n * @summary Register new user\n */\nexport const signUp = async (\n\tsignUpRequest?: SignUpRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<SignUpResponse> => {\n\treturn customFetch<SignUpResponse>(getSignUpUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(signUpRequest),\n\t});\n};\n\nexport const getSignUpMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof signUp>>,\n\t\tTError,\n\t\t{ data?: SignUpRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof signUp>>,\n\tTError,\n\t{ data?: SignUpRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"signUp\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof signUp>>,\n\t\t{ data?: SignUpRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn signUp(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type SignUpMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof signUp>>\n>;\nexport type SignUpMutationBody = SignUpRequest | undefined;\nexport type SignUpMutationError = unknown;\n\n/**\n * @summary Register new user\n */\nexport const useSignUp = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof signUp>>,\n\t\t\tTError,\n\t\t\t{ data?: SignUpRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof signUp>>,\n\tTError,\n\t{ data?: SignUpRequest },\n\tTContext\n> => {\n\treturn useMutation(getSignUpMutationOptions(options), queryClient);\n};\nexport const getVerifyEmailUrl = () => {\n\treturn `/email-password/verify-email`;\n};\n\n/**\n * Verifies an email address or processes a password reset token using a verification token\n * @summary Verify email\n */\nexport const verifyEmail = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ChangePasswordResponse> => {\n\treturn customFetch<ChangePasswordResponse>(getVerifyEmailUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getVerifyEmailQueryKey = () => {\n\treturn [`/email-password/verify-email`] as const;\n};\n\nexport const getVerifyEmailQueryOptions = <\n\tTData = Awaited<ReturnType<typeof verifyEmail>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof verifyEmail>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getVerifyEmailQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof verifyEmail>>> = ({\n\t\tsignal,\n\t}) => verifyEmail({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof verifyEmail>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type VerifyEmailQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof verifyEmail>>\n>;\nexport type VerifyEmailQueryError = unknown;\n\nexport function useVerifyEmail<\n\tTData = Awaited<ReturnType<typeof verifyEmail>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof verifyEmail>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof verifyEmail>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof verifyEmail>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useVerifyEmail<\n\tTData = Awaited<ReturnType<typeof verifyEmail>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof verifyEmail>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof verifyEmail>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof verifyEmail>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useVerifyEmail<\n\tTData = Awaited<ReturnType<typeof verifyEmail>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof verifyEmail>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Verify email\n */\n\nexport function useVerifyEmail<\n\tTData = Awaited<ReturnType<typeof verifyEmail>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof verifyEmail>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getVerifyEmailQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as emailPassword from \"../../gen/endpoints/email-password-plugin/email-password-plugin\";\n\nexport class EmailPasswordPlugin implements Plugin {\n public readonly id = \"emailPassword\";\n\n public init(client: AuthulaClient) {\n return wrapGenerated(emailPassword, client);\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tRefreshTokenRequest,\n\tRefreshTokenResponse,\n\tWellKnownJWKSResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getGetJWKSUrl = () => {\n\treturn `/.well-known/jwks.json`;\n};\n\n/**\n * Returns the JSON Web Key Set (JWKS) containing the public keys used to verify JWT signatures.\n * @summary Get JWKS\n */\nexport const getJWKS = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<WellKnownJWKSResponse> => {\n\treturn customFetch<WellKnownJWKSResponse>(getGetJWKSUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetJWKSQueryKey = () => {\n\treturn [`/.well-known/jwks.json`] as const;\n};\n\nexport const getGetJWKSQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getJWKS>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof getJWKS>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetJWKSQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getJWKS>>> = ({\n\t\tsignal,\n\t}) => getJWKS({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getJWKS>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetJWKSQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getJWKS>>\n>;\nexport type GetJWKSQueryError = unknown;\n\nexport function useGetJWKS<\n\tTData = Awaited<ReturnType<typeof getJWKS>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getJWKS>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getJWKS>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getJWKS>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetJWKS<\n\tTData = Awaited<ReturnType<typeof getJWKS>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getJWKS>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getJWKS>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getJWKS>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetJWKS<\n\tTData = Awaited<ReturnType<typeof getJWKS>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getJWKS>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get JWKS\n */\n\nexport function useGetJWKS<\n\tTData = Awaited<ReturnType<typeof getJWKS>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getJWKS>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetJWKSQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getRefreshTokenUrl = () => {\n\treturn `/token/refresh`;\n};\n\n/**\n * Exchanges a valid refresh token for a new access token and refresh token pair.\n * @summary Refresh JWT token\n */\nexport const refreshToken = async (\n\trefreshTokenRequest?: RefreshTokenRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<RefreshTokenResponse> => {\n\treturn customFetch<RefreshTokenResponse>(getRefreshTokenUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(refreshTokenRequest),\n\t});\n};\n\nexport const getRefreshTokenMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof refreshToken>>,\n\t\tTError,\n\t\t{ data?: RefreshTokenRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof refreshToken>>,\n\tTError,\n\t{ data?: RefreshTokenRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"refreshToken\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof refreshToken>>,\n\t\t{ data?: RefreshTokenRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn refreshToken(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RefreshTokenMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof refreshToken>>\n>;\nexport type RefreshTokenMutationBody = RefreshTokenRequest | undefined;\nexport type RefreshTokenMutationError = unknown;\n\n/**\n * @summary Refresh JWT token\n */\nexport const useRefreshToken = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof refreshToken>>,\n\t\t\tTError,\n\t\t\t{ data?: RefreshTokenRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof refreshToken>>,\n\tTError,\n\t{ data?: RefreshTokenRequest },\n\tTContext\n> => {\n\treturn useMutation(getRefreshTokenMutationOptions(options), queryClient);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as jwt from \"../../gen/endpoints/jwt-plugin/jwt-plugin\";\n\nexport class JWTPlugin implements Plugin {\n public readonly id = \"jwt\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return wrapGenerated(jwt, client);\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tMagicLinkExchangeRequest,\n\tMagicLinkExchangeResponse,\n\tMagicLinkSignInRequest,\n\tMagicLinkSignInResponse,\n\tMagicLinkVerifyResponse,\n\tVerifyMagicLinkParams,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getExchangeMagicLinkUrl = () => {\n\treturn `/magic-link/exchange`;\n};\n\n/**\n * Exchanges a verified magic link token for an authenticated user session.\n * @summary Exchange magic link token for session\n */\nexport const exchangeMagicLink = async (\n\tmagicLinkExchangeRequest?: MagicLinkExchangeRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<MagicLinkExchangeResponse> => {\n\treturn customFetch<MagicLinkExchangeResponse>(getExchangeMagicLinkUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(magicLinkExchangeRequest),\n\t});\n};\n\nexport const getExchangeMagicLinkMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof exchangeMagicLink>>,\n\t\tTError,\n\t\t{ data?: MagicLinkExchangeRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof exchangeMagicLink>>,\n\tTError,\n\t{ data?: MagicLinkExchangeRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"exchangeMagicLink\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof exchangeMagicLink>>,\n\t\t{ data?: MagicLinkExchangeRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn exchangeMagicLink(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type ExchangeMagicLinkMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof exchangeMagicLink>>\n>;\nexport type ExchangeMagicLinkMutationBody =\n\t| MagicLinkExchangeRequest\n\t| undefined;\nexport type ExchangeMagicLinkMutationError = unknown;\n\n/**\n * @summary Exchange magic link token for session\n */\nexport const useExchangeMagicLink = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof exchangeMagicLink>>,\n\t\t\tTError,\n\t\t\t{ data?: MagicLinkExchangeRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof exchangeMagicLink>>,\n\tTError,\n\t{ data?: MagicLinkExchangeRequest },\n\tTContext\n> => {\n\treturn useMutation(getExchangeMagicLinkMutationOptions(options), queryClient);\n};\nexport const getSignInWithMagicLinkUrl = () => {\n\treturn `/magic-link/sign-in`;\n};\n\n/**\n * Sends a magic link to the given email address if an account exists. Optionally creates a new account if sign-up is enabled.\n * @summary Sign in with magic link\n */\nexport const signInWithMagicLink = async (\n\tmagicLinkSignInRequest?: MagicLinkSignInRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<MagicLinkSignInResponse> => {\n\treturn customFetch<MagicLinkSignInResponse>(getSignInWithMagicLinkUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(magicLinkSignInRequest),\n\t});\n};\n\nexport const getSignInWithMagicLinkMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof signInWithMagicLink>>,\n\t\tTError,\n\t\t{ data?: MagicLinkSignInRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof signInWithMagicLink>>,\n\tTError,\n\t{ data?: MagicLinkSignInRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"signInWithMagicLink\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof signInWithMagicLink>>,\n\t\t{ data?: MagicLinkSignInRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn signInWithMagicLink(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type SignInWithMagicLinkMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof signInWithMagicLink>>\n>;\nexport type SignInWithMagicLinkMutationBody =\n\t| MagicLinkSignInRequest\n\t| undefined;\nexport type SignInWithMagicLinkMutationError = unknown;\n\n/**\n * @summary Sign in with magic link\n */\nexport const useSignInWithMagicLink = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof signInWithMagicLink>>,\n\t\t\tTError,\n\t\t\t{ data?: MagicLinkSignInRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof signInWithMagicLink>>,\n\tTError,\n\t{ data?: MagicLinkSignInRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetSignInWithMagicLinkMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getVerifyMagicLinkUrl = (params: VerifyMagicLinkParams) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/magic-link/verify?${stringifiedParams}`\n\t\t: `/magic-link/verify`;\n};\n\n/**\n * Verifies a magic link token. If a callback_url is provided and trusted, redirects the user with an exchange token appended. Otherwise returns the exchange token in the JSON response.\n * @summary Verify magic link token\n */\nexport const verifyMagicLink = async (\n\tparams: VerifyMagicLinkParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<MagicLinkVerifyResponse> => {\n\treturn customFetch<MagicLinkVerifyResponse>(getVerifyMagicLinkUrl(params), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getVerifyMagicLinkQueryKey = (params?: VerifyMagicLinkParams) => {\n\treturn [`/magic-link/verify`, ...(params ? [params] : [])] as const;\n};\n\nexport const getVerifyMagicLinkQueryOptions = <\n\tTData = Awaited<ReturnType<typeof verifyMagicLink>>,\n\tTError = unknown,\n>(\n\tparams: VerifyMagicLinkParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getVerifyMagicLinkQueryKey(params);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof verifyMagicLink>>> = ({\n\t\tsignal,\n\t}) => verifyMagicLink(params, { signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type VerifyMagicLinkQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof verifyMagicLink>>\n>;\nexport type VerifyMagicLinkQueryError = unknown;\n\nexport function useVerifyMagicLink<\n\tTData = Awaited<ReturnType<typeof verifyMagicLink>>,\n\tTError = unknown,\n>(\n\tparams: VerifyMagicLinkParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useVerifyMagicLink<\n\tTData = Awaited<ReturnType<typeof verifyMagicLink>>,\n\tTError = unknown,\n>(\n\tparams: VerifyMagicLinkParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useVerifyMagicLink<\n\tTData = Awaited<ReturnType<typeof verifyMagicLink>>,\n\tTError = unknown,\n>(\n\tparams: VerifyMagicLinkParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Verify magic link token\n */\n\nexport function useVerifyMagicLink<\n\tTData = Awaited<ReturnType<typeof verifyMagicLink>>,\n\tTError = unknown,\n>(\n\tparams: VerifyMagicLinkParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getVerifyMagicLinkQueryOptions(params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as magicLink from \"../../gen/endpoints/magic-link-plugin/magic-link-plugin\";\n\nexport class MagicLinkPlugin implements Plugin {\n public readonly id = \"magicLink\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return wrapGenerated(magicLink, client);\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAuthorizeResponse,\n\tCallbackResponse,\n\tOauthAuthorizeParams,\n\tOauthCallbackParams,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getOauthAuthorizeUrl = (\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/oauth2/authorize/${provider}?${stringifiedParams}`\n\t\t: `/oauth2/authorize/${provider}`;\n};\n\n/**\n * Initiates the OAuth2 authorization flow with the specified provider. Returns the provider's authorization URL to redirect the user to.\n * @summary Authorize with OAuth2 provider\n */\nexport const oauthAuthorize = async (\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AuthorizeResponse> => {\n\treturn customFetch<AuthorizeResponse>(\n\t\tgetOauthAuthorizeUrl(provider, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getOauthAuthorizeQueryKey = (\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n) => {\n\treturn [\n\t\t`/oauth2/authorize/${provider}`,\n\t\t...(params ? [params] : []),\n\t] as const;\n};\n\nexport const getOauthAuthorizeQueryOptions = <\n\tTData = Awaited<ReturnType<typeof oauthAuthorize>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthAuthorize>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getOauthAuthorizeQueryKey(provider, params);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof oauthAuthorize>>> = ({\n\t\tsignal,\n\t}) => oauthAuthorize(provider, params, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: provider !== null && provider !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof oauthAuthorize>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type OauthAuthorizeQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof oauthAuthorize>>\n>;\nexport type OauthAuthorizeQueryError = unknown;\n\nexport function useOauthAuthorize<\n\tTData = Awaited<ReturnType<typeof oauthAuthorize>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: undefined | OauthAuthorizeParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthAuthorize>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof oauthAuthorize>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof oauthAuthorize>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useOauthAuthorize<\n\tTData = Awaited<ReturnType<typeof oauthAuthorize>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthAuthorize>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof oauthAuthorize>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof oauthAuthorize>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useOauthAuthorize<\n\tTData = Awaited<ReturnType<typeof oauthAuthorize>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthAuthorize>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Authorize with OAuth2 provider\n */\n\nexport function useOauthAuthorize<\n\tTData = Awaited<ReturnType<typeof oauthAuthorize>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthAuthorize>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getOauthAuthorizeQueryOptions(provider, params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getOauthCallbackUrl = (\n\tprovider: string,\n\tparams: OauthCallbackParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/oauth2/callback/${provider}?${stringifiedParams}`\n\t\t: `/oauth2/callback/${provider}`;\n};\n\n/**\n * Handles the OAuth2 callback from the provider. Exchanges the authorization code for tokens, creates or links a user account, and returns the authenticated user and session.\n * @summary OAuth2 callback\n */\nexport const oauthCallback = async (\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CallbackResponse> => {\n\treturn customFetch<CallbackResponse>(getOauthCallbackUrl(provider, params), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getOauthCallbackQueryKey = (\n\tprovider: string,\n\tparams?: OauthCallbackParams,\n) => {\n\treturn [`/oauth2/callback/${provider}`, ...(params ? [params] : [])] as const;\n};\n\nexport const getOauthCallbackQueryOptions = <\n\tTData = Awaited<ReturnType<typeof oauthCallback>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthCallback>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getOauthCallbackQueryKey(provider, params);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof oauthCallback>>> = ({\n\t\tsignal,\n\t}) => oauthCallback(provider, params, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: provider !== null && provider !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof oauthCallback>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type OauthCallbackQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof oauthCallback>>\n>;\nexport type OauthCallbackQueryError = unknown;\n\nexport function useOauthCallback<\n\tTData = Awaited<ReturnType<typeof oauthCallback>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthCallback>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof oauthCallback>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof oauthCallback>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useOauthCallback<\n\tTData = Awaited<ReturnType<typeof oauthCallback>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthCallback>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof oauthCallback>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof oauthCallback>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useOauthCallback<\n\tTData = Awaited<ReturnType<typeof oauthCallback>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthCallback>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary OAuth2 callback\n */\n\nexport function useOauthCallback<\n\tTData = Awaited<ReturnType<typeof oauthCallback>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthCallback>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getOauthCallbackQueryOptions(provider, params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types/plugins\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as oauth2 from \"../../gen/endpoints/oauth2-plugin/oauth2-plugin\";\n\nexport class OAuth2Plugin implements Plugin {\n public readonly id = \"oauth2\";\n\n public init(client: AuthulaClient) {\n return wrapGenerated(oauth2, client);\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tCreateOrganizationRequest,\n\tDeleteOrganizationResponse,\n\tListOrganizationsParams,\n\tListOrganizationsResponse,\n\tOrganization,\n\tUpdateOrganizationRequest,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListOrganizationsUrl = (params?: ListOrganizationsParams) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations?${stringifiedParams}`\n\t\t: `/organizations`;\n};\n\n/**\n * Lists every organization the authenticated user can access, both the ones they own and the ones they are a member of, newest first. Results are paginated: `page` defaults to 1 and `limit` defaults to 10, with a hard maximum of 100. Out-of-range values are clamped silently rather than rejected.\n * @summary List organizations\n */\nexport const listOrganizations = async (\n\tparams?: ListOrganizationsParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ListOrganizationsResponse> => {\n\treturn customFetch<ListOrganizationsResponse>(\n\t\tgetListOrganizationsUrl(params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListOrganizationsQueryKey = (\n\tparams?: ListOrganizationsParams,\n) => {\n\treturn [`/organizations`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListOrganizationsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listOrganizations>>,\n\tTError = unknown,\n>(\n\tparams?: ListOrganizationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getListOrganizationsQueryKey(params);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listOrganizations>>\n\t> = ({ signal }) => listOrganizations(params, { signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListOrganizationsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listOrganizations>>\n>;\nexport type ListOrganizationsQueryError = unknown;\n\nexport function useListOrganizations<\n\tTData = Awaited<ReturnType<typeof listOrganizations>>,\n\tTError = unknown,\n>(\n\tparams: undefined | ListOrganizationsParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizations<\n\tTData = Awaited<ReturnType<typeof listOrganizations>>,\n\tTError = unknown,\n>(\n\tparams?: ListOrganizationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizations<\n\tTData = Awaited<ReturnType<typeof listOrganizations>>,\n\tTError = unknown,\n>(\n\tparams?: ListOrganizationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List organizations\n */\n\nexport function useListOrganizations<\n\tTData = Awaited<ReturnType<typeof listOrganizations>>,\n\tTError = unknown,\n>(\n\tparams?: ListOrganizationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListOrganizationsQueryOptions(params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateOrganizationUrl = () => {\n\treturn `/organizations`;\n};\n\n/**\n * Creates a new organization with the authenticated user as the owner.\n * @summary Create organization\n */\nexport const createOrganization = async (\n\tcreateOrganizationRequest?: CreateOrganizationRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Organization> => {\n\treturn customFetch<Organization>(getCreateOrganizationUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createOrganizationRequest),\n\t});\n};\n\nexport const getCreateOrganizationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createOrganization>>,\n\t\tTError,\n\t\t{ data?: CreateOrganizationRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createOrganization>>,\n\tTError,\n\t{ data?: CreateOrganizationRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createOrganization\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createOrganization>>,\n\t\t{ data?: CreateOrganizationRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn createOrganization(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateOrganizationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createOrganization>>\n>;\nexport type CreateOrganizationMutationBody =\n\t| CreateOrganizationRequest\n\t| undefined;\nexport type CreateOrganizationMutationError = unknown;\n\n/**\n * @summary Create organization\n */\nexport const useCreateOrganization = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createOrganization>>,\n\t\t\tTError,\n\t\t\t{ data?: CreateOrganizationRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createOrganization>>,\n\tTError,\n\t{ data?: CreateOrganizationRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetCreateOrganizationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetOrganizationUrl = (organizationId: string) => {\n\treturn `/organizations/${organizationId}`;\n};\n\n/**\n * Retrieves an organization by its ID.\n * @summary Get organization\n */\nexport const getOrganization = async (\n\torganizationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Organization> => {\n\treturn customFetch<Organization>(getGetOrganizationUrl(organizationId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetOrganizationQueryKey = (organizationId: string) => {\n\treturn [`/organizations/${organizationId}`] as const;\n};\n\nexport const getGetOrganizationQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganization>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetOrganizationQueryKey(organizationId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getOrganization>>> = ({\n\t\tsignal,\n\t}) => getOrganization(organizationId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: organizationId !== null && organizationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganization>>\n>;\nexport type GetOrganizationQueryError = unknown;\n\nexport function useGetOrganization<\n\tTData = Awaited<ReturnType<typeof getOrganization>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganization>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganization<\n\tTData = Awaited<ReturnType<typeof getOrganization>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganization>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganization<\n\tTData = Awaited<ReturnType<typeof getOrganization>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get organization\n */\n\nexport function useGetOrganization<\n\tTData = Awaited<ReturnType<typeof getOrganization>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationQueryOptions(organizationId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteOrganizationUrl = (organizationId: string) => {\n\treturn `/organizations/${organizationId}`;\n};\n\n/**\n * Deletes an organization.\n * @summary Delete organization\n */\nexport const deleteOrganization = async (\n\torganizationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteOrganizationResponse> => {\n\treturn customFetch<DeleteOrganizationResponse>(\n\t\tgetDeleteOrganizationUrl(organizationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeleteOrganizationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteOrganization>>,\n\t\tTError,\n\t\t{ organizationId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteOrganization>>,\n\tTError,\n\t{ organizationId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteOrganization\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteOrganization>>,\n\t\t{ organizationId: string }\n\t> = (props) => {\n\t\tconst { organizationId } = props ?? {};\n\n\t\treturn deleteOrganization(organizationId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteOrganizationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteOrganization>>\n>;\n\nexport type DeleteOrganizationMutationError = unknown;\n\n/**\n * @summary Delete organization\n */\nexport const useDeleteOrganization = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteOrganization>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteOrganization>>,\n\tTError,\n\t{ organizationId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetDeleteOrganizationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getUpdateOrganizationUrl = (organizationId: string) => {\n\treturn `/organizations/${organizationId}`;\n};\n\n/**\n * Updates an existing organization.\n * @summary Update organization\n */\nexport const updateOrganization = async (\n\torganizationId: string,\n\tupdateOrganizationRequest?: UpdateOrganizationRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Organization> => {\n\treturn customFetch<Organization>(getUpdateOrganizationUrl(organizationId), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(updateOrganizationRequest),\n\t});\n};\n\nexport const getUpdateOrganizationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateOrganization>>,\n\t\tTError,\n\t\t{ organizationId: string; data?: UpdateOrganizationRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateOrganization>>,\n\tTError,\n\t{ organizationId: string; data?: UpdateOrganizationRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateOrganization\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateOrganization>>,\n\t\t{ organizationId: string; data?: UpdateOrganizationRequest }\n\t> = (props) => {\n\t\tconst { organizationId, data } = props ?? {};\n\n\t\treturn updateOrganization(organizationId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateOrganizationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateOrganization>>\n>;\nexport type UpdateOrganizationMutationBody =\n\t| UpdateOrganizationRequest\n\t| undefined;\nexport type UpdateOrganizationMutationError = unknown;\n\n/**\n * @summary Update organization\n */\nexport const useUpdateOrganization = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateOrganization>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; data?: UpdateOrganizationRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateOrganization>>,\n\tTError,\n\t{ organizationId: string; data?: UpdateOrganizationRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetUpdateOrganizationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAcceptOrganizationInvitationParams,\n\tAcceptOrganizationInvitationQuery,\n\tCreateOrganizationInvitationParams,\n\tCreateOrganizationInvitationRequest,\n\tGetOrganizationInvitationResponse,\n\tListOrganizationInvitationsParams,\n\tListOrganizationInvitationsResponse,\n\tOrganizationInvitation,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListOrganizationInvitationsUrl = (\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/invitations?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/invitations`;\n};\n\n/**\n * Lists the invitations for an organization, newest first. Results are paginated: `page` defaults to 1 and `limit` defaults to 10, with a hard maximum of 100. Out-of-range values are clamped silently rather than rejected.\n * @summary List invitations\n */\nexport const listOrganizationInvitations = async (\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ListOrganizationInvitationsResponse> => {\n\treturn customFetch<ListOrganizationInvitationsResponse>(\n\t\tgetListOrganizationInvitationsUrl(organizationId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListOrganizationInvitationsQueryKey = (\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/invitations`,\n\t\t...(params ? [params] : []),\n\t] as const;\n};\n\nexport const getListOrganizationInvitationsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listOrganizationInvitations>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetListOrganizationInvitationsQueryKey(organizationId, params);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>\n\t> = ({ signal }) =>\n\t\tlistOrganizationInvitations(organizationId, params, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: organizationId !== null && organizationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListOrganizationInvitationsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listOrganizationInvitations>>\n>;\nexport type ListOrganizationInvitationsQueryError = unknown;\n\nexport function useListOrganizationInvitations<\n\tTData = Awaited<ReturnType<typeof listOrganizationInvitations>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams: undefined | ListOrganizationInvitationsParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationInvitations<\n\tTData = Awaited<ReturnType<typeof listOrganizationInvitations>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationInvitations<\n\tTData = Awaited<ReturnType<typeof listOrganizationInvitations>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List invitations\n */\n\nexport function useListOrganizationInvitations<\n\tTData = Awaited<ReturnType<typeof listOrganizationInvitations>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListOrganizationInvitationsQueryOptions(\n\t\torganizationId,\n\t\tparams,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateOrganizationInvitationUrl = (\n\torganizationId: string,\n\tparams?: CreateOrganizationInvitationParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/invitations?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/invitations`;\n};\n\n/**\n * Creates an invitation for a user to join an organization.\n * @summary Create invitation\n */\nexport const createOrganizationInvitation = async (\n\torganizationId: string,\n\tcreateOrganizationInvitationRequest?: CreateOrganizationInvitationRequest,\n\tparams?: CreateOrganizationInvitationParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationInvitation> => {\n\treturn customFetch<OrganizationInvitation>(\n\t\tgetCreateOrganizationInvitationUrl(organizationId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(createOrganizationInvitationRequest),\n\t\t},\n\t);\n};\n\nexport const getCreateOrganizationInvitationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createOrganizationInvitation>>,\n\t\tTError,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tdata?: CreateOrganizationInvitationRequest;\n\t\t\tparams?: CreateOrganizationInvitationParams;\n\t\t},\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createOrganizationInvitation>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tdata?: CreateOrganizationInvitationRequest;\n\t\tparams?: CreateOrganizationInvitationParams;\n\t},\n\tTContext\n> => {\n\tconst mutationKey = [\"createOrganizationInvitation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createOrganizationInvitation>>,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tdata?: CreateOrganizationInvitationRequest;\n\t\t\tparams?: CreateOrganizationInvitationParams;\n\t\t}\n\t> = (props) => {\n\t\tconst { organizationId, data, params } = props ?? {};\n\n\t\treturn createOrganizationInvitation(\n\t\t\torganizationId,\n\t\t\tdata,\n\t\t\tparams,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateOrganizationInvitationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createOrganizationInvitation>>\n>;\nexport type CreateOrganizationInvitationMutationBody =\n\t| CreateOrganizationInvitationRequest\n\t| undefined;\nexport type CreateOrganizationInvitationMutationError = unknown;\n\n/**\n * @summary Create invitation\n */\nexport const useCreateOrganizationInvitation = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createOrganizationInvitation>>,\n\t\t\tTError,\n\t\t\t{\n\t\t\t\torganizationId: string;\n\t\t\t\tdata?: CreateOrganizationInvitationRequest;\n\t\t\t\tparams?: CreateOrganizationInvitationParams;\n\t\t\t},\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createOrganizationInvitation>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tdata?: CreateOrganizationInvitationRequest;\n\t\tparams?: CreateOrganizationInvitationParams;\n\t},\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetCreateOrganizationInvitationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetOrganizationInvitationUrl = (\n\torganizationId: string,\n\tinvitationId: string,\n) => {\n\treturn `/organizations/${organizationId}/invitations/${invitationId}`;\n};\n\n/**\n * Retrieves a single invitation.\n * @summary Get invitation\n */\nexport const getOrganizationInvitation = async (\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetOrganizationInvitationResponse> => {\n\treturn customFetch<GetOrganizationInvitationResponse>(\n\t\tgetGetOrganizationInvitationUrl(organizationId, invitationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetOrganizationInvitationQueryKey = (\n\torganizationId: string,\n\tinvitationId: string,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/invitations/${invitationId}`,\n\t] as const;\n};\n\nexport const getGetOrganizationInvitationQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganizationInvitation>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetGetOrganizationInvitationQueryKey(organizationId, invitationId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>\n\t> = ({ signal }) =>\n\t\tgetOrganizationInvitation(organizationId, invitationId, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tinvitationId !== null &&\n\t\t\tinvitationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationInvitationQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganizationInvitation>>\n>;\nexport type GetOrganizationInvitationQueryError = unknown;\n\nexport function useGetOrganizationInvitation<\n\tTData = Awaited<ReturnType<typeof getOrganizationInvitation>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tinvitationId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationInvitation<\n\tTData = Awaited<ReturnType<typeof getOrganizationInvitation>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationInvitation<\n\tTData = Awaited<ReturnType<typeof getOrganizationInvitation>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get invitation\n */\n\nexport function useGetOrganizationInvitation<\n\tTData = Awaited<ReturnType<typeof getOrganizationInvitation>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationInvitationQueryOptions(\n\t\torganizationId,\n\t\tinvitationId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getAcceptOrganizationInvitationUrl = (\n\torganizationId: string,\n\tinvitationId: string,\n\tparams?: AcceptOrganizationInvitationParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/invitations/${invitationId}/accept?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/invitations/${invitationId}/accept`;\n};\n\n/**\n * Accepts an invitation to join an organization.\n * @summary Accept invitation\n */\nexport const acceptOrganizationInvitation = async (\n\torganizationId: string,\n\tinvitationId: string,\n\tacceptOrganizationInvitationQuery?: AcceptOrganizationInvitationQuery,\n\tparams?: AcceptOrganizationInvitationParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationInvitation> => {\n\treturn customFetch<OrganizationInvitation>(\n\t\tgetAcceptOrganizationInvitationUrl(organizationId, invitationId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(acceptOrganizationInvitationQuery),\n\t\t},\n\t);\n};\n\nexport const getAcceptOrganizationInvitationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>,\n\t\tTError,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tinvitationId: string;\n\t\t\tdata?: AcceptOrganizationInvitationQuery;\n\t\t\tparams?: AcceptOrganizationInvitationParams;\n\t\t},\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tinvitationId: string;\n\t\tdata?: AcceptOrganizationInvitationQuery;\n\t\tparams?: AcceptOrganizationInvitationParams;\n\t},\n\tTContext\n> => {\n\tconst mutationKey = [\"acceptOrganizationInvitation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tinvitationId: string;\n\t\t\tdata?: AcceptOrganizationInvitationQuery;\n\t\t\tparams?: AcceptOrganizationInvitationParams;\n\t\t}\n\t> = (props) => {\n\t\tconst { organizationId, invitationId, data, params } = props ?? {};\n\n\t\treturn acceptOrganizationInvitation(\n\t\t\torganizationId,\n\t\t\tinvitationId,\n\t\t\tdata,\n\t\t\tparams,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type AcceptOrganizationInvitationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>\n>;\nexport type AcceptOrganizationInvitationMutationBody =\n\t| AcceptOrganizationInvitationQuery\n\t| undefined;\nexport type AcceptOrganizationInvitationMutationError = unknown;\n\n/**\n * @summary Accept invitation\n */\nexport const useAcceptOrganizationInvitation = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>,\n\t\t\tTError,\n\t\t\t{\n\t\t\t\torganizationId: string;\n\t\t\t\tinvitationId: string;\n\t\t\t\tdata?: AcceptOrganizationInvitationQuery;\n\t\t\t\tparams?: AcceptOrganizationInvitationParams;\n\t\t\t},\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tinvitationId: string;\n\t\tdata?: AcceptOrganizationInvitationQuery;\n\t\tparams?: AcceptOrganizationInvitationParams;\n\t},\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetAcceptOrganizationInvitationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getRejectOrganizationInvitationUrl = (\n\torganizationId: string,\n\tinvitationId: string,\n) => {\n\treturn `/organizations/${organizationId}/invitations/${invitationId}/reject`;\n};\n\n/**\n * Rejects an invitation to join an organization.\n * @summary Reject invitation\n */\nexport const rejectOrganizationInvitation = async (\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationInvitation> => {\n\treturn customFetch<OrganizationInvitation>(\n\t\tgetRejectOrganizationInvitationUrl(organizationId, invitationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t},\n\t);\n};\n\nexport const getRejectOrganizationInvitationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>,\n\t\tTError,\n\t\t{ organizationId: string; invitationId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>,\n\tTError,\n\t{ organizationId: string; invitationId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"rejectOrganizationInvitation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>,\n\t\t{ organizationId: string; invitationId: string }\n\t> = (props) => {\n\t\tconst { organizationId, invitationId } = props ?? {};\n\n\t\treturn rejectOrganizationInvitation(\n\t\t\torganizationId,\n\t\t\tinvitationId,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RejectOrganizationInvitationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>\n>;\n\nexport type RejectOrganizationInvitationMutationError = unknown;\n\n/**\n * @summary Reject invitation\n */\nexport const useRejectOrganizationInvitation = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; invitationId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>,\n\tTError,\n\t{ organizationId: string; invitationId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetRejectOrganizationInvitationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getRevokeOrganizationInvitationUrl = (\n\torganizationId: string,\n\tinvitationId: string,\n) => {\n\treturn `/organizations/${organizationId}/invitations/${invitationId}/revoke`;\n};\n\n/**\n * Revokes a pending invitation.\n * @summary Revoke invitation\n */\nexport const revokeOrganizationInvitation = async (\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationInvitation> => {\n\treturn customFetch<OrganizationInvitation>(\n\t\tgetRevokeOrganizationInvitationUrl(organizationId, invitationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t},\n\t);\n};\n\nexport const getRevokeOrganizationInvitationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>,\n\t\tTError,\n\t\t{ organizationId: string; invitationId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>,\n\tTError,\n\t{ organizationId: string; invitationId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"revokeOrganizationInvitation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>,\n\t\t{ organizationId: string; invitationId: string }\n\t> = (props) => {\n\t\tconst { organizationId, invitationId } = props ?? {};\n\n\t\treturn revokeOrganizationInvitation(\n\t\t\torganizationId,\n\t\t\tinvitationId,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RevokeOrganizationInvitationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>\n>;\n\nexport type RevokeOrganizationInvitationMutationError = unknown;\n\n/**\n * @summary Revoke invitation\n */\nexport const useRevokeOrganizationInvitation = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; invitationId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>,\n\tTError,\n\t{ organizationId: string; invitationId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetRevokeOrganizationInvitationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAddOrganizationMemberRequest,\n\tDeleteOrganizationMemberResponse,\n\tListOrganizationMembersParams,\n\tListOrganizationMembersResponse,\n\tOrganizationMember,\n\tOrganizationMemberResponse,\n\tUpdateOrganizationMemberRequest,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListOrganizationMembersUrl = (\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/members?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/members`;\n};\n\n/**\n * Lists the members of an organization, newest first. Results are paginated: `page` defaults to 1 and `limit` defaults to 10, with a hard maximum of 100. Out-of-range values are clamped silently rather than rejected.\n * @summary List members\n */\nexport const listOrganizationMembers = async (\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ListOrganizationMembersResponse> => {\n\treturn customFetch<ListOrganizationMembersResponse>(\n\t\tgetListOrganizationMembersUrl(organizationId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListOrganizationMembersQueryKey = (\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/members`,\n\t\t...(params ? [params] : []),\n\t] as const;\n};\n\nexport const getListOrganizationMembersQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listOrganizationMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetListOrganizationMembersQueryKey(organizationId, params);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listOrganizationMembers>>\n\t> = ({ signal }) =>\n\t\tlistOrganizationMembers(organizationId, params, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: organizationId !== null && organizationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListOrganizationMembersQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listOrganizationMembers>>\n>;\nexport type ListOrganizationMembersQueryError = unknown;\n\nexport function useListOrganizationMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams: undefined | ListOrganizationMembersParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List members\n */\n\nexport function useListOrganizationMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListOrganizationMembersQueryOptions(\n\t\torganizationId,\n\t\tparams,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getAddOrganizationMemberUrl = (organizationId: string) => {\n\treturn `/organizations/${organizationId}/members`;\n};\n\n/**\n * Adds a user as a member of an organization with the specified role.\n * @summary Add member\n */\nexport const addOrganizationMember = async (\n\torganizationId: string,\n\taddOrganizationMemberRequest?: AddOrganizationMemberRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationMember> => {\n\treturn customFetch<OrganizationMember>(\n\t\tgetAddOrganizationMemberUrl(organizationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(addOrganizationMemberRequest),\n\t\t},\n\t);\n};\n\nexport const getAddOrganizationMemberMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof addOrganizationMember>>,\n\t\tTError,\n\t\t{ organizationId: string; data?: AddOrganizationMemberRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof addOrganizationMember>>,\n\tTError,\n\t{ organizationId: string; data?: AddOrganizationMemberRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"addOrganizationMember\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof addOrganizationMember>>,\n\t\t{ organizationId: string; data?: AddOrganizationMemberRequest }\n\t> = (props) => {\n\t\tconst { organizationId, data } = props ?? {};\n\n\t\treturn addOrganizationMember(organizationId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type AddOrganizationMemberMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof addOrganizationMember>>\n>;\nexport type AddOrganizationMemberMutationBody =\n\t| AddOrganizationMemberRequest\n\t| undefined;\nexport type AddOrganizationMemberMutationError = unknown;\n\n/**\n * @summary Add member\n */\nexport const useAddOrganizationMember = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof addOrganizationMember>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; data?: AddOrganizationMemberRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof addOrganizationMember>>,\n\tTError,\n\t{ organizationId: string; data?: AddOrganizationMemberRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetAddOrganizationMemberMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetOrganizationMemberByUserIDUrl = (\n\torganizationId: string,\n\tuserId: string,\n) => {\n\treturn `/organizations/${organizationId}/members/by-user/${userId}`;\n};\n\n/**\n * Retrieves an organization member by the user's ID with nested user data.\n * @summary Get member by user ID\n */\nexport const getOrganizationMemberByUserID = async (\n\torganizationId: string,\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationMemberResponse> => {\n\treturn customFetch<OrganizationMemberResponse>(\n\t\tgetGetOrganizationMemberByUserIDUrl(organizationId, userId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetOrganizationMemberByUserIDQueryKey = (\n\torganizationId: string,\n\tuserId: string,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/members/by-user/${userId}`,\n\t] as const;\n};\n\nexport const getGetOrganizationMemberByUserIDQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetGetOrganizationMemberByUserIDQueryKey(organizationId, userId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>\n\t> = ({ signal }) =>\n\t\tgetOrganizationMemberByUserID(organizationId, userId, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tuserId !== null &&\n\t\t\tuserId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationMemberByUserIDQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>\n>;\nexport type GetOrganizationMemberByUserIDQueryError = unknown;\n\nexport function useGetOrganizationMemberByUserID<\n\tTData = Awaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationMemberByUserID<\n\tTData = Awaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationMemberByUserID<\n\tTData = Awaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get member by user ID\n */\n\nexport function useGetOrganizationMemberByUserID<\n\tTData = Awaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationMemberByUserIDQueryOptions(\n\t\torganizationId,\n\t\tuserId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getGetOrganizationMemberUrl = (\n\torganizationId: string,\n\tmemberId: string,\n) => {\n\treturn `/organizations/${organizationId}/members/${memberId}`;\n};\n\n/**\n * Retrieves a single organization member by ID with nested user data.\n * @summary Get member\n */\nexport const getOrganizationMember = async (\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationMemberResponse> => {\n\treturn customFetch<OrganizationMemberResponse>(\n\t\tgetGetOrganizationMemberUrl(organizationId, memberId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetOrganizationMemberQueryKey = (\n\torganizationId: string,\n\tmemberId: string,\n) => {\n\treturn [`/organizations/${organizationId}/members/${memberId}`] as const;\n};\n\nexport const getGetOrganizationMemberQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganizationMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetGetOrganizationMemberQueryKey(organizationId, memberId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getOrganizationMember>>\n\t> = ({ signal }) =>\n\t\tgetOrganizationMember(organizationId, memberId, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tmemberId !== null &&\n\t\t\tmemberId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationMemberQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganizationMember>>\n>;\nexport type GetOrganizationMemberQueryError = unknown;\n\nexport function useGetOrganizationMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tmemberId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get member\n */\n\nexport function useGetOrganizationMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationMemberQueryOptions(\n\t\torganizationId,\n\t\tmemberId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteOrganizationMemberUrl = (\n\torganizationId: string,\n\tmemberId: string,\n) => {\n\treturn `/organizations/${organizationId}/members/${memberId}`;\n};\n\n/**\n * Removes a member from an organization.\n * @summary Delete member\n */\nexport const deleteOrganizationMember = async (\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteOrganizationMemberResponse> => {\n\treturn customFetch<DeleteOrganizationMemberResponse>(\n\t\tgetDeleteOrganizationMemberUrl(organizationId, memberId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeleteOrganizationMemberMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteOrganizationMember>>,\n\t\tTError,\n\t\t{ organizationId: string; memberId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteOrganizationMember>>,\n\tTError,\n\t{ organizationId: string; memberId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteOrganizationMember\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteOrganizationMember>>,\n\t\t{ organizationId: string; memberId: string }\n\t> = (props) => {\n\t\tconst { organizationId, memberId } = props ?? {};\n\n\t\treturn deleteOrganizationMember(organizationId, memberId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteOrganizationMemberMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteOrganizationMember>>\n>;\n\nexport type DeleteOrganizationMemberMutationError = unknown;\n\n/**\n * @summary Delete member\n */\nexport const useDeleteOrganizationMember = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteOrganizationMember>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; memberId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteOrganizationMember>>,\n\tTError,\n\t{ organizationId: string; memberId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetDeleteOrganizationMemberMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getUpdateOrganizationMemberUrl = (\n\torganizationId: string,\n\tmemberId: string,\n) => {\n\treturn `/organizations/${organizationId}/members/${memberId}`;\n};\n\n/**\n * Updates the role of an organization member.\n * @summary Update member\n */\nexport const updateOrganizationMember = async (\n\torganizationId: string,\n\tmemberId: string,\n\tupdateOrganizationMemberRequest?: UpdateOrganizationMemberRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationMember> => {\n\treturn customFetch<OrganizationMember>(\n\t\tgetUpdateOrganizationMemberUrl(organizationId, memberId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(updateOrganizationMemberRequest),\n\t\t},\n\t);\n};\n\nexport const getUpdateOrganizationMemberMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateOrganizationMember>>,\n\t\tTError,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tmemberId: string;\n\t\t\tdata?: UpdateOrganizationMemberRequest;\n\t\t},\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateOrganizationMember>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tmemberId: string;\n\t\tdata?: UpdateOrganizationMemberRequest;\n\t},\n\tTContext\n> => {\n\tconst mutationKey = [\"updateOrganizationMember\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateOrganizationMember>>,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tmemberId: string;\n\t\t\tdata?: UpdateOrganizationMemberRequest;\n\t\t}\n\t> = (props) => {\n\t\tconst { organizationId, memberId, data } = props ?? {};\n\n\t\treturn updateOrganizationMember(\n\t\t\torganizationId,\n\t\t\tmemberId,\n\t\t\tdata,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateOrganizationMemberMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateOrganizationMember>>\n>;\nexport type UpdateOrganizationMemberMutationBody =\n\t| UpdateOrganizationMemberRequest\n\t| undefined;\nexport type UpdateOrganizationMemberMutationError = unknown;\n\n/**\n * @summary Update member\n */\nexport const useUpdateOrganizationMember = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateOrganizationMember>>,\n\t\t\tTError,\n\t\t\t{\n\t\t\t\torganizationId: string;\n\t\t\t\tmemberId: string;\n\t\t\t\tdata?: UpdateOrganizationMemberRequest;\n\t\t\t},\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateOrganizationMember>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tmemberId: string;\n\t\tdata?: UpdateOrganizationMemberRequest;\n\t},\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetUpdateOrganizationMemberMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tCreateOrganizationTeamRequest,\n\tDeleteOrganizationTeamResponse,\n\tListOrganizationTeamsParams,\n\tListOrganizationTeamsResponse,\n\tOrganizationTeam,\n\tUpdateOrganizationTeamRequest,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListOrganizationTeamsUrl = (\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/teams?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/teams`;\n};\n\n/**\n * Lists the teams within an organization, newest first. Results are paginated: `page` defaults to 1 and `limit` defaults to 10, with a hard maximum of 100. Out-of-range values are clamped silently rather than rejected.\n * @summary List teams\n */\nexport const listOrganizationTeams = async (\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ListOrganizationTeamsResponse> => {\n\treturn customFetch<ListOrganizationTeamsResponse>(\n\t\tgetListOrganizationTeamsUrl(organizationId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListOrganizationTeamsQueryKey = (\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/teams`,\n\t\t...(params ? [params] : []),\n\t] as const;\n};\n\nexport const getListOrganizationTeamsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listOrganizationTeams>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetListOrganizationTeamsQueryKey(organizationId, params);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listOrganizationTeams>>\n\t> = ({ signal }) =>\n\t\tlistOrganizationTeams(organizationId, params, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: organizationId !== null && organizationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListOrganizationTeamsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listOrganizationTeams>>\n>;\nexport type ListOrganizationTeamsQueryError = unknown;\n\nexport function useListOrganizationTeams<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeams>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams: undefined | ListOrganizationTeamsParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationTeams<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeams>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationTeams<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeams>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List teams\n */\n\nexport function useListOrganizationTeams<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeams>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListOrganizationTeamsQueryOptions(\n\t\torganizationId,\n\t\tparams,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateOrganizationTeamUrl = (organizationId: string) => {\n\treturn `/organizations/${organizationId}/teams`;\n};\n\n/**\n * Creates a new team within an organization.\n * @summary Create team\n */\nexport const createOrganizationTeam = async (\n\torganizationId: string,\n\tcreateOrganizationTeamRequest?: CreateOrganizationTeamRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationTeam> => {\n\treturn customFetch<OrganizationTeam>(\n\t\tgetCreateOrganizationTeamUrl(organizationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(createOrganizationTeamRequest),\n\t\t},\n\t);\n};\n\nexport const getCreateOrganizationTeamMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createOrganizationTeam>>,\n\t\tTError,\n\t\t{ organizationId: string; data?: CreateOrganizationTeamRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createOrganizationTeam>>,\n\tTError,\n\t{ organizationId: string; data?: CreateOrganizationTeamRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createOrganizationTeam\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createOrganizationTeam>>,\n\t\t{ organizationId: string; data?: CreateOrganizationTeamRequest }\n\t> = (props) => {\n\t\tconst { organizationId, data } = props ?? {};\n\n\t\treturn createOrganizationTeam(organizationId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateOrganizationTeamMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createOrganizationTeam>>\n>;\nexport type CreateOrganizationTeamMutationBody =\n\t| CreateOrganizationTeamRequest\n\t| undefined;\nexport type CreateOrganizationTeamMutationError = unknown;\n\n/**\n * @summary Create team\n */\nexport const useCreateOrganizationTeam = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createOrganizationTeam>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; data?: CreateOrganizationTeamRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createOrganizationTeam>>,\n\tTError,\n\t{ organizationId: string; data?: CreateOrganizationTeamRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetCreateOrganizationTeamMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetOrganizationTeamUrl = (\n\torganizationId: string,\n\tteamId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}`;\n};\n\n/**\n * Retrieves a single team by its ID.\n * @summary Get team\n */\nexport const getOrganizationTeam = async (\n\torganizationId: string,\n\tteamId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationTeam> => {\n\treturn customFetch<OrganizationTeam>(\n\t\tgetGetOrganizationTeamUrl(organizationId, teamId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetOrganizationTeamQueryKey = (\n\torganizationId: string,\n\tteamId: string,\n) => {\n\treturn [`/organizations/${organizationId}/teams/${teamId}`] as const;\n};\n\nexport const getGetOrganizationTeamQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganizationTeam>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetGetOrganizationTeamQueryKey(organizationId, teamId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getOrganizationTeam>>\n\t> = ({ signal }) =>\n\t\tgetOrganizationTeam(organizationId, teamId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tteamId !== null &&\n\t\t\tteamId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationTeamQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganizationTeam>>\n>;\nexport type GetOrganizationTeamQueryError = unknown;\n\nexport function useGetOrganizationTeam<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeam>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationTeam<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeam>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationTeam<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeam>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get team\n */\n\nexport function useGetOrganizationTeam<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeam>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationTeamQueryOptions(\n\t\torganizationId,\n\t\tteamId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteOrganizationTeamUrl = (\n\torganizationId: string,\n\tteamId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}`;\n};\n\n/**\n * Deletes a team.\n * @summary Delete team\n */\nexport const deleteOrganizationTeam = async (\n\torganizationId: string,\n\tteamId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteOrganizationTeamResponse> => {\n\treturn customFetch<DeleteOrganizationTeamResponse>(\n\t\tgetDeleteOrganizationTeamUrl(organizationId, teamId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeleteOrganizationTeamMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteOrganizationTeam>>,\n\t\tTError,\n\t\t{ organizationId: string; teamId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteOrganizationTeam>>,\n\tTError,\n\t{ organizationId: string; teamId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteOrganizationTeam\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteOrganizationTeam>>,\n\t\t{ organizationId: string; teamId: string }\n\t> = (props) => {\n\t\tconst { organizationId, teamId } = props ?? {};\n\n\t\treturn deleteOrganizationTeam(organizationId, teamId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteOrganizationTeamMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteOrganizationTeam>>\n>;\n\nexport type DeleteOrganizationTeamMutationError = unknown;\n\n/**\n * @summary Delete team\n */\nexport const useDeleteOrganizationTeam = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteOrganizationTeam>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; teamId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteOrganizationTeam>>,\n\tTError,\n\t{ organizationId: string; teamId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetDeleteOrganizationTeamMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getUpdateOrganizationTeamUrl = (\n\torganizationId: string,\n\tteamId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}`;\n};\n\n/**\n * Updates an existing team.\n * @summary Update team\n */\nexport const updateOrganizationTeam = async (\n\torganizationId: string,\n\tteamId: string,\n\tupdateOrganizationTeamRequest?: UpdateOrganizationTeamRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationTeam> => {\n\treturn customFetch<OrganizationTeam>(\n\t\tgetUpdateOrganizationTeamUrl(organizationId, teamId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(updateOrganizationTeamRequest),\n\t\t},\n\t);\n};\n\nexport const getUpdateOrganizationTeamMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateOrganizationTeam>>,\n\t\tTError,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tteamId: string;\n\t\t\tdata?: UpdateOrganizationTeamRequest;\n\t\t},\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateOrganizationTeam>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tteamId: string;\n\t\tdata?: UpdateOrganizationTeamRequest;\n\t},\n\tTContext\n> => {\n\tconst mutationKey = [\"updateOrganizationTeam\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateOrganizationTeam>>,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tteamId: string;\n\t\t\tdata?: UpdateOrganizationTeamRequest;\n\t\t}\n\t> = (props) => {\n\t\tconst { organizationId, teamId, data } = props ?? {};\n\n\t\treturn updateOrganizationTeam(organizationId, teamId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateOrganizationTeamMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateOrganizationTeam>>\n>;\nexport type UpdateOrganizationTeamMutationBody =\n\t| UpdateOrganizationTeamRequest\n\t| undefined;\nexport type UpdateOrganizationTeamMutationError = unknown;\n\n/**\n * @summary Update team\n */\nexport const useUpdateOrganizationTeam = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateOrganizationTeam>>,\n\t\t\tTError,\n\t\t\t{\n\t\t\t\torganizationId: string;\n\t\t\t\tteamId: string;\n\t\t\t\tdata?: UpdateOrganizationTeamRequest;\n\t\t\t},\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateOrganizationTeam>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tteamId: string;\n\t\tdata?: UpdateOrganizationTeamRequest;\n\t},\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetUpdateOrganizationTeamMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAddOrganizationTeamMemberRequest,\n\tDeleteOrganizationTeamMemberResponse,\n\tListOrganizationTeamMembersParams,\n\tListOrganizationTeamMembersResponse,\n\tOrganizationTeamMember,\n\tOrganizationTeamMemberResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListOrganizationTeamMembersUrl = (\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/teams/${teamId}/members?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/teams/${teamId}/members`;\n};\n\n/**\n * Lists the members of a team, newest first. Results are paginated: `page` defaults to 1 and `limit` defaults to 10, with a hard maximum of 100. Out-of-range values are clamped silently rather than rejected.\n * @summary List team members\n */\nexport const listOrganizationTeamMembers = async (\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ListOrganizationTeamMembersResponse> => {\n\treturn customFetch<ListOrganizationTeamMembersResponse>(\n\t\tgetListOrganizationTeamMembersUrl(organizationId, teamId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListOrganizationTeamMembersQueryKey = (\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/teams/${teamId}/members`,\n\t\t...(params ? [params] : []),\n\t] as const;\n};\n\nexport const getListOrganizationTeamMembersQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetListOrganizationTeamMembersQueryKey(organizationId, teamId, params);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>\n\t> = ({ signal }) =>\n\t\tlistOrganizationTeamMembers(organizationId, teamId, params, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tteamId !== null &&\n\t\t\tteamId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListOrganizationTeamMembersQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>\n>;\nexport type ListOrganizationTeamMembersQueryError = unknown;\n\nexport function useListOrganizationTeamMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tparams: undefined | ListOrganizationTeamMembersParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationTeamMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationTeamMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List team members\n */\n\nexport function useListOrganizationTeamMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListOrganizationTeamMembersQueryOptions(\n\t\torganizationId,\n\t\tteamId,\n\t\tparams,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getAddOrganizationTeamMemberUrl = (\n\torganizationId: string,\n\tteamId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}/members`;\n};\n\n/**\n * Adds a member to a team.\n * @summary Add team member\n */\nexport const addOrganizationTeamMember = async (\n\torganizationId: string,\n\tteamId: string,\n\taddOrganizationTeamMemberRequest?: AddOrganizationTeamMemberRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationTeamMember> => {\n\treturn customFetch<OrganizationTeamMember>(\n\t\tgetAddOrganizationTeamMemberUrl(organizationId, teamId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(addOrganizationTeamMemberRequest),\n\t\t},\n\t);\n};\n\nexport const getAddOrganizationTeamMemberMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof addOrganizationTeamMember>>,\n\t\tTError,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tteamId: string;\n\t\t\tdata?: AddOrganizationTeamMemberRequest;\n\t\t},\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof addOrganizationTeamMember>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tteamId: string;\n\t\tdata?: AddOrganizationTeamMemberRequest;\n\t},\n\tTContext\n> => {\n\tconst mutationKey = [\"addOrganizationTeamMember\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof addOrganizationTeamMember>>,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tteamId: string;\n\t\t\tdata?: AddOrganizationTeamMemberRequest;\n\t\t}\n\t> = (props) => {\n\t\tconst { organizationId, teamId, data } = props ?? {};\n\n\t\treturn addOrganizationTeamMember(\n\t\t\torganizationId,\n\t\t\tteamId,\n\t\t\tdata,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type AddOrganizationTeamMemberMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof addOrganizationTeamMember>>\n>;\nexport type AddOrganizationTeamMemberMutationBody =\n\t| AddOrganizationTeamMemberRequest\n\t| undefined;\nexport type AddOrganizationTeamMemberMutationError = unknown;\n\n/**\n * @summary Add team member\n */\nexport const useAddOrganizationTeamMember = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof addOrganizationTeamMember>>,\n\t\t\tTError,\n\t\t\t{\n\t\t\t\torganizationId: string;\n\t\t\t\tteamId: string;\n\t\t\t\tdata?: AddOrganizationTeamMemberRequest;\n\t\t\t},\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof addOrganizationTeamMember>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tteamId: string;\n\t\tdata?: AddOrganizationTeamMemberRequest;\n\t},\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetAddOrganizationTeamMemberMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetOrganizationTeamMemberUrl = (\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}/members/${memberId}`;\n};\n\n/**\n * Retrieves a single team member by ID with nested member and user data.\n * @summary Get team member\n */\nexport const getOrganizationTeamMember = async (\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationTeamMemberResponse> => {\n\treturn customFetch<OrganizationTeamMemberResponse>(\n\t\tgetGetOrganizationTeamMemberUrl(organizationId, teamId, memberId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetOrganizationTeamMemberQueryKey = (\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/teams/${teamId}/members/${memberId}`,\n\t] as const;\n};\n\nexport const getGetOrganizationTeamMemberQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganizationTeamMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetGetOrganizationTeamMemberQueryKey(organizationId, teamId, memberId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>\n\t> = ({ signal }) =>\n\t\tgetOrganizationTeamMember(organizationId, teamId, memberId, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tteamId !== null &&\n\t\t\tteamId !== undefined &&\n\t\t\tmemberId !== null &&\n\t\t\tmemberId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationTeamMemberQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganizationTeamMember>>\n>;\nexport type GetOrganizationTeamMemberQueryError = unknown;\n\nexport function useGetOrganizationTeamMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeamMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationTeamMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeamMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationTeamMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeamMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get team member\n */\n\nexport function useGetOrganizationTeamMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeamMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationTeamMemberQueryOptions(\n\t\torganizationId,\n\t\tteamId,\n\t\tmemberId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteOrganizationTeamMemberUrl = (\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}/members/${memberId}`;\n};\n\n/**\n * Removes a member from a team.\n * @summary Delete team member\n */\nexport const deleteOrganizationTeamMember = async (\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteOrganizationTeamMemberResponse> => {\n\treturn customFetch<DeleteOrganizationTeamMemberResponse>(\n\t\tgetDeleteOrganizationTeamMemberUrl(organizationId, teamId, memberId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeleteOrganizationTeamMemberMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>,\n\t\tTError,\n\t\t{ organizationId: string; teamId: string; memberId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>,\n\tTError,\n\t{ organizationId: string; teamId: string; memberId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteOrganizationTeamMember\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>,\n\t\t{ organizationId: string; teamId: string; memberId: string }\n\t> = (props) => {\n\t\tconst { organizationId, teamId, memberId } = props ?? {};\n\n\t\treturn deleteOrganizationTeamMember(\n\t\t\torganizationId,\n\t\t\tteamId,\n\t\t\tmemberId,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteOrganizationTeamMemberMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>\n>;\n\nexport type DeleteOrganizationTeamMemberMutationError = unknown;\n\n/**\n * @summary Delete team member\n */\nexport const useDeleteOrganizationTeamMember = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; teamId: string; memberId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>,\n\tTError,\n\t{ organizationId: string; teamId: string; memberId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetDeleteOrganizationTeamMemberMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as organizations from \"../../gen/endpoints/organizations/organizations\";\nimport * as organizationInvitations from \"../../gen/endpoints/organization-invitations/organization-invitations\";\nimport * as organizationMembers from \"../../gen/endpoints/organization-members/organization-members\";\nimport * as organizationTeams from \"../../gen/endpoints/organization-teams/organization-teams\";\nimport * as organizationTeamMembers from \"../../gen/endpoints/organization-team-members/organization-team-members\";\n\nexport class OrganizationsPlugin implements Plugin {\n public readonly id = \"organizations\";\n\n public init(client: AuthulaClient) {\n return wrapGenerated(\n {\n ...organizations,\n ...organizationInvitations,\n ...organizationMembers,\n ...organizationTeams,\n ...organizationTeamMembers,\n },\n client,\n );\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tDisableResponse,\n\tEnableResponse,\n\tGenerateBackupCodesResponse,\n\tGetTOTPURIResponse,\n\tVerifyBackupCodeRequest,\n\tVerifyBackupCodeResponse,\n\tVerifyTOTPRequest,\n\tVerifyTOTPResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getDisableTotpUrl = () => {\n\treturn `/totp/disable`;\n};\n\n/**\n * Disables TOTP two-factor authentication for the authenticated user.\n * @summary Disable TOTP\n */\nexport const disableTotp = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DisableResponse> => {\n\treturn customFetch<DisableResponse>(getDisableTotpUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t});\n};\n\nexport const getDisableTotpMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof disableTotp>>,\n\t\tTError,\n\t\tvoid,\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof disableTotp>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\tconst mutationKey = [\"disableTotp\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof disableTotp>>,\n\t\tvoid\n\t> = () => {\n\t\treturn disableTotp(requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DisableTotpMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof disableTotp>>\n>;\n\nexport type DisableTotpMutationError = unknown;\n\n/**\n * @summary Disable TOTP\n */\nexport const useDisableTotp = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof disableTotp>>,\n\t\t\tTError,\n\t\t\tvoid,\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof disableTotp>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\treturn useMutation(getDisableTotpMutationOptions(options), queryClient);\n};\nexport const getEnableTotpUrl = () => {\n\treturn `/totp/enable`;\n};\n\n/**\n * Enables TOTP two-factor authentication for the authenticated user. Returns the TOTP URI and backup codes.\n * @summary Enable TOTP\n */\nexport const enableTotp = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<EnableResponse> => {\n\treturn customFetch<EnableResponse>(getEnableTotpUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t});\n};\n\nexport const getEnableTotpMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof enableTotp>>,\n\t\tTError,\n\t\tvoid,\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof enableTotp>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\tconst mutationKey = [\"enableTotp\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof enableTotp>>,\n\t\tvoid\n\t> = () => {\n\t\treturn enableTotp(requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type EnableTotpMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof enableTotp>>\n>;\n\nexport type EnableTotpMutationError = unknown;\n\n/**\n * @summary Enable TOTP\n */\nexport const useEnableTotp = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof enableTotp>>,\n\t\t\tTError,\n\t\t\tvoid,\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof enableTotp>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\treturn useMutation(getEnableTotpMutationOptions(options), queryClient);\n};\nexport const getGenerateTotpBackupCodesUrl = () => {\n\treturn `/totp/generate-backup-codes`;\n};\n\n/**\n * Generates a new set of backup codes for the authenticated user. Previous backup codes are invalidated.\n * @summary Generate backup codes\n */\nexport const generateTotpBackupCodes = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GenerateBackupCodesResponse> => {\n\treturn customFetch<GenerateBackupCodesResponse>(\n\t\tgetGenerateTotpBackupCodesUrl(),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t},\n\t);\n};\n\nexport const getGenerateTotpBackupCodesMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof generateTotpBackupCodes>>,\n\t\tTError,\n\t\tvoid,\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof generateTotpBackupCodes>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\tconst mutationKey = [\"generateTotpBackupCodes\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof generateTotpBackupCodes>>,\n\t\tvoid\n\t> = () => {\n\t\treturn generateTotpBackupCodes(requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type GenerateTotpBackupCodesMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof generateTotpBackupCodes>>\n>;\n\nexport type GenerateTotpBackupCodesMutationError = unknown;\n\n/**\n * @summary Generate backup codes\n */\nexport const useGenerateTotpBackupCodes = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof generateTotpBackupCodes>>,\n\t\t\tTError,\n\t\t\tvoid,\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof generateTotpBackupCodes>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetGenerateTotpBackupCodesMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetTotpURIUrl = () => {\n\treturn `/totp/get-uri`;\n};\n\n/**\n * Returns the current TOTP URI for the authenticated user's authenticator app configuration.\n * @summary Get TOTP URI\n */\nexport const getTotpURI = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetTOTPURIResponse> => {\n\treturn customFetch<GetTOTPURIResponse>(getGetTotpURIUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetTotpURIQueryKey = () => {\n\treturn [`/totp/get-uri`] as const;\n};\n\nexport const getGetTotpURIQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getTotpURI>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof getTotpURI>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetTotpURIQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getTotpURI>>> = ({\n\t\tsignal,\n\t}) => getTotpURI({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getTotpURI>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetTotpURIQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getTotpURI>>\n>;\nexport type GetTotpURIQueryError = unknown;\n\nexport function useGetTotpURI<\n\tTData = Awaited<ReturnType<typeof getTotpURI>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getTotpURI>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getTotpURI>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getTotpURI>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetTotpURI<\n\tTData = Awaited<ReturnType<typeof getTotpURI>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getTotpURI>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getTotpURI>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getTotpURI>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetTotpURI<\n\tTData = Awaited<ReturnType<typeof getTotpURI>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getTotpURI>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get TOTP URI\n */\n\nexport function useGetTotpURI<\n\tTData = Awaited<ReturnType<typeof getTotpURI>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getTotpURI>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetTotpURIQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getVerifyTotpUrl = () => {\n\treturn `/totp/verify`;\n};\n\n/**\n * Verifies a TOTP code from the authenticator app and completes authentication. Requires a pending TOTP cookie set during sign-in.\n * @summary Verify TOTP code\n */\nexport const verifyTotp = async (\n\tverifyTOTPRequest?: VerifyTOTPRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<VerifyTOTPResponse> => {\n\treturn customFetch<VerifyTOTPResponse>(getVerifyTotpUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(verifyTOTPRequest),\n\t});\n};\n\nexport const getVerifyTotpMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof verifyTotp>>,\n\t\tTError,\n\t\t{ data?: VerifyTOTPRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof verifyTotp>>,\n\tTError,\n\t{ data?: VerifyTOTPRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"verifyTotp\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof verifyTotp>>,\n\t\t{ data?: VerifyTOTPRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn verifyTotp(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type VerifyTotpMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof verifyTotp>>\n>;\nexport type VerifyTotpMutationBody = VerifyTOTPRequest | undefined;\nexport type VerifyTotpMutationError = unknown;\n\n/**\n * @summary Verify TOTP code\n */\nexport const useVerifyTotp = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof verifyTotp>>,\n\t\t\tTError,\n\t\t\t{ data?: VerifyTOTPRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof verifyTotp>>,\n\tTError,\n\t{ data?: VerifyTOTPRequest },\n\tTContext\n> => {\n\treturn useMutation(getVerifyTotpMutationOptions(options), queryClient);\n};\nexport const getVerifyTotpBackupCodeUrl = () => {\n\treturn `/totp/verify-backup-code`;\n};\n\n/**\n * Verifies a backup code as an alternative to TOTP verification. Completes authentication if the code is valid.\n * @summary Verify backup code\n */\nexport const verifyTotpBackupCode = async (\n\tverifyBackupCodeRequest?: VerifyBackupCodeRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<VerifyBackupCodeResponse> => {\n\treturn customFetch<VerifyBackupCodeResponse>(getVerifyTotpBackupCodeUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(verifyBackupCodeRequest),\n\t});\n};\n\nexport const getVerifyTotpBackupCodeMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof verifyTotpBackupCode>>,\n\t\tTError,\n\t\t{ data?: VerifyBackupCodeRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof verifyTotpBackupCode>>,\n\tTError,\n\t{ data?: VerifyBackupCodeRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"verifyTotpBackupCode\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof verifyTotpBackupCode>>,\n\t\t{ data?: VerifyBackupCodeRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn verifyTotpBackupCode(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type VerifyTotpBackupCodeMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof verifyTotpBackupCode>>\n>;\nexport type VerifyTotpBackupCodeMutationBody =\n\t| VerifyBackupCodeRequest\n\t| undefined;\nexport type VerifyTotpBackupCodeMutationError = unknown;\n\n/**\n * @summary Verify backup code\n */\nexport const useVerifyTotpBackupCode = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof verifyTotpBackupCode>>,\n\t\t\tTError,\n\t\t\t{ data?: VerifyBackupCodeRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof verifyTotpBackupCode>>,\n\tTError,\n\t{ data?: VerifyBackupCodeRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetVerifyTotpBackupCodeMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types/plugins\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as totp from \"../../gen/endpoints/totp-plugin/totp-plugin\";\n\nexport class TOTPPlugin implements Plugin {\n public readonly id = \"totp\";\n\n public init(client: AuthulaClient) {\n return wrapGenerated(totp, client);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["withQueryKey","accessControl","withQueryKey","withQueryKey","withQueryKey","withQueryKey","withQueryKey","adminUsers","adminAccounts","adminUserState","adminSessionState","adminImpersonation","withQueryKey","apiKey","withQueryKey","core","withQueryKey","emailPassword","withQueryKey","jwt","withQueryKey","magicLink","withQueryKey","oauth2","withQueryKey","withQueryKey","withQueryKey","withQueryKey","withQueryKey","organizations","organizationInvitations","organizationMembers","organizationTeams","organizationTeamMembers","totp"],"sources":["../../src/utils/wrap-generated.ts","../../src/gen/endpoints/access-control/access-control.ts","../../src/plugins/access-control/plugin.ts","../../src/gen/endpoints/admin-accounts/admin-accounts.ts","../../src/gen/endpoints/admin-impersonation/admin-impersonation.ts","../../src/gen/endpoints/admin-session-state/admin-session-state.ts","../../src/gen/endpoints/admin-user-state/admin-user-state.ts","../../src/gen/endpoints/admin-users/admin-users.ts","../../src/plugins/admin/plugin.ts","../../src/gen/endpoints/api-keys/api-keys.ts","../../src/plugins/api-key/plugin.ts","../../src/plugins/bearer/plugin.ts","../../src/gen/endpoints/core/core.ts","../../src/plugins/core/plugin.ts","../../src/plugins/csrf/plugin.ts","../../src/gen/endpoints/email-password-plugin/email-password-plugin.ts","../../src/plugins/email-password/plugin.ts","../../src/gen/endpoints/jwt-plugin/jwt-plugin.ts","../../src/plugins/jwt/plugin.ts","../../src/gen/endpoints/magic-link-plugin/magic-link-plugin.ts","../../src/plugins/magic-link/plugin.ts","../../src/gen/endpoints/oauth2-plugin/oauth2-plugin.ts","../../src/plugins/oauth2/plugin.ts","../../src/gen/endpoints/organizations/organizations.ts","../../src/gen/endpoints/organization-invitations/organization-invitations.ts","../../src/gen/endpoints/organization-members/organization-members.ts","../../src/gen/endpoints/organization-teams/organization-teams.ts","../../src/gen/endpoints/organization-team-members/organization-team-members.ts","../../src/plugins/organizations/plugin.ts","../../src/gen/endpoints/totp-plugin/totp-plugin.ts","../../src/plugins/totp/plugin.ts"],"sourcesContent":["import type { AuthulaClient } from \"../client\";\n\nfunction isHookKey(key: string): boolean {\n return key.startsWith(\"use\") && key[3] === key[3]?.toUpperCase();\n}\n\nexport function wrapGenerated<T extends Record<string, any>>(\n mod: T,\n client: AuthulaClient,\n): T {\n const baseUrl = client.config.url.replace(/\\/+$/, \"\");\n const cookies = client.config.cookies;\n const onBeforeFetch = (ctx: any) => client.runBeforeFetch(ctx);\n const onAfterFetch = (ctx: any, res: Response) =>\n client.runAfterFetch(ctx, res);\n\n const wrapped: Record<string, any> = {};\n for (const [key, value] of Object.entries(mod)) {\n if (typeof value !== \"function\") {\n wrapped[key] = value;\n continue;\n }\n\n if (isHookKey(key)) {\n wrapped[key] = (...args: any[]) => {\n const ctx = { baseUrl, cookies, onBeforeFetch, onAfterFetch };\n let optionsIdx = Math.max(0, value.length - 2);\n if (args[optionsIdx] != null && typeof args[optionsIdx] !== \"object\") {\n optionsIdx = Math.max(0, value.length - 1);\n }\n while (args.length <= optionsIdx) {\n args.push(undefined);\n }\n const existing = args[optionsIdx] ?? {};\n args[optionsIdx] = {\n ...(typeof existing === \"object\" && existing !== null ? existing : {}),\n request: { ...(existing?.request ?? {}), ...ctx },\n };\n return value(...args);\n };\n } else {\n wrapped[key] = (...args: any[]) => {\n const ctx = { baseUrl, cookies, onBeforeFetch, onAfterFetch };\n const optionsIdx = value.length - 1;\n while (args.length < optionsIdx) {\n args.push(undefined);\n }\n if (optionsIdx >= 0 && args.length === optionsIdx) {\n args.push(ctx);\n } else if (optionsIdx >= 0) {\n args[optionsIdx] = { ...args[optionsIdx], ...ctx };\n }\n return value(...args);\n };\n }\n }\n return wrapped as T;\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAddRolePermissionRequest,\n\tAddRolePermissionResponse,\n\tAssignUserRoleRequest,\n\tAssignUserRoleResponse,\n\tCheckUserPermissionsRequest,\n\tCheckUserPermissionsResponse,\n\tCreatePermissionRequest,\n\tCreatePermissionResponse,\n\tCreateRoleRequest,\n\tCreateRoleResponse,\n\tDeletePermissionResponse,\n\tDeleteRoleResponse,\n\tGetUserPermissionsResponse,\n\tPermission,\n\tRemoveRolePermissionResponse,\n\tRemoveUserRoleResponse,\n\tReplaceRolePermissionResponse,\n\tReplaceRolePermissionsRequest,\n\tReplaceUserRolesRequest,\n\tReplaceUserRolesResponse,\n\tRole,\n\tRoleDetails,\n\tUpdatePermissionRequest,\n\tUpdatePermissionResponse,\n\tUpdateRoleRequest,\n\tUpdateRoleResponse,\n\tUserPermissionInfo,\n\tUserRoleInfo,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListPermissionsUrl = () => {\n\treturn `/access-control/permissions`;\n};\n\n/**\n * Lists all permissions.\n * @summary List permissions\n */\nexport const listPermissions = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Permission[] | null> => {\n\treturn customFetch<Permission[] | null>(getListPermissionsUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListPermissionsQueryKey = () => {\n\treturn [`/access-control/permissions`] as const;\n};\n\nexport const getListPermissionsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listPermissions>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof listPermissions>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListPermissionsQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof listPermissions>>> = ({\n\t\tsignal,\n\t}) => listPermissions({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListPermissionsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listPermissions>>\n>;\nexport type ListPermissionsQueryError = unknown;\n\nexport function useListPermissions<\n\tTData = Awaited<ReturnType<typeof listPermissions>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listPermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListPermissions<\n\tTData = Awaited<ReturnType<typeof listPermissions>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listPermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListPermissions<\n\tTData = Awaited<ReturnType<typeof listPermissions>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List permissions\n */\n\nexport function useListPermissions<\n\tTData = Awaited<ReturnType<typeof listPermissions>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListPermissionsQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreatePermissionUrl = () => {\n\treturn `/access-control/permissions`;\n};\n\n/**\n * Creates a new permission.\n * @summary Create permission\n */\nexport const createPermission = async (\n\tcreatePermissionRequest?: CreatePermissionRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CreatePermissionResponse> => {\n\treturn customFetch<CreatePermissionResponse>(getCreatePermissionUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createPermissionRequest),\n\t});\n};\n\nexport const getCreatePermissionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createPermission>>,\n\t\tTError,\n\t\t{ data?: CreatePermissionRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createPermission>>,\n\tTError,\n\t{ data?: CreatePermissionRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createPermission\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createPermission>>,\n\t\t{ data?: CreatePermissionRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn createPermission(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreatePermissionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createPermission>>\n>;\nexport type CreatePermissionMutationBody = CreatePermissionRequest | undefined;\nexport type CreatePermissionMutationError = unknown;\n\n/**\n * @summary Create permission\n */\nexport const useCreatePermission = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createPermission>>,\n\t\t\tTError,\n\t\t\t{ data?: CreatePermissionRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createPermission>>,\n\tTError,\n\t{ data?: CreatePermissionRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreatePermissionMutationOptions(options), queryClient);\n};\nexport const getGetPermissionByKeyUrl = (permissionKey: string) => {\n\treturn `/access-control/permissions/by-key/${permissionKey}`;\n};\n\n/**\n * Retrieves a permission by its key.\n * @summary Get permission by key\n */\nexport const getPermissionByKey = async (\n\tpermissionKey: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Permission> => {\n\treturn customFetch<Permission>(getGetPermissionByKeyUrl(permissionKey), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetPermissionByKeyQueryKey = (permissionKey: string) => {\n\treturn [`/access-control/permissions/by-key/${permissionKey}`] as const;\n};\n\nexport const getGetPermissionByKeyQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getPermissionByKey>>,\n\tTError = unknown,\n>(\n\tpermissionKey: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetPermissionByKeyQueryKey(permissionKey);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getPermissionByKey>>\n\t> = ({ signal }) =>\n\t\tgetPermissionByKey(permissionKey, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: permissionKey !== null && permissionKey !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetPermissionByKeyQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getPermissionByKey>>\n>;\nexport type GetPermissionByKeyQueryError = unknown;\n\nexport function useGetPermissionByKey<\n\tTData = Awaited<ReturnType<typeof getPermissionByKey>>,\n\tTError = unknown,\n>(\n\tpermissionKey: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetPermissionByKey<\n\tTData = Awaited<ReturnType<typeof getPermissionByKey>>,\n\tTError = unknown,\n>(\n\tpermissionKey: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetPermissionByKey<\n\tTData = Awaited<ReturnType<typeof getPermissionByKey>>,\n\tTError = unknown,\n>(\n\tpermissionKey: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get permission by key\n */\n\nexport function useGetPermissionByKey<\n\tTData = Awaited<ReturnType<typeof getPermissionByKey>>,\n\tTError = unknown,\n>(\n\tpermissionKey: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getPermissionByKey>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetPermissionByKeyQueryOptions(\n\t\tpermissionKey,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getGetPermissionUrl = (permissionId: string) => {\n\treturn `/access-control/permissions/${permissionId}`;\n};\n\n/**\n * Retrieves a permission by its ID.\n * @summary Get permission by ID\n */\nexport const getPermission = async (\n\tpermissionId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Permission> => {\n\treturn customFetch<Permission>(getGetPermissionUrl(permissionId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetPermissionQueryKey = (permissionId: string) => {\n\treturn [`/access-control/permissions/${permissionId}`] as const;\n};\n\nexport const getGetPermissionQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getPermission>>,\n\tTError = unknown,\n>(\n\tpermissionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getPermission>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetPermissionQueryKey(permissionId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getPermission>>> = ({\n\t\tsignal,\n\t}) => getPermission(permissionId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: permissionId !== null && permissionId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getPermission>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetPermissionQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getPermission>>\n>;\nexport type GetPermissionQueryError = unknown;\n\nexport function useGetPermission<\n\tTData = Awaited<ReturnType<typeof getPermission>>,\n\tTError = unknown,\n>(\n\tpermissionId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getPermission>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getPermission>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getPermission>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetPermission<\n\tTData = Awaited<ReturnType<typeof getPermission>>,\n\tTError = unknown,\n>(\n\tpermissionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getPermission>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getPermission>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getPermission>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetPermission<\n\tTData = Awaited<ReturnType<typeof getPermission>>,\n\tTError = unknown,\n>(\n\tpermissionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getPermission>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get permission by ID\n */\n\nexport function useGetPermission<\n\tTData = Awaited<ReturnType<typeof getPermission>>,\n\tTError = unknown,\n>(\n\tpermissionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getPermission>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetPermissionQueryOptions(permissionId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeletePermissionUrl = (permissionId: string) => {\n\treturn `/access-control/permissions/${permissionId}`;\n};\n\n/**\n * Deletes a permission.\n * @summary Delete permission\n */\nexport const deletePermission = async (\n\tpermissionId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeletePermissionResponse> => {\n\treturn customFetch<DeletePermissionResponse>(\n\t\tgetDeletePermissionUrl(permissionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeletePermissionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deletePermission>>,\n\t\tTError,\n\t\t{ permissionId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deletePermission>>,\n\tTError,\n\t{ permissionId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deletePermission\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deletePermission>>,\n\t\t{ permissionId: string }\n\t> = (props) => {\n\t\tconst { permissionId } = props ?? {};\n\n\t\treturn deletePermission(permissionId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeletePermissionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deletePermission>>\n>;\n\nexport type DeletePermissionMutationError = unknown;\n\n/**\n * @summary Delete permission\n */\nexport const useDeletePermission = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deletePermission>>,\n\t\t\tTError,\n\t\t\t{ permissionId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deletePermission>>,\n\tTError,\n\t{ permissionId: string },\n\tTContext\n> => {\n\treturn useMutation(getDeletePermissionMutationOptions(options), queryClient);\n};\nexport const getUpdatePermissionUrl = (permissionId: string) => {\n\treturn `/access-control/permissions/${permissionId}`;\n};\n\n/**\n * Updates a permission's description.\n * @summary Update permission\n */\nexport const updatePermission = async (\n\tpermissionId: string,\n\tupdatePermissionRequest?: UpdatePermissionRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpdatePermissionResponse> => {\n\treturn customFetch<UpdatePermissionResponse>(\n\t\tgetUpdatePermissionUrl(permissionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(updatePermissionRequest),\n\t\t},\n\t);\n};\n\nexport const getUpdatePermissionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updatePermission>>,\n\t\tTError,\n\t\t{ permissionId: string; data?: UpdatePermissionRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updatePermission>>,\n\tTError,\n\t{ permissionId: string; data?: UpdatePermissionRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updatePermission\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updatePermission>>,\n\t\t{ permissionId: string; data?: UpdatePermissionRequest }\n\t> = (props) => {\n\t\tconst { permissionId, data } = props ?? {};\n\n\t\treturn updatePermission(permissionId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdatePermissionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updatePermission>>\n>;\nexport type UpdatePermissionMutationBody = UpdatePermissionRequest | undefined;\nexport type UpdatePermissionMutationError = unknown;\n\n/**\n * @summary Update permission\n */\nexport const useUpdatePermission = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updatePermission>>,\n\t\t\tTError,\n\t\t\t{ permissionId: string; data?: UpdatePermissionRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updatePermission>>,\n\tTError,\n\t{ permissionId: string; data?: UpdatePermissionRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdatePermissionMutationOptions(options), queryClient);\n};\nexport const getListRolesUrl = () => {\n\treturn `/access-control/roles`;\n};\n\n/**\n * Lists all roles.\n * @summary List roles\n */\nexport const listRoles = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Role[] | null> => {\n\treturn customFetch<Role[] | null>(getListRolesUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListRolesQueryKey = () => {\n\treturn [`/access-control/roles`] as const;\n};\n\nexport const getListRolesQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listRoles>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof listRoles>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListRolesQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof listRoles>>> = ({\n\t\tsignal,\n\t}) => listRoles({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listRoles>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListRolesQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listRoles>>\n>;\nexport type ListRolesQueryError = unknown;\n\nexport function useListRoles<\n\tTData = Awaited<ReturnType<typeof listRoles>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listRoles>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRoles>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRoles>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRoles<\n\tTData = Awaited<ReturnType<typeof listRoles>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listRoles>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRoles>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRoles>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRoles<\n\tTData = Awaited<ReturnType<typeof listRoles>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listRoles>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List roles\n */\n\nexport function useListRoles<\n\tTData = Awaited<ReturnType<typeof listRoles>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listRoles>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListRolesQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateRoleUrl = () => {\n\treturn `/access-control/roles`;\n};\n\n/**\n * Creates a new role.\n * @summary Create role\n */\nexport const createRole = async (\n\tcreateRoleRequest?: CreateRoleRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CreateRoleResponse> => {\n\treturn customFetch<CreateRoleResponse>(getCreateRoleUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createRoleRequest),\n\t});\n};\n\nexport const getCreateRoleMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createRole>>,\n\t\tTError,\n\t\t{ data?: CreateRoleRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createRole>>,\n\tTError,\n\t{ data?: CreateRoleRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createRole\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createRole>>,\n\t\t{ data?: CreateRoleRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn createRole(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateRoleMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createRole>>\n>;\nexport type CreateRoleMutationBody = CreateRoleRequest | undefined;\nexport type CreateRoleMutationError = unknown;\n\n/**\n * @summary Create role\n */\nexport const useCreateRole = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createRole>>,\n\t\t\tTError,\n\t\t\t{ data?: CreateRoleRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createRole>>,\n\tTError,\n\t{ data?: CreateRoleRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreateRoleMutationOptions(options), queryClient);\n};\nexport const getGetRoleByNameUrl = (roleName: string) => {\n\treturn `/access-control/roles/by-name/${roleName}`;\n};\n\n/**\n * Retrieves a role by its name.\n * @summary Get role by name\n */\nexport const getRoleByName = async (\n\troleName: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Role> => {\n\treturn customFetch<Role>(getGetRoleByNameUrl(roleName), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetRoleByNameQueryKey = (roleName: string) => {\n\treturn [`/access-control/roles/by-name/${roleName}`] as const;\n};\n\nexport const getGetRoleByNameQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getRoleByName>>,\n\tTError = unknown,\n>(\n\troleName: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRoleByName>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetRoleByNameQueryKey(roleName);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getRoleByName>>> = ({\n\t\tsignal,\n\t}) => getRoleByName(roleName, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: roleName !== null && roleName !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getRoleByName>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetRoleByNameQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getRoleByName>>\n>;\nexport type GetRoleByNameQueryError = unknown;\n\nexport function useGetRoleByName<\n\tTData = Awaited<ReturnType<typeof getRoleByName>>,\n\tTError = unknown,\n>(\n\troleName: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRoleByName>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getRoleByName>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getRoleByName>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetRoleByName<\n\tTData = Awaited<ReturnType<typeof getRoleByName>>,\n\tTError = unknown,\n>(\n\troleName: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRoleByName>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getRoleByName>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getRoleByName>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetRoleByName<\n\tTData = Awaited<ReturnType<typeof getRoleByName>>,\n\tTError = unknown,\n>(\n\troleName: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRoleByName>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get role by name\n */\n\nexport function useGetRoleByName<\n\tTData = Awaited<ReturnType<typeof getRoleByName>>,\n\tTError = unknown,\n>(\n\troleName: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRoleByName>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetRoleByNameQueryOptions(roleName, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getGetRoleUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}`;\n};\n\n/**\n * Retrieves a role by its ID, including its permissions.\n * @summary Get role by ID\n */\nexport const getRole = async (\n\troleId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<RoleDetails> => {\n\treturn customFetch<RoleDetails>(getGetRoleUrl(roleId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetRoleQueryKey = (roleId: string) => {\n\treturn [`/access-control/roles/${roleId}`] as const;\n};\n\nexport const getGetRoleQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getRole>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetRoleQueryKey(roleId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getRole>>> = ({\n\t\tsignal,\n\t}) => getRole(roleId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: roleId !== null && roleId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData> & {\n\t\tqueryKey: DataTag<QueryKey, TData, TError>;\n\t};\n};\n\nexport type GetRoleQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getRole>>\n>;\nexport type GetRoleQueryError = unknown;\n\nexport function useGetRole<\n\tTData = Awaited<ReturnType<typeof getRole>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getRole>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getRole>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetRole<\n\tTData = Awaited<ReturnType<typeof getRole>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getRole>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getRole>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetRole<\n\tTData = Awaited<ReturnType<typeof getRole>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get role by ID\n */\n\nexport function useGetRole<\n\tTData = Awaited<ReturnType<typeof getRole>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getRole>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetRoleQueryOptions(roleId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteRoleUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}`;\n};\n\n/**\n * Deletes a role.\n * @summary Delete role\n */\nexport const deleteRole = async (\n\troleId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteRoleResponse> => {\n\treturn customFetch<DeleteRoleResponse>(getDeleteRoleUrl(roleId), {\n\t\t...options,\n\t\tmethod: \"DELETE\",\n\t});\n};\n\nexport const getDeleteRoleMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteRole>>,\n\t\tTError,\n\t\t{ roleId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteRole>>,\n\tTError,\n\t{ roleId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteRole\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteRole>>,\n\t\t{ roleId: string }\n\t> = (props) => {\n\t\tconst { roleId } = props ?? {};\n\n\t\treturn deleteRole(roleId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteRoleMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteRole>>\n>;\n\nexport type DeleteRoleMutationError = unknown;\n\n/**\n * @summary Delete role\n */\nexport const useDeleteRole = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteRole>>,\n\t\t\tTError,\n\t\t\t{ roleId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteRole>>,\n\tTError,\n\t{ roleId: string },\n\tTContext\n> => {\n\treturn useMutation(getDeleteRoleMutationOptions(options), queryClient);\n};\nexport const getUpdateRoleUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}`;\n};\n\n/**\n * Updates a role's attributes.\n * @summary Update role\n */\nexport const updateRole = async (\n\troleId: string,\n\tupdateRoleRequest?: UpdateRoleRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpdateRoleResponse> => {\n\treturn customFetch<UpdateRoleResponse>(getUpdateRoleUrl(roleId), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(updateRoleRequest),\n\t});\n};\n\nexport const getUpdateRoleMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateRole>>,\n\t\tTError,\n\t\t{ roleId: string; data?: UpdateRoleRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateRole>>,\n\tTError,\n\t{ roleId: string; data?: UpdateRoleRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateRole\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateRole>>,\n\t\t{ roleId: string; data?: UpdateRoleRequest }\n\t> = (props) => {\n\t\tconst { roleId, data } = props ?? {};\n\n\t\treturn updateRole(roleId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateRoleMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateRole>>\n>;\nexport type UpdateRoleMutationBody = UpdateRoleRequest | undefined;\nexport type UpdateRoleMutationError = unknown;\n\n/**\n * @summary Update role\n */\nexport const useUpdateRole = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateRole>>,\n\t\t\tTError,\n\t\t\t{ roleId: string; data?: UpdateRoleRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateRole>>,\n\tTError,\n\t{ roleId: string; data?: UpdateRoleRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdateRoleMutationOptions(options), queryClient);\n};\nexport const getListRolePermissionsUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}/permissions`;\n};\n\n/**\n * Lists all permissions assigned to a role.\n * @summary List role permissions\n */\nexport const listRolePermissions = async (\n\troleId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UserPermissionInfo[] | null> => {\n\treturn customFetch<UserPermissionInfo[] | null>(\n\t\tgetListRolePermissionsUrl(roleId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListRolePermissionsQueryKey = (roleId: string) => {\n\treturn [`/access-control/roles/${roleId}/permissions`] as const;\n};\n\nexport const getListRolePermissionsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listRolePermissions>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getListRolePermissionsQueryKey(roleId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listRolePermissions>>\n\t> = ({ signal }) =>\n\t\tlistRolePermissions(roleId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: roleId !== null && roleId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListRolePermissionsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listRolePermissions>>\n>;\nexport type ListRolePermissionsQueryError = unknown;\n\nexport function useListRolePermissions<\n\tTData = Awaited<ReturnType<typeof listRolePermissions>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRolePermissions<\n\tTData = Awaited<ReturnType<typeof listRolePermissions>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRolePermissions<\n\tTData = Awaited<ReturnType<typeof listRolePermissions>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List role permissions\n */\n\nexport function useListRolePermissions<\n\tTData = Awaited<ReturnType<typeof listRolePermissions>>,\n\tTError = unknown,\n>(\n\troleId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRolePermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListRolePermissionsQueryOptions(roleId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getReplaceRolePermissionsUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}/permissions`;\n};\n\n/**\n * Replaces all permissions assigned to a role with a new set.\n * @summary Replace role permissions\n */\nexport const replaceRolePermissions = async (\n\troleId: string,\n\treplaceRolePermissionsRequest?: ReplaceRolePermissionsRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ReplaceRolePermissionResponse> => {\n\treturn customFetch<ReplaceRolePermissionResponse>(\n\t\tgetReplaceRolePermissionsUrl(roleId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PUT\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(replaceRolePermissionsRequest),\n\t\t},\n\t);\n};\n\nexport const getReplaceRolePermissionsMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof replaceRolePermissions>>,\n\t\tTError,\n\t\t{ roleId: string; data?: ReplaceRolePermissionsRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof replaceRolePermissions>>,\n\tTError,\n\t{ roleId: string; data?: ReplaceRolePermissionsRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"replaceRolePermissions\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof replaceRolePermissions>>,\n\t\t{ roleId: string; data?: ReplaceRolePermissionsRequest }\n\t> = (props) => {\n\t\tconst { roleId, data } = props ?? {};\n\n\t\treturn replaceRolePermissions(roleId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type ReplaceRolePermissionsMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof replaceRolePermissions>>\n>;\nexport type ReplaceRolePermissionsMutationBody =\n\t| ReplaceRolePermissionsRequest\n\t| undefined;\nexport type ReplaceRolePermissionsMutationError = unknown;\n\n/**\n * @summary Replace role permissions\n */\nexport const useReplaceRolePermissions = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof replaceRolePermissions>>,\n\t\t\tTError,\n\t\t\t{ roleId: string; data?: ReplaceRolePermissionsRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof replaceRolePermissions>>,\n\tTError,\n\t{ roleId: string; data?: ReplaceRolePermissionsRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetReplaceRolePermissionsMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getAddRolePermissionUrl = (roleId: string) => {\n\treturn `/access-control/roles/${roleId}/permissions`;\n};\n\n/**\n * Assigns a permission to a role.\n * @summary Assign permission to role\n */\nexport const addRolePermission = async (\n\troleId: string,\n\taddRolePermissionRequest?: AddRolePermissionRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AddRolePermissionResponse> => {\n\treturn customFetch<AddRolePermissionResponse>(\n\t\tgetAddRolePermissionUrl(roleId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(addRolePermissionRequest),\n\t\t},\n\t);\n};\n\nexport const getAddRolePermissionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof addRolePermission>>,\n\t\tTError,\n\t\t{ roleId: string; data?: AddRolePermissionRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof addRolePermission>>,\n\tTError,\n\t{ roleId: string; data?: AddRolePermissionRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"addRolePermission\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof addRolePermission>>,\n\t\t{ roleId: string; data?: AddRolePermissionRequest }\n\t> = (props) => {\n\t\tconst { roleId, data } = props ?? {};\n\n\t\treturn addRolePermission(roleId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type AddRolePermissionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof addRolePermission>>\n>;\nexport type AddRolePermissionMutationBody =\n\t| AddRolePermissionRequest\n\t| undefined;\nexport type AddRolePermissionMutationError = unknown;\n\n/**\n * @summary Assign permission to role\n */\nexport const useAddRolePermission = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof addRolePermission>>,\n\t\t\tTError,\n\t\t\t{ roleId: string; data?: AddRolePermissionRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof addRolePermission>>,\n\tTError,\n\t{ roleId: string; data?: AddRolePermissionRequest },\n\tTContext\n> => {\n\treturn useMutation(getAddRolePermissionMutationOptions(options), queryClient);\n};\nexport const getRemoveRolePermissionUrl = (\n\troleId: string,\n\tpermissionId: string,\n) => {\n\treturn `/access-control/roles/${roleId}/permissions/${permissionId}`;\n};\n\n/**\n * Removes a permission from a role.\n * @summary Remove role permission\n */\nexport const removeRolePermission = async (\n\troleId: string,\n\tpermissionId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<RemoveRolePermissionResponse> => {\n\treturn customFetch<RemoveRolePermissionResponse>(\n\t\tgetRemoveRolePermissionUrl(roleId, permissionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getRemoveRolePermissionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof removeRolePermission>>,\n\t\tTError,\n\t\t{ roleId: string; permissionId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof removeRolePermission>>,\n\tTError,\n\t{ roleId: string; permissionId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"removeRolePermission\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof removeRolePermission>>,\n\t\t{ roleId: string; permissionId: string }\n\t> = (props) => {\n\t\tconst { roleId, permissionId } = props ?? {};\n\n\t\treturn removeRolePermission(roleId, permissionId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RemoveRolePermissionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof removeRolePermission>>\n>;\n\nexport type RemoveRolePermissionMutationError = unknown;\n\n/**\n * @summary Remove role permission\n */\nexport const useRemoveRolePermission = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof removeRolePermission>>,\n\t\t\tTError,\n\t\t\t{ roleId: string; permissionId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof removeRolePermission>>,\n\tTError,\n\t{ roleId: string; permissionId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetRemoveRolePermissionMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetUserPermissionsUrl = (userId: string) => {\n\treturn `/access-control/users/${userId}/permissions`;\n};\n\n/**\n * Retrieves all permissions granted to a user through their roles.\n * @summary Get user permissions\n */\nexport const getUserPermissions = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetUserPermissionsResponse> => {\n\treturn customFetch<GetUserPermissionsResponse>(\n\t\tgetGetUserPermissionsUrl(userId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetUserPermissionsQueryKey = (userId: string) => {\n\treturn [`/access-control/users/${userId}/permissions`] as const;\n};\n\nexport const getGetUserPermissionsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getUserPermissions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetUserPermissionsQueryKey(userId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getUserPermissions>>\n\t> = ({ signal }) => getUserPermissions(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetUserPermissionsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getUserPermissions>>\n>;\nexport type GetUserPermissionsQueryError = unknown;\n\nexport function useGetUserPermissions<\n\tTData = Awaited<ReturnType<typeof getUserPermissions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUserPermissions<\n\tTData = Awaited<ReturnType<typeof getUserPermissions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUserPermissions<\n\tTData = Awaited<ReturnType<typeof getUserPermissions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get user permissions\n */\n\nexport function useGetUserPermissions<\n\tTData = Awaited<ReturnType<typeof getUserPermissions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getUserPermissions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetUserPermissionsQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCheckUserPermissionsUrl = (userId: string) => {\n\treturn `/access-control/users/${userId}/permissions/check`;\n};\n\n/**\n * Checks whether a user has all the specified permissions.\n * @summary Check user permissions\n */\nexport const checkUserPermissions = async (\n\tuserId: string,\n\tcheckUserPermissionsRequest?: CheckUserPermissionsRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CheckUserPermissionsResponse> => {\n\treturn customFetch<CheckUserPermissionsResponse>(\n\t\tgetCheckUserPermissionsUrl(userId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(checkUserPermissionsRequest),\n\t\t},\n\t);\n};\n\nexport const getCheckUserPermissionsMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof checkUserPermissions>>,\n\t\tTError,\n\t\t{ userId: string; data?: CheckUserPermissionsRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof checkUserPermissions>>,\n\tTError,\n\t{ userId: string; data?: CheckUserPermissionsRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"checkUserPermissions\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof checkUserPermissions>>,\n\t\t{ userId: string; data?: CheckUserPermissionsRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn checkUserPermissions(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CheckUserPermissionsMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof checkUserPermissions>>\n>;\nexport type CheckUserPermissionsMutationBody =\n\t| CheckUserPermissionsRequest\n\t| undefined;\nexport type CheckUserPermissionsMutationError = unknown;\n\n/**\n * @summary Check user permissions\n */\nexport const useCheckUserPermissions = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof checkUserPermissions>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: CheckUserPermissionsRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof checkUserPermissions>>,\n\tTError,\n\t{ userId: string; data?: CheckUserPermissionsRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetCheckUserPermissionsMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getListUserRolesUrl = (userId: string) => {\n\treturn `/access-control/users/${userId}/roles`;\n};\n\n/**\n * Lists all roles assigned to a user.\n * @summary List user roles\n */\nexport const listUserRoles = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UserRoleInfo[] | null> => {\n\treturn customFetch<UserRoleInfo[] | null>(getListUserRolesUrl(userId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListUserRolesQueryKey = (userId: string) => {\n\treturn [`/access-control/users/${userId}/roles`] as const;\n};\n\nexport const getListUserRolesQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listUserRoles>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUserRoles>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListUserRolesQueryKey(userId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof listUserRoles>>> = ({\n\t\tsignal,\n\t}) => listUserRoles(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listUserRoles>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListUserRolesQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listUserRoles>>\n>;\nexport type ListUserRolesQueryError = unknown;\n\nexport function useListUserRoles<\n\tTData = Awaited<ReturnType<typeof listUserRoles>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUserRoles>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserRoles>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserRoles>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserRoles<\n\tTData = Awaited<ReturnType<typeof listUserRoles>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUserRoles>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserRoles>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserRoles>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserRoles<\n\tTData = Awaited<ReturnType<typeof listUserRoles>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUserRoles>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List user roles\n */\n\nexport function useListUserRoles<\n\tTData = Awaited<ReturnType<typeof listUserRoles>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUserRoles>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListUserRolesQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getReplaceUserRolesUrl = (userId: string) => {\n\treturn `/access-control/users/${userId}/roles`;\n};\n\n/**\n * Replaces all roles assigned to a user with a new set.\n * @summary Replace user roles\n */\nexport const replaceUserRoles = async (\n\tuserId: string,\n\treplaceUserRolesRequest?: ReplaceUserRolesRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ReplaceUserRolesResponse> => {\n\treturn customFetch<ReplaceUserRolesResponse>(getReplaceUserRolesUrl(userId), {\n\t\t...options,\n\t\tmethod: \"PUT\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(replaceUserRolesRequest),\n\t});\n};\n\nexport const getReplaceUserRolesMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof replaceUserRoles>>,\n\t\tTError,\n\t\t{ userId: string; data?: ReplaceUserRolesRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof replaceUserRoles>>,\n\tTError,\n\t{ userId: string; data?: ReplaceUserRolesRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"replaceUserRoles\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof replaceUserRoles>>,\n\t\t{ userId: string; data?: ReplaceUserRolesRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn replaceUserRoles(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type ReplaceUserRolesMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof replaceUserRoles>>\n>;\nexport type ReplaceUserRolesMutationBody = ReplaceUserRolesRequest | undefined;\nexport type ReplaceUserRolesMutationError = unknown;\n\n/**\n * @summary Replace user roles\n */\nexport const useReplaceUserRoles = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof replaceUserRoles>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: ReplaceUserRolesRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof replaceUserRoles>>,\n\tTError,\n\t{ userId: string; data?: ReplaceUserRolesRequest },\n\tTContext\n> => {\n\treturn useMutation(getReplaceUserRolesMutationOptions(options), queryClient);\n};\nexport const getAssignUserRoleUrl = (userId: string) => {\n\treturn `/access-control/users/${userId}/roles`;\n};\n\n/**\n * Assigns a role to a user.\n * @summary Assign role to user\n */\nexport const assignUserRole = async (\n\tuserId: string,\n\tassignUserRoleRequest?: AssignUserRoleRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AssignUserRoleResponse> => {\n\treturn customFetch<AssignUserRoleResponse>(getAssignUserRoleUrl(userId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(assignUserRoleRequest),\n\t});\n};\n\nexport const getAssignUserRoleMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof assignUserRole>>,\n\t\tTError,\n\t\t{ userId: string; data?: AssignUserRoleRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof assignUserRole>>,\n\tTError,\n\t{ userId: string; data?: AssignUserRoleRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"assignUserRole\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof assignUserRole>>,\n\t\t{ userId: string; data?: AssignUserRoleRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn assignUserRole(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type AssignUserRoleMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof assignUserRole>>\n>;\nexport type AssignUserRoleMutationBody = AssignUserRoleRequest | undefined;\nexport type AssignUserRoleMutationError = unknown;\n\n/**\n * @summary Assign role to user\n */\nexport const useAssignUserRole = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof assignUserRole>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: AssignUserRoleRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof assignUserRole>>,\n\tTError,\n\t{ userId: string; data?: AssignUserRoleRequest },\n\tTContext\n> => {\n\treturn useMutation(getAssignUserRoleMutationOptions(options), queryClient);\n};\nexport const getRemoveUserRoleUrl = (userId: string, roleId: string) => {\n\treturn `/access-control/users/${userId}/roles/${roleId}`;\n};\n\n/**\n * Removes a role from a user.\n * @summary Remove user role\n */\nexport const removeUserRole = async (\n\tuserId: string,\n\troleId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<RemoveUserRoleResponse> => {\n\treturn customFetch<RemoveUserRoleResponse>(\n\t\tgetRemoveUserRoleUrl(userId, roleId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getRemoveUserRoleMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof removeUserRole>>,\n\t\tTError,\n\t\t{ userId: string; roleId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof removeUserRole>>,\n\tTError,\n\t{ userId: string; roleId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"removeUserRole\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof removeUserRole>>,\n\t\t{ userId: string; roleId: string }\n\t> = (props) => {\n\t\tconst { userId, roleId } = props ?? {};\n\n\t\treturn removeUserRole(userId, roleId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RemoveUserRoleMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof removeUserRole>>\n>;\n\nexport type RemoveUserRoleMutationError = unknown;\n\n/**\n * @summary Remove user role\n */\nexport const useRemoveUserRole = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof removeUserRole>>,\n\t\t\tTError,\n\t\t\t{ userId: string; roleId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof removeUserRole>>,\n\tTError,\n\t{ userId: string; roleId: string },\n\tTContext\n> => {\n\treturn useMutation(getRemoveUserRoleMutationOptions(options), queryClient);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as accessControl from \"../../gen/endpoints/access-control/access-control\";\n\nexport class AccessControlPlugin implements Plugin {\n public readonly id = \"accessControl\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return wrapGenerated(accessControl, client);\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tCreateAccountRequest,\n\tCreateAccountResponse,\n\tDeleteAccountResponse,\n\tGetAccountByIDResponse,\n\tUpdateAccountRequest,\n\tUpdateAccountResponse,\n\tUserAccountsResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getGetAccountUrl = (id: string) => {\n\treturn `/admin/accounts/${id}`;\n};\n\n/**\n * Retrieves an account by its ID.\n * @summary Get account by ID\n */\nexport const getAccount = async (\n\tid: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetAccountByIDResponse> => {\n\treturn customFetch<GetAccountByIDResponse>(getGetAccountUrl(id), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetAccountQueryKey = (id: string) => {\n\treturn [`/admin/accounts/${id}`] as const;\n};\n\nexport const getGetAccountQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getAccount>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getAccount>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetAccountQueryKey(id);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getAccount>>> = ({\n\t\tsignal,\n\t}) => getAccount(id, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: id !== null && id !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getAccount>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetAccountQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getAccount>>\n>;\nexport type GetAccountQueryError = unknown;\n\nexport function useGetAccount<\n\tTData = Awaited<ReturnType<typeof getAccount>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getAccount>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getAccount>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getAccount>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetAccount<\n\tTData = Awaited<ReturnType<typeof getAccount>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getAccount>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getAccount>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getAccount>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetAccount<\n\tTData = Awaited<ReturnType<typeof getAccount>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getAccount>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get account by ID\n */\n\nexport function useGetAccount<\n\tTData = Awaited<ReturnType<typeof getAccount>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getAccount>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetAccountQueryOptions(id, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteAccountUrl = (id: string) => {\n\treturn `/admin/accounts/${id}`;\n};\n\n/**\n * Deletes an account.\n * @summary Delete account\n */\nexport const deleteAccount = async (\n\tid: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteAccountResponse> => {\n\treturn customFetch<DeleteAccountResponse>(getDeleteAccountUrl(id), {\n\t\t...options,\n\t\tmethod: \"DELETE\",\n\t});\n};\n\nexport const getDeleteAccountMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteAccount>>,\n\t\tTError,\n\t\t{ id: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteAccount>>,\n\tTError,\n\t{ id: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteAccount\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteAccount>>,\n\t\t{ id: string }\n\t> = (props) => {\n\t\tconst { id } = props ?? {};\n\n\t\treturn deleteAccount(id, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteAccountMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteAccount>>\n>;\n\nexport type DeleteAccountMutationError = unknown;\n\n/**\n * @summary Delete account\n */\nexport const useDeleteAccount = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteAccount>>,\n\t\t\tTError,\n\t\t\t{ id: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteAccount>>,\n\tTError,\n\t{ id: string },\n\tTContext\n> => {\n\treturn useMutation(getDeleteAccountMutationOptions(options), queryClient);\n};\nexport const getUpdateAccountUrl = (id: string) => {\n\treturn `/admin/accounts/${id}`;\n};\n\n/**\n * Updates an account's attributes.\n * @summary Update account\n */\nexport const updateAccount = async (\n\tid: string,\n\tupdateAccountRequest?: UpdateAccountRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpdateAccountResponse> => {\n\treturn customFetch<UpdateAccountResponse>(getUpdateAccountUrl(id), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(updateAccountRequest),\n\t});\n};\n\nexport const getUpdateAccountMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateAccount>>,\n\t\tTError,\n\t\t{ id: string; data?: UpdateAccountRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateAccount>>,\n\tTError,\n\t{ id: string; data?: UpdateAccountRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateAccount\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateAccount>>,\n\t\t{ id: string; data?: UpdateAccountRequest }\n\t> = (props) => {\n\t\tconst { id, data } = props ?? {};\n\n\t\treturn updateAccount(id, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateAccountMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateAccount>>\n>;\nexport type UpdateAccountMutationBody = UpdateAccountRequest | undefined;\nexport type UpdateAccountMutationError = unknown;\n\n/**\n * @summary Update account\n */\nexport const useUpdateAccount = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateAccount>>,\n\t\t\tTError,\n\t\t\t{ id: string; data?: UpdateAccountRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateAccount>>,\n\tTError,\n\t{ id: string; data?: UpdateAccountRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdateAccountMutationOptions(options), queryClient);\n};\nexport const getListUserAccountsUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/accounts`;\n};\n\n/**\n * Lists all accounts for a user.\n * @summary List user accounts\n */\nexport const listUserAccounts = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UserAccountsResponse> => {\n\treturn customFetch<UserAccountsResponse>(getListUserAccountsUrl(userId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListUserAccountsQueryKey = (userId: string) => {\n\treturn [`/admin/users/${userId}/accounts`] as const;\n};\n\nexport const getListUserAccountsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listUserAccounts>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getListUserAccountsQueryKey(userId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listUserAccounts>>\n\t> = ({ signal }) => listUserAccounts(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListUserAccountsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listUserAccounts>>\n>;\nexport type ListUserAccountsQueryError = unknown;\n\nexport function useListUserAccounts<\n\tTData = Awaited<ReturnType<typeof listUserAccounts>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserAccounts<\n\tTData = Awaited<ReturnType<typeof listUserAccounts>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserAccounts<\n\tTData = Awaited<ReturnType<typeof listUserAccounts>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List user accounts\n */\n\nexport function useListUserAccounts<\n\tTData = Awaited<ReturnType<typeof listUserAccounts>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserAccounts>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListUserAccountsQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateAccountUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/accounts`;\n};\n\n/**\n * Creates a new account for a user.\n * @summary Create account\n */\nexport const createAccount = async (\n\tuserId: string,\n\tcreateAccountRequest?: CreateAccountRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CreateAccountResponse> => {\n\treturn customFetch<CreateAccountResponse>(getCreateAccountUrl(userId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createAccountRequest),\n\t});\n};\n\nexport const getCreateAccountMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createAccount>>,\n\t\tTError,\n\t\t{ userId: string; data?: CreateAccountRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createAccount>>,\n\tTError,\n\t{ userId: string; data?: CreateAccountRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createAccount\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createAccount>>,\n\t\t{ userId: string; data?: CreateAccountRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn createAccount(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateAccountMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createAccount>>\n>;\nexport type CreateAccountMutationBody = CreateAccountRequest | undefined;\nexport type CreateAccountMutationError = unknown;\n\n/**\n * @summary Create account\n */\nexport const useCreateAccount = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createAccount>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: CreateAccountRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createAccount>>,\n\tTError,\n\t{ userId: string; data?: CreateAccountRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreateAccountMutationOptions(options), queryClient);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tGetImpersonationByIDResponse,\n\tImpersonation,\n\tStartImpersonationRequest,\n\tStartImpersonationResponse,\n\tStopImpersonationResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListImpersonationsUrl = () => {\n\treturn `/admin/impersonations`;\n};\n\n/**\n * Lists all impersonations.\n * @summary List impersonations\n */\nexport const listImpersonations = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Impersonation[] | null> => {\n\treturn customFetch<Impersonation[] | null>(getListImpersonationsUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListImpersonationsQueryKey = () => {\n\treturn [`/admin/impersonations`] as const;\n};\n\nexport const getListImpersonationsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listImpersonations>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<\n\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\tTError,\n\t\t\tTData\n\t\t>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListImpersonationsQueryKey();\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listImpersonations>>\n\t> = ({ signal }) => listImpersonations({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListImpersonationsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listImpersonations>>\n>;\nexport type ListImpersonationsQueryError = unknown;\n\nexport function useListImpersonations<\n\tTData = Awaited<ReturnType<typeof listImpersonations>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListImpersonations<\n\tTData = Awaited<ReturnType<typeof listImpersonations>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListImpersonations<\n\tTData = Awaited<ReturnType<typeof listImpersonations>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List impersonations\n */\n\nexport function useListImpersonations<\n\tTData = Awaited<ReturnType<typeof listImpersonations>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listImpersonations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListImpersonationsQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getStartImpersonationUrl = () => {\n\treturn `/admin/impersonations`;\n};\n\n/**\n * Starts an impersonation session as a target user.\n * @summary Start impersonation\n */\nexport const startImpersonation = async (\n\tstartImpersonationRequest?: StartImpersonationRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<StartImpersonationResponse> => {\n\treturn customFetch<StartImpersonationResponse>(getStartImpersonationUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(startImpersonationRequest),\n\t});\n};\n\nexport const getStartImpersonationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof startImpersonation>>,\n\t\tTError,\n\t\t{ data?: StartImpersonationRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof startImpersonation>>,\n\tTError,\n\t{ data?: StartImpersonationRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"startImpersonation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof startImpersonation>>,\n\t\t{ data?: StartImpersonationRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn startImpersonation(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type StartImpersonationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof startImpersonation>>\n>;\nexport type StartImpersonationMutationBody =\n\t| StartImpersonationRequest\n\t| undefined;\nexport type StartImpersonationMutationError = unknown;\n\n/**\n * @summary Start impersonation\n */\nexport const useStartImpersonation = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof startImpersonation>>,\n\t\t\tTError,\n\t\t\t{ data?: StartImpersonationRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof startImpersonation>>,\n\tTError,\n\t{ data?: StartImpersonationRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetStartImpersonationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetImpersonationUrl = (impersonationId: string) => {\n\treturn `/admin/impersonations/${impersonationId}`;\n};\n\n/**\n * Retrieves an impersonation by its ID.\n * @summary Get impersonation by ID\n */\nexport const getImpersonation = async (\n\timpersonationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetImpersonationByIDResponse> => {\n\treturn customFetch<GetImpersonationByIDResponse>(\n\t\tgetGetImpersonationUrl(impersonationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetImpersonationQueryKey = (impersonationId: string) => {\n\treturn [`/admin/impersonations/${impersonationId}`] as const;\n};\n\nexport const getGetImpersonationQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getImpersonation>>,\n\tTError = unknown,\n>(\n\timpersonationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetImpersonationQueryKey(impersonationId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getImpersonation>>\n\t> = ({ signal }) =>\n\t\tgetImpersonation(impersonationId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: impersonationId !== null && impersonationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetImpersonationQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getImpersonation>>\n>;\nexport type GetImpersonationQueryError = unknown;\n\nexport function useGetImpersonation<\n\tTData = Awaited<ReturnType<typeof getImpersonation>>,\n\tTError = unknown,\n>(\n\timpersonationId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetImpersonation<\n\tTData = Awaited<ReturnType<typeof getImpersonation>>,\n\tTError = unknown,\n>(\n\timpersonationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetImpersonation<\n\tTData = Awaited<ReturnType<typeof getImpersonation>>,\n\tTError = unknown,\n>(\n\timpersonationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get impersonation by ID\n */\n\nexport function useGetImpersonation<\n\tTData = Awaited<ReturnType<typeof getImpersonation>>,\n\tTError = unknown,\n>(\n\timpersonationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getImpersonation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetImpersonationQueryOptions(\n\t\timpersonationId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getStopImpersonationUrl = (impersonationId: string) => {\n\treturn `/admin/impersonations/${impersonationId}/stop`;\n};\n\n/**\n * Stops an impersonation session and restores the original session.\n * @summary Stop impersonation\n */\nexport const stopImpersonation = async (\n\timpersonationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<StopImpersonationResponse> => {\n\treturn customFetch<StopImpersonationResponse>(\n\t\tgetStopImpersonationUrl(impersonationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t},\n\t);\n};\n\nexport const getStopImpersonationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof stopImpersonation>>,\n\t\tTError,\n\t\t{ impersonationId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof stopImpersonation>>,\n\tTError,\n\t{ impersonationId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"stopImpersonation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof stopImpersonation>>,\n\t\t{ impersonationId: string }\n\t> = (props) => {\n\t\tconst { impersonationId } = props ?? {};\n\n\t\treturn stopImpersonation(impersonationId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type StopImpersonationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof stopImpersonation>>\n>;\n\nexport type StopImpersonationMutationError = unknown;\n\n/**\n * @summary Stop impersonation\n */\nexport const useStopImpersonation = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof stopImpersonation>>,\n\t\t\tTError,\n\t\t\t{ impersonationId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof stopImpersonation>>,\n\tTError,\n\t{ impersonationId: string },\n\tTContext\n> => {\n\treturn useMutation(getStopImpersonationMutationOptions(options), queryClient);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAdminSessionState,\n\tCreateSessionStateRequest,\n\tDeleteSessionStateResponse,\n\tGetSessionStateResponse,\n\tRevokeSessionRequest,\n\tRevokeSessionResponse,\n\tUpsertSessionStateRequest,\n\tUpsertSessionStateResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListRevokedSessionStatesUrl = () => {\n\treturn `/admin/sessions/states/revoked`;\n};\n\n/**\n * Lists all revoked session states.\n * @summary List revoked session states\n */\nexport const listRevokedSessionStates = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AdminSessionState[] | null> => {\n\treturn customFetch<AdminSessionState[] | null>(\n\t\tgetListRevokedSessionStatesUrl(),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListRevokedSessionStatesQueryKey = () => {\n\treturn [`/admin/sessions/states/revoked`] as const;\n};\n\nexport const getListRevokedSessionStatesQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listRevokedSessionStates>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<\n\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\tTError,\n\t\t\tTData\n\t\t>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getListRevokedSessionStatesQueryKey();\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>\n\t> = ({ signal }) => listRevokedSessionStates({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListRevokedSessionStatesQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listRevokedSessionStates>>\n>;\nexport type ListRevokedSessionStatesQueryError = unknown;\n\nexport function useListRevokedSessionStates<\n\tTData = Awaited<ReturnType<typeof listRevokedSessionStates>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRevokedSessionStates<\n\tTData = Awaited<ReturnType<typeof listRevokedSessionStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListRevokedSessionStates<\n\tTData = Awaited<ReturnType<typeof listRevokedSessionStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List revoked session states\n */\n\nexport function useListRevokedSessionStates<\n\tTData = Awaited<ReturnType<typeof listRevokedSessionStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listRevokedSessionStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListRevokedSessionStatesQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getRevokeSessionUrl = (sessionId: string) => {\n\treturn `/admin/sessions/${sessionId}/revoke`;\n};\n\n/**\n * Revokes a session.\n * @summary Revoke session\n */\nexport const revokeSession = async (\n\tsessionId: string,\n\trevokeSessionRequest?: RevokeSessionRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<RevokeSessionResponse> => {\n\treturn customFetch<RevokeSessionResponse>(getRevokeSessionUrl(sessionId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(revokeSessionRequest),\n\t});\n};\n\nexport const getRevokeSessionMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof revokeSession>>,\n\t\tTError,\n\t\t{ sessionId: string; data?: RevokeSessionRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof revokeSession>>,\n\tTError,\n\t{ sessionId: string; data?: RevokeSessionRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"revokeSession\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof revokeSession>>,\n\t\t{ sessionId: string; data?: RevokeSessionRequest }\n\t> = (props) => {\n\t\tconst { sessionId, data } = props ?? {};\n\n\t\treturn revokeSession(sessionId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RevokeSessionMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof revokeSession>>\n>;\nexport type RevokeSessionMutationBody = RevokeSessionRequest | undefined;\nexport type RevokeSessionMutationError = unknown;\n\n/**\n * @summary Revoke session\n */\nexport const useRevokeSession = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof revokeSession>>,\n\t\t\tTError,\n\t\t\t{ sessionId: string; data?: RevokeSessionRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof revokeSession>>,\n\tTError,\n\t{ sessionId: string; data?: RevokeSessionRequest },\n\tTContext\n> => {\n\treturn useMutation(getRevokeSessionMutationOptions(options), queryClient);\n};\nexport const getGetSessionStateUrl = (sessionId: string) => {\n\treturn `/admin/sessions/${sessionId}/state`;\n};\n\n/**\n * Retrieves the state of a session.\n * @summary Get session state\n */\nexport const getSessionState = async (\n\tsessionId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetSessionStateResponse> => {\n\treturn customFetch<GetSessionStateResponse>(\n\t\tgetGetSessionStateUrl(sessionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetSessionStateQueryKey = (sessionId: string) => {\n\treturn [`/admin/sessions/${sessionId}/state`] as const;\n};\n\nexport const getGetSessionStateQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getSessionState>>,\n\tTError = unknown,\n>(\n\tsessionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetSessionStateQueryKey(sessionId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getSessionState>>> = ({\n\t\tsignal,\n\t}) => getSessionState(sessionId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: sessionId !== null && sessionId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetSessionStateQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getSessionState>>\n>;\nexport type GetSessionStateQueryError = unknown;\n\nexport function useGetSessionState<\n\tTData = Awaited<ReturnType<typeof getSessionState>>,\n\tTError = unknown,\n>(\n\tsessionId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getSessionState>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetSessionState<\n\tTData = Awaited<ReturnType<typeof getSessionState>>,\n\tTError = unknown,\n>(\n\tsessionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getSessionState>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetSessionState<\n\tTData = Awaited<ReturnType<typeof getSessionState>>,\n\tTError = unknown,\n>(\n\tsessionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get session state\n */\n\nexport function useGetSessionState<\n\tTData = Awaited<ReturnType<typeof getSessionState>>,\n\tTError = unknown,\n>(\n\tsessionId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getSessionState>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetSessionStateQueryOptions(sessionId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateSessionStateUrl = (sessionId: string) => {\n\treturn `/admin/sessions/${sessionId}/state`;\n};\n\n/**\n * Creates the state for a session.\n * @summary Create session state\n */\nexport const createSessionState = async (\n\tsessionId: string,\n\tcreateSessionStateRequest?: CreateSessionStateRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpsertSessionStateResponse> => {\n\treturn customFetch<UpsertSessionStateResponse>(\n\t\tgetCreateSessionStateUrl(sessionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(createSessionStateRequest),\n\t\t},\n\t);\n};\n\nexport const getCreateSessionStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createSessionState>>,\n\t\tTError,\n\t\t{ sessionId: string; data?: CreateSessionStateRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createSessionState>>,\n\tTError,\n\t{ sessionId: string; data?: CreateSessionStateRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createSessionState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createSessionState>>,\n\t\t{ sessionId: string; data?: CreateSessionStateRequest }\n\t> = (props) => {\n\t\tconst { sessionId, data } = props ?? {};\n\n\t\treturn createSessionState(sessionId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateSessionStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createSessionState>>\n>;\nexport type CreateSessionStateMutationBody =\n\t| CreateSessionStateRequest\n\t| undefined;\nexport type CreateSessionStateMutationError = unknown;\n\n/**\n * @summary Create session state\n */\nexport const useCreateSessionState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createSessionState>>,\n\t\t\tTError,\n\t\t\t{ sessionId: string; data?: CreateSessionStateRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createSessionState>>,\n\tTError,\n\t{ sessionId: string; data?: CreateSessionStateRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetCreateSessionStateMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getDeleteSessionStateUrl = (sessionId: string) => {\n\treturn `/admin/sessions/${sessionId}/state`;\n};\n\n/**\n * Deletes the state of a session.\n * @summary Delete session state\n */\nexport const deleteSessionState = async (\n\tsessionId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteSessionStateResponse> => {\n\treturn customFetch<DeleteSessionStateResponse>(\n\t\tgetDeleteSessionStateUrl(sessionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeleteSessionStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteSessionState>>,\n\t\tTError,\n\t\t{ sessionId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteSessionState>>,\n\tTError,\n\t{ sessionId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteSessionState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteSessionState>>,\n\t\t{ sessionId: string }\n\t> = (props) => {\n\t\tconst { sessionId } = props ?? {};\n\n\t\treturn deleteSessionState(sessionId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteSessionStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteSessionState>>\n>;\n\nexport type DeleteSessionStateMutationError = unknown;\n\n/**\n * @summary Delete session state\n */\nexport const useDeleteSessionState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteSessionState>>,\n\t\t\tTError,\n\t\t\t{ sessionId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteSessionState>>,\n\tTError,\n\t{ sessionId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetDeleteSessionStateMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getUpdateSessionStateUrl = (sessionId: string) => {\n\treturn `/admin/sessions/${sessionId}/state`;\n};\n\n/**\n * Updates the state of a session.\n * @summary Update session state\n */\nexport const updateSessionState = async (\n\tsessionId: string,\n\tupsertSessionStateRequest?: UpsertSessionStateRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpsertSessionStateResponse> => {\n\treturn customFetch<UpsertSessionStateResponse>(\n\t\tgetUpdateSessionStateUrl(sessionId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(upsertSessionStateRequest),\n\t\t},\n\t);\n};\n\nexport const getUpdateSessionStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateSessionState>>,\n\t\tTError,\n\t\t{ sessionId: string; data?: UpsertSessionStateRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateSessionState>>,\n\tTError,\n\t{ sessionId: string; data?: UpsertSessionStateRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateSessionState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateSessionState>>,\n\t\t{ sessionId: string; data?: UpsertSessionStateRequest }\n\t> = (props) => {\n\t\tconst { sessionId, data } = props ?? {};\n\n\t\treturn updateSessionState(sessionId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateSessionStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateSessionState>>\n>;\nexport type UpdateSessionStateMutationBody =\n\t| UpsertSessionStateRequest\n\t| undefined;\nexport type UpdateSessionStateMutationError = unknown;\n\n/**\n * @summary Update session state\n */\nexport const useUpdateSessionState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateSessionState>>,\n\t\t\tTError,\n\t\t\t{ sessionId: string; data?: UpsertSessionStateRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateSessionState>>,\n\tTError,\n\t{ sessionId: string; data?: UpsertSessionStateRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetUpdateSessionStateMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAdminUserSession,\n\tAdminUserState,\n\tBanUserRequest,\n\tBanUserResponse,\n\tCreateUserStateRequest,\n\tDeleteUserStateResponse,\n\tGetUserStateResponse,\n\tUnbanUserResponse,\n\tUpsertUserStateRequest,\n\tUpsertUserStateResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListBannedUserStatesUrl = () => {\n\treturn `/admin/users/states/banned`;\n};\n\n/**\n * Lists all banned user states.\n * @summary List banned user states\n */\nexport const listBannedUserStates = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AdminUserState[] | null> => {\n\treturn customFetch<AdminUserState[] | null>(getListBannedUserStatesUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListBannedUserStatesQueryKey = () => {\n\treturn [`/admin/users/states/banned`] as const;\n};\n\nexport const getListBannedUserStatesQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listBannedUserStates>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<\n\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\tTError,\n\t\t\tTData\n\t\t>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListBannedUserStatesQueryKey();\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listBannedUserStates>>\n\t> = ({ signal }) => listBannedUserStates({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListBannedUserStatesQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listBannedUserStates>>\n>;\nexport type ListBannedUserStatesQueryError = unknown;\n\nexport function useListBannedUserStates<\n\tTData = Awaited<ReturnType<typeof listBannedUserStates>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListBannedUserStates<\n\tTData = Awaited<ReturnType<typeof listBannedUserStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListBannedUserStates<\n\tTData = Awaited<ReturnType<typeof listBannedUserStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List banned user states\n */\n\nexport function useListBannedUserStates<\n\tTData = Awaited<ReturnType<typeof listBannedUserStates>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listBannedUserStates>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListBannedUserStatesQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getBanUserUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/ban`;\n};\n\n/**\n * Bans a user.\n * @summary Ban user\n */\nexport const banUser = async (\n\tuserId: string,\n\tbanUserRequest?: BanUserRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<BanUserResponse> => {\n\treturn customFetch<BanUserResponse>(getBanUserUrl(userId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(banUserRequest),\n\t});\n};\n\nexport const getBanUserMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof banUser>>,\n\t\tTError,\n\t\t{ userId: string; data?: BanUserRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof banUser>>,\n\tTError,\n\t{ userId: string; data?: BanUserRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"banUser\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof banUser>>,\n\t\t{ userId: string; data?: BanUserRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn banUser(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type BanUserMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof banUser>>\n>;\nexport type BanUserMutationBody = BanUserRequest | undefined;\nexport type BanUserMutationError = unknown;\n\n/**\n * @summary Ban user\n */\nexport const useBanUser = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof banUser>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: BanUserRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof banUser>>,\n\tTError,\n\t{ userId: string; data?: BanUserRequest },\n\tTContext\n> => {\n\treturn useMutation(getBanUserMutationOptions(options), queryClient);\n};\nexport const getListUserSessionsUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/sessions`;\n};\n\n/**\n * Lists all sessions for a user.\n * @summary List user sessions\n */\nexport const listUserSessions = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AdminUserSession[] | null> => {\n\treturn customFetch<AdminUserSession[] | null>(\n\t\tgetListUserSessionsUrl(userId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListUserSessionsQueryKey = (userId: string) => {\n\treturn [`/admin/users/${userId}/sessions`] as const;\n};\n\nexport const getListUserSessionsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listUserSessions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getListUserSessionsQueryKey(userId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listUserSessions>>\n\t> = ({ signal }) => listUserSessions(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListUserSessionsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listUserSessions>>\n>;\nexport type ListUserSessionsQueryError = unknown;\n\nexport function useListUserSessions<\n\tTData = Awaited<ReturnType<typeof listUserSessions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserSessions<\n\tTData = Awaited<ReturnType<typeof listUserSessions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUserSessions<\n\tTData = Awaited<ReturnType<typeof listUserSessions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List user sessions\n */\n\nexport function useListUserSessions<\n\tTData = Awaited<ReturnType<typeof listUserSessions>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listUserSessions>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListUserSessionsQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getGetUserStateUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/state`;\n};\n\n/**\n * Retrieves the state of a user.\n * @summary Get user state\n */\nexport const getUserState = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetUserStateResponse> => {\n\treturn customFetch<GetUserStateResponse>(getGetUserStateUrl(userId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetUserStateQueryKey = (userId: string) => {\n\treturn [`/admin/users/${userId}/state`] as const;\n};\n\nexport const getGetUserStateQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getUserState>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUserState>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetUserStateQueryKey(userId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getUserState>>> = ({\n\t\tsignal,\n\t}) => getUserState(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getUserState>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetUserStateQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getUserState>>\n>;\nexport type GetUserStateQueryError = unknown;\n\nexport function useGetUserState<\n\tTData = Awaited<ReturnType<typeof getUserState>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUserState>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUserState>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUserState>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUserState<\n\tTData = Awaited<ReturnType<typeof getUserState>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUserState>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUserState>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUserState>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUserState<\n\tTData = Awaited<ReturnType<typeof getUserState>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUserState>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get user state\n */\n\nexport function useGetUserState<\n\tTData = Awaited<ReturnType<typeof getUserState>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUserState>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetUserStateQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateUserStateUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/state`;\n};\n\n/**\n * Creates the state for a user.\n * @summary Create user state\n */\nexport const createUserState = async (\n\tuserId: string,\n\tcreateUserStateRequest?: CreateUserStateRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpsertUserStateResponse> => {\n\treturn customFetch<UpsertUserStateResponse>(getCreateUserStateUrl(userId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createUserStateRequest),\n\t});\n};\n\nexport const getCreateUserStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createUserState>>,\n\t\tTError,\n\t\t{ userId: string; data?: CreateUserStateRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createUserState>>,\n\tTError,\n\t{ userId: string; data?: CreateUserStateRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createUserState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createUserState>>,\n\t\t{ userId: string; data?: CreateUserStateRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn createUserState(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateUserStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createUserState>>\n>;\nexport type CreateUserStateMutationBody = CreateUserStateRequest | undefined;\nexport type CreateUserStateMutationError = unknown;\n\n/**\n * @summary Create user state\n */\nexport const useCreateUserState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createUserState>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: CreateUserStateRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createUserState>>,\n\tTError,\n\t{ userId: string; data?: CreateUserStateRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreateUserStateMutationOptions(options), queryClient);\n};\nexport const getDeleteUserStateUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/state`;\n};\n\n/**\n * Deletes the state of a user.\n * @summary Delete user state\n */\nexport const deleteUserState = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteUserStateResponse> => {\n\treturn customFetch<DeleteUserStateResponse>(getDeleteUserStateUrl(userId), {\n\t\t...options,\n\t\tmethod: \"DELETE\",\n\t});\n};\n\nexport const getDeleteUserStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteUserState>>,\n\t\tTError,\n\t\t{ userId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteUserState>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteUserState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteUserState>>,\n\t\t{ userId: string }\n\t> = (props) => {\n\t\tconst { userId } = props ?? {};\n\n\t\treturn deleteUserState(userId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteUserStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteUserState>>\n>;\n\nexport type DeleteUserStateMutationError = unknown;\n\n/**\n * @summary Delete user state\n */\nexport const useDeleteUserState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteUserState>>,\n\t\t\tTError,\n\t\t\t{ userId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteUserState>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\treturn useMutation(getDeleteUserStateMutationOptions(options), queryClient);\n};\nexport const getUpdateUserStateUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/state`;\n};\n\n/**\n * Updates the state of a user.\n * @summary Update user state\n */\nexport const updateUserState = async (\n\tuserId: string,\n\tupsertUserStateRequest?: UpsertUserStateRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpsertUserStateResponse> => {\n\treturn customFetch<UpsertUserStateResponse>(getUpdateUserStateUrl(userId), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(upsertUserStateRequest),\n\t});\n};\n\nexport const getUpdateUserStateMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateUserState>>,\n\t\tTError,\n\t\t{ userId: string; data?: UpsertUserStateRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateUserState>>,\n\tTError,\n\t{ userId: string; data?: UpsertUserStateRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateUserState\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateUserState>>,\n\t\t{ userId: string; data?: UpsertUserStateRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn updateUserState(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateUserStateMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateUserState>>\n>;\nexport type UpdateUserStateMutationBody = UpsertUserStateRequest | undefined;\nexport type UpdateUserStateMutationError = unknown;\n\n/**\n * @summary Update user state\n */\nexport const useUpdateUserState = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateUserState>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: UpsertUserStateRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateUserState>>,\n\tTError,\n\t{ userId: string; data?: UpsertUserStateRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdateUserStateMutationOptions(options), queryClient);\n};\nexport const getUnbanUserUrl = (userId: string) => {\n\treturn `/admin/users/${userId}/unban`;\n};\n\n/**\n * Unbans a user.\n * @summary Unban user\n */\nexport const unbanUser = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UnbanUserResponse> => {\n\treturn customFetch<UnbanUserResponse>(getUnbanUserUrl(userId), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t});\n};\n\nexport const getUnbanUserMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof unbanUser>>,\n\t\tTError,\n\t\t{ userId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof unbanUser>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"unbanUser\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof unbanUser>>,\n\t\t{ userId: string }\n\t> = (props) => {\n\t\tconst { userId } = props ?? {};\n\n\t\treturn unbanUser(userId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UnbanUserMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof unbanUser>>\n>;\n\nexport type UnbanUserMutationError = unknown;\n\n/**\n * @summary Unban user\n */\nexport const useUnbanUser = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof unbanUser>>,\n\t\t\tTError,\n\t\t\t{ userId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof unbanUser>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\treturn useMutation(getUnbanUserMutationOptions(options), queryClient);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tCreateUserRequest,\n\tCreateUserResponse,\n\tDeleteUserResponse,\n\tGetUserByIDResponse,\n\tListUsersParams,\n\tUpdateUserRequest,\n\tUpdateUserResponse,\n\tUsersPage,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListUsersUrl = (params?: ListUsersParams) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/admin/users?${stringifiedParams}`\n\t\t: `/admin/users`;\n};\n\n/**\n * Lists users with cursor-based pagination.\n * @summary List users\n */\nexport const listUsers = async (\n\tparams?: ListUsersParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UsersPage> => {\n\treturn customFetch<UsersPage>(getListUsersUrl(params), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListUsersQueryKey = (params?: ListUsersParams) => {\n\treturn [`/admin/users`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListUsersQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listUsers>>,\n\tTError = unknown,\n>(\n\tparams?: ListUsersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUsers>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListUsersQueryKey(params);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof listUsers>>> = ({\n\t\tsignal,\n\t}) => listUsers(params, { signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listUsers>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListUsersQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listUsers>>\n>;\nexport type ListUsersQueryError = unknown;\n\nexport function useListUsers<\n\tTData = Awaited<ReturnType<typeof listUsers>>,\n\tTError = unknown,\n>(\n\tparams: undefined | ListUsersParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUsers>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUsers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUsers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUsers<\n\tTData = Awaited<ReturnType<typeof listUsers>>,\n\tTError = unknown,\n>(\n\tparams?: ListUsersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUsers>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listUsers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listUsers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListUsers<\n\tTData = Awaited<ReturnType<typeof listUsers>>,\n\tTError = unknown,\n>(\n\tparams?: ListUsersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUsers>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List users\n */\n\nexport function useListUsers<\n\tTData = Awaited<ReturnType<typeof listUsers>>,\n\tTError = unknown,\n>(\n\tparams?: ListUsersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listUsers>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListUsersQueryOptions(params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateUserUrl = () => {\n\treturn `/admin/users`;\n};\n\n/**\n * Creates a new user with the specified attributes.\n * @summary Create user\n */\nexport const createUser = async (\n\tcreateUserRequest?: CreateUserRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CreateUserResponse> => {\n\treturn customFetch<CreateUserResponse>(getCreateUserUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createUserRequest),\n\t});\n};\n\nexport const getCreateUserMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createUser>>,\n\t\tTError,\n\t\t{ data?: CreateUserRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createUser>>,\n\tTError,\n\t{ data?: CreateUserRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createUser\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createUser>>,\n\t\t{ data?: CreateUserRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn createUser(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateUserMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createUser>>\n>;\nexport type CreateUserMutationBody = CreateUserRequest | undefined;\nexport type CreateUserMutationError = unknown;\n\n/**\n * @summary Create user\n */\nexport const useCreateUser = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createUser>>,\n\t\t\tTError,\n\t\t\t{ data?: CreateUserRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createUser>>,\n\tTError,\n\t{ data?: CreateUserRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreateUserMutationOptions(options), queryClient);\n};\nexport const getGetUserUrl = (userId: string) => {\n\treturn `/admin/users/${userId}`;\n};\n\n/**\n * Retrieves a user by their ID.\n * @summary Get user by ID\n */\nexport const getUser = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetUserByIDResponse> => {\n\treturn customFetch<GetUserByIDResponse>(getGetUserUrl(userId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetUserQueryKey = (userId: string) => {\n\treturn [`/admin/users/${userId}`] as const;\n};\n\nexport const getGetUserQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getUser>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetUserQueryKey(userId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getUser>>> = ({\n\t\tsignal,\n\t}) => getUser(userId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: userId !== null && userId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData> & {\n\t\tqueryKey: DataTag<QueryKey, TData, TError>;\n\t};\n};\n\nexport type GetUserQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getUser>>\n>;\nexport type GetUserQueryError = unknown;\n\nexport function useGetUser<\n\tTData = Awaited<ReturnType<typeof getUser>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUser>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUser>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUser<\n\tTData = Awaited<ReturnType<typeof getUser>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getUser>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getUser>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetUser<\n\tTData = Awaited<ReturnType<typeof getUser>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get user by ID\n */\n\nexport function useGetUser<\n\tTData = Awaited<ReturnType<typeof getUser>>,\n\tTError = unknown,\n>(\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetUserQueryOptions(userId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteUserUrl = (userId: string) => {\n\treturn `/admin/users/${userId}`;\n};\n\n/**\n * Deletes a user.\n * @summary Delete user\n */\nexport const deleteUser = async (\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteUserResponse> => {\n\treturn customFetch<DeleteUserResponse>(getDeleteUserUrl(userId), {\n\t\t...options,\n\t\tmethod: \"DELETE\",\n\t});\n};\n\nexport const getDeleteUserMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteUser>>,\n\t\tTError,\n\t\t{ userId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteUser>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteUser\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteUser>>,\n\t\t{ userId: string }\n\t> = (props) => {\n\t\tconst { userId } = props ?? {};\n\n\t\treturn deleteUser(userId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteUserMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteUser>>\n>;\n\nexport type DeleteUserMutationError = unknown;\n\n/**\n * @summary Delete user\n */\nexport const useDeleteUser = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteUser>>,\n\t\t\tTError,\n\t\t\t{ userId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteUser>>,\n\tTError,\n\t{ userId: string },\n\tTContext\n> => {\n\treturn useMutation(getDeleteUserMutationOptions(options), queryClient);\n};\nexport const getUpdateUserUrl = (userId: string) => {\n\treturn `/admin/users/${userId}`;\n};\n\n/**\n * Updates a user's attributes.\n * @summary Update user\n */\nexport const updateUser = async (\n\tuserId: string,\n\tupdateUserRequest?: UpdateUserRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpdateUserResponse> => {\n\treturn customFetch<UpdateUserResponse>(getUpdateUserUrl(userId), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(updateUserRequest),\n\t});\n};\n\nexport const getUpdateUserMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateUser>>,\n\t\tTError,\n\t\t{ userId: string; data?: UpdateUserRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateUser>>,\n\tTError,\n\t{ userId: string; data?: UpdateUserRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateUser\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateUser>>,\n\t\t{ userId: string; data?: UpdateUserRequest }\n\t> = (props) => {\n\t\tconst { userId, data } = props ?? {};\n\n\t\treturn updateUser(userId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateUserMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateUser>>\n>;\nexport type UpdateUserMutationBody = UpdateUserRequest | undefined;\nexport type UpdateUserMutationError = unknown;\n\n/**\n * @summary Update user\n */\nexport const useUpdateUser = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateUser>>,\n\t\t\tTError,\n\t\t\t{ userId: string; data?: UpdateUserRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateUser>>,\n\tTError,\n\t{ userId: string; data?: UpdateUserRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdateUserMutationOptions(options), queryClient);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as adminAccounts from \"../../gen/endpoints/admin-accounts/admin-accounts\";\nimport * as adminImpersonation from \"../../gen/endpoints/admin-impersonation/admin-impersonation\";\nimport * as adminSessionState from \"../../gen/endpoints/admin-session-state/admin-session-state\";\nimport * as adminUserState from \"../../gen/endpoints/admin-user-state/admin-user-state\";\nimport * as adminUsers from \"../../gen/endpoints/admin-users/admin-users\";\n\nexport class AdminPlugin implements Plugin {\n public readonly id = \"admin\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return {\n ...wrapGenerated(adminUsers, client),\n ...wrapGenerated(adminAccounts, client),\n ...wrapGenerated(adminUserState, client),\n ...wrapGenerated(adminSessionState, client),\n ...wrapGenerated(adminImpersonation, client),\n };\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tCreateApiKeyRequest,\n\tCreateApiKeyResponse,\n\tDeleteApiKeyResponse,\n\tGetAllApiKeysResponse,\n\tGetApiKeyResponse,\n\tListApiKeysParams,\n\tUpdateApiKeyRequest,\n\tUpdateApiKeyResponse,\n\tVerifyApiKeyRequest,\n\tVerifyApiKeyResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListApiKeysUrl = (params?: ListApiKeysParams) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/api-keys?${stringifiedParams}`\n\t\t: `/api-keys`;\n};\n\n/**\n * Lists API keys with pagination, optionally filtered by owner.\n * @summary List API keys\n */\nexport const listApiKeys = async (\n\tparams?: ListApiKeysParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetAllApiKeysResponse> => {\n\treturn customFetch<GetAllApiKeysResponse>(getListApiKeysUrl(params), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getListApiKeysQueryKey = (params?: ListApiKeysParams) => {\n\treturn [`/api-keys`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListApiKeysQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listApiKeys>>,\n\tTError = unknown,\n>(\n\tparams?: ListApiKeysParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listApiKeys>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getListApiKeysQueryKey(params);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof listApiKeys>>> = ({\n\t\tsignal,\n\t}) => listApiKeys(params, { signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listApiKeys>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListApiKeysQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listApiKeys>>\n>;\nexport type ListApiKeysQueryError = unknown;\n\nexport function useListApiKeys<\n\tTData = Awaited<ReturnType<typeof listApiKeys>>,\n\tTError = unknown,\n>(\n\tparams: undefined | ListApiKeysParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listApiKeys>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listApiKeys>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listApiKeys>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListApiKeys<\n\tTData = Awaited<ReturnType<typeof listApiKeys>>,\n\tTError = unknown,\n>(\n\tparams?: ListApiKeysParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listApiKeys>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listApiKeys>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listApiKeys>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListApiKeys<\n\tTData = Awaited<ReturnType<typeof listApiKeys>>,\n\tTError = unknown,\n>(\n\tparams?: ListApiKeysParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listApiKeys>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List API keys\n */\n\nexport function useListApiKeys<\n\tTData = Awaited<ReturnType<typeof listApiKeys>>,\n\tTError = unknown,\n>(\n\tparams?: ListApiKeysParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof listApiKeys>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListApiKeysQueryOptions(params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateApiKeyUrl = () => {\n\treturn `/api-keys`;\n};\n\n/**\n * Creates a new API key for the specified owner.\n * @summary Create API key\n */\nexport const createApiKey = async (\n\tcreateApiKeyRequest?: CreateApiKeyRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CreateApiKeyResponse> => {\n\treturn customFetch<CreateApiKeyResponse>(getCreateApiKeyUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createApiKeyRequest),\n\t});\n};\n\nexport const getCreateApiKeyMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createApiKey>>,\n\t\tTError,\n\t\t{ data?: CreateApiKeyRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createApiKey>>,\n\tTError,\n\t{ data?: CreateApiKeyRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createApiKey\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createApiKey>>,\n\t\t{ data?: CreateApiKeyRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn createApiKey(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateApiKeyMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createApiKey>>\n>;\nexport type CreateApiKeyMutationBody = CreateApiKeyRequest | undefined;\nexport type CreateApiKeyMutationError = unknown;\n\n/**\n * @summary Create API key\n */\nexport const useCreateApiKey = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createApiKey>>,\n\t\t\tTError,\n\t\t\t{ data?: CreateApiKeyRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createApiKey>>,\n\tTError,\n\t{ data?: CreateApiKeyRequest },\n\tTContext\n> => {\n\treturn useMutation(getCreateApiKeyMutationOptions(options), queryClient);\n};\nexport const getVerifyApiKeyUrl = () => {\n\treturn `/api-keys/verify`;\n};\n\n/**\n * Verifies an API key by its raw value and returns the associated key details.\n * @summary Verify API key\n */\nexport const verifyApiKey = async (\n\tverifyApiKeyRequest?: VerifyApiKeyRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<VerifyApiKeyResponse> => {\n\treturn customFetch<VerifyApiKeyResponse>(getVerifyApiKeyUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(verifyApiKeyRequest),\n\t});\n};\n\nexport const getVerifyApiKeyMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof verifyApiKey>>,\n\t\tTError,\n\t\t{ data?: VerifyApiKeyRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof verifyApiKey>>,\n\tTError,\n\t{ data?: VerifyApiKeyRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"verifyApiKey\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof verifyApiKey>>,\n\t\t{ data?: VerifyApiKeyRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn verifyApiKey(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type VerifyApiKeyMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof verifyApiKey>>\n>;\nexport type VerifyApiKeyMutationBody = VerifyApiKeyRequest | undefined;\nexport type VerifyApiKeyMutationError = unknown;\n\n/**\n * @summary Verify API key\n */\nexport const useVerifyApiKey = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof verifyApiKey>>,\n\t\t\tTError,\n\t\t\t{ data?: VerifyApiKeyRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof verifyApiKey>>,\n\tTError,\n\t{ data?: VerifyApiKeyRequest },\n\tTContext\n> => {\n\treturn useMutation(getVerifyApiKeyMutationOptions(options), queryClient);\n};\nexport const getGetApiKeyUrl = (id: string) => {\n\treturn `/api-keys/${id}`;\n};\n\n/**\n * Retrieves an API key by its ID.\n * @summary Get API key by ID\n */\nexport const getApiKey = async (\n\tid: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetApiKeyResponse> => {\n\treturn customFetch<GetApiKeyResponse>(getGetApiKeyUrl(id), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetApiKeyQueryKey = (id: string) => {\n\treturn [`/api-keys/${id}`] as const;\n};\n\nexport const getGetApiKeyQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getApiKey>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetApiKeyQueryKey(id);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getApiKey>>> = ({\n\t\tsignal,\n\t}) => getApiKey(id, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: id !== null && id !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData> & {\n\t\tqueryKey: DataTag<QueryKey, TData, TError>;\n\t};\n};\n\nexport type GetApiKeyQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getApiKey>>\n>;\nexport type GetApiKeyQueryError = unknown;\n\nexport function useGetApiKey<\n\tTData = Awaited<ReturnType<typeof getApiKey>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getApiKey>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getApiKey>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetApiKey<\n\tTData = Awaited<ReturnType<typeof getApiKey>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getApiKey>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getApiKey>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetApiKey<\n\tTData = Awaited<ReturnType<typeof getApiKey>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get API key by ID\n */\n\nexport function useGetApiKey<\n\tTData = Awaited<ReturnType<typeof getApiKey>>,\n\tTError = unknown,\n>(\n\tid: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getApiKey>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetApiKeyQueryOptions(id, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteApiKeyUrl = (id: string) => {\n\treturn `/api-keys/${id}`;\n};\n\n/**\n * Deletes an API key.\n * @summary Delete API key\n */\nexport const deleteApiKey = async (\n\tid: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteApiKeyResponse> => {\n\treturn customFetch<DeleteApiKeyResponse>(getDeleteApiKeyUrl(id), {\n\t\t...options,\n\t\tmethod: \"DELETE\",\n\t});\n};\n\nexport const getDeleteApiKeyMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteApiKey>>,\n\t\tTError,\n\t\t{ id: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteApiKey>>,\n\tTError,\n\t{ id: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteApiKey\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteApiKey>>,\n\t\t{ id: string }\n\t> = (props) => {\n\t\tconst { id } = props ?? {};\n\n\t\treturn deleteApiKey(id, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteApiKeyMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteApiKey>>\n>;\n\nexport type DeleteApiKeyMutationError = unknown;\n\n/**\n * @summary Delete API key\n */\nexport const useDeleteApiKey = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteApiKey>>,\n\t\t\tTError,\n\t\t\t{ id: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteApiKey>>,\n\tTError,\n\t{ id: string },\n\tTContext\n> => {\n\treturn useMutation(getDeleteApiKeyMutationOptions(options), queryClient);\n};\nexport const getUpdateApiKeyUrl = (id: string) => {\n\treturn `/api-keys/${id}`;\n};\n\n/**\n * Updates an API key's attributes.\n * @summary Update API key\n */\nexport const updateApiKey = async (\n\tid: string,\n\tupdateApiKeyRequest?: UpdateApiKeyRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<UpdateApiKeyResponse> => {\n\treturn customFetch<UpdateApiKeyResponse>(getUpdateApiKeyUrl(id), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(updateApiKeyRequest),\n\t});\n};\n\nexport const getUpdateApiKeyMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateApiKey>>,\n\t\tTError,\n\t\t{ id: string; data?: UpdateApiKeyRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateApiKey>>,\n\tTError,\n\t{ id: string; data?: UpdateApiKeyRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateApiKey\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateApiKey>>,\n\t\t{ id: string; data?: UpdateApiKeyRequest }\n\t> = (props) => {\n\t\tconst { id, data } = props ?? {};\n\n\t\treturn updateApiKey(id, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateApiKeyMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateApiKey>>\n>;\nexport type UpdateApiKeyMutationBody = UpdateApiKeyRequest | undefined;\nexport type UpdateApiKeyMutationError = unknown;\n\n/**\n * @summary Update API key\n */\nexport const useUpdateApiKey = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateApiKey>>,\n\t\t\tTError,\n\t\t\t{ id: string; data?: UpdateApiKeyRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateApiKey>>,\n\tTError,\n\t{ id: string; data?: UpdateApiKeyRequest },\n\tTContext\n> => {\n\treturn useMutation(getUpdateApiKeyMutationOptions(options), queryClient);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as apiKey from \"../../gen/endpoints/api-keys/api-keys\";\n\nexport class ApiKeyPlugin implements Plugin {\n public readonly id = \"apiKey\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return wrapGenerated(apiKey, client);\n }\n}\n","import type { FetchContext, Plugin } from \"@/types\";\nimport type { ClientWithPlugins } from \"@/sdk\";\nimport type { JWTPlugin } from \"../jwt/plugin\";\nimport type { BearerPluginOptions } from \"./types\";\n\nexport class BearerPlugin implements Plugin {\n public readonly id = \"bearer\";\n private refreshPromise: Promise<any> | null = null;\n\n constructor(private readonly options?: BearerPluginOptions) {}\n\n public init(client: ClientWithPlugins<[JWTPlugin]>) {\n client.registerBeforeFetch(async (ctx: FetchContext) => {\n if (typeof document === \"undefined\") {\n return;\n }\n\n const headerName = this.options?.headerName ?? \"Authorization\";\n const token = localStorage.getItem(\"accessToken\");\n if (token) {\n if (!(ctx.init.headers instanceof Headers)) {\n ctx.init.headers = new Headers(ctx.init.headers);\n }\n ctx.init.headers.set(headerName, `Bearer ${token}`);\n }\n });\n\n client.registerAfterFetch(async (ctx: FetchContext, res: Response) => {\n if (typeof document === \"undefined\") {\n return;\n }\n if (res.status !== 401) {\n return;\n }\n if (ctx.meta.retry) {\n return;\n }\n\n const refreshToken = localStorage.getItem(\"refreshToken\");\n if (!refreshToken) {\n return;\n }\n\n if (!client.jwt) {\n console.warn(\"JWT Plugin is required for Bearer token refresh.\");\n return;\n }\n\n // 🔒 SINGLE FLIGHT REFRESH\n if (!this.refreshPromise) {\n this.refreshPromise = (async () => {\n try {\n const response = await client.jwt.refreshToken({\n refreshToken: refreshToken,\n });\n if (!response) {\n return null;\n }\n\n localStorage.setItem(\"accessToken\", response.accessToken);\n localStorage.setItem(\"refreshToken\", response.refreshToken);\n\n return response;\n } finally {\n this.refreshPromise = null;\n }\n })();\n }\n\n const refreshed = await this.refreshPromise;\n if (!refreshed) {\n return;\n }\n\n const headerName = this.options?.headerName ?? \"Authorization\";\n if (!(ctx.init.headers instanceof Headers)) {\n ctx.init.headers = new Headers(ctx.init.headers);\n }\n ctx.init.headers.set(headerName, `Bearer ${refreshed.accessToken}`);\n\n return \"retry\";\n });\n\n return {};\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tGetMeResponse,\n\tSignOutRequest,\n\tSignOutResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getGetMeUrl = () => {\n\treturn `/me`;\n};\n\n/**\n * Retrieves the authenticated user's profile and current session.\n * @summary Get current user\n */\nexport const getMe = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetMeResponse> => {\n\treturn customFetch<GetMeResponse>(getGetMeUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetMeQueryKey = () => {\n\treturn [`/me`] as const;\n};\n\nexport const getGetMeQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getMe>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetMeQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getMe>>> = ({\n\t\tsignal,\n\t}) => getMe({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getMe>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetMeQueryResult = NonNullable<Awaited<ReturnType<typeof getMe>>>;\nexport type GetMeQueryError = unknown;\n\nexport function useGetMe<\n\tTData = Awaited<ReturnType<typeof getMe>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getMe>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getMe>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetMe<\n\tTData = Awaited<ReturnType<typeof getMe>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getMe>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getMe>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetMe<\n\tTData = Awaited<ReturnType<typeof getMe>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get current user\n */\n\nexport function useGetMe<\n\tTData = Awaited<ReturnType<typeof getMe>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetMeQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getSignOutUrl = () => {\n\treturn `/sign-out`;\n};\n\n/**\n * Signs out the authenticated user. Optionally sign out a specific session or all sessions.\n * @summary Sign out\n */\nexport const signOut = async (\n\tsignOutRequest?: SignOutRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<SignOutResponse> => {\n\treturn customFetch<SignOutResponse>(getSignOutUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(signOutRequest),\n\t});\n};\n\nexport const getSignOutMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof signOut>>,\n\t\tTError,\n\t\t{ data?: SignOutRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof signOut>>,\n\tTError,\n\t{ data?: SignOutRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"signOut\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof signOut>>,\n\t\t{ data?: SignOutRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn signOut(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type SignOutMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof signOut>>\n>;\nexport type SignOutMutationBody = SignOutRequest | undefined;\nexport type SignOutMutationError = unknown;\n\n/**\n * @summary Sign out\n */\nexport const useSignOut = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof signOut>>,\n\t\t\tTError,\n\t\t\t{ data?: SignOutRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof signOut>>,\n\tTError,\n\t{ data?: SignOutRequest },\n\tTContext\n> => {\n\treturn useMutation(getSignOutMutationOptions(options), queryClient);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as core from \"../../gen/endpoints/core/core\";\n\nexport class CorePlugin implements Plugin {\n public readonly id = \"core\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return wrapGenerated(core, client);\n }\n}\n","import type { FetchContext, Plugin } from \"@/types\";\nimport type { CSRFPluginOptions } from \"./types\";\nimport type { AuthulaClient } from \"@/client\";\n\nexport class CSRFPlugin implements Plugin {\n public readonly id = \"csrf\";\n\n constructor(private readonly options: CSRFPluginOptions) {}\n\n public init(client: AuthulaClient) {\n client.registerBeforeFetch(async (ctx: FetchContext) => {\n if ([\"OPTIONS\", \"HEAD\", \"GET\"].includes(ctx.init.method || \"GET\")) {\n return;\n }\n\n const value =\n ctx.cookies?.[this.options.cookieName] ??\n (await client.getCookie(this.options.cookieName));\n\n if (!value) {\n return;\n }\n\n ctx.init.headers = new Headers(ctx.init.headers);\n ctx.init.headers.set(this.options.headerName, value);\n });\n\n return {};\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tChangeEmailResponse,\n\tChangePasswordRequest,\n\tChangePasswordResponse,\n\tRequestEmailChangeRequest,\n\tRequestPasswordResetRequest,\n\tSendEmailVerificationRequest,\n\tSignInRequest,\n\tSignInResponse,\n\tSignUpRequest,\n\tSignUpResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getChangePasswordUrl = () => {\n\treturn `/email-password/change-password`;\n};\n\n/**\n * Changes the user's password using a reset token\n * @summary Change password\n */\nexport const changePassword = async (\n\tchangePasswordRequest?: ChangePasswordRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ChangePasswordResponse> => {\n\treturn customFetch<ChangePasswordResponse>(getChangePasswordUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(changePasswordRequest),\n\t});\n};\n\nexport const getChangePasswordMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof changePassword>>,\n\t\tTError,\n\t\t{ data?: ChangePasswordRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof changePassword>>,\n\tTError,\n\t{ data?: ChangePasswordRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"changePassword\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof changePassword>>,\n\t\t{ data?: ChangePasswordRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn changePassword(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type ChangePasswordMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof changePassword>>\n>;\nexport type ChangePasswordMutationBody = ChangePasswordRequest | undefined;\nexport type ChangePasswordMutationError = unknown;\n\n/**\n * @summary Change password\n */\nexport const useChangePassword = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof changePassword>>,\n\t\t\tTError,\n\t\t\t{ data?: ChangePasswordRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof changePassword>>,\n\tTError,\n\t{ data?: ChangePasswordRequest },\n\tTContext\n> => {\n\treturn useMutation(getChangePasswordMutationOptions(options), queryClient);\n};\nexport const getRequestEmailChangeUrl = () => {\n\treturn `/email-password/request-email-change`;\n};\n\n/**\n * Requests to change the authenticated user's email address\n * @summary Request email change\n */\nexport const requestEmailChange = async (\n\trequestEmailChangeRequest?: RequestEmailChangeRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ChangeEmailResponse> => {\n\treturn customFetch<ChangeEmailResponse>(getRequestEmailChangeUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(requestEmailChangeRequest),\n\t});\n};\n\nexport const getRequestEmailChangeMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof requestEmailChange>>,\n\t\tTError,\n\t\t{ data?: RequestEmailChangeRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof requestEmailChange>>,\n\tTError,\n\t{ data?: RequestEmailChangeRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"requestEmailChange\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof requestEmailChange>>,\n\t\t{ data?: RequestEmailChangeRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn requestEmailChange(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RequestEmailChangeMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof requestEmailChange>>\n>;\nexport type RequestEmailChangeMutationBody =\n\t| RequestEmailChangeRequest\n\t| undefined;\nexport type RequestEmailChangeMutationError = unknown;\n\n/**\n * @summary Request email change\n */\nexport const useRequestEmailChange = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof requestEmailChange>>,\n\t\t\tTError,\n\t\t\t{ data?: RequestEmailChangeRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof requestEmailChange>>,\n\tTError,\n\t{ data?: RequestEmailChangeRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetRequestEmailChangeMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getRequestPasswordResetUrl = () => {\n\treturn `/email-password/request-password-reset`;\n};\n\n/**\n * Requests a password reset link to be sent to the user's email\n * @summary Request password reset\n */\nexport const requestPasswordReset = async (\n\trequestPasswordResetRequest?: RequestPasswordResetRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ChangePasswordResponse> => {\n\treturn customFetch<ChangePasswordResponse>(getRequestPasswordResetUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(requestPasswordResetRequest),\n\t});\n};\n\nexport const getRequestPasswordResetMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof requestPasswordReset>>,\n\t\tTError,\n\t\t{ data?: RequestPasswordResetRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof requestPasswordReset>>,\n\tTError,\n\t{ data?: RequestPasswordResetRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"requestPasswordReset\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof requestPasswordReset>>,\n\t\t{ data?: RequestPasswordResetRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn requestPasswordReset(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RequestPasswordResetMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof requestPasswordReset>>\n>;\nexport type RequestPasswordResetMutationBody =\n\t| RequestPasswordResetRequest\n\t| undefined;\nexport type RequestPasswordResetMutationError = unknown;\n\n/**\n * @summary Request password reset\n */\nexport const useRequestPasswordReset = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof requestPasswordReset>>,\n\t\t\tTError,\n\t\t\t{ data?: RequestPasswordResetRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof requestPasswordReset>>,\n\tTError,\n\t{ data?: RequestPasswordResetRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetRequestPasswordResetMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getSendEmailVerificationUrl = () => {\n\treturn `/email-password/send-email-verification`;\n};\n\n/**\n * Sends a verification email to the authenticated user\n * @summary Send email verification\n */\nexport const sendEmailVerification = async (\n\tsendEmailVerificationRequest?: SendEmailVerificationRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ChangePasswordResponse> => {\n\treturn customFetch<ChangePasswordResponse>(getSendEmailVerificationUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(sendEmailVerificationRequest),\n\t});\n};\n\nexport const getSendEmailVerificationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof sendEmailVerification>>,\n\t\tTError,\n\t\t{ data?: SendEmailVerificationRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof sendEmailVerification>>,\n\tTError,\n\t{ data?: SendEmailVerificationRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"sendEmailVerification\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof sendEmailVerification>>,\n\t\t{ data?: SendEmailVerificationRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn sendEmailVerification(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type SendEmailVerificationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof sendEmailVerification>>\n>;\nexport type SendEmailVerificationMutationBody =\n\t| SendEmailVerificationRequest\n\t| undefined;\nexport type SendEmailVerificationMutationError = unknown;\n\n/**\n * @summary Send email verification\n */\nexport const useSendEmailVerification = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof sendEmailVerification>>,\n\t\t\tTError,\n\t\t\t{ data?: SendEmailVerificationRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof sendEmailVerification>>,\n\tTError,\n\t{ data?: SendEmailVerificationRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetSendEmailVerificationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getSignInUrl = () => {\n\treturn `/email-password/sign-in`;\n};\n\n/**\n * Authenticates a user with email and password\n * @summary Sign in\n */\nexport const signIn = async (\n\tsignInRequest?: SignInRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<SignInResponse> => {\n\treturn customFetch<SignInResponse>(getSignInUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(signInRequest),\n\t});\n};\n\nexport const getSignInMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof signIn>>,\n\t\tTError,\n\t\t{ data?: SignInRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof signIn>>,\n\tTError,\n\t{ data?: SignInRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"signIn\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof signIn>>,\n\t\t{ data?: SignInRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn signIn(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type SignInMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof signIn>>\n>;\nexport type SignInMutationBody = SignInRequest | undefined;\nexport type SignInMutationError = unknown;\n\n/**\n * @summary Sign in\n */\nexport const useSignIn = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof signIn>>,\n\t\t\tTError,\n\t\t\t{ data?: SignInRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof signIn>>,\n\tTError,\n\t{ data?: SignInRequest },\n\tTContext\n> => {\n\treturn useMutation(getSignInMutationOptions(options), queryClient);\n};\nexport const getSignUpUrl = () => {\n\treturn `/email-password/sign-up`;\n};\n\n/**\n * Registers a new user with email and password\n * @summary Register new user\n */\nexport const signUp = async (\n\tsignUpRequest?: SignUpRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<SignUpResponse> => {\n\treturn customFetch<SignUpResponse>(getSignUpUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(signUpRequest),\n\t});\n};\n\nexport const getSignUpMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof signUp>>,\n\t\tTError,\n\t\t{ data?: SignUpRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof signUp>>,\n\tTError,\n\t{ data?: SignUpRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"signUp\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof signUp>>,\n\t\t{ data?: SignUpRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn signUp(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type SignUpMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof signUp>>\n>;\nexport type SignUpMutationBody = SignUpRequest | undefined;\nexport type SignUpMutationError = unknown;\n\n/**\n * @summary Register new user\n */\nexport const useSignUp = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof signUp>>,\n\t\t\tTError,\n\t\t\t{ data?: SignUpRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof signUp>>,\n\tTError,\n\t{ data?: SignUpRequest },\n\tTContext\n> => {\n\treturn useMutation(getSignUpMutationOptions(options), queryClient);\n};\nexport const getVerifyEmailUrl = () => {\n\treturn `/email-password/verify-email`;\n};\n\n/**\n * Verifies an email address or processes a password reset token using a verification token\n * @summary Verify email\n */\nexport const verifyEmail = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ChangePasswordResponse> => {\n\treturn customFetch<ChangePasswordResponse>(getVerifyEmailUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getVerifyEmailQueryKey = () => {\n\treturn [`/email-password/verify-email`] as const;\n};\n\nexport const getVerifyEmailQueryOptions = <\n\tTData = Awaited<ReturnType<typeof verifyEmail>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof verifyEmail>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getVerifyEmailQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof verifyEmail>>> = ({\n\t\tsignal,\n\t}) => verifyEmail({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof verifyEmail>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type VerifyEmailQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof verifyEmail>>\n>;\nexport type VerifyEmailQueryError = unknown;\n\nexport function useVerifyEmail<\n\tTData = Awaited<ReturnType<typeof verifyEmail>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof verifyEmail>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof verifyEmail>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof verifyEmail>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useVerifyEmail<\n\tTData = Awaited<ReturnType<typeof verifyEmail>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof verifyEmail>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof verifyEmail>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof verifyEmail>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useVerifyEmail<\n\tTData = Awaited<ReturnType<typeof verifyEmail>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof verifyEmail>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Verify email\n */\n\nexport function useVerifyEmail<\n\tTData = Awaited<ReturnType<typeof verifyEmail>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof verifyEmail>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getVerifyEmailQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as emailPassword from \"../../gen/endpoints/email-password-plugin/email-password-plugin\";\n\nexport class EmailPasswordPlugin implements Plugin {\n public readonly id = \"emailPassword\";\n\n public init(client: AuthulaClient) {\n return wrapGenerated(emailPassword, client);\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tRefreshTokenRequest,\n\tRefreshTokenResponse,\n\tWellKnownJWKSResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getGetJWKSUrl = () => {\n\treturn `/.well-known/jwks.json`;\n};\n\n/**\n * Returns the JSON Web Key Set (JWKS) containing the public keys used to verify JWT signatures.\n * @summary Get JWKS\n */\nexport const getJWKS = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<WellKnownJWKSResponse> => {\n\treturn customFetch<WellKnownJWKSResponse>(getGetJWKSUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetJWKSQueryKey = () => {\n\treturn [`/.well-known/jwks.json`] as const;\n};\n\nexport const getGetJWKSQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getJWKS>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof getJWKS>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetJWKSQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getJWKS>>> = ({\n\t\tsignal,\n\t}) => getJWKS({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getJWKS>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetJWKSQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getJWKS>>\n>;\nexport type GetJWKSQueryError = unknown;\n\nexport function useGetJWKS<\n\tTData = Awaited<ReturnType<typeof getJWKS>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getJWKS>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getJWKS>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getJWKS>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetJWKS<\n\tTData = Awaited<ReturnType<typeof getJWKS>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getJWKS>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getJWKS>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getJWKS>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetJWKS<\n\tTData = Awaited<ReturnType<typeof getJWKS>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getJWKS>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get JWKS\n */\n\nexport function useGetJWKS<\n\tTData = Awaited<ReturnType<typeof getJWKS>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getJWKS>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetJWKSQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getRefreshTokenUrl = () => {\n\treturn `/token/refresh`;\n};\n\n/**\n * Exchanges a valid refresh token for a new access token and refresh token pair.\n * @summary Refresh JWT token\n */\nexport const refreshToken = async (\n\trefreshTokenRequest?: RefreshTokenRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<RefreshTokenResponse> => {\n\treturn customFetch<RefreshTokenResponse>(getRefreshTokenUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(refreshTokenRequest),\n\t});\n};\n\nexport const getRefreshTokenMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof refreshToken>>,\n\t\tTError,\n\t\t{ data?: RefreshTokenRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof refreshToken>>,\n\tTError,\n\t{ data?: RefreshTokenRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"refreshToken\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof refreshToken>>,\n\t\t{ data?: RefreshTokenRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn refreshToken(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RefreshTokenMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof refreshToken>>\n>;\nexport type RefreshTokenMutationBody = RefreshTokenRequest | undefined;\nexport type RefreshTokenMutationError = unknown;\n\n/**\n * @summary Refresh JWT token\n */\nexport const useRefreshToken = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof refreshToken>>,\n\t\t\tTError,\n\t\t\t{ data?: RefreshTokenRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof refreshToken>>,\n\tTError,\n\t{ data?: RefreshTokenRequest },\n\tTContext\n> => {\n\treturn useMutation(getRefreshTokenMutationOptions(options), queryClient);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as jwt from \"../../gen/endpoints/jwt-plugin/jwt-plugin\";\n\nexport class JWTPlugin implements Plugin {\n public readonly id = \"jwt\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return wrapGenerated(jwt, client);\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tMagicLinkExchangeRequest,\n\tMagicLinkExchangeResponse,\n\tMagicLinkSignInRequest,\n\tMagicLinkSignInResponse,\n\tMagicLinkVerifyResponse,\n\tVerifyMagicLinkParams,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getExchangeMagicLinkUrl = () => {\n\treturn `/magic-link/exchange`;\n};\n\n/**\n * Exchanges a verified magic link token for an authenticated user session.\n * @summary Exchange magic link token for session\n */\nexport const exchangeMagicLink = async (\n\tmagicLinkExchangeRequest?: MagicLinkExchangeRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<MagicLinkExchangeResponse> => {\n\treturn customFetch<MagicLinkExchangeResponse>(getExchangeMagicLinkUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(magicLinkExchangeRequest),\n\t});\n};\n\nexport const getExchangeMagicLinkMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof exchangeMagicLink>>,\n\t\tTError,\n\t\t{ data?: MagicLinkExchangeRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof exchangeMagicLink>>,\n\tTError,\n\t{ data?: MagicLinkExchangeRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"exchangeMagicLink\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof exchangeMagicLink>>,\n\t\t{ data?: MagicLinkExchangeRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn exchangeMagicLink(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type ExchangeMagicLinkMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof exchangeMagicLink>>\n>;\nexport type ExchangeMagicLinkMutationBody =\n\t| MagicLinkExchangeRequest\n\t| undefined;\nexport type ExchangeMagicLinkMutationError = unknown;\n\n/**\n * @summary Exchange magic link token for session\n */\nexport const useExchangeMagicLink = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof exchangeMagicLink>>,\n\t\t\tTError,\n\t\t\t{ data?: MagicLinkExchangeRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof exchangeMagicLink>>,\n\tTError,\n\t{ data?: MagicLinkExchangeRequest },\n\tTContext\n> => {\n\treturn useMutation(getExchangeMagicLinkMutationOptions(options), queryClient);\n};\nexport const getSignInWithMagicLinkUrl = () => {\n\treturn `/magic-link/sign-in`;\n};\n\n/**\n * Sends a magic link to the given email address if an account exists. Optionally creates a new account if sign-up is enabled.\n * @summary Sign in with magic link\n */\nexport const signInWithMagicLink = async (\n\tmagicLinkSignInRequest?: MagicLinkSignInRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<MagicLinkSignInResponse> => {\n\treturn customFetch<MagicLinkSignInResponse>(getSignInWithMagicLinkUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(magicLinkSignInRequest),\n\t});\n};\n\nexport const getSignInWithMagicLinkMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof signInWithMagicLink>>,\n\t\tTError,\n\t\t{ data?: MagicLinkSignInRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof signInWithMagicLink>>,\n\tTError,\n\t{ data?: MagicLinkSignInRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"signInWithMagicLink\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof signInWithMagicLink>>,\n\t\t{ data?: MagicLinkSignInRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn signInWithMagicLink(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type SignInWithMagicLinkMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof signInWithMagicLink>>\n>;\nexport type SignInWithMagicLinkMutationBody =\n\t| MagicLinkSignInRequest\n\t| undefined;\nexport type SignInWithMagicLinkMutationError = unknown;\n\n/**\n * @summary Sign in with magic link\n */\nexport const useSignInWithMagicLink = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof signInWithMagicLink>>,\n\t\t\tTError,\n\t\t\t{ data?: MagicLinkSignInRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof signInWithMagicLink>>,\n\tTError,\n\t{ data?: MagicLinkSignInRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetSignInWithMagicLinkMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getVerifyMagicLinkUrl = (params: VerifyMagicLinkParams) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/magic-link/verify?${stringifiedParams}`\n\t\t: `/magic-link/verify`;\n};\n\n/**\n * Verifies a magic link token. If a callback_url is provided and trusted, redirects the user with an exchange token appended. Otherwise returns the exchange token in the JSON response.\n * @summary Verify magic link token\n */\nexport const verifyMagicLink = async (\n\tparams: VerifyMagicLinkParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<MagicLinkVerifyResponse> => {\n\treturn customFetch<MagicLinkVerifyResponse>(getVerifyMagicLinkUrl(params), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getVerifyMagicLinkQueryKey = (params?: VerifyMagicLinkParams) => {\n\treturn [`/magic-link/verify`, ...(params ? [params] : [])] as const;\n};\n\nexport const getVerifyMagicLinkQueryOptions = <\n\tTData = Awaited<ReturnType<typeof verifyMagicLink>>,\n\tTError = unknown,\n>(\n\tparams: VerifyMagicLinkParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getVerifyMagicLinkQueryKey(params);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof verifyMagicLink>>> = ({\n\t\tsignal,\n\t}) => verifyMagicLink(params, { signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type VerifyMagicLinkQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof verifyMagicLink>>\n>;\nexport type VerifyMagicLinkQueryError = unknown;\n\nexport function useVerifyMagicLink<\n\tTData = Awaited<ReturnType<typeof verifyMagicLink>>,\n\tTError = unknown,\n>(\n\tparams: VerifyMagicLinkParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useVerifyMagicLink<\n\tTData = Awaited<ReturnType<typeof verifyMagicLink>>,\n\tTError = unknown,\n>(\n\tparams: VerifyMagicLinkParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useVerifyMagicLink<\n\tTData = Awaited<ReturnType<typeof verifyMagicLink>>,\n\tTError = unknown,\n>(\n\tparams: VerifyMagicLinkParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Verify magic link token\n */\n\nexport function useVerifyMagicLink<\n\tTData = Awaited<ReturnType<typeof verifyMagicLink>>,\n\tTError = unknown,\n>(\n\tparams: VerifyMagicLinkParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof verifyMagicLink>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getVerifyMagicLinkQueryOptions(params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as magicLink from \"../../gen/endpoints/magic-link-plugin/magic-link-plugin\";\n\nexport class MagicLinkPlugin implements Plugin {\n public readonly id = \"magicLink\";\n\n constructor() {}\n\n public init(client: AuthulaClient) {\n return wrapGenerated(magicLink, client);\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAuthorizeResponse,\n\tCallbackResponse,\n\tOauthAuthorizeParams,\n\tOauthCallbackParams,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getOauthAuthorizeUrl = (\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/oauth2/authorize/${provider}?${stringifiedParams}`\n\t\t: `/oauth2/authorize/${provider}`;\n};\n\n/**\n * Initiates the OAuth2 authorization flow with the specified provider. Returns the provider's authorization URL to redirect the user to.\n * @summary Authorize with OAuth2 provider\n */\nexport const oauthAuthorize = async (\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<AuthorizeResponse> => {\n\treturn customFetch<AuthorizeResponse>(\n\t\tgetOauthAuthorizeUrl(provider, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getOauthAuthorizeQueryKey = (\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n) => {\n\treturn [\n\t\t`/oauth2/authorize/${provider}`,\n\t\t...(params ? [params] : []),\n\t] as const;\n};\n\nexport const getOauthAuthorizeQueryOptions = <\n\tTData = Awaited<ReturnType<typeof oauthAuthorize>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthAuthorize>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getOauthAuthorizeQueryKey(provider, params);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof oauthAuthorize>>> = ({\n\t\tsignal,\n\t}) => oauthAuthorize(provider, params, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: provider !== null && provider !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof oauthAuthorize>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type OauthAuthorizeQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof oauthAuthorize>>\n>;\nexport type OauthAuthorizeQueryError = unknown;\n\nexport function useOauthAuthorize<\n\tTData = Awaited<ReturnType<typeof oauthAuthorize>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: undefined | OauthAuthorizeParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthAuthorize>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof oauthAuthorize>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof oauthAuthorize>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useOauthAuthorize<\n\tTData = Awaited<ReturnType<typeof oauthAuthorize>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthAuthorize>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof oauthAuthorize>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof oauthAuthorize>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useOauthAuthorize<\n\tTData = Awaited<ReturnType<typeof oauthAuthorize>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthAuthorize>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Authorize with OAuth2 provider\n */\n\nexport function useOauthAuthorize<\n\tTData = Awaited<ReturnType<typeof oauthAuthorize>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams?: OauthAuthorizeParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthAuthorize>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getOauthAuthorizeQueryOptions(provider, params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getOauthCallbackUrl = (\n\tprovider: string,\n\tparams: OauthCallbackParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/oauth2/callback/${provider}?${stringifiedParams}`\n\t\t: `/oauth2/callback/${provider}`;\n};\n\n/**\n * Handles the OAuth2 callback from the provider. Exchanges the authorization code for tokens, creates or links a user account, and returns the authenticated user and session.\n * @summary OAuth2 callback\n */\nexport const oauthCallback = async (\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<CallbackResponse> => {\n\treturn customFetch<CallbackResponse>(getOauthCallbackUrl(provider, params), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getOauthCallbackQueryKey = (\n\tprovider: string,\n\tparams?: OauthCallbackParams,\n) => {\n\treturn [`/oauth2/callback/${provider}`, ...(params ? [params] : [])] as const;\n};\n\nexport const getOauthCallbackQueryOptions = <\n\tTData = Awaited<ReturnType<typeof oauthCallback>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthCallback>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getOauthCallbackQueryKey(provider, params);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof oauthCallback>>> = ({\n\t\tsignal,\n\t}) => oauthCallback(provider, params, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: provider !== null && provider !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof oauthCallback>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type OauthCallbackQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof oauthCallback>>\n>;\nexport type OauthCallbackQueryError = unknown;\n\nexport function useOauthCallback<\n\tTData = Awaited<ReturnType<typeof oauthCallback>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthCallback>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof oauthCallback>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof oauthCallback>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useOauthCallback<\n\tTData = Awaited<ReturnType<typeof oauthCallback>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthCallback>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof oauthCallback>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof oauthCallback>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useOauthCallback<\n\tTData = Awaited<ReturnType<typeof oauthCallback>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthCallback>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary OAuth2 callback\n */\n\nexport function useOauthCallback<\n\tTData = Awaited<ReturnType<typeof oauthCallback>>,\n\tTError = unknown,\n>(\n\tprovider: string,\n\tparams: OauthCallbackParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof oauthCallback>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getOauthCallbackQueryOptions(provider, params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types/plugins\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as oauth2 from \"../../gen/endpoints/oauth2-plugin/oauth2-plugin\";\n\nexport class OAuth2Plugin implements Plugin {\n public readonly id = \"oauth2\";\n\n public init(client: AuthulaClient) {\n return wrapGenerated(oauth2, client);\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tCreateOrganizationRequest,\n\tDeleteOrganizationResponse,\n\tListOrganizationsParams,\n\tListOrganizationsResponse,\n\tOrganization,\n\tUpdateOrganizationRequest,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListOrganizationsUrl = (params?: ListOrganizationsParams) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations?${stringifiedParams}`\n\t\t: `/organizations`;\n};\n\n/**\n * Lists every organization the authenticated user can access, both the ones they own and the ones they are a member of, newest first. Results are paginated: `page` defaults to 1 and `limit` defaults to 10. `limit` is capped by the server's configured maximum page size, which defaults to 100; a larger value is silently reduced to the cap rather than rejected, and values below the minimum fall back to the defaults. The `pagination` object in the response always reports the values actually applied.\n * @summary List organizations\n */\nexport const listOrganizations = async (\n\tparams?: ListOrganizationsParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ListOrganizationsResponse> => {\n\treturn customFetch<ListOrganizationsResponse>(\n\t\tgetListOrganizationsUrl(params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListOrganizationsQueryKey = (\n\tparams?: ListOrganizationsParams,\n) => {\n\treturn [`/organizations`, ...(params ? [params] : [])] as const;\n};\n\nexport const getListOrganizationsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listOrganizations>>,\n\tTError = unknown,\n>(\n\tparams?: ListOrganizationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getListOrganizationsQueryKey(params);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listOrganizations>>\n\t> = ({ signal }) => listOrganizations(params, { signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListOrganizationsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listOrganizations>>\n>;\nexport type ListOrganizationsQueryError = unknown;\n\nexport function useListOrganizations<\n\tTData = Awaited<ReturnType<typeof listOrganizations>>,\n\tTError = unknown,\n>(\n\tparams: undefined | ListOrganizationsParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizations<\n\tTData = Awaited<ReturnType<typeof listOrganizations>>,\n\tTError = unknown,\n>(\n\tparams?: ListOrganizationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizations<\n\tTData = Awaited<ReturnType<typeof listOrganizations>>,\n\tTError = unknown,\n>(\n\tparams?: ListOrganizationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List organizations\n */\n\nexport function useListOrganizations<\n\tTData = Awaited<ReturnType<typeof listOrganizations>>,\n\tTError = unknown,\n>(\n\tparams?: ListOrganizationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListOrganizationsQueryOptions(params, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateOrganizationUrl = () => {\n\treturn `/organizations`;\n};\n\n/**\n * Creates a new organization with the authenticated user as the owner.\n * @summary Create organization\n */\nexport const createOrganization = async (\n\tcreateOrganizationRequest?: CreateOrganizationRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Organization> => {\n\treturn customFetch<Organization>(getCreateOrganizationUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(createOrganizationRequest),\n\t});\n};\n\nexport const getCreateOrganizationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createOrganization>>,\n\t\tTError,\n\t\t{ data?: CreateOrganizationRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createOrganization>>,\n\tTError,\n\t{ data?: CreateOrganizationRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createOrganization\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createOrganization>>,\n\t\t{ data?: CreateOrganizationRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn createOrganization(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateOrganizationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createOrganization>>\n>;\nexport type CreateOrganizationMutationBody =\n\t| CreateOrganizationRequest\n\t| undefined;\nexport type CreateOrganizationMutationError = unknown;\n\n/**\n * @summary Create organization\n */\nexport const useCreateOrganization = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createOrganization>>,\n\t\t\tTError,\n\t\t\t{ data?: CreateOrganizationRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createOrganization>>,\n\tTError,\n\t{ data?: CreateOrganizationRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetCreateOrganizationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetOrganizationUrl = (organizationId: string) => {\n\treturn `/organizations/${organizationId}`;\n};\n\n/**\n * Retrieves an organization by its ID.\n * @summary Get organization\n */\nexport const getOrganization = async (\n\torganizationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Organization> => {\n\treturn customFetch<Organization>(getGetOrganizationUrl(organizationId), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetOrganizationQueryKey = (organizationId: string) => {\n\treturn [`/organizations/${organizationId}`] as const;\n};\n\nexport const getGetOrganizationQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganization>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ?? getGetOrganizationQueryKey(organizationId);\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getOrganization>>> = ({\n\t\tsignal,\n\t}) => getOrganization(organizationId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: organizationId !== null && organizationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganization>>\n>;\nexport type GetOrganizationQueryError = unknown;\n\nexport function useGetOrganization<\n\tTData = Awaited<ReturnType<typeof getOrganization>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganization>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganization<\n\tTData = Awaited<ReturnType<typeof getOrganization>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganization>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganization<\n\tTData = Awaited<ReturnType<typeof getOrganization>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get organization\n */\n\nexport function useGetOrganization<\n\tTData = Awaited<ReturnType<typeof getOrganization>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganization>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationQueryOptions(organizationId, options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteOrganizationUrl = (organizationId: string) => {\n\treturn `/organizations/${organizationId}`;\n};\n\n/**\n * Deletes an organization.\n * @summary Delete organization\n */\nexport const deleteOrganization = async (\n\torganizationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteOrganizationResponse> => {\n\treturn customFetch<DeleteOrganizationResponse>(\n\t\tgetDeleteOrganizationUrl(organizationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeleteOrganizationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteOrganization>>,\n\t\tTError,\n\t\t{ organizationId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteOrganization>>,\n\tTError,\n\t{ organizationId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteOrganization\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteOrganization>>,\n\t\t{ organizationId: string }\n\t> = (props) => {\n\t\tconst { organizationId } = props ?? {};\n\n\t\treturn deleteOrganization(organizationId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteOrganizationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteOrganization>>\n>;\n\nexport type DeleteOrganizationMutationError = unknown;\n\n/**\n * @summary Delete organization\n */\nexport const useDeleteOrganization = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteOrganization>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteOrganization>>,\n\tTError,\n\t{ organizationId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetDeleteOrganizationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getUpdateOrganizationUrl = (organizationId: string) => {\n\treturn `/organizations/${organizationId}`;\n};\n\n/**\n * Updates an existing organization.\n * @summary Update organization\n */\nexport const updateOrganization = async (\n\torganizationId: string,\n\tupdateOrganizationRequest?: UpdateOrganizationRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<Organization> => {\n\treturn customFetch<Organization>(getUpdateOrganizationUrl(organizationId), {\n\t\t...options,\n\t\tmethod: \"PATCH\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(updateOrganizationRequest),\n\t});\n};\n\nexport const getUpdateOrganizationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateOrganization>>,\n\t\tTError,\n\t\t{ organizationId: string; data?: UpdateOrganizationRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateOrganization>>,\n\tTError,\n\t{ organizationId: string; data?: UpdateOrganizationRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"updateOrganization\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateOrganization>>,\n\t\t{ organizationId: string; data?: UpdateOrganizationRequest }\n\t> = (props) => {\n\t\tconst { organizationId, data } = props ?? {};\n\n\t\treturn updateOrganization(organizationId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateOrganizationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateOrganization>>\n>;\nexport type UpdateOrganizationMutationBody =\n\t| UpdateOrganizationRequest\n\t| undefined;\nexport type UpdateOrganizationMutationError = unknown;\n\n/**\n * @summary Update organization\n */\nexport const useUpdateOrganization = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateOrganization>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; data?: UpdateOrganizationRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateOrganization>>,\n\tTError,\n\t{ organizationId: string; data?: UpdateOrganizationRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetUpdateOrganizationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAcceptOrganizationInvitationParams,\n\tAcceptOrganizationInvitationQuery,\n\tCreateOrganizationInvitationParams,\n\tCreateOrganizationInvitationRequest,\n\tGetOrganizationInvitationResponse,\n\tListOrganizationInvitationsParams,\n\tListOrganizationInvitationsResponse,\n\tOrganizationInvitation,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListOrganizationInvitationsUrl = (\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/invitations?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/invitations`;\n};\n\n/**\n * Lists the invitations for an organization, newest first. Results are paginated: `page` defaults to 1 and `limit` defaults to 10. `limit` is capped by the server's configured maximum page size, which defaults to 100; a larger value is silently reduced to the cap rather than rejected, and values below the minimum fall back to the defaults. The `pagination` object in the response always reports the values actually applied.\n * @summary List invitations\n */\nexport const listOrganizationInvitations = async (\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ListOrganizationInvitationsResponse> => {\n\treturn customFetch<ListOrganizationInvitationsResponse>(\n\t\tgetListOrganizationInvitationsUrl(organizationId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListOrganizationInvitationsQueryKey = (\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/invitations`,\n\t\t...(params ? [params] : []),\n\t] as const;\n};\n\nexport const getListOrganizationInvitationsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listOrganizationInvitations>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetListOrganizationInvitationsQueryKey(organizationId, params);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>\n\t> = ({ signal }) =>\n\t\tlistOrganizationInvitations(organizationId, params, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: organizationId !== null && organizationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListOrganizationInvitationsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listOrganizationInvitations>>\n>;\nexport type ListOrganizationInvitationsQueryError = unknown;\n\nexport function useListOrganizationInvitations<\n\tTData = Awaited<ReturnType<typeof listOrganizationInvitations>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams: undefined | ListOrganizationInvitationsParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationInvitations<\n\tTData = Awaited<ReturnType<typeof listOrganizationInvitations>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationInvitations<\n\tTData = Awaited<ReturnType<typeof listOrganizationInvitations>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List invitations\n */\n\nexport function useListOrganizationInvitations<\n\tTData = Awaited<ReturnType<typeof listOrganizationInvitations>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationInvitationsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationInvitations>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListOrganizationInvitationsQueryOptions(\n\t\torganizationId,\n\t\tparams,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateOrganizationInvitationUrl = (\n\torganizationId: string,\n\tparams?: CreateOrganizationInvitationParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/invitations?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/invitations`;\n};\n\n/**\n * Creates an invitation for a user to join an organization.\n * @summary Create invitation\n */\nexport const createOrganizationInvitation = async (\n\torganizationId: string,\n\tcreateOrganizationInvitationRequest?: CreateOrganizationInvitationRequest,\n\tparams?: CreateOrganizationInvitationParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationInvitation> => {\n\treturn customFetch<OrganizationInvitation>(\n\t\tgetCreateOrganizationInvitationUrl(organizationId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(createOrganizationInvitationRequest),\n\t\t},\n\t);\n};\n\nexport const getCreateOrganizationInvitationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createOrganizationInvitation>>,\n\t\tTError,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tdata?: CreateOrganizationInvitationRequest;\n\t\t\tparams?: CreateOrganizationInvitationParams;\n\t\t},\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createOrganizationInvitation>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tdata?: CreateOrganizationInvitationRequest;\n\t\tparams?: CreateOrganizationInvitationParams;\n\t},\n\tTContext\n> => {\n\tconst mutationKey = [\"createOrganizationInvitation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createOrganizationInvitation>>,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tdata?: CreateOrganizationInvitationRequest;\n\t\t\tparams?: CreateOrganizationInvitationParams;\n\t\t}\n\t> = (props) => {\n\t\tconst { organizationId, data, params } = props ?? {};\n\n\t\treturn createOrganizationInvitation(\n\t\t\torganizationId,\n\t\t\tdata,\n\t\t\tparams,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateOrganizationInvitationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createOrganizationInvitation>>\n>;\nexport type CreateOrganizationInvitationMutationBody =\n\t| CreateOrganizationInvitationRequest\n\t| undefined;\nexport type CreateOrganizationInvitationMutationError = unknown;\n\n/**\n * @summary Create invitation\n */\nexport const useCreateOrganizationInvitation = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createOrganizationInvitation>>,\n\t\t\tTError,\n\t\t\t{\n\t\t\t\torganizationId: string;\n\t\t\t\tdata?: CreateOrganizationInvitationRequest;\n\t\t\t\tparams?: CreateOrganizationInvitationParams;\n\t\t\t},\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createOrganizationInvitation>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tdata?: CreateOrganizationInvitationRequest;\n\t\tparams?: CreateOrganizationInvitationParams;\n\t},\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetCreateOrganizationInvitationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetOrganizationInvitationUrl = (\n\torganizationId: string,\n\tinvitationId: string,\n) => {\n\treturn `/organizations/${organizationId}/invitations/${invitationId}`;\n};\n\n/**\n * Retrieves a single invitation.\n * @summary Get invitation\n */\nexport const getOrganizationInvitation = async (\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetOrganizationInvitationResponse> => {\n\treturn customFetch<GetOrganizationInvitationResponse>(\n\t\tgetGetOrganizationInvitationUrl(organizationId, invitationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetOrganizationInvitationQueryKey = (\n\torganizationId: string,\n\tinvitationId: string,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/invitations/${invitationId}`,\n\t] as const;\n};\n\nexport const getGetOrganizationInvitationQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganizationInvitation>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetGetOrganizationInvitationQueryKey(organizationId, invitationId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>\n\t> = ({ signal }) =>\n\t\tgetOrganizationInvitation(organizationId, invitationId, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tinvitationId !== null &&\n\t\t\tinvitationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationInvitationQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganizationInvitation>>\n>;\nexport type GetOrganizationInvitationQueryError = unknown;\n\nexport function useGetOrganizationInvitation<\n\tTData = Awaited<ReturnType<typeof getOrganizationInvitation>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tinvitationId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationInvitation<\n\tTData = Awaited<ReturnType<typeof getOrganizationInvitation>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationInvitation<\n\tTData = Awaited<ReturnType<typeof getOrganizationInvitation>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get invitation\n */\n\nexport function useGetOrganizationInvitation<\n\tTData = Awaited<ReturnType<typeof getOrganizationInvitation>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationInvitation>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationInvitationQueryOptions(\n\t\torganizationId,\n\t\tinvitationId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getAcceptOrganizationInvitationUrl = (\n\torganizationId: string,\n\tinvitationId: string,\n\tparams?: AcceptOrganizationInvitationParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/invitations/${invitationId}/accept?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/invitations/${invitationId}/accept`;\n};\n\n/**\n * Accepts an invitation to join an organization.\n * @summary Accept invitation\n */\nexport const acceptOrganizationInvitation = async (\n\torganizationId: string,\n\tinvitationId: string,\n\tacceptOrganizationInvitationQuery?: AcceptOrganizationInvitationQuery,\n\tparams?: AcceptOrganizationInvitationParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationInvitation> => {\n\treturn customFetch<OrganizationInvitation>(\n\t\tgetAcceptOrganizationInvitationUrl(organizationId, invitationId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(acceptOrganizationInvitationQuery),\n\t\t},\n\t);\n};\n\nexport const getAcceptOrganizationInvitationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>,\n\t\tTError,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tinvitationId: string;\n\t\t\tdata?: AcceptOrganizationInvitationQuery;\n\t\t\tparams?: AcceptOrganizationInvitationParams;\n\t\t},\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tinvitationId: string;\n\t\tdata?: AcceptOrganizationInvitationQuery;\n\t\tparams?: AcceptOrganizationInvitationParams;\n\t},\n\tTContext\n> => {\n\tconst mutationKey = [\"acceptOrganizationInvitation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tinvitationId: string;\n\t\t\tdata?: AcceptOrganizationInvitationQuery;\n\t\t\tparams?: AcceptOrganizationInvitationParams;\n\t\t}\n\t> = (props) => {\n\t\tconst { organizationId, invitationId, data, params } = props ?? {};\n\n\t\treturn acceptOrganizationInvitation(\n\t\t\torganizationId,\n\t\t\tinvitationId,\n\t\t\tdata,\n\t\t\tparams,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type AcceptOrganizationInvitationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>\n>;\nexport type AcceptOrganizationInvitationMutationBody =\n\t| AcceptOrganizationInvitationQuery\n\t| undefined;\nexport type AcceptOrganizationInvitationMutationError = unknown;\n\n/**\n * @summary Accept invitation\n */\nexport const useAcceptOrganizationInvitation = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>,\n\t\t\tTError,\n\t\t\t{\n\t\t\t\torganizationId: string;\n\t\t\t\tinvitationId: string;\n\t\t\t\tdata?: AcceptOrganizationInvitationQuery;\n\t\t\t\tparams?: AcceptOrganizationInvitationParams;\n\t\t\t},\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof acceptOrganizationInvitation>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tinvitationId: string;\n\t\tdata?: AcceptOrganizationInvitationQuery;\n\t\tparams?: AcceptOrganizationInvitationParams;\n\t},\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetAcceptOrganizationInvitationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getRejectOrganizationInvitationUrl = (\n\torganizationId: string,\n\tinvitationId: string,\n) => {\n\treturn `/organizations/${organizationId}/invitations/${invitationId}/reject`;\n};\n\n/**\n * Rejects an invitation to join an organization.\n * @summary Reject invitation\n */\nexport const rejectOrganizationInvitation = async (\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationInvitation> => {\n\treturn customFetch<OrganizationInvitation>(\n\t\tgetRejectOrganizationInvitationUrl(organizationId, invitationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t},\n\t);\n};\n\nexport const getRejectOrganizationInvitationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>,\n\t\tTError,\n\t\t{ organizationId: string; invitationId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>,\n\tTError,\n\t{ organizationId: string; invitationId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"rejectOrganizationInvitation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>,\n\t\t{ organizationId: string; invitationId: string }\n\t> = (props) => {\n\t\tconst { organizationId, invitationId } = props ?? {};\n\n\t\treturn rejectOrganizationInvitation(\n\t\t\torganizationId,\n\t\t\tinvitationId,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RejectOrganizationInvitationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>\n>;\n\nexport type RejectOrganizationInvitationMutationError = unknown;\n\n/**\n * @summary Reject invitation\n */\nexport const useRejectOrganizationInvitation = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; invitationId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof rejectOrganizationInvitation>>,\n\tTError,\n\t{ organizationId: string; invitationId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetRejectOrganizationInvitationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getRevokeOrganizationInvitationUrl = (\n\torganizationId: string,\n\tinvitationId: string,\n) => {\n\treturn `/organizations/${organizationId}/invitations/${invitationId}/revoke`;\n};\n\n/**\n * Revokes a pending invitation.\n * @summary Revoke invitation\n */\nexport const revokeOrganizationInvitation = async (\n\torganizationId: string,\n\tinvitationId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationInvitation> => {\n\treturn customFetch<OrganizationInvitation>(\n\t\tgetRevokeOrganizationInvitationUrl(organizationId, invitationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t},\n\t);\n};\n\nexport const getRevokeOrganizationInvitationMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>,\n\t\tTError,\n\t\t{ organizationId: string; invitationId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>,\n\tTError,\n\t{ organizationId: string; invitationId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"revokeOrganizationInvitation\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>,\n\t\t{ organizationId: string; invitationId: string }\n\t> = (props) => {\n\t\tconst { organizationId, invitationId } = props ?? {};\n\n\t\treturn revokeOrganizationInvitation(\n\t\t\torganizationId,\n\t\t\tinvitationId,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type RevokeOrganizationInvitationMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>\n>;\n\nexport type RevokeOrganizationInvitationMutationError = unknown;\n\n/**\n * @summary Revoke invitation\n */\nexport const useRevokeOrganizationInvitation = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; invitationId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof revokeOrganizationInvitation>>,\n\tTError,\n\t{ organizationId: string; invitationId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetRevokeOrganizationInvitationMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAddOrganizationMemberRequest,\n\tDeleteOrganizationMemberResponse,\n\tListOrganizationMembersParams,\n\tListOrganizationMembersResponse,\n\tOrganizationMember,\n\tOrganizationMemberResponse,\n\tUpdateOrganizationMemberRequest,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListOrganizationMembersUrl = (\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/members?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/members`;\n};\n\n/**\n * Lists the members of an organization, newest first. Results are paginated: `page` defaults to 1 and `limit` defaults to 10. `limit` is capped by the server's configured maximum page size, which defaults to 100; a larger value is silently reduced to the cap rather than rejected, and values below the minimum fall back to the defaults. The `pagination` object in the response always reports the values actually applied.\n * @summary List members\n */\nexport const listOrganizationMembers = async (\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ListOrganizationMembersResponse> => {\n\treturn customFetch<ListOrganizationMembersResponse>(\n\t\tgetListOrganizationMembersUrl(organizationId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListOrganizationMembersQueryKey = (\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/members`,\n\t\t...(params ? [params] : []),\n\t] as const;\n};\n\nexport const getListOrganizationMembersQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listOrganizationMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetListOrganizationMembersQueryKey(organizationId, params);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listOrganizationMembers>>\n\t> = ({ signal }) =>\n\t\tlistOrganizationMembers(organizationId, params, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: organizationId !== null && organizationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListOrganizationMembersQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listOrganizationMembers>>\n>;\nexport type ListOrganizationMembersQueryError = unknown;\n\nexport function useListOrganizationMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams: undefined | ListOrganizationMembersParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List members\n */\n\nexport function useListOrganizationMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListOrganizationMembersQueryOptions(\n\t\torganizationId,\n\t\tparams,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getAddOrganizationMemberUrl = (organizationId: string) => {\n\treturn `/organizations/${organizationId}/members`;\n};\n\n/**\n * Adds a user as a member of an organization with the specified role.\n * @summary Add member\n */\nexport const addOrganizationMember = async (\n\torganizationId: string,\n\taddOrganizationMemberRequest?: AddOrganizationMemberRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationMember> => {\n\treturn customFetch<OrganizationMember>(\n\t\tgetAddOrganizationMemberUrl(organizationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(addOrganizationMemberRequest),\n\t\t},\n\t);\n};\n\nexport const getAddOrganizationMemberMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof addOrganizationMember>>,\n\t\tTError,\n\t\t{ organizationId: string; data?: AddOrganizationMemberRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof addOrganizationMember>>,\n\tTError,\n\t{ organizationId: string; data?: AddOrganizationMemberRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"addOrganizationMember\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof addOrganizationMember>>,\n\t\t{ organizationId: string; data?: AddOrganizationMemberRequest }\n\t> = (props) => {\n\t\tconst { organizationId, data } = props ?? {};\n\n\t\treturn addOrganizationMember(organizationId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type AddOrganizationMemberMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof addOrganizationMember>>\n>;\nexport type AddOrganizationMemberMutationBody =\n\t| AddOrganizationMemberRequest\n\t| undefined;\nexport type AddOrganizationMemberMutationError = unknown;\n\n/**\n * @summary Add member\n */\nexport const useAddOrganizationMember = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof addOrganizationMember>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; data?: AddOrganizationMemberRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof addOrganizationMember>>,\n\tTError,\n\t{ organizationId: string; data?: AddOrganizationMemberRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetAddOrganizationMemberMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetOrganizationMemberByUserIDUrl = (\n\torganizationId: string,\n\tuserId: string,\n) => {\n\treturn `/organizations/${organizationId}/members/by-user/${userId}`;\n};\n\n/**\n * Retrieves an organization member by the user's ID with nested user data.\n * @summary Get member by user ID\n */\nexport const getOrganizationMemberByUserID = async (\n\torganizationId: string,\n\tuserId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationMemberResponse> => {\n\treturn customFetch<OrganizationMemberResponse>(\n\t\tgetGetOrganizationMemberByUserIDUrl(organizationId, userId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetOrganizationMemberByUserIDQueryKey = (\n\torganizationId: string,\n\tuserId: string,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/members/by-user/${userId}`,\n\t] as const;\n};\n\nexport const getGetOrganizationMemberByUserIDQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetGetOrganizationMemberByUserIDQueryKey(organizationId, userId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>\n\t> = ({ signal }) =>\n\t\tgetOrganizationMemberByUserID(organizationId, userId, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tuserId !== null &&\n\t\t\tuserId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationMemberByUserIDQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>\n>;\nexport type GetOrganizationMemberByUserIDQueryError = unknown;\n\nexport function useGetOrganizationMemberByUserID<\n\tTData = Awaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tuserId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationMemberByUserID<\n\tTData = Awaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationMemberByUserID<\n\tTData = Awaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get member by user ID\n */\n\nexport function useGetOrganizationMemberByUserID<\n\tTData = Awaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tuserId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMemberByUserID>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationMemberByUserIDQueryOptions(\n\t\torganizationId,\n\t\tuserId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getGetOrganizationMemberUrl = (\n\torganizationId: string,\n\tmemberId: string,\n) => {\n\treturn `/organizations/${organizationId}/members/${memberId}`;\n};\n\n/**\n * Retrieves a single organization member by ID with nested user data.\n * @summary Get member\n */\nexport const getOrganizationMember = async (\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationMemberResponse> => {\n\treturn customFetch<OrganizationMemberResponse>(\n\t\tgetGetOrganizationMemberUrl(organizationId, memberId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetOrganizationMemberQueryKey = (\n\torganizationId: string,\n\tmemberId: string,\n) => {\n\treturn [`/organizations/${organizationId}/members/${memberId}`] as const;\n};\n\nexport const getGetOrganizationMemberQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganizationMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetGetOrganizationMemberQueryKey(organizationId, memberId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getOrganizationMember>>\n\t> = ({ signal }) =>\n\t\tgetOrganizationMember(organizationId, memberId, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tmemberId !== null &&\n\t\t\tmemberId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationMemberQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganizationMember>>\n>;\nexport type GetOrganizationMemberQueryError = unknown;\n\nexport function useGetOrganizationMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tmemberId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get member\n */\n\nexport function useGetOrganizationMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationMemberQueryOptions(\n\t\torganizationId,\n\t\tmemberId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteOrganizationMemberUrl = (\n\torganizationId: string,\n\tmemberId: string,\n) => {\n\treturn `/organizations/${organizationId}/members/${memberId}`;\n};\n\n/**\n * Removes a member from an organization.\n * @summary Delete member\n */\nexport const deleteOrganizationMember = async (\n\torganizationId: string,\n\tmemberId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteOrganizationMemberResponse> => {\n\treturn customFetch<DeleteOrganizationMemberResponse>(\n\t\tgetDeleteOrganizationMemberUrl(organizationId, memberId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeleteOrganizationMemberMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteOrganizationMember>>,\n\t\tTError,\n\t\t{ organizationId: string; memberId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteOrganizationMember>>,\n\tTError,\n\t{ organizationId: string; memberId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteOrganizationMember\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteOrganizationMember>>,\n\t\t{ organizationId: string; memberId: string }\n\t> = (props) => {\n\t\tconst { organizationId, memberId } = props ?? {};\n\n\t\treturn deleteOrganizationMember(organizationId, memberId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteOrganizationMemberMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteOrganizationMember>>\n>;\n\nexport type DeleteOrganizationMemberMutationError = unknown;\n\n/**\n * @summary Delete member\n */\nexport const useDeleteOrganizationMember = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteOrganizationMember>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; memberId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteOrganizationMember>>,\n\tTError,\n\t{ organizationId: string; memberId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetDeleteOrganizationMemberMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getUpdateOrganizationMemberUrl = (\n\torganizationId: string,\n\tmemberId: string,\n) => {\n\treturn `/organizations/${organizationId}/members/${memberId}`;\n};\n\n/**\n * Updates the role of an organization member.\n * @summary Update member\n */\nexport const updateOrganizationMember = async (\n\torganizationId: string,\n\tmemberId: string,\n\tupdateOrganizationMemberRequest?: UpdateOrganizationMemberRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationMember> => {\n\treturn customFetch<OrganizationMember>(\n\t\tgetUpdateOrganizationMemberUrl(organizationId, memberId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(updateOrganizationMemberRequest),\n\t\t},\n\t);\n};\n\nexport const getUpdateOrganizationMemberMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateOrganizationMember>>,\n\t\tTError,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tmemberId: string;\n\t\t\tdata?: UpdateOrganizationMemberRequest;\n\t\t},\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateOrganizationMember>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tmemberId: string;\n\t\tdata?: UpdateOrganizationMemberRequest;\n\t},\n\tTContext\n> => {\n\tconst mutationKey = [\"updateOrganizationMember\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateOrganizationMember>>,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tmemberId: string;\n\t\t\tdata?: UpdateOrganizationMemberRequest;\n\t\t}\n\t> = (props) => {\n\t\tconst { organizationId, memberId, data } = props ?? {};\n\n\t\treturn updateOrganizationMember(\n\t\t\torganizationId,\n\t\t\tmemberId,\n\t\t\tdata,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateOrganizationMemberMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateOrganizationMember>>\n>;\nexport type UpdateOrganizationMemberMutationBody =\n\t| UpdateOrganizationMemberRequest\n\t| undefined;\nexport type UpdateOrganizationMemberMutationError = unknown;\n\n/**\n * @summary Update member\n */\nexport const useUpdateOrganizationMember = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateOrganizationMember>>,\n\t\t\tTError,\n\t\t\t{\n\t\t\t\torganizationId: string;\n\t\t\t\tmemberId: string;\n\t\t\t\tdata?: UpdateOrganizationMemberRequest;\n\t\t\t},\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateOrganizationMember>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tmemberId: string;\n\t\tdata?: UpdateOrganizationMemberRequest;\n\t},\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetUpdateOrganizationMemberMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tCreateOrganizationTeamRequest,\n\tDeleteOrganizationTeamResponse,\n\tListOrganizationTeamsParams,\n\tListOrganizationTeamsResponse,\n\tOrganizationTeam,\n\tUpdateOrganizationTeamRequest,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListOrganizationTeamsUrl = (\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/teams?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/teams`;\n};\n\n/**\n * Lists the teams within an organization, newest first. Results are paginated: `page` defaults to 1 and `limit` defaults to 10. `limit` is capped by the server's configured maximum page size, which defaults to 100; a larger value is silently reduced to the cap rather than rejected, and values below the minimum fall back to the defaults. The `pagination` object in the response always reports the values actually applied.\n * @summary List teams\n */\nexport const listOrganizationTeams = async (\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ListOrganizationTeamsResponse> => {\n\treturn customFetch<ListOrganizationTeamsResponse>(\n\t\tgetListOrganizationTeamsUrl(organizationId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListOrganizationTeamsQueryKey = (\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/teams`,\n\t\t...(params ? [params] : []),\n\t] as const;\n};\n\nexport const getListOrganizationTeamsQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listOrganizationTeams>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetListOrganizationTeamsQueryKey(organizationId, params);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listOrganizationTeams>>\n\t> = ({ signal }) =>\n\t\tlistOrganizationTeams(organizationId, params, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled: organizationId !== null && organizationId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListOrganizationTeamsQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listOrganizationTeams>>\n>;\nexport type ListOrganizationTeamsQueryError = unknown;\n\nexport function useListOrganizationTeams<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeams>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams: undefined | ListOrganizationTeamsParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationTeams<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeams>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationTeams<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeams>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List teams\n */\n\nexport function useListOrganizationTeams<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeams>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tparams?: ListOrganizationTeamsParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeams>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListOrganizationTeamsQueryOptions(\n\t\torganizationId,\n\t\tparams,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getCreateOrganizationTeamUrl = (organizationId: string) => {\n\treturn `/organizations/${organizationId}/teams`;\n};\n\n/**\n * Creates a new team within an organization.\n * @summary Create team\n */\nexport const createOrganizationTeam = async (\n\torganizationId: string,\n\tcreateOrganizationTeamRequest?: CreateOrganizationTeamRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationTeam> => {\n\treturn customFetch<OrganizationTeam>(\n\t\tgetCreateOrganizationTeamUrl(organizationId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(createOrganizationTeamRequest),\n\t\t},\n\t);\n};\n\nexport const getCreateOrganizationTeamMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof createOrganizationTeam>>,\n\t\tTError,\n\t\t{ organizationId: string; data?: CreateOrganizationTeamRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof createOrganizationTeam>>,\n\tTError,\n\t{ organizationId: string; data?: CreateOrganizationTeamRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"createOrganizationTeam\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof createOrganizationTeam>>,\n\t\t{ organizationId: string; data?: CreateOrganizationTeamRequest }\n\t> = (props) => {\n\t\tconst { organizationId, data } = props ?? {};\n\n\t\treturn createOrganizationTeam(organizationId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type CreateOrganizationTeamMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof createOrganizationTeam>>\n>;\nexport type CreateOrganizationTeamMutationBody =\n\t| CreateOrganizationTeamRequest\n\t| undefined;\nexport type CreateOrganizationTeamMutationError = unknown;\n\n/**\n * @summary Create team\n */\nexport const useCreateOrganizationTeam = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof createOrganizationTeam>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; data?: CreateOrganizationTeamRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof createOrganizationTeam>>,\n\tTError,\n\t{ organizationId: string; data?: CreateOrganizationTeamRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetCreateOrganizationTeamMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetOrganizationTeamUrl = (\n\torganizationId: string,\n\tteamId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}`;\n};\n\n/**\n * Retrieves a single team by its ID.\n * @summary Get team\n */\nexport const getOrganizationTeam = async (\n\torganizationId: string,\n\tteamId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationTeam> => {\n\treturn customFetch<OrganizationTeam>(\n\t\tgetGetOrganizationTeamUrl(organizationId, teamId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetOrganizationTeamQueryKey = (\n\torganizationId: string,\n\tteamId: string,\n) => {\n\treturn [`/organizations/${organizationId}/teams/${teamId}`] as const;\n};\n\nexport const getGetOrganizationTeamQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganizationTeam>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetGetOrganizationTeamQueryKey(organizationId, teamId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getOrganizationTeam>>\n\t> = ({ signal }) =>\n\t\tgetOrganizationTeam(organizationId, teamId, { signal, ...requestOptions });\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tteamId !== null &&\n\t\t\tteamId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationTeamQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganizationTeam>>\n>;\nexport type GetOrganizationTeamQueryError = unknown;\n\nexport function useGetOrganizationTeam<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeam>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationTeam<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeam>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationTeam<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeam>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get team\n */\n\nexport function useGetOrganizationTeam<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeam>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeam>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationTeamQueryOptions(\n\t\torganizationId,\n\t\tteamId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteOrganizationTeamUrl = (\n\torganizationId: string,\n\tteamId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}`;\n};\n\n/**\n * Deletes a team.\n * @summary Delete team\n */\nexport const deleteOrganizationTeam = async (\n\torganizationId: string,\n\tteamId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteOrganizationTeamResponse> => {\n\treturn customFetch<DeleteOrganizationTeamResponse>(\n\t\tgetDeleteOrganizationTeamUrl(organizationId, teamId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeleteOrganizationTeamMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteOrganizationTeam>>,\n\t\tTError,\n\t\t{ organizationId: string; teamId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteOrganizationTeam>>,\n\tTError,\n\t{ organizationId: string; teamId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteOrganizationTeam\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteOrganizationTeam>>,\n\t\t{ organizationId: string; teamId: string }\n\t> = (props) => {\n\t\tconst { organizationId, teamId } = props ?? {};\n\n\t\treturn deleteOrganizationTeam(organizationId, teamId, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteOrganizationTeamMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteOrganizationTeam>>\n>;\n\nexport type DeleteOrganizationTeamMutationError = unknown;\n\n/**\n * @summary Delete team\n */\nexport const useDeleteOrganizationTeam = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteOrganizationTeam>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; teamId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteOrganizationTeam>>,\n\tTError,\n\t{ organizationId: string; teamId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetDeleteOrganizationTeamMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getUpdateOrganizationTeamUrl = (\n\torganizationId: string,\n\tteamId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}`;\n};\n\n/**\n * Updates an existing team.\n * @summary Update team\n */\nexport const updateOrganizationTeam = async (\n\torganizationId: string,\n\tteamId: string,\n\tupdateOrganizationTeamRequest?: UpdateOrganizationTeamRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationTeam> => {\n\treturn customFetch<OrganizationTeam>(\n\t\tgetUpdateOrganizationTeamUrl(organizationId, teamId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"PATCH\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(updateOrganizationTeamRequest),\n\t\t},\n\t);\n};\n\nexport const getUpdateOrganizationTeamMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof updateOrganizationTeam>>,\n\t\tTError,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tteamId: string;\n\t\t\tdata?: UpdateOrganizationTeamRequest;\n\t\t},\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof updateOrganizationTeam>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tteamId: string;\n\t\tdata?: UpdateOrganizationTeamRequest;\n\t},\n\tTContext\n> => {\n\tconst mutationKey = [\"updateOrganizationTeam\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof updateOrganizationTeam>>,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tteamId: string;\n\t\t\tdata?: UpdateOrganizationTeamRequest;\n\t\t}\n\t> = (props) => {\n\t\tconst { organizationId, teamId, data } = props ?? {};\n\n\t\treturn updateOrganizationTeam(organizationId, teamId, data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type UpdateOrganizationTeamMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof updateOrganizationTeam>>\n>;\nexport type UpdateOrganizationTeamMutationBody =\n\t| UpdateOrganizationTeamRequest\n\t| undefined;\nexport type UpdateOrganizationTeamMutationError = unknown;\n\n/**\n * @summary Update team\n */\nexport const useUpdateOrganizationTeam = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof updateOrganizationTeam>>,\n\t\t\tTError,\n\t\t\t{\n\t\t\t\torganizationId: string;\n\t\t\t\tteamId: string;\n\t\t\t\tdata?: UpdateOrganizationTeamRequest;\n\t\t\t},\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof updateOrganizationTeam>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tteamId: string;\n\t\tdata?: UpdateOrganizationTeamRequest;\n\t},\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetUpdateOrganizationTeamMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tAddOrganizationTeamMemberRequest,\n\tDeleteOrganizationTeamMemberResponse,\n\tListOrganizationTeamMembersParams,\n\tListOrganizationTeamMembersResponse,\n\tOrganizationTeamMember,\n\tOrganizationTeamMemberResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getListOrganizationTeamMembersUrl = (\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n) => {\n\tconst normalizedParams = new URLSearchParams();\n\n\tObject.entries(params || {}).forEach(([key, value]) => {\n\t\tif (value !== undefined) {\n\t\t\tnormalizedParams.append(key, value === null ? \"null\" : String(value));\n\t\t}\n\t});\n\n\tconst stringifiedParams = normalizedParams.toString();\n\n\treturn stringifiedParams.length > 0\n\t\t? `/organizations/${organizationId}/teams/${teamId}/members?${stringifiedParams}`\n\t\t: `/organizations/${organizationId}/teams/${teamId}/members`;\n};\n\n/**\n * Lists the members of a team, newest first. Results are paginated: `page` defaults to 1 and `limit` defaults to 10. `limit` is capped by the server's configured maximum page size, which defaults to 100; a larger value is silently reduced to the cap rather than rejected, and values below the minimum fall back to the defaults. The `pagination` object in the response always reports the values actually applied.\n * @summary List team members\n */\nexport const listOrganizationTeamMembers = async (\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<ListOrganizationTeamMembersResponse> => {\n\treturn customFetch<ListOrganizationTeamMembersResponse>(\n\t\tgetListOrganizationTeamMembersUrl(organizationId, teamId, params),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getListOrganizationTeamMembersQueryKey = (\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/teams/${teamId}/members`,\n\t\t...(params ? [params] : []),\n\t] as const;\n};\n\nexport const getListOrganizationTeamMembersQueryOptions = <\n\tTData = Awaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetListOrganizationTeamMembersQueryKey(organizationId, teamId, params);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>\n\t> = ({ signal }) =>\n\t\tlistOrganizationTeamMembers(organizationId, teamId, params, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tteamId !== null &&\n\t\t\tteamId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type ListOrganizationTeamMembersQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>\n>;\nexport type ListOrganizationTeamMembersQueryError = unknown;\n\nexport function useListOrganizationTeamMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tparams: undefined | ListOrganizationTeamMembersParams,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationTeamMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useListOrganizationTeamMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary List team members\n */\n\nexport function useListOrganizationTeamMembers<\n\tTData = Awaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tparams?: ListOrganizationTeamMembersParams,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof listOrganizationTeamMembers>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getListOrganizationTeamMembersQueryOptions(\n\t\torganizationId,\n\t\tteamId,\n\t\tparams,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getAddOrganizationTeamMemberUrl = (\n\torganizationId: string,\n\tteamId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}/members`;\n};\n\n/**\n * Adds a member to a team.\n * @summary Add team member\n */\nexport const addOrganizationTeamMember = async (\n\torganizationId: string,\n\tteamId: string,\n\taddOrganizationTeamMemberRequest?: AddOrganizationTeamMemberRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationTeamMember> => {\n\treturn customFetch<OrganizationTeamMember>(\n\t\tgetAddOrganizationTeamMemberUrl(organizationId, teamId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\t\tbody: JSON.stringify(addOrganizationTeamMemberRequest),\n\t\t},\n\t);\n};\n\nexport const getAddOrganizationTeamMemberMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof addOrganizationTeamMember>>,\n\t\tTError,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tteamId: string;\n\t\t\tdata?: AddOrganizationTeamMemberRequest;\n\t\t},\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof addOrganizationTeamMember>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tteamId: string;\n\t\tdata?: AddOrganizationTeamMemberRequest;\n\t},\n\tTContext\n> => {\n\tconst mutationKey = [\"addOrganizationTeamMember\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof addOrganizationTeamMember>>,\n\t\t{\n\t\t\torganizationId: string;\n\t\t\tteamId: string;\n\t\t\tdata?: AddOrganizationTeamMemberRequest;\n\t\t}\n\t> = (props) => {\n\t\tconst { organizationId, teamId, data } = props ?? {};\n\n\t\treturn addOrganizationTeamMember(\n\t\t\torganizationId,\n\t\t\tteamId,\n\t\t\tdata,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type AddOrganizationTeamMemberMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof addOrganizationTeamMember>>\n>;\nexport type AddOrganizationTeamMemberMutationBody =\n\t| AddOrganizationTeamMemberRequest\n\t| undefined;\nexport type AddOrganizationTeamMemberMutationError = unknown;\n\n/**\n * @summary Add team member\n */\nexport const useAddOrganizationTeamMember = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof addOrganizationTeamMember>>,\n\t\t\tTError,\n\t\t\t{\n\t\t\t\torganizationId: string;\n\t\t\t\tteamId: string;\n\t\t\t\tdata?: AddOrganizationTeamMemberRequest;\n\t\t\t},\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof addOrganizationTeamMember>>,\n\tTError,\n\t{\n\t\torganizationId: string;\n\t\tteamId: string;\n\t\tdata?: AddOrganizationTeamMemberRequest;\n\t},\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetAddOrganizationTeamMemberMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetOrganizationTeamMemberUrl = (\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}/members/${memberId}`;\n};\n\n/**\n * Retrieves a single team member by ID with nested member and user data.\n * @summary Get team member\n */\nexport const getOrganizationTeamMember = async (\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<OrganizationTeamMemberResponse> => {\n\treturn customFetch<OrganizationTeamMemberResponse>(\n\t\tgetGetOrganizationTeamMemberUrl(organizationId, teamId, memberId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"GET\",\n\t\t},\n\t);\n};\n\nexport const getGetOrganizationTeamMemberQueryKey = (\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n) => {\n\treturn [\n\t\t`/organizations/${organizationId}/teams/${teamId}/members/${memberId}`,\n\t] as const;\n};\n\nexport const getGetOrganizationTeamMemberQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getOrganizationTeamMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey =\n\t\tqueryOptions?.queryKey ??\n\t\tgetGetOrganizationTeamMemberQueryKey(organizationId, teamId, memberId);\n\n\tconst queryFn: QueryFunction<\n\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>\n\t> = ({ signal }) =>\n\t\tgetOrganizationTeamMember(organizationId, teamId, memberId, {\n\t\t\tsignal,\n\t\t\t...requestOptions,\n\t\t});\n\n\treturn {\n\t\tqueryKey,\n\t\tqueryFn,\n\t\tenabled:\n\t\t\torganizationId !== null &&\n\t\t\torganizationId !== undefined &&\n\t\t\tteamId !== null &&\n\t\t\tteamId !== undefined &&\n\t\t\tmemberId !== null &&\n\t\t\tmemberId !== undefined,\n\t\t...queryOptions,\n\t} as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetOrganizationTeamMemberQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getOrganizationTeamMember>>\n>;\nexport type GetOrganizationTeamMemberQueryError = unknown;\n\nexport function useGetOrganizationTeamMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeamMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationTeamMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeamMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetOrganizationTeamMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeamMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get team member\n */\n\nexport function useGetOrganizationTeamMember<\n\tTData = Awaited<ReturnType<typeof getOrganizationTeamMember>>,\n\tTError = unknown,\n>(\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<\n\t\t\t\tAwaited<ReturnType<typeof getOrganizationTeamMember>>,\n\t\t\t\tTError,\n\t\t\t\tTData\n\t\t\t>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetOrganizationTeamMemberQueryOptions(\n\t\torganizationId,\n\t\tteamId,\n\t\tmemberId,\n\t\toptions,\n\t);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getDeleteOrganizationTeamMemberUrl = (\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n) => {\n\treturn `/organizations/${organizationId}/teams/${teamId}/members/${memberId}`;\n};\n\n/**\n * Removes a member from a team.\n * @summary Delete team member\n */\nexport const deleteOrganizationTeamMember = async (\n\torganizationId: string,\n\tteamId: string,\n\tmemberId: string,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DeleteOrganizationTeamMemberResponse> => {\n\treturn customFetch<DeleteOrganizationTeamMemberResponse>(\n\t\tgetDeleteOrganizationTeamMemberUrl(organizationId, teamId, memberId),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"DELETE\",\n\t\t},\n\t);\n};\n\nexport const getDeleteOrganizationTeamMemberMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>,\n\t\tTError,\n\t\t{ organizationId: string; teamId: string; memberId: string },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>,\n\tTError,\n\t{ organizationId: string; teamId: string; memberId: string },\n\tTContext\n> => {\n\tconst mutationKey = [\"deleteOrganizationTeamMember\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>,\n\t\t{ organizationId: string; teamId: string; memberId: string }\n\t> = (props) => {\n\t\tconst { organizationId, teamId, memberId } = props ?? {};\n\n\t\treturn deleteOrganizationTeamMember(\n\t\t\torganizationId,\n\t\t\tteamId,\n\t\t\tmemberId,\n\t\t\trequestOptions,\n\t\t);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DeleteOrganizationTeamMemberMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>\n>;\n\nexport type DeleteOrganizationTeamMemberMutationError = unknown;\n\n/**\n * @summary Delete team member\n */\nexport const useDeleteOrganizationTeamMember = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>,\n\t\t\tTError,\n\t\t\t{ organizationId: string; teamId: string; memberId: string },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof deleteOrganizationTeamMember>>,\n\tTError,\n\t{ organizationId: string; teamId: string; memberId: string },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetDeleteOrganizationTeamMemberMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as organizations from \"../../gen/endpoints/organizations/organizations\";\nimport * as organizationInvitations from \"../../gen/endpoints/organization-invitations/organization-invitations\";\nimport * as organizationMembers from \"../../gen/endpoints/organization-members/organization-members\";\nimport * as organizationTeams from \"../../gen/endpoints/organization-teams/organization-teams\";\nimport * as organizationTeamMembers from \"../../gen/endpoints/organization-team-members/organization-team-members\";\n\nexport class OrganizationsPlugin implements Plugin {\n public readonly id = \"organizations\";\n\n public init(client: AuthulaClient) {\n return wrapGenerated(\n {\n ...organizations,\n ...organizationInvitations,\n ...organizationMembers,\n ...organizationTeams,\n ...organizationTeamMembers,\n },\n client,\n );\n }\n}\n","/**\n * Generated by orval v8.23.0 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\nimport type {\n\tDataTag,\n\tDefinedInitialDataOptions,\n\tDefinedUseQueryResult,\n\tMutationFunction,\n\tQueryClient,\n\tQueryFunction,\n\tQueryKey,\n\tUndefinedInitialDataOptions,\n\tUseMutationOptions,\n\tUseMutationResult,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { customFetch } from \"../../../mutators/custom-fetch\";\nimport type {\n\tDisableResponse,\n\tEnableResponse,\n\tGenerateBackupCodesResponse,\n\tGetTOTPURIResponse,\n\tVerifyBackupCodeRequest,\n\tVerifyBackupCodeResponse,\n\tVerifyTOTPRequest,\n\tVerifyTOTPResponse,\n} from \"../../models\";\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\nconst withQueryKey = <T extends object, K>(\n\tquery: T,\n\tqueryKey: K,\n): T & { queryKey: K } => {\n\tconst result = { queryKey } as T & { queryKey: K };\n\tfor (const key of Object.keys(query)) {\n\t\t// The explicit queryKey always wins, matching the previous\n\t\t// `{ ...query, queryKey }` spread where it was set last.\n\t\tif (key === \"queryKey\") continue;\n\t\tObject.defineProperty(result, key, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => (query as Record<string, unknown>)[key],\n\t\t});\n\t}\n\treturn result;\n};\n\nexport const getDisableTotpUrl = () => {\n\treturn `/totp/disable`;\n};\n\n/**\n * Disables TOTP two-factor authentication for the authenticated user.\n * @summary Disable TOTP\n */\nexport const disableTotp = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<DisableResponse> => {\n\treturn customFetch<DisableResponse>(getDisableTotpUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t});\n};\n\nexport const getDisableTotpMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof disableTotp>>,\n\t\tTError,\n\t\tvoid,\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof disableTotp>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\tconst mutationKey = [\"disableTotp\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof disableTotp>>,\n\t\tvoid\n\t> = () => {\n\t\treturn disableTotp(requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type DisableTotpMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof disableTotp>>\n>;\n\nexport type DisableTotpMutationError = unknown;\n\n/**\n * @summary Disable TOTP\n */\nexport const useDisableTotp = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof disableTotp>>,\n\t\t\tTError,\n\t\t\tvoid,\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof disableTotp>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\treturn useMutation(getDisableTotpMutationOptions(options), queryClient);\n};\nexport const getEnableTotpUrl = () => {\n\treturn `/totp/enable`;\n};\n\n/**\n * Enables TOTP two-factor authentication for the authenticated user. Returns the TOTP URI and backup codes.\n * @summary Enable TOTP\n */\nexport const enableTotp = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<EnableResponse> => {\n\treturn customFetch<EnableResponse>(getEnableTotpUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t});\n};\n\nexport const getEnableTotpMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof enableTotp>>,\n\t\tTError,\n\t\tvoid,\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof enableTotp>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\tconst mutationKey = [\"enableTotp\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof enableTotp>>,\n\t\tvoid\n\t> = () => {\n\t\treturn enableTotp(requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type EnableTotpMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof enableTotp>>\n>;\n\nexport type EnableTotpMutationError = unknown;\n\n/**\n * @summary Enable TOTP\n */\nexport const useEnableTotp = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof enableTotp>>,\n\t\t\tTError,\n\t\t\tvoid,\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof enableTotp>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\treturn useMutation(getEnableTotpMutationOptions(options), queryClient);\n};\nexport const getGenerateTotpBackupCodesUrl = () => {\n\treturn `/totp/generate-backup-codes`;\n};\n\n/**\n * Generates a new set of backup codes for the authenticated user. Previous backup codes are invalidated.\n * @summary Generate backup codes\n */\nexport const generateTotpBackupCodes = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GenerateBackupCodesResponse> => {\n\treturn customFetch<GenerateBackupCodesResponse>(\n\t\tgetGenerateTotpBackupCodesUrl(),\n\t\t{\n\t\t\t...options,\n\t\t\tmethod: \"POST\",\n\t\t},\n\t);\n};\n\nexport const getGenerateTotpBackupCodesMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof generateTotpBackupCodes>>,\n\t\tTError,\n\t\tvoid,\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof generateTotpBackupCodes>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\tconst mutationKey = [\"generateTotpBackupCodes\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof generateTotpBackupCodes>>,\n\t\tvoid\n\t> = () => {\n\t\treturn generateTotpBackupCodes(requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type GenerateTotpBackupCodesMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof generateTotpBackupCodes>>\n>;\n\nexport type GenerateTotpBackupCodesMutationError = unknown;\n\n/**\n * @summary Generate backup codes\n */\nexport const useGenerateTotpBackupCodes = <\n\tTError = unknown,\n\tTContext = unknown,\n>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof generateTotpBackupCodes>>,\n\t\t\tTError,\n\t\t\tvoid,\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof generateTotpBackupCodes>>,\n\tTError,\n\tvoid,\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetGenerateTotpBackupCodesMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\nexport const getGetTotpURIUrl = () => {\n\treturn `/totp/get-uri`;\n};\n\n/**\n * Returns the current TOTP URI for the authenticated user's authenticator app configuration.\n * @summary Get TOTP URI\n */\nexport const getTotpURI = async (\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<GetTOTPURIResponse> => {\n\treturn customFetch<GetTOTPURIResponse>(getGetTotpURIUrl(), {\n\t\t...options,\n\t\tmethod: \"GET\",\n\t});\n};\n\nexport const getGetTotpURIQueryKey = () => {\n\treturn [`/totp/get-uri`] as const;\n};\n\nexport const getGetTotpURIQueryOptions = <\n\tTData = Awaited<ReturnType<typeof getTotpURI>>,\n\tTError = unknown,\n>(options?: {\n\tquery?: Partial<\n\t\tUseQueryOptions<Awaited<ReturnType<typeof getTotpURI>>, TError, TData>\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}) => {\n\tconst { query: queryOptions, request: requestOptions } = options ?? {};\n\n\tconst queryKey = queryOptions?.queryKey ?? getGetTotpURIQueryKey();\n\n\tconst queryFn: QueryFunction<Awaited<ReturnType<typeof getTotpURI>>> = ({\n\t\tsignal,\n\t}) => getTotpURI({ signal, ...requestOptions });\n\n\treturn { queryKey, queryFn, ...queryOptions } as UseQueryOptions<\n\t\tAwaited<ReturnType<typeof getTotpURI>>,\n\t\tTError,\n\t\tTData\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n};\n\nexport type GetTotpURIQueryResult = NonNullable<\n\tAwaited<ReturnType<typeof getTotpURI>>\n>;\nexport type GetTotpURIQueryError = unknown;\n\nexport function useGetTotpURI<\n\tTData = Awaited<ReturnType<typeof getTotpURI>>,\n\tTError = unknown,\n>(\n\toptions: {\n\t\tquery: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getTotpURI>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tDefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getTotpURI>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getTotpURI>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): DefinedUseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetTotpURI<\n\tTData = Awaited<ReturnType<typeof getTotpURI>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getTotpURI>>, TError, TData>\n\t\t> &\n\t\t\tPick<\n\t\t\t\tUndefinedInitialDataOptions<\n\t\t\t\t\tAwaited<ReturnType<typeof getTotpURI>>,\n\t\t\t\t\tTError,\n\t\t\t\t\tAwaited<ReturnType<typeof getTotpURI>>\n\t\t\t\t>,\n\t\t\t\t\"initialData\"\n\t\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\nexport function useGetTotpURI<\n\tTData = Awaited<ReturnType<typeof getTotpURI>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getTotpURI>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n};\n/**\n * @summary Get TOTP URI\n */\n\nexport function useGetTotpURI<\n\tTData = Awaited<ReturnType<typeof getTotpURI>>,\n\tTError = unknown,\n>(\n\toptions?: {\n\t\tquery?: Partial<\n\t\t\tUseQueryOptions<Awaited<ReturnType<typeof getTotpURI>>, TError, TData>\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseQueryResult<TData, TError> & {\n\tqueryKey: DataTag<QueryKey, TData, TError>;\n} {\n\tconst queryOptions = getGetTotpURIQueryOptions(options);\n\n\tconst query = useQuery(queryOptions, queryClient) as UseQueryResult<\n\t\tTData,\n\t\tTError\n\t> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n\treturn withQueryKey(query, queryOptions.queryKey);\n}\n\nexport const getVerifyTotpUrl = () => {\n\treturn `/totp/verify`;\n};\n\n/**\n * Verifies a TOTP code from the authenticator app and completes authentication. Requires a pending TOTP cookie set during sign-in.\n * @summary Verify TOTP code\n */\nexport const verifyTotp = async (\n\tverifyTOTPRequest?: VerifyTOTPRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<VerifyTOTPResponse> => {\n\treturn customFetch<VerifyTOTPResponse>(getVerifyTotpUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(verifyTOTPRequest),\n\t});\n};\n\nexport const getVerifyTotpMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof verifyTotp>>,\n\t\tTError,\n\t\t{ data?: VerifyTOTPRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof verifyTotp>>,\n\tTError,\n\t{ data?: VerifyTOTPRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"verifyTotp\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof verifyTotp>>,\n\t\t{ data?: VerifyTOTPRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn verifyTotp(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type VerifyTotpMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof verifyTotp>>\n>;\nexport type VerifyTotpMutationBody = VerifyTOTPRequest | undefined;\nexport type VerifyTotpMutationError = unknown;\n\n/**\n * @summary Verify TOTP code\n */\nexport const useVerifyTotp = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof verifyTotp>>,\n\t\t\tTError,\n\t\t\t{ data?: VerifyTOTPRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof verifyTotp>>,\n\tTError,\n\t{ data?: VerifyTOTPRequest },\n\tTContext\n> => {\n\treturn useMutation(getVerifyTotpMutationOptions(options), queryClient);\n};\nexport const getVerifyTotpBackupCodeUrl = () => {\n\treturn `/totp/verify-backup-code`;\n};\n\n/**\n * Verifies a backup code as an alternative to TOTP verification. Completes authentication if the code is valid.\n * @summary Verify backup code\n */\nexport const verifyTotpBackupCode = async (\n\tverifyBackupCodeRequest?: VerifyBackupCodeRequest,\n\toptions?: Parameters<typeof customFetch>[1],\n): Promise<VerifyBackupCodeResponse> => {\n\treturn customFetch<VerifyBackupCodeResponse>(getVerifyTotpBackupCodeUrl(), {\n\t\t...options,\n\t\tmethod: \"POST\",\n\t\theaders: { \"Content-Type\": \"application/json\", ...options?.headers },\n\t\tbody: JSON.stringify(verifyBackupCodeRequest),\n\t});\n};\n\nexport const getVerifyTotpBackupCodeMutationOptions = <\n\tTError = unknown,\n\tTContext = unknown,\n>(options?: {\n\tmutation?: UseMutationOptions<\n\t\tAwaited<ReturnType<typeof verifyTotpBackupCode>>,\n\t\tTError,\n\t\t{ data?: VerifyBackupCodeRequest },\n\t\tTContext\n\t>;\n\trequest?: SecondParameter<typeof customFetch>;\n}): UseMutationOptions<\n\tAwaited<ReturnType<typeof verifyTotpBackupCode>>,\n\tTError,\n\t{ data?: VerifyBackupCodeRequest },\n\tTContext\n> => {\n\tconst mutationKey = [\"verifyTotpBackupCode\"];\n\tconst { mutation: mutationOptions, request: requestOptions } = options\n\t\t? options.mutation &&\n\t\t\t\"mutationKey\" in options.mutation &&\n\t\t\toptions.mutation.mutationKey\n\t\t\t? options\n\t\t\t: { ...options, mutation: { ...options.mutation, mutationKey } }\n\t\t: { mutation: { mutationKey }, request: undefined };\n\n\tconst mutationFn: MutationFunction<\n\t\tAwaited<ReturnType<typeof verifyTotpBackupCode>>,\n\t\t{ data?: VerifyBackupCodeRequest }\n\t> = (props) => {\n\t\tconst { data } = props ?? {};\n\n\t\treturn verifyTotpBackupCode(data, requestOptions);\n\t};\n\n\treturn { mutationFn, ...mutationOptions };\n};\n\nexport type VerifyTotpBackupCodeMutationResult = NonNullable<\n\tAwaited<ReturnType<typeof verifyTotpBackupCode>>\n>;\nexport type VerifyTotpBackupCodeMutationBody =\n\t| VerifyBackupCodeRequest\n\t| undefined;\nexport type VerifyTotpBackupCodeMutationError = unknown;\n\n/**\n * @summary Verify backup code\n */\nexport const useVerifyTotpBackupCode = <TError = unknown, TContext = unknown>(\n\toptions?: {\n\t\tmutation?: UseMutationOptions<\n\t\t\tAwaited<ReturnType<typeof verifyTotpBackupCode>>,\n\t\t\tTError,\n\t\t\t{ data?: VerifyBackupCodeRequest },\n\t\t\tTContext\n\t\t>;\n\t\trequest?: SecondParameter<typeof customFetch>;\n\t},\n\tqueryClient?: QueryClient,\n): UseMutationResult<\n\tAwaited<ReturnType<typeof verifyTotpBackupCode>>,\n\tTError,\n\t{ data?: VerifyBackupCodeRequest },\n\tTContext\n> => {\n\treturn useMutation(\n\t\tgetVerifyTotpBackupCodeMutationOptions(options),\n\t\tqueryClient,\n\t);\n};\n","import type { AuthulaClient } from \"@/client\";\nimport type { Plugin } from \"@/types/plugins\";\nimport { wrapGenerated } from \"@/utils/wrap-generated\";\nimport * as totp from \"../../gen/endpoints/totp-plugin/totp-plugin\";\n\nexport class TOTPPlugin implements Plugin {\n public readonly id = \"totp\";\n\n public init(client: AuthulaClient) {\n return wrapGenerated(totp, client);\n }\n}\n"],"mappings":"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"}
|