@learnorama/mozaik-sdk 0.1.0 → 0.5.0-staging.22.1
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.
- package/README.md +186 -5
- package/dist/api/account.d.ts +2 -2
- package/dist/api/account.js +1 -1
- package/dist/api/account.js.map +1 -1
- package/dist/api/admin-catalogue.d.ts +2 -2
- package/dist/api/admin-catalogue.js +1 -1
- package/dist/api/admin-catalogue.js.map +1 -1
- package/dist/api/admin-consumption.d.ts +7 -2
- package/dist/api/admin-consumption.js +6 -1
- package/dist/api/admin-consumption.js.map +1 -1
- package/dist/api/admin-licenses.d.ts +2 -2
- package/dist/api/admin-licenses.js +1 -1
- package/dist/api/admin-licenses.js.map +1 -1
- package/dist/api/admin-patrons.d.ts +3 -3
- package/dist/api/admin-patrons.js +2 -2
- package/dist/api/admin-patrons.js.map +1 -1
- package/dist/api/admin-reviews.d.ts +2 -2
- package/dist/api/admin-reviews.js +1 -1
- package/dist/api/admin-reviews.js.map +1 -1
- package/dist/api/admin-roles.d.ts +3 -3
- package/dist/api/admin-roles.js +2 -2
- package/dist/api/admin-roles.js.map +1 -1
- package/dist/api/admin-support.d.ts +2 -2
- package/dist/api/admin-support.js +1 -1
- package/dist/api/admin-support.js.map +1 -1
- package/dist/api/admin-tenants.d.ts +14 -2
- package/dist/api/admin-tenants.js +38 -2
- package/dist/api/admin-tenants.js.map +1 -1
- package/dist/api/admin-tutoring.d.ts +2 -2
- package/dist/api/admin-tutoring.js +1 -1
- package/dist/api/admin-tutoring.js.map +1 -1
- package/dist/api/auth.d.ts +2 -2
- package/dist/api/auth.js +1 -1
- package/dist/api/auth.js.map +1 -1
- package/dist/api/biblio-catalogue.d.ts +2 -2
- package/dist/api/biblio-catalogue.js +1 -1
- package/dist/api/biblio-catalogue.js.map +1 -1
- package/dist/api/biblio-home.d.ts +2 -2
- package/dist/api/biblio-home.js +1 -1
- package/dist/api/biblio-home.js.map +1 -1
- package/dist/api/biblio-library.d.ts +2 -2
- package/dist/api/biblio-library.js +1 -1
- package/dist/api/biblio-library.js.map +1 -1
- package/dist/api/biblio-nextory.d.ts +2 -2
- package/dist/api/biblio-nextory.js +1 -1
- package/dist/api/biblio-nextory.js.map +1 -1
- package/dist/api/biblio-press.d.ts +2 -2
- package/dist/api/biblio-press.js +1 -1
- package/dist/api/biblio-press.js.map +1 -1
- package/dist/api/biblio-search.d.ts +2 -2
- package/dist/api/biblio-search.js +1 -1
- package/dist/api/biblio-search.js.map +1 -1
- package/dist/api/biblio-telemetry.d.ts +2 -2
- package/dist/api/biblio-telemetry.js +1 -1
- package/dist/api/biblio-telemetry.js.map +1 -1
- package/dist/api/consumption.d.ts +2 -2
- package/dist/api/consumption.js +1 -1
- package/dist/api/consumption.js.map +1 -1
- package/dist/api/cvs-app.d.ts +2 -2
- package/dist/api/cvs-app.js +1 -1
- package/dist/api/cvs-app.js.map +1 -1
- package/dist/api/cvs-documents.d.ts +16 -4
- package/dist/api/cvs-documents.js +22 -5
- package/dist/api/cvs-documents.js.map +1 -1
- package/dist/api/cvs-favorites.d.ts +2 -2
- package/dist/api/cvs-favorites.js +1 -1
- package/dist/api/cvs-favorites.js.map +1 -1
- package/dist/api/cvs-ils.d.ts +167 -0
- package/dist/api/cvs-ils.js +362 -0
- package/dist/api/cvs-ils.js.map +1 -0
- package/dist/api/cvs-loans.d.ts +2 -2
- package/dist/api/cvs-loans.js +1 -1
- package/dist/api/cvs-loans.js.map +1 -1
- package/dist/api/cvs-payments.d.ts +49 -0
- package/dist/api/cvs-payments.js +84 -0
- package/dist/api/cvs-payments.js.map +1 -0
- package/dist/api/cvs-streaming.d.ts +2 -2
- package/dist/api/cvs-streaming.js +1 -1
- package/dist/api/cvs-streaming.js.map +1 -1
- package/dist/api/index.d.ts +5 -2
- package/dist/api/index.js +7 -4
- package/dist/api/partner-catalogue.d.ts +2 -2
- package/dist/api/partner-catalogue.js +1 -1
- package/dist/api/partner-catalogue.js.map +1 -1
- package/dist/api/partner-reader.d.ts +2 -2
- package/dist/api/partner-reader.js +1 -1
- package/dist/api/partner-reader.js.map +1 -1
- package/dist/api/profiles.d.ts +2 -2
- package/dist/api/profiles.js +1 -1
- package/dist/api/profiles.js.map +1 -1
- package/dist/api/search.d.ts +18 -0
- package/dist/api/search.js +37 -0
- package/dist/api/search.js.map +1 -0
- package/dist/api/tutoring-catalogue.d.ts +2 -2
- package/dist/api/tutoring-catalogue.js +1 -1
- package/dist/api/tutoring-catalogue.js.map +1 -1
- package/dist/api/tutoring-chat.d.ts +2 -2
- package/dist/api/tutoring-chat.js +1 -1
- package/dist/api/tutoring-chat.js.map +1 -1
- package/dist/api/tutoring-dispatch.d.ts +2 -2
- package/dist/api/tutoring-dispatch.js +1 -1
- package/dist/api/tutoring-dispatch.js.map +1 -1
- package/dist/api/tutoring-practitioner.d.ts +2 -2
- package/dist/api/tutoring-practitioner.js +1 -1
- package/dist/api/tutoring-practitioner.js.map +1 -1
- package/dist/api/tutoring-requests.d.ts +2 -2
- package/dist/api/tutoring-requests.js +1 -1
- package/dist/api/tutoring-requests.js.map +1 -1
- package/dist/auth.d.ts +10 -0
- package/dist/auth.js +451 -0
- package/dist/auth.js.map +1 -0
- package/dist/chat.d.ts +3 -0
- package/dist/chat.js +3 -0
- package/dist/{client-BDwBZYB0.d.ts → chunks/client.d.ts} +1 -1
- package/dist/{client-D3kMOcIr.js → chunks/client.js} +1 -1
- package/dist/chunks/client.js.map +1 -0
- package/dist/chunks/client2.d.ts +53 -0
- package/dist/chunks/connection.d.ts +28 -0
- package/dist/chunks/connection.js +141 -0
- package/dist/chunks/connection.js.map +1 -0
- package/dist/{index-wL_20vR8.d.ts → chunks/index.d.ts} +922 -128
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +2 -2
- package/dist/models.js +44 -1
- package/dist/models.js.map +1 -1
- package/dist/react/account.d.ts +2 -2
- package/dist/react/account.js +2 -2
- package/dist/react/account.js.map +1 -1
- package/dist/react/admin-catalogue.d.ts +2 -2
- package/dist/react/admin-catalogue.js +2 -2
- package/dist/react/admin-catalogue.js.map +1 -1
- package/dist/react/admin-consumption.d.ts +7 -2
- package/dist/react/admin-consumption.js +7 -2
- package/dist/react/admin-consumption.js.map +1 -1
- package/dist/react/admin-licenses.d.ts +2 -2
- package/dist/react/admin-licenses.js +2 -2
- package/dist/react/admin-licenses.js.map +1 -1
- package/dist/react/admin-patrons.d.ts +3 -3
- package/dist/react/admin-patrons.js +3 -3
- package/dist/react/admin-patrons.js.map +1 -1
- package/dist/react/admin-reviews.d.ts +2 -2
- package/dist/react/admin-reviews.js +2 -2
- package/dist/react/admin-reviews.js.map +1 -1
- package/dist/react/admin-roles.d.ts +3 -3
- package/dist/react/admin-roles.js +3 -3
- package/dist/react/admin-roles.js.map +1 -1
- package/dist/react/admin-support.d.ts +2 -2
- package/dist/react/admin-support.js +2 -2
- package/dist/react/admin-support.js.map +1 -1
- package/dist/react/admin-tenants.d.ts +68 -2
- package/dist/react/admin-tenants.js +87 -3
- package/dist/react/admin-tenants.js.map +1 -1
- package/dist/react/admin-tutoring.d.ts +2 -2
- package/dist/react/admin-tutoring.js +2 -2
- package/dist/react/admin-tutoring.js.map +1 -1
- package/dist/react/auth.d.ts +2 -2
- package/dist/react/auth.js +2 -2
- package/dist/react/auth.js.map +1 -1
- package/dist/react/biblio-catalogue.d.ts +2 -2
- package/dist/react/biblio-catalogue.js +2 -2
- package/dist/react/biblio-catalogue.js.map +1 -1
- package/dist/react/biblio-home.d.ts +2 -2
- package/dist/react/biblio-home.js +2 -2
- package/dist/react/biblio-home.js.map +1 -1
- package/dist/react/biblio-library.d.ts +2 -2
- package/dist/react/biblio-library.js +2 -2
- package/dist/react/biblio-library.js.map +1 -1
- package/dist/react/biblio-nextory.d.ts +2 -2
- package/dist/react/biblio-nextory.js +2 -2
- package/dist/react/biblio-nextory.js.map +1 -1
- package/dist/react/biblio-press.d.ts +2 -2
- package/dist/react/biblio-press.js +2 -2
- package/dist/react/biblio-press.js.map +1 -1
- package/dist/react/biblio-search.d.ts +2 -2
- package/dist/react/biblio-search.js +2 -2
- package/dist/react/biblio-search.js.map +1 -1
- package/dist/react/biblio-telemetry.d.ts +2 -2
- package/dist/react/biblio-telemetry.js +2 -2
- package/dist/react/biblio-telemetry.js.map +1 -1
- package/dist/react/chat.d.ts +36 -0
- package/dist/react/chat.js +234 -0
- package/dist/react/chat.js.map +1 -0
- package/dist/react/consumption.d.ts +2 -2
- package/dist/react/consumption.js +2 -2
- package/dist/react/consumption.js.map +1 -1
- package/dist/react/cvs-app.d.ts +2 -2
- package/dist/react/cvs-app.js +2 -2
- package/dist/react/cvs-app.js.map +1 -1
- package/dist/react/cvs-documents.d.ts +17 -4
- package/dist/react/cvs-documents.js +25 -8
- package/dist/react/cvs-documents.js.map +1 -1
- package/dist/react/cvs-favorites.d.ts +2 -2
- package/dist/react/cvs-favorites.js +2 -2
- package/dist/react/cvs-favorites.js.map +1 -1
- package/dist/react/cvs-ils.d.ts +552 -0
- package/dist/react/cvs-ils.js +822 -0
- package/dist/react/cvs-ils.js.map +1 -0
- package/dist/react/cvs-loans.d.ts +2 -2
- package/dist/react/cvs-loans.js +2 -2
- package/dist/react/cvs-loans.js.map +1 -1
- package/dist/react/cvs-payments.d.ts +123 -0
- package/dist/react/cvs-payments.js +181 -0
- package/dist/react/cvs-payments.js.map +1 -0
- package/dist/react/cvs-streaming.d.ts +2 -2
- package/dist/react/cvs-streaming.js +2 -2
- package/dist/react/cvs-streaming.js.map +1 -1
- package/dist/react/index.d.ts +5 -2
- package/dist/react/index.js +5 -2
- package/dist/react/partner-catalogue.d.ts +2 -2
- package/dist/react/partner-catalogue.js +2 -2
- package/dist/react/partner-catalogue.js.map +1 -1
- package/dist/react/partner-reader.d.ts +2 -2
- package/dist/react/partner-reader.js +2 -2
- package/dist/react/partner-reader.js.map +1 -1
- package/dist/react/profiles.d.ts +2 -2
- package/dist/react/profiles.js +2 -2
- package/dist/react/profiles.js.map +1 -1
- package/dist/react/search.d.ts +47 -0
- package/dist/react/search.js +81 -0
- package/dist/react/search.js.map +1 -0
- package/dist/react/sso.d.ts +15 -0
- package/dist/react/sso.js +48 -0
- package/dist/react/sso.js.map +1 -0
- package/dist/react/tutoring-catalogue.d.ts +2 -2
- package/dist/react/tutoring-catalogue.js +2 -2
- package/dist/react/tutoring-catalogue.js.map +1 -1
- package/dist/react/tutoring-chat.d.ts +2 -2
- package/dist/react/tutoring-chat.js +2 -2
- package/dist/react/tutoring-chat.js.map +1 -1
- package/dist/react/tutoring-dispatch.d.ts +2 -2
- package/dist/react/tutoring-dispatch.js +2 -2
- package/dist/react/tutoring-dispatch.js.map +1 -1
- package/dist/react/tutoring-practitioner.d.ts +2 -2
- package/dist/react/tutoring-practitioner.js +2 -2
- package/dist/react/tutoring-practitioner.js.map +1 -1
- package/dist/react/tutoring-requests.d.ts +2 -2
- package/dist/react/tutoring-requests.js +2 -2
- package/dist/react/tutoring-requests.js.map +1 -1
- package/package.json +29 -1
- package/dist/client-D3kMOcIr.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cvs-ils.js","names":[],"sources":["../../src/react/cvs-ils/cvs-ils.ts"],"sourcesContent":["/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Mozaik backend\n * Four products behind one API — Biblio, Médiathèques, the partner catalogues (Nextory and YouScribe) and Prof Express. Authentication is Keycloak SSO only, once, for all of them: see the **auth** section below for the browser flow and the three failure modes.\n * OpenAPI spec version: 0.5.0\n */\nimport {\n useMutation,\n useQuery\n} from '@tanstack/react-query';\nimport type {\n DataTag,\n DefinedInitialDataOptions,\n DefinedUseQueryResult,\n MutationFunction,\n QueryClient,\n QueryFunction,\n QueryKey,\n UndefinedInitialDataOptions,\n UseMutationOptions,\n UseMutationResult,\n UseQueryOptions,\n UseQueryResult\n} from '@tanstack/react-query';\n\nimport type {\n HTTPExceptionResponse,\n IlsAccountRead,\n IlsActionRead,\n IlsHoldListRead,\n IlsHoldWrite,\n IlsHoldableRead,\n IlsLoanListRead,\n IlsLocationListRead,\n IlsPasswordWrite,\n IlsReviewWrite,\n IlsSignInWrite,\n IlsStatusRead,\n IlsSuggestionOptionListRead,\n IlsTagWrite,\n ListIlsLoansParams,\n ReadIlsHoldableParams,\n ValidationErrorResponse\n} from '../../models';\n\nimport { request } from '../../client';\nimport type { ErrorType , BodyType } from '../../client';\n\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\n\n\nconst withQueryKey = <T extends object, K>(query: T, queryKey: K): T & { queryKey: K } => {\n const result = { queryKey } as T & { queryKey: K };\n for (const key of Object.keys(query)) {\n // The explicit queryKey always wins, matching the previous\n // `{ ...query, queryKey }` spread where it was set last.\n if (key === 'queryKey') continue;\n Object.defineProperty(result, key, {\n enumerable: true,\n configurable: true,\n get: () => (query as Record<string, unknown>)[key],\n });\n }\n return result;\n};\n\nexport const getReadIlsAccountUrl = () => {\n\n\n\n\n return `/ils/account`\n}\n\n/**\n * The borrower record held by the library.\n *\n * Passed through unmodelled — PMB documents no shape for this call and the\n * four libraries run different versions, so a fixed schema would drop exactly\n * the fine and expiry fields a patron most needs.\n * @summary Read Ils Account\n */\nexport const readIlsAccount = async ( options?: Parameters<typeof request>[1]): Promise<IlsAccountRead> => {\n\n return request<IlsAccountRead>(getReadIlsAccountUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getReadIlsAccountQueryKey = () => {\n return [\n `/ils/account`\n ] as const;\n }\n\n\nexport const getReadIlsAccountQueryOptions = <TData = Awaited<ReturnType<typeof readIlsAccount>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsAccount>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getReadIlsAccountQueryKey();\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof readIlsAccount>>> = ({ signal }) => readIlsAccount({ signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof readIlsAccount>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type ReadIlsAccountQueryResult = NonNullable<Awaited<ReturnType<typeof readIlsAccount>>>\nexport type ReadIlsAccountQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useReadIlsAccount<TData = Awaited<ReturnType<typeof readIlsAccount>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsAccount>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof readIlsAccount>>,\n TError,\n Awaited<ReturnType<typeof readIlsAccount>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useReadIlsAccount<TData = Awaited<ReturnType<typeof readIlsAccount>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsAccount>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof readIlsAccount>>,\n TError,\n Awaited<ReturnType<typeof readIlsAccount>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useReadIlsAccount<TData = Awaited<ReturnType<typeof readIlsAccount>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsAccount>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Read Ils Account\n */\n\nexport function useReadIlsAccount<TData = Awaited<ReturnType<typeof readIlsAccount>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsAccount>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getReadIlsAccountQueryOptions(options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getListIlsHoldLocationsUrl = () => {\n\n\n\n\n return `/ils/hold-locations`\n}\n\n/**\n * Branches a reservation may be collected from.\n *\n * A separate call from ``/ils/locations`` because it is a different list —\n * not every branch accepts collections, and offering one that does not\n * produces a hold the patron can never pick up.\n * @summary List Ils Hold Locations\n */\nexport const listIlsHoldLocations = async ( options?: Parameters<typeof request>[1]): Promise<IlsLocationListRead> => {\n\n return request<IlsLocationListRead>(getListIlsHoldLocationsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getListIlsHoldLocationsQueryKey = () => {\n return [\n `/ils/hold-locations`\n ] as const;\n }\n\n\nexport const getListIlsHoldLocationsQueryOptions = <TData = Awaited<ReturnType<typeof listIlsHoldLocations>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsHoldLocations>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListIlsHoldLocationsQueryKey();\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof listIlsHoldLocations>>> = ({ signal }) => listIlsHoldLocations({ signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof listIlsHoldLocations>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type ListIlsHoldLocationsQueryResult = NonNullable<Awaited<ReturnType<typeof listIlsHoldLocations>>>\nexport type ListIlsHoldLocationsQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useListIlsHoldLocations<TData = Awaited<ReturnType<typeof listIlsHoldLocations>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsHoldLocations>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsHoldLocations>>,\n TError,\n Awaited<ReturnType<typeof listIlsHoldLocations>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsHoldLocations<TData = Awaited<ReturnType<typeof listIlsHoldLocations>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsHoldLocations>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsHoldLocations>>,\n TError,\n Awaited<ReturnType<typeof listIlsHoldLocations>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsHoldLocations<TData = Awaited<ReturnType<typeof listIlsHoldLocations>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsHoldLocations>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List Ils Hold Locations\n */\n\nexport function useListIlsHoldLocations<TData = Awaited<ReturnType<typeof listIlsHoldLocations>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsHoldLocations>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getListIlsHoldLocationsQueryOptions(options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getListIlsHoldsUrl = () => {\n\n\n\n\n return `/ils/holds`\n}\n\n/**\n * This patron's reservations, with their place in each queue.\n * @summary List Ils Holds\n */\nexport const listIlsHolds = async ( options?: Parameters<typeof request>[1]): Promise<IlsHoldListRead> => {\n\n return request<IlsHoldListRead>(getListIlsHoldsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getListIlsHoldsQueryKey = () => {\n return [\n `/ils/holds`\n ] as const;\n }\n\n\nexport const getListIlsHoldsQueryOptions = <TData = Awaited<ReturnType<typeof listIlsHolds>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsHolds>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListIlsHoldsQueryKey();\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof listIlsHolds>>> = ({ signal }) => listIlsHolds({ signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof listIlsHolds>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type ListIlsHoldsQueryResult = NonNullable<Awaited<ReturnType<typeof listIlsHolds>>>\nexport type ListIlsHoldsQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useListIlsHolds<TData = Awaited<ReturnType<typeof listIlsHolds>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsHolds>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsHolds>>,\n TError,\n Awaited<ReturnType<typeof listIlsHolds>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsHolds<TData = Awaited<ReturnType<typeof listIlsHolds>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsHolds>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsHolds>>,\n TError,\n Awaited<ReturnType<typeof listIlsHolds>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsHolds<TData = Awaited<ReturnType<typeof listIlsHolds>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsHolds>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List Ils Holds\n */\n\nexport function useListIlsHolds<TData = Awaited<ReturnType<typeof listIlsHolds>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsHolds>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getListIlsHoldsQueryOptions(options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getPlaceIlsHoldUrl = () => {\n\n\n\n\n return `/ils/holds`\n}\n\n/**\n * Reserve a record, for collection at a branch.\n *\n * Check ``GET /ils/records/{record_id}/holdable`` first if you want to show\n * the patron why not before they try — this returns the library's refusal\n * either way.\n * @summary Place Ils Hold\n */\nexport const placeIlsHold = async (ilsHoldWrite: IlsHoldWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<IlsActionRead>(getPlaceIlsHoldUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsHoldWrite)\n }\n);}\n\n\n\n\n\nexport const getPlaceIlsHoldMutationKey = () => ['placeIlsHold'] as const;\n\nexport const getPlaceIlsHoldMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof placeIlsHold>>, TError,PlaceIlsHoldMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof placeIlsHold>>, TError,PlaceIlsHoldMutationVariables, TContext> => {\n\nconst mutationKey = getPlaceIlsHoldMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof placeIlsHold>>, PlaceIlsHoldMutationVariables> = (props) => {\n const {data} = props ?? {};\n\n return placeIlsHold(data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type PlaceIlsHoldMutationResult = NonNullable<Awaited<ReturnType<typeof placeIlsHold>>>\n export type PlaceIlsHoldMutationBody = BodyType<IlsHoldWrite>\n export type PlaceIlsHoldMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type PlaceIlsHoldMutationVariables = {data: BodyType<IlsHoldWrite>}\n\n /**\n * @summary Place Ils Hold\n */\nexport const usePlaceIlsHold = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof placeIlsHold>>, TError,PlaceIlsHoldMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof placeIlsHold>>,\n TError,\n PlaceIlsHoldMutationVariables,\n TContext\n > => {\n return useMutation(getPlaceIlsHoldMutationOptions(options), queryClient);\n }\n export const getCancelIlsHoldUrl = (holdId: number,) => {\n\n\n\n\n return `/ils/holds/${holdId}`\n}\n\n/**\n * Cancel a reservation. The library decides whether it may still be.\n * @summary Cancel Ils Hold\n */\nexport const cancelIlsHold = async (holdId: number, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\n\n return request<IlsActionRead>(getCancelIlsHoldUrl(holdId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\n\n\n\nexport const getCancelIlsHoldMutationKey = () => ['cancelIlsHold'] as const;\n\nexport const getCancelIlsHoldMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof cancelIlsHold>>, TError,CancelIlsHoldMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof cancelIlsHold>>, TError,CancelIlsHoldMutationVariables, TContext> => {\n\nconst mutationKey = getCancelIlsHoldMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof cancelIlsHold>>, CancelIlsHoldMutationVariables> = (props) => {\n const {holdId} = props ?? {};\n\n return cancelIlsHold(holdId,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type CancelIlsHoldMutationResult = NonNullable<Awaited<ReturnType<typeof cancelIlsHold>>>\n\n export type CancelIlsHoldMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type CancelIlsHoldMutationVariables = {holdId: number}\n\n /**\n * @summary Cancel Ils Hold\n */\nexport const useCancelIlsHold = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof cancelIlsHold>>, TError,CancelIlsHoldMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof cancelIlsHold>>,\n TError,\n CancelIlsHoldMutationVariables,\n TContext\n > => {\n return useMutation(getCancelIlsHoldMutationOptions(options), queryClient);\n }\n export const getListIlsLoansUrl = (params?: ListIlsLoansParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/ils/loans?${stringifiedParams}` : `/ils/loans`\n}\n\n/**\n * What this patron has out from their library.\n *\n * ``state`` replaces PMB's integer ``loan_type``. The wire values were 0, 1\n * and 2 with the meanings in the vendor's documentation and nowhere in the\n * URL; a client should not have to know that 2 means overdue.\n * @summary List Ils Loans\n */\nexport const listIlsLoans = async (params?: ListIlsLoansParams, options?: Parameters<typeof request>[1]): Promise<IlsLoanListRead> => {\n\n return request<IlsLoanListRead>(getListIlsLoansUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getListIlsLoansQueryKey = (params?: ListIlsLoansParams,) => {\n return [\n `/ils/loans`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getListIlsLoansQueryOptions = <TData = Awaited<ReturnType<typeof listIlsLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(params?: ListIlsLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsLoans>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListIlsLoansQueryKey(params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof listIlsLoans>>> = ({ signal }) => listIlsLoans(params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof listIlsLoans>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type ListIlsLoansQueryResult = NonNullable<Awaited<ReturnType<typeof listIlsLoans>>>\nexport type ListIlsLoansQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useListIlsLoans<TData = Awaited<ReturnType<typeof listIlsLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params: undefined | ListIlsLoansParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsLoans>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsLoans>>,\n TError,\n Awaited<ReturnType<typeof listIlsLoans>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsLoans<TData = Awaited<ReturnType<typeof listIlsLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: ListIlsLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsLoans>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsLoans>>,\n TError,\n Awaited<ReturnType<typeof listIlsLoans>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsLoans<TData = Awaited<ReturnType<typeof listIlsLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: ListIlsLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsLoans>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List Ils Loans\n */\n\nexport function useListIlsLoans<TData = Awaited<ReturnType<typeof listIlsLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: ListIlsLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsLoans>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getListIlsLoansQueryOptions(params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getRenewIlsLoanUrl = (barcode: string,) => {\n\n\n\n\n return `/ils/loans/${barcode}/renewals`\n}\n\n/**\n * Extend one loan.\n *\n * Keyed on the **item barcode**, not a loan id, because that is what PMB\n * renews — a physical copy — and it is the number printed on the book. It is\n * also what ``GET /ils/loans`` returns as ``barcode``.\n *\n * A refusal is a ``200`` with ``ok: false``, not an error: \"this cannot be\n * renewed again\" is the library's answer to a valid question, and the reason\n * it gives is worth showing the patron.\n * @summary Renew Ils Loan\n */\nexport const renewIlsLoan = async (barcode: string, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\n\n return request<IlsActionRead>(getRenewIlsLoanUrl(barcode),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\n\n\n\nexport const getRenewIlsLoanMutationKey = () => ['renewIlsLoan'] as const;\n\nexport const getRenewIlsLoanMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof renewIlsLoan>>, TError,RenewIlsLoanMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof renewIlsLoan>>, TError,RenewIlsLoanMutationVariables, TContext> => {\n\nconst mutationKey = getRenewIlsLoanMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof renewIlsLoan>>, RenewIlsLoanMutationVariables> = (props) => {\n const {barcode} = props ?? {};\n\n return renewIlsLoan(barcode,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type RenewIlsLoanMutationResult = NonNullable<Awaited<ReturnType<typeof renewIlsLoan>>>\n\n export type RenewIlsLoanMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type RenewIlsLoanMutationVariables = {barcode: string}\n\n /**\n * @summary Renew Ils Loan\n */\nexport const useRenewIlsLoan = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof renewIlsLoan>>, TError,RenewIlsLoanMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof renewIlsLoan>>,\n TError,\n RenewIlsLoanMutationVariables,\n TContext\n > => {\n return useMutation(getRenewIlsLoanMutationOptions(options), queryClient);\n }\n export const getListIlsLocationsUrl = () => {\n\n\n\n\n return `/ils/locations`\n}\n\n/**\n * Every branch in the library's catalogue.\n * @summary List Ils Locations\n */\nexport const listIlsLocations = async ( options?: Parameters<typeof request>[1]): Promise<IlsLocationListRead> => {\n\n return request<IlsLocationListRead>(getListIlsLocationsUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getListIlsLocationsQueryKey = () => {\n return [\n `/ils/locations`\n ] as const;\n }\n\n\nexport const getListIlsLocationsQueryOptions = <TData = Awaited<ReturnType<typeof listIlsLocations>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsLocations>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListIlsLocationsQueryKey();\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof listIlsLocations>>> = ({ signal }) => listIlsLocations({ signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof listIlsLocations>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type ListIlsLocationsQueryResult = NonNullable<Awaited<ReturnType<typeof listIlsLocations>>>\nexport type ListIlsLocationsQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useListIlsLocations<TData = Awaited<ReturnType<typeof listIlsLocations>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsLocations>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsLocations>>,\n TError,\n Awaited<ReturnType<typeof listIlsLocations>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsLocations<TData = Awaited<ReturnType<typeof listIlsLocations>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsLocations>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsLocations>>,\n TError,\n Awaited<ReturnType<typeof listIlsLocations>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsLocations<TData = Awaited<ReturnType<typeof listIlsLocations>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsLocations>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List Ils Locations\n */\n\nexport function useListIlsLocations<TData = Awaited<ReturnType<typeof listIlsLocations>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsLocations>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getListIlsLocationsQueryOptions(options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getChangeIlsPasswordUrl = () => {\n\n\n\n\n return `/ils/password`\n}\n\n/**\n * Change the password on the **library's** system.\n *\n * Not the Mozaik one. A patron who changes it here still signs in to this\n * platform with their Mozaik credentials, and saying so in the UI avoids the\n * support ticket.\n * @summary Change Ils Password\n */\nexport const changeIlsPassword = async (ilsPasswordWrite: IlsPasswordWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<IlsActionRead>(getChangeIlsPasswordUrl(),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsPasswordWrite)\n }\n);}\n\n\n\n\n\nexport const getChangeIlsPasswordMutationKey = () => ['changeIlsPassword'] as const;\n\nexport const getChangeIlsPasswordMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof changeIlsPassword>>, TError,ChangeIlsPasswordMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof changeIlsPassword>>, TError,ChangeIlsPasswordMutationVariables, TContext> => {\n\nconst mutationKey = getChangeIlsPasswordMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof changeIlsPassword>>, ChangeIlsPasswordMutationVariables> = (props) => {\n const {data} = props ?? {};\n\n return changeIlsPassword(data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type ChangeIlsPasswordMutationResult = NonNullable<Awaited<ReturnType<typeof changeIlsPassword>>>\n export type ChangeIlsPasswordMutationBody = BodyType<IlsPasswordWrite>\n export type ChangeIlsPasswordMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type ChangeIlsPasswordMutationVariables = {data: BodyType<IlsPasswordWrite>}\n\n /**\n * @summary Change Ils Password\n */\nexport const useChangeIlsPassword = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof changeIlsPassword>>, TError,ChangeIlsPasswordMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof changeIlsPassword>>,\n TError,\n ChangeIlsPasswordMutationVariables,\n TContext\n > => {\n return useMutation(getChangeIlsPasswordMutationOptions(options), queryClient);\n }\n export const getReadIlsHoldableUrl = (recordId: number,\n params?: ReadIlsHoldableParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/ils/records/${recordId}/holdable?${stringifiedParams}` : `/ils/records/${recordId}/holdable`\n}\n\n/**\n * Whether this patron may reserve this record, and the library's reason.\n * @summary Read Ils Holdable\n */\nexport const readIlsHoldable = async (recordId: number,\n params?: ReadIlsHoldableParams, options?: Parameters<typeof request>[1]): Promise<IlsHoldableRead> => {\n\n return request<IlsHoldableRead>(getReadIlsHoldableUrl(recordId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getReadIlsHoldableQueryKey = (recordId: number,\n params?: ReadIlsHoldableParams,) => {\n return [\n `/ils/records/${recordId}/holdable`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getReadIlsHoldableQueryOptions = <TData = Awaited<ReturnType<typeof readIlsHoldable>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(recordId: number,\n params?: ReadIlsHoldableParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsHoldable>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getReadIlsHoldableQueryKey(recordId,params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof readIlsHoldable>>> = ({ signal }) => readIlsHoldable(recordId,params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, enabled: recordId !== null && recordId !== undefined, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof readIlsHoldable>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type ReadIlsHoldableQueryResult = NonNullable<Awaited<ReturnType<typeof readIlsHoldable>>>\nexport type ReadIlsHoldableQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useReadIlsHoldable<TData = Awaited<ReturnType<typeof readIlsHoldable>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n recordId: number,\n params: undefined | ReadIlsHoldableParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsHoldable>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof readIlsHoldable>>,\n TError,\n Awaited<ReturnType<typeof readIlsHoldable>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useReadIlsHoldable<TData = Awaited<ReturnType<typeof readIlsHoldable>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n recordId: number,\n params?: ReadIlsHoldableParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsHoldable>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof readIlsHoldable>>,\n TError,\n Awaited<ReturnType<typeof readIlsHoldable>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useReadIlsHoldable<TData = Awaited<ReturnType<typeof readIlsHoldable>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n recordId: number,\n params?: ReadIlsHoldableParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsHoldable>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Read Ils Holdable\n */\n\nexport function useReadIlsHoldable<TData = Awaited<ReturnType<typeof readIlsHoldable>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n recordId: number,\n params?: ReadIlsHoldableParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsHoldable>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getReadIlsHoldableQueryOptions(recordId,params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getAddIlsReviewUrl = (recordId: number,) => {\n\n\n\n\n return `/ils/records/${recordId}/reviews`\n}\n\n/**\n * Post a review to the library's OPAC, where its other borrowers see it.\n *\n * Distinct from a Mozaik review: this one lives on the library's system and\n * is not moderated here.\n * @summary Add Ils Review\n */\nexport const addIlsReview = async (recordId: number,\n ilsReviewWrite: IlsReviewWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<IlsActionRead>(getAddIlsReviewUrl(recordId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsReviewWrite)\n }\n);}\n\n\n\n\n\nexport const getAddIlsReviewMutationKey = () => ['addIlsReview'] as const;\n\nexport const getAddIlsReviewMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof addIlsReview>>, TError,AddIlsReviewMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof addIlsReview>>, TError,AddIlsReviewMutationVariables, TContext> => {\n\nconst mutationKey = getAddIlsReviewMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof addIlsReview>>, AddIlsReviewMutationVariables> = (props) => {\n const {recordId,data} = props ?? {};\n\n return addIlsReview(recordId,data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type AddIlsReviewMutationResult = NonNullable<Awaited<ReturnType<typeof addIlsReview>>>\n export type AddIlsReviewMutationBody = BodyType<IlsReviewWrite>\n export type AddIlsReviewMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type AddIlsReviewMutationVariables = {recordId: number;data: BodyType<IlsReviewWrite>}\n\n /**\n * @summary Add Ils Review\n */\nexport const useAddIlsReview = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof addIlsReview>>, TError,AddIlsReviewMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof addIlsReview>>,\n TError,\n AddIlsReviewMutationVariables,\n TContext\n > => {\n return useMutation(getAddIlsReviewMutationOptions(options), queryClient);\n }\n export const getAddIlsTagUrl = (recordId: number,) => {\n\n\n\n\n return `/ils/records/${recordId}/tags`\n}\n\n/**\n * Tag a record in the library's catalogue.\n * @summary Add Ils Tag\n */\nexport const addIlsTag = async (recordId: number,\n ilsTagWrite: IlsTagWrite, options?: Parameters<typeof request>[1]): Promise<IlsActionRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<IlsActionRead>(getAddIlsTagUrl(recordId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsTagWrite)\n }\n);}\n\n\n\n\n\nexport const getAddIlsTagMutationKey = () => ['addIlsTag'] as const;\n\nexport const getAddIlsTagMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof addIlsTag>>, TError,AddIlsTagMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof addIlsTag>>, TError,AddIlsTagMutationVariables, TContext> => {\n\nconst mutationKey = getAddIlsTagMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof addIlsTag>>, AddIlsTagMutationVariables> = (props) => {\n const {recordId,data} = props ?? {};\n\n return addIlsTag(recordId,data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type AddIlsTagMutationResult = NonNullable<Awaited<ReturnType<typeof addIlsTag>>>\n export type AddIlsTagMutationBody = BodyType<IlsTagWrite>\n export type AddIlsTagMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type AddIlsTagMutationVariables = {recordId: number;data: BodyType<IlsTagWrite>}\n\n /**\n * @summary Add Ils Tag\n */\nexport const useAddIlsTag = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof addIlsTag>>, TError,AddIlsTagMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof addIlsTag>>,\n TError,\n AddIlsTagMutationVariables,\n TContext\n > => {\n return useMutation(getAddIlsTagMutationOptions(options), queryClient);\n }\n export const getSignOutOfIlsUrl = () => {\n\n\n\n\n return `/ils/session`\n}\n\n/**\n * Drop the link. Idempotent, and never fails on the library's account.\n *\n * Our copy of the session goes first. Telling PMB is best-effort: if the\n * library is down, the patron is still signed out here, which is the part\n * they asked for and the part that matters for a shared device.\n * @summary Sign Out Of Ils\n */\nexport const signOutOfIls = async ( options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getSignOutOfIlsUrl(),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\n\n\n\nexport const getSignOutOfIlsMutationKey = () => ['signOutOfIls'] as const;\n\nexport const getSignOutOfIlsMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof signOutOfIls>>, TError,void, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof signOutOfIls>>, TError,void, TContext> => {\n\nconst mutationKey = getSignOutOfIlsMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof signOutOfIls>>, void> = () => {\n\n\n return signOutOfIls(requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type SignOutOfIlsMutationResult = NonNullable<Awaited<ReturnType<typeof signOutOfIls>>>\n\n export type SignOutOfIlsMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\n /**\n * @summary Sign Out Of Ils\n */\nexport const useSignOutOfIls = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof signOutOfIls>>, TError,void, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof signOutOfIls>>,\n TError,\n void,\n TContext\n > => {\n return useMutation(getSignOutOfIlsMutationOptions(options), queryClient);\n }\n export const getSignInToIlsUrl = () => {\n\n\n\n\n return `/ils/session`\n}\n\n/**\n * Link this patron to their library account with their card credentials.\n *\n * Replaces ``login``, ``login-md5`` and ``login-aes``: those are three ways to\n * carry one password to a server of unknown vintage, and the connector\n * negotiates between them — AES first, because it is the only one that does\n * not hand the library a password it can replay.\n *\n * **The credentials are not stored.** They open an upstream session and are\n * discarded; the session is what persists, and it expires. That is why there\n * is no silent re-login anywhere below — a patron whose session lapses is\n * asked again, because we deliberately cannot do it for them.\n *\n * ``401`` for a wrong card number or password — the patron's, at their\n * library, not their Mozaik credentials.\n * @summary Sign In To Ils\n */\nexport const signInToIls = async (ilsSignInWrite: IlsSignInWrite, options?: Parameters<typeof request>[1]): Promise<IlsStatusRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<IlsStatusRead>(getSignInToIlsUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(ilsSignInWrite)\n }\n);}\n\n\n\n\n\nexport const getSignInToIlsMutationKey = () => ['signInToIls'] as const;\n\nexport const getSignInToIlsMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof signInToIls>>, TError,SignInToIlsMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof signInToIls>>, TError,SignInToIlsMutationVariables, TContext> => {\n\nconst mutationKey = getSignInToIlsMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof signInToIls>>, SignInToIlsMutationVariables> = (props) => {\n const {data} = props ?? {};\n\n return signInToIls(data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type SignInToIlsMutationResult = NonNullable<Awaited<ReturnType<typeof signInToIls>>>\n export type SignInToIlsMutationBody = BodyType<IlsSignInWrite>\n export type SignInToIlsMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type SignInToIlsMutationVariables = {data: BodyType<IlsSignInWrite>}\n\n /**\n * @summary Sign In To Ils\n */\nexport const useSignInToIls = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof signInToIls>>, TError,SignInToIlsMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof signInToIls>>,\n TError,\n SignInToIlsMutationVariables,\n TContext\n > => {\n return useMutation(getSignInToIlsMutationOptions(options), queryClient);\n }\n export const getReadIlsStatusUrl = () => {\n\n\n\n\n return `/ils/status`\n}\n\n/**\n * Whether this library has a catalogue system, and whether we speak it.\n *\n * **Read this first.** Most libraries have no ILS, and a client that assumes\n * otherwise renders a \"my loans\" tab that can only ever answer ``409``.\n *\n * Never 409s itself — \"there is no integration\" is the answer, not an error.\n * @summary Read Ils Status\n */\nexport const readIlsStatus = async ( options?: Parameters<typeof request>[1]): Promise<IlsStatusRead> => {\n\n return request<IlsStatusRead>(getReadIlsStatusUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getReadIlsStatusQueryKey = () => {\n return [\n `/ils/status`\n ] as const;\n }\n\n\nexport const getReadIlsStatusQueryOptions = <TData = Awaited<ReturnType<typeof readIlsStatus>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsStatus>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getReadIlsStatusQueryKey();\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof readIlsStatus>>> = ({ signal }) => readIlsStatus({ signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof readIlsStatus>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type ReadIlsStatusQueryResult = NonNullable<Awaited<ReturnType<typeof readIlsStatus>>>\nexport type ReadIlsStatusQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useReadIlsStatus<TData = Awaited<ReturnType<typeof readIlsStatus>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsStatus>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof readIlsStatus>>,\n TError,\n Awaited<ReturnType<typeof readIlsStatus>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useReadIlsStatus<TData = Awaited<ReturnType<typeof readIlsStatus>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsStatus>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof readIlsStatus>>,\n TError,\n Awaited<ReturnType<typeof readIlsStatus>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useReadIlsStatus<TData = Awaited<ReturnType<typeof readIlsStatus>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsStatus>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary Read Ils Status\n */\n\nexport function useReadIlsStatus<TData = Awaited<ReturnType<typeof readIlsStatus>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof readIlsStatus>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getReadIlsStatusQueryOptions(options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getListIlsSuggestionCategoriesUrl = () => {\n\n\n\n\n return `/ils/suggestion-categories`\n}\n\n/**\n * Categories a purchase suggestion may name.\n *\n * The suggestion itself is not submitted here: PMB's OPAC borrower services\n * expose the two vocabularies and no ``add_suggestion``, so the legacy could\n * not submit one either. Carried because a client building a suggestion form\n * needs them, and their absence would look like an oversight rather than the\n * vendor's.\n * @summary List Ils Suggestion Categories\n */\nexport const listIlsSuggestionCategories = async ( options?: Parameters<typeof request>[1]): Promise<IlsSuggestionOptionListRead> => {\n\n return request<IlsSuggestionOptionListRead>(getListIlsSuggestionCategoriesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getListIlsSuggestionCategoriesQueryKey = () => {\n return [\n `/ils/suggestion-categories`\n ] as const;\n }\n\n\nexport const getListIlsSuggestionCategoriesQueryOptions = <TData = Awaited<ReturnType<typeof listIlsSuggestionCategories>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionCategories>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListIlsSuggestionCategoriesQueryKey();\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof listIlsSuggestionCategories>>> = ({ signal }) => listIlsSuggestionCategories({ signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionCategories>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type ListIlsSuggestionCategoriesQueryResult = NonNullable<Awaited<ReturnType<typeof listIlsSuggestionCategories>>>\nexport type ListIlsSuggestionCategoriesQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useListIlsSuggestionCategories<TData = Awaited<ReturnType<typeof listIlsSuggestionCategories>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionCategories>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsSuggestionCategories>>,\n TError,\n Awaited<ReturnType<typeof listIlsSuggestionCategories>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsSuggestionCategories<TData = Awaited<ReturnType<typeof listIlsSuggestionCategories>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionCategories>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsSuggestionCategories>>,\n TError,\n Awaited<ReturnType<typeof listIlsSuggestionCategories>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsSuggestionCategories<TData = Awaited<ReturnType<typeof listIlsSuggestionCategories>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionCategories>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List Ils Suggestion Categories\n */\n\nexport function useListIlsSuggestionCategories<TData = Awaited<ReturnType<typeof listIlsSuggestionCategories>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionCategories>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getListIlsSuggestionCategoriesQueryOptions(options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getListIlsSuggestionSourcesUrl = () => {\n\n\n\n\n return `/ils/suggestion-sources`\n}\n\n/**\n * Sources a purchase suggestion may cite. See the note on categories.\n * @summary List Ils Suggestion Sources\n */\nexport const listIlsSuggestionSources = async ( options?: Parameters<typeof request>[1]): Promise<IlsSuggestionOptionListRead> => {\n\n return request<IlsSuggestionOptionListRead>(getListIlsSuggestionSourcesUrl(),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getListIlsSuggestionSourcesQueryKey = () => {\n return [\n `/ils/suggestion-sources`\n ] as const;\n }\n\n\nexport const getListIlsSuggestionSourcesQueryOptions = <TData = Awaited<ReturnType<typeof listIlsSuggestionSources>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionSources>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListIlsSuggestionSourcesQueryKey();\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof listIlsSuggestionSources>>> = ({ signal }) => listIlsSuggestionSources({ signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionSources>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type ListIlsSuggestionSourcesQueryResult = NonNullable<Awaited<ReturnType<typeof listIlsSuggestionSources>>>\nexport type ListIlsSuggestionSourcesQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useListIlsSuggestionSources<TData = Awaited<ReturnType<typeof listIlsSuggestionSources>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionSources>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsSuggestionSources>>,\n TError,\n Awaited<ReturnType<typeof listIlsSuggestionSources>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsSuggestionSources<TData = Awaited<ReturnType<typeof listIlsSuggestionSources>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionSources>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof listIlsSuggestionSources>>,\n TError,\n Awaited<ReturnType<typeof listIlsSuggestionSources>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListIlsSuggestionSources<TData = Awaited<ReturnType<typeof listIlsSuggestionSources>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionSources>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List Ils Suggestion Sources\n */\n\nexport function useListIlsSuggestionSources<TData = Awaited<ReturnType<typeof listIlsSuggestionSources>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listIlsSuggestionSources>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getListIlsSuggestionSourcesQueryOptions(options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
3
|
-
import { a as ErrorType, c as request, n as BodyType } from "../client
|
|
2
|
+
import { Nn as ListLoansParams, Oi as BorrowWrite, _n as LoanRead, gn as LoanPage, t as ValidationErrorResponse, wr as HTTPExceptionResponse } from "../chunks/index.js";
|
|
3
|
+
import { a as ErrorType, c as request, n as BodyType } from "../chunks/client.js";
|
|
4
4
|
import { DataTag, DefinedInitialDataOptions, DefinedUseQueryResult, QueryClient, QueryKey, UndefinedInitialDataOptions, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
|
|
5
5
|
//#region src/react/cvs-loans/cvs-loans.d.ts
|
|
6
6
|
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
|
package/dist/react/cvs-loans.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { r as request } from "../client
|
|
2
|
+
import { r as request } from "../chunks/client.js";
|
|
3
3
|
import { useMutation, useQuery } from "@tanstack/react-query";
|
|
4
4
|
//#region src/react/cvs-loans/cvs-loans.ts
|
|
5
5
|
/**
|
|
@@ -7,7 +7,7 @@ import { useMutation, useQuery } from "@tanstack/react-query";
|
|
|
7
7
|
* Do not edit manually.
|
|
8
8
|
* Mozaik backend
|
|
9
9
|
* Four products behind one API — Biblio, Médiathèques, the partner catalogues (Nextory and YouScribe) and Prof Express. Authentication is Keycloak SSO only, once, for all of them: see the **auth** section below for the browser flow and the three failure modes.
|
|
10
|
-
* OpenAPI spec version: 0.
|
|
10
|
+
* OpenAPI spec version: 0.5.0
|
|
11
11
|
*/
|
|
12
12
|
const withQueryKey = (query, queryKey) => {
|
|
13
13
|
const result = { queryKey };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cvs-loans.js","names":[],"sources":["../../src/react/cvs-loans/cvs-loans.ts"],"sourcesContent":["/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Mozaik backend\n * Four products behind one API — Biblio, Médiathèques, the partner catalogues (Nextory and YouScribe) and Prof Express. Authentication is Keycloak SSO only, once, for all of them: see the **auth** section below for the browser flow and the three failure modes.\n * OpenAPI spec version: 0.1.0\n */\nimport {\n useMutation,\n useQuery\n} from '@tanstack/react-query';\nimport type {\n DataTag,\n DefinedInitialDataOptions,\n DefinedUseQueryResult,\n MutationFunction,\n QueryClient,\n QueryFunction,\n QueryKey,\n UndefinedInitialDataOptions,\n UseMutationOptions,\n UseMutationResult,\n UseQueryOptions,\n UseQueryResult\n} from '@tanstack/react-query';\n\nimport type {\n BorrowWrite,\n HTTPExceptionResponse,\n ListLoansParams,\n LoanPage,\n LoanRead,\n ValidationErrorResponse\n} from '../../models';\n\nimport { request } from '../../client';\nimport type { ErrorType , BodyType } from '../../client';\n\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\n\n\nconst withQueryKey = <T extends object, K>(query: T, queryKey: K): T & { queryKey: K } => {\n const result = { queryKey } as T & { queryKey: K };\n for (const key of Object.keys(query)) {\n // The explicit queryKey always wins, matching the previous\n // `{ ...query, queryKey }` spread where it was set last.\n if (key === 'queryKey') continue;\n Object.defineProperty(result, key, {\n enumerable: true,\n configurable: true,\n get: () => (query as Record<string, unknown>)[key],\n });\n }\n return result;\n};\n\nexport const getListLoansUrl = (params?: ListLoansParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/cvs/loans?${stringifiedParams}` : `/cvs/loans`\n}\n\n/**\n * What this caller currently holds (and optionally what they have returned).\n *\n * Replaces ``/download/details``, which took a ``downloadid`` and answered about\n * one loan at a time — so a client rebuilding its shelf after reinstalling made\n * one request per title, and had no way to discover the ids in the first place.\n * @summary List Loans\n */\nexport const listLoans = async (params?: ListLoansParams, options?: Parameters<typeof request>[1]): Promise<LoanPage> => {\n\n return request<LoanPage>(getListLoansUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getListLoansQueryKey = (params?: ListLoansParams,) => {\n return [\n `/cvs/loans`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getListLoansQueryOptions = <TData = Awaited<ReturnType<typeof listLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(params?: ListLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListLoansQueryKey(params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof listLoans>>> = ({ signal }) => listLoans(params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type ListLoansQueryResult = NonNullable<Awaited<ReturnType<typeof listLoans>>>\nexport type ListLoansQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useListLoans<TData = Awaited<ReturnType<typeof listLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params: undefined | ListLoansParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof listLoans>>,\n TError,\n Awaited<ReturnType<typeof listLoans>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListLoans<TData = Awaited<ReturnType<typeof listLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: ListLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof listLoans>>,\n TError,\n Awaited<ReturnType<typeof listLoans>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListLoans<TData = Awaited<ReturnType<typeof listLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: ListLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List Loans\n */\n\nexport function useListLoans<TData = Awaited<ReturnType<typeof listLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: ListLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getListLoansQueryOptions(params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getBorrowUrl = () => {\n\n\n\n\n return `/cvs/loans`\n}\n\n/**\n * Borrow a work.\n *\n * The order matters and is the whole point of the entitlement model:\n *\n * 1. **Entitled?** — is this act permitted on this work under a live contract.\n * 2. **A seat free?** — ``max_concurrent`` counted from unreturned loans.\n * 3. **Units left?** — reserved in Redis *before* the row is written, so a\n * refusal costs no database work.\n * 4. **Append.** The ledger row is the loan.\n *\n * Idempotent on ``request_key``: a retried borrow returns the loan the first\n * attempt created rather than taking a second copy of the same title.\n * @summary Borrow\n */\nexport const borrow = async (borrowWrite: BorrowWrite, options?: Parameters<typeof request>[1]): Promise<LoanRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LoanRead>(getBorrowUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(borrowWrite)\n }\n);}\n\n\n\n\n\nexport const getBorrowMutationKey = () => ['borrow'] as const;\n\nexport const getBorrowMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof borrow>>, TError,BorrowMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof borrow>>, TError,BorrowMutationVariables, TContext> => {\n\nconst mutationKey = getBorrowMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof borrow>>, BorrowMutationVariables> = (props) => {\n const {data} = props ?? {};\n\n return borrow(data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type BorrowMutationResult = NonNullable<Awaited<ReturnType<typeof borrow>>>\n export type BorrowMutationBody = BodyType<BorrowWrite>\n export type BorrowMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type BorrowMutationVariables = {data: BodyType<BorrowWrite>}\n\n /**\n * @summary Borrow\n */\nexport const useBorrow = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof borrow>>, TError,BorrowMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof borrow>>,\n TError,\n BorrowMutationVariables,\n TContext\n > => {\n return useMutation(getBorrowMutationOptions(options), queryClient);\n }\n export const getReturnLoanUrl = (loanId: number,) => {\n\n\n\n\n return `/cvs/loans/${loanId}`\n}\n\n/**\n * Give a loan back early, freeing its seat. Idempotent.\n *\n * Returning something already returned is ``204``: the caller wanted it back on\n * the shelf and it is on the shelf. The legacy answered an error, which meant a\n * retried return looked like a failure and clients stopped retrying.\n *\n * The unit stays spent — see the module docstring. Only the seat comes back.\n * @summary Return Loan\n */\nexport const returnLoan = async (loanId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getReturnLoanUrl(loanId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\n\n\n\nexport const getReturnLoanMutationKey = () => ['returnLoan'] as const;\n\nexport const getReturnLoanMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof returnLoan>>, TError,ReturnLoanMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof returnLoan>>, TError,ReturnLoanMutationVariables, TContext> => {\n\nconst mutationKey = getReturnLoanMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof returnLoan>>, ReturnLoanMutationVariables> = (props) => {\n const {loanId} = props ?? {};\n\n return returnLoan(loanId,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type ReturnLoanMutationResult = NonNullable<Awaited<ReturnType<typeof returnLoan>>>\n\n export type ReturnLoanMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type ReturnLoanMutationVariables = {loanId: number}\n\n /**\n * @summary Return Loan\n */\nexport const useReturnLoan = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof returnLoan>>, TError,ReturnLoanMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof returnLoan>>,\n TError,\n ReturnLoanMutationVariables,\n TContext\n > => {\n return useMutation(getReturnLoanMutationOptions(options), queryClient);\n }\n export const getExtendLoanUrl = (loanId: number,) => {\n\n\n\n\n return `/cvs/loans/${loanId}/extensions`\n}\n\n/**\n * Prolong a loan.\n *\n * Bounded by the grant's ``max_extensions`` — the legacy's ``nb_extend`` — and\n * refused once the loan has been returned or has lapsed. Extending something\n * that already expired is not an extension, it is a new loan, and it should\n * spend a new unit rather than quietly avoid one.\n *\n * Not idempotent, deliberately: two extension requests mean two extensions, and\n * a client that wants exactly one should not send two.\n * @summary Extend Loan\n */\nexport const extendLoan = async (loanId: number, options?: Parameters<typeof request>[1]): Promise<LoanRead> => {\n\n return request<LoanRead>(getExtendLoanUrl(loanId),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\n\n\n\nexport const getExtendLoanMutationKey = () => ['extendLoan'] as const;\n\nexport const getExtendLoanMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof extendLoan>>, TError,ExtendLoanMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof extendLoan>>, TError,ExtendLoanMutationVariables, TContext> => {\n\nconst mutationKey = getExtendLoanMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof extendLoan>>, ExtendLoanMutationVariables> = (props) => {\n const {loanId} = props ?? {};\n\n return extendLoan(loanId,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type ExtendLoanMutationResult = NonNullable<Awaited<ReturnType<typeof extendLoan>>>\n\n export type ExtendLoanMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type ExtendLoanMutationVariables = {loanId: number}\n\n /**\n * @summary Extend Loan\n */\nexport const useExtendLoan = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof extendLoan>>, TError,ExtendLoanMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof extendLoan>>,\n TError,\n ExtendLoanMutationVariables,\n TContext\n > => {\n return useMutation(getExtendLoanMutationOptions(options), queryClient);\n }\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cvs-loans.js","names":[],"sources":["../../src/react/cvs-loans/cvs-loans.ts"],"sourcesContent":["/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Mozaik backend\n * Four products behind one API — Biblio, Médiathèques, the partner catalogues (Nextory and YouScribe) and Prof Express. Authentication is Keycloak SSO only, once, for all of them: see the **auth** section below for the browser flow and the three failure modes.\n * OpenAPI spec version: 0.5.0\n */\nimport {\n useMutation,\n useQuery\n} from '@tanstack/react-query';\nimport type {\n DataTag,\n DefinedInitialDataOptions,\n DefinedUseQueryResult,\n MutationFunction,\n QueryClient,\n QueryFunction,\n QueryKey,\n UndefinedInitialDataOptions,\n UseMutationOptions,\n UseMutationResult,\n UseQueryOptions,\n UseQueryResult\n} from '@tanstack/react-query';\n\nimport type {\n BorrowWrite,\n HTTPExceptionResponse,\n ListLoansParams,\n LoanPage,\n LoanRead,\n ValidationErrorResponse\n} from '../../models';\n\nimport { request } from '../../client';\nimport type { ErrorType , BodyType } from '../../client';\n\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\n\n\nconst withQueryKey = <T extends object, K>(query: T, queryKey: K): T & { queryKey: K } => {\n const result = { queryKey } as T & { queryKey: K };\n for (const key of Object.keys(query)) {\n // The explicit queryKey always wins, matching the previous\n // `{ ...query, queryKey }` spread where it was set last.\n if (key === 'queryKey') continue;\n Object.defineProperty(result, key, {\n enumerable: true,\n configurable: true,\n get: () => (query as Record<string, unknown>)[key],\n });\n }\n return result;\n};\n\nexport const getListLoansUrl = (params?: ListLoansParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/cvs/loans?${stringifiedParams}` : `/cvs/loans`\n}\n\n/**\n * What this caller currently holds (and optionally what they have returned).\n *\n * Replaces ``/download/details``, which took a ``downloadid`` and answered about\n * one loan at a time — so a client rebuilding its shelf after reinstalling made\n * one request per title, and had no way to discover the ids in the first place.\n * @summary List Loans\n */\nexport const listLoans = async (params?: ListLoansParams, options?: Parameters<typeof request>[1]): Promise<LoanPage> => {\n\n return request<LoanPage>(getListLoansUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n\n\n\nexport const getListLoansQueryKey = (params?: ListLoansParams,) => {\n return [\n `/cvs/loans`, ...(params ? [params] : [])\n ] as const;\n }\n\n\nexport const getListLoansQueryOptions = <TData = Awaited<ReturnType<typeof listLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(params?: ListLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData>>, request?: SecondParameter<typeof request>}\n) => {\n\nconst {query: queryOptions, request: requestOptions} = options ?? {};\n\n const queryKey = queryOptions?.queryKey ?? getListLoansQueryKey(params);\n\n\n\n const queryFn: QueryFunction<Awaited<ReturnType<typeof listLoans>>> = ({ signal }) => listLoans(params, { signal, ...requestOptions });\n\n\n\n\n\n return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }\n}\n\nexport type ListLoansQueryResult = NonNullable<Awaited<ReturnType<typeof listLoans>>>\nexport type ListLoansQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n\n\nexport function useListLoans<TData = Awaited<ReturnType<typeof listLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params: undefined | ListLoansParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData>> & Pick<\n DefinedInitialDataOptions<\n Awaited<ReturnType<typeof listLoans>>,\n TError,\n Awaited<ReturnType<typeof listLoans>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListLoans<TData = Awaited<ReturnType<typeof listLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: ListLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData>> & Pick<\n UndefinedInitialDataOptions<\n Awaited<ReturnType<typeof listLoans>>,\n TError,\n Awaited<ReturnType<typeof listLoans>>\n > , 'initialData'\n >, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\nexport function useListLoans<TData = Awaited<ReturnType<typeof listLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: ListLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }\n/**\n * @summary List Loans\n */\n\nexport function useListLoans<TData = Awaited<ReturnType<typeof listLoans>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(\n params?: ListLoansParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listLoans>>, TError, TData>>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient\n ): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {\n\n const queryOptions = getListLoansQueryOptions(params,options)\n\n const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };\n\n return withQueryKey(query, queryOptions.queryKey);\n}\n\n\n\n\n\n\nexport const getBorrowUrl = () => {\n\n\n\n\n return `/cvs/loans`\n}\n\n/**\n * Borrow a work.\n *\n * The order matters and is the whole point of the entitlement model:\n *\n * 1. **Entitled?** — is this act permitted on this work under a live contract.\n * 2. **A seat free?** — ``max_concurrent`` counted from unreturned loans.\n * 3. **Units left?** — reserved in Redis *before* the row is written, so a\n * refusal costs no database work.\n * 4. **Append.** The ledger row is the loan.\n *\n * Idempotent on ``request_key``: a retried borrow returns the loan the first\n * attempt created rather than taking a second copy of the same title.\n * @summary Borrow\n */\nexport const borrow = async (borrowWrite: BorrowWrite, options?: Parameters<typeof request>[1]): Promise<LoanRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LoanRead>(getBorrowUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(borrowWrite)\n }\n);}\n\n\n\n\n\nexport const getBorrowMutationKey = () => ['borrow'] as const;\n\nexport const getBorrowMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof borrow>>, TError,BorrowMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof borrow>>, TError,BorrowMutationVariables, TContext> => {\n\nconst mutationKey = getBorrowMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof borrow>>, BorrowMutationVariables> = (props) => {\n const {data} = props ?? {};\n\n return borrow(data,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type BorrowMutationResult = NonNullable<Awaited<ReturnType<typeof borrow>>>\n export type BorrowMutationBody = BodyType<BorrowWrite>\n export type BorrowMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type BorrowMutationVariables = {data: BodyType<BorrowWrite>}\n\n /**\n * @summary Borrow\n */\nexport const useBorrow = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof borrow>>, TError,BorrowMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof borrow>>,\n TError,\n BorrowMutationVariables,\n TContext\n > => {\n return useMutation(getBorrowMutationOptions(options), queryClient);\n }\n export const getReturnLoanUrl = (loanId: number,) => {\n\n\n\n\n return `/cvs/loans/${loanId}`\n}\n\n/**\n * Give a loan back early, freeing its seat. Idempotent.\n *\n * Returning something already returned is ``204``: the caller wanted it back on\n * the shelf and it is on the shelf. The legacy answered an error, which meant a\n * retried return looked like a failure and clients stopped retrying.\n *\n * The unit stays spent — see the module docstring. Only the seat comes back.\n * @summary Return Loan\n */\nexport const returnLoan = async (loanId: number, options?: Parameters<typeof request>[1]): Promise<void> => {\n\n return request<void>(getReturnLoanUrl(loanId),\n {\n ...options,\n method: 'DELETE'\n\n\n }\n);}\n\n\n\n\n\nexport const getReturnLoanMutationKey = () => ['returnLoan'] as const;\n\nexport const getReturnLoanMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof returnLoan>>, TError,ReturnLoanMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof returnLoan>>, TError,ReturnLoanMutationVariables, TContext> => {\n\nconst mutationKey = getReturnLoanMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof returnLoan>>, ReturnLoanMutationVariables> = (props) => {\n const {loanId} = props ?? {};\n\n return returnLoan(loanId,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type ReturnLoanMutationResult = NonNullable<Awaited<ReturnType<typeof returnLoan>>>\n\n export type ReturnLoanMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type ReturnLoanMutationVariables = {loanId: number}\n\n /**\n * @summary Return Loan\n */\nexport const useReturnLoan = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof returnLoan>>, TError,ReturnLoanMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof returnLoan>>,\n TError,\n ReturnLoanMutationVariables,\n TContext\n > => {\n return useMutation(getReturnLoanMutationOptions(options), queryClient);\n }\n export const getExtendLoanUrl = (loanId: number,) => {\n\n\n\n\n return `/cvs/loans/${loanId}/extensions`\n}\n\n/**\n * Prolong a loan.\n *\n * Bounded by the grant's ``max_extensions`` — the legacy's ``nb_extend`` — and\n * refused once the loan has been returned or has lapsed. Extending something\n * that already expired is not an extension, it is a new loan, and it should\n * spend a new unit rather than quietly avoid one.\n *\n * Not idempotent, deliberately: two extension requests mean two extensions, and\n * a client that wants exactly one should not send two.\n * @summary Extend Loan\n */\nexport const extendLoan = async (loanId: number, options?: Parameters<typeof request>[1]): Promise<LoanRead> => {\n\n return request<LoanRead>(getExtendLoanUrl(loanId),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\n\n\n\nexport const getExtendLoanMutationKey = () => ['extendLoan'] as const;\n\nexport const getExtendLoanMutationOptions = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof extendLoan>>, TError,ExtendLoanMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n): UseMutationOptions<Awaited<ReturnType<typeof extendLoan>>, TError,ExtendLoanMutationVariables, TContext> => {\n\nconst mutationKey = getExtendLoanMutationKey();\nconst {mutation: mutationOptions, request: requestOptions} = options ?\n options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?\n options\n : {...options, mutation: {...options.mutation, mutationKey}}\n : {mutation: { mutationKey, }, request: undefined};\n\n\n\n\n const mutationFn: MutationFunction<Awaited<ReturnType<typeof extendLoan>>, ExtendLoanMutationVariables> = (props) => {\n const {loanId} = props ?? {};\n\n return extendLoan(loanId,requestOptions)\n }\n\n\n\n\n\n\n return { mutationFn, ...mutationOptions }}\n\n export type ExtendLoanMutationResult = NonNullable<Awaited<ReturnType<typeof extendLoan>>>\n\n export type ExtendLoanMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>\n export type ExtendLoanMutationVariables = {loanId: number}\n\n /**\n * @summary Extend Loan\n */\nexport const useExtendLoan = <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>,\n TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof extendLoan>>, TError,ExtendLoanMutationVariables, TContext>, request?: SecondParameter<typeof request>}\n , queryClient?: QueryClient): UseMutationResult<\n Awaited<ReturnType<typeof extendLoan>>,\n TError,\n ExtendLoanMutationVariables,\n TContext\n > => {\n return useMutation(getExtendLoanMutationOptions(options), queryClient);\n }\n"],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
|
|
2
|
+
import { Ht as PaymentRead, Rt as PaymentStartWrite, Vt as PaymentListRead, t as ValidationErrorResponse, wr as HTTPExceptionResponse, zt as PaymentStartRead } from "../chunks/index.js";
|
|
3
|
+
import { a as ErrorType, c as request, n as BodyType } from "../chunks/client.js";
|
|
4
|
+
import { DataTag, DefinedInitialDataOptions, DefinedUseQueryResult, QueryClient, QueryKey, UndefinedInitialDataOptions, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
|
|
5
|
+
//#region src/react/cvs-payments/cvs-payments.d.ts
|
|
6
|
+
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
|
|
7
|
+
export declare const getListPaymentsUrl: () => string;
|
|
8
|
+
/**
|
|
9
|
+
* This patron's top-ups, newest first. The legacy's ``historyPayments()``.
|
|
10
|
+
* @summary List Payments
|
|
11
|
+
*/
|
|
12
|
+
export declare const listPayments: (options?: Parameters<typeof request>[1]) => Promise<PaymentListRead>;
|
|
13
|
+
export declare const getListPaymentsQueryKey: () => readonly [`/cvs/payments`];
|
|
14
|
+
export declare const getListPaymentsQueryOptions: <TData = Awaited<ReturnType<typeof listPayments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(options?: {
|
|
15
|
+
query?: Partial<UseQueryOptions<Awaited<ReturnType<typeof listPayments>>, TError, TData>>;
|
|
16
|
+
request?: SecondParameter<typeof request>;
|
|
17
|
+
}) => UseQueryOptions<Awaited<ReturnType<typeof listPayments>>, TError, TData> & {
|
|
18
|
+
queryKey: DataTag<QueryKey, TData, TError>;
|
|
19
|
+
};
|
|
20
|
+
export type ListPaymentsQueryResult = NonNullable<Awaited<ReturnType<typeof listPayments>>>;
|
|
21
|
+
export type ListPaymentsQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>;
|
|
22
|
+
export declare function useListPayments<TData = Awaited<ReturnType<typeof listPayments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(options: {
|
|
23
|
+
query: Partial<UseQueryOptions<Awaited<ReturnType<typeof listPayments>>, TError, TData>> & Pick<DefinedInitialDataOptions<Awaited<ReturnType<typeof listPayments>>, TError, Awaited<ReturnType<typeof listPayments>>>, 'initialData'>;
|
|
24
|
+
request?: SecondParameter<typeof request>;
|
|
25
|
+
}, queryClient?: QueryClient): DefinedUseQueryResult<TData, TError> & {
|
|
26
|
+
queryKey: DataTag<QueryKey, TData, TError>;
|
|
27
|
+
};
|
|
28
|
+
export declare function useListPayments<TData = Awaited<ReturnType<typeof listPayments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(options?: {
|
|
29
|
+
query?: Partial<UseQueryOptions<Awaited<ReturnType<typeof listPayments>>, TError, TData>> & Pick<UndefinedInitialDataOptions<Awaited<ReturnType<typeof listPayments>>, TError, Awaited<ReturnType<typeof listPayments>>>, 'initialData'>;
|
|
30
|
+
request?: SecondParameter<typeof request>;
|
|
31
|
+
}, queryClient?: QueryClient): UseQueryResult<TData, TError> & {
|
|
32
|
+
queryKey: DataTag<QueryKey, TData, TError>;
|
|
33
|
+
};
|
|
34
|
+
export declare function useListPayments<TData = Awaited<ReturnType<typeof listPayments>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(options?: {
|
|
35
|
+
query?: Partial<UseQueryOptions<Awaited<ReturnType<typeof listPayments>>, TError, TData>>;
|
|
36
|
+
request?: SecondParameter<typeof request>;
|
|
37
|
+
}, queryClient?: QueryClient): UseQueryResult<TData, TError> & {
|
|
38
|
+
queryKey: DataTag<QueryKey, TData, TError>;
|
|
39
|
+
};
|
|
40
|
+
export declare const getStartPaymentUrl: () => string;
|
|
41
|
+
/**
|
|
42
|
+
* Begin a top-up and get the hand-off to send the patron to.
|
|
43
|
+
*
|
|
44
|
+
* **Which provider answers is the library's setting**, not the client's
|
|
45
|
+
* choice. PayPal returns ``approvalUrl``; Paybox returns ``form``, because
|
|
46
|
+
* its hand-off is a signed POST and not a redirect. Read ``provider`` rather
|
|
47
|
+
* than testing which field is null.
|
|
48
|
+
*
|
|
49
|
+
* ``409`` for an amount this library does not sell — the tariff is the
|
|
50
|
+
* server's, because a client that may name its own price may name zero, and
|
|
51
|
+
* it differs per provider (Paybox sells séances at 3 €, PayPal credits at
|
|
52
|
+
* 5.90 €). ``503`` when the library sells nothing or its merchant account is
|
|
53
|
+
* unconfigured, with nothing written.
|
|
54
|
+
*
|
|
55
|
+
* Nothing is charged here and nothing is credited. This opens a pending row
|
|
56
|
+
* and the provider hand-off, and that is all.
|
|
57
|
+
*
|
|
58
|
+
* ``requestKey`` makes it idempotent: a retried start returns the hand-off the
|
|
59
|
+
* first attempt opened rather than opening a second, because a patron who
|
|
60
|
+
* then pays both has been charged twice for one intent.
|
|
61
|
+
* @summary Start Payment
|
|
62
|
+
*/
|
|
63
|
+
export declare const startPayment: (paymentStartWrite: PaymentStartWrite, options?: Parameters<typeof request>[1]) => Promise<PaymentStartRead>;
|
|
64
|
+
export declare const getStartPaymentMutationKey: () => readonly ['startPayment'];
|
|
65
|
+
export declare const getStartPaymentMutationOptions: <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>, TContext = unknown>(options?: {
|
|
66
|
+
mutation?: UseMutationOptions<Awaited<ReturnType<typeof startPayment>>, TError, StartPaymentMutationVariables, TContext>;
|
|
67
|
+
request?: SecondParameter<typeof request>;
|
|
68
|
+
}) => UseMutationOptions<Awaited<ReturnType<typeof startPayment>>, TError, StartPaymentMutationVariables, TContext>;
|
|
69
|
+
export type StartPaymentMutationResult = NonNullable<Awaited<ReturnType<typeof startPayment>>>;
|
|
70
|
+
export type StartPaymentMutationBody = BodyType<PaymentStartWrite>;
|
|
71
|
+
export type StartPaymentMutationError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>;
|
|
72
|
+
export type StartPaymentMutationVariables = {
|
|
73
|
+
data: BodyType<PaymentStartWrite>;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* @summary Start Payment
|
|
77
|
+
*/
|
|
78
|
+
export declare const useStartPayment: <TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>, TContext = unknown>(options?: {
|
|
79
|
+
mutation?: UseMutationOptions<Awaited<ReturnType<typeof startPayment>>, TError, StartPaymentMutationVariables, TContext>;
|
|
80
|
+
request?: SecondParameter<typeof request>;
|
|
81
|
+
}, queryClient?: QueryClient) => UseMutationResult<Awaited<ReturnType<typeof startPayment>>, TError, StartPaymentMutationVariables, TContext>;
|
|
82
|
+
export declare const getReadPaymentUrl: (paymentId: number) => string;
|
|
83
|
+
/**
|
|
84
|
+
* One top-up, and what became of it.
|
|
85
|
+
*
|
|
86
|
+
* This is what a client reads after the provider sends the browser back. The
|
|
87
|
+
* landing URL says what the patron *did*; this says what the *provider* told
|
|
88
|
+
* us, which is the only version that credits anything.
|
|
89
|
+
*
|
|
90
|
+
* ``404`` for somebody else's payment, indistinguishable from one that does
|
|
91
|
+
* not exist: a payment id is a bare integer.
|
|
92
|
+
* @summary Read Payment
|
|
93
|
+
*/
|
|
94
|
+
export declare const readPayment: (paymentId: number, options?: Parameters<typeof request>[1]) => Promise<PaymentRead>;
|
|
95
|
+
export declare const getReadPaymentQueryKey: (paymentId: number) => readonly [`/cvs/payments/${number}`];
|
|
96
|
+
export declare const getReadPaymentQueryOptions: <TData = Awaited<ReturnType<typeof readPayment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(paymentId: number, options?: {
|
|
97
|
+
query?: Partial<UseQueryOptions<Awaited<ReturnType<typeof readPayment>>, TError, TData>>;
|
|
98
|
+
request?: SecondParameter<typeof request>;
|
|
99
|
+
}) => UseQueryOptions<Awaited<ReturnType<typeof readPayment>>, TError, TData> & {
|
|
100
|
+
queryKey: DataTag<QueryKey, TData, TError>;
|
|
101
|
+
};
|
|
102
|
+
export type ReadPaymentQueryResult = NonNullable<Awaited<ReturnType<typeof readPayment>>>;
|
|
103
|
+
export type ReadPaymentQueryError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>;
|
|
104
|
+
export declare function useReadPayment<TData = Awaited<ReturnType<typeof readPayment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(paymentId: number, options: {
|
|
105
|
+
query: Partial<UseQueryOptions<Awaited<ReturnType<typeof readPayment>>, TError, TData>> & Pick<DefinedInitialDataOptions<Awaited<ReturnType<typeof readPayment>>, TError, Awaited<ReturnType<typeof readPayment>>>, 'initialData'>;
|
|
106
|
+
request?: SecondParameter<typeof request>;
|
|
107
|
+
}, queryClient?: QueryClient): DefinedUseQueryResult<TData, TError> & {
|
|
108
|
+
queryKey: DataTag<QueryKey, TData, TError>;
|
|
109
|
+
};
|
|
110
|
+
export declare function useReadPayment<TData = Awaited<ReturnType<typeof readPayment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(paymentId: number, options?: {
|
|
111
|
+
query?: Partial<UseQueryOptions<Awaited<ReturnType<typeof readPayment>>, TError, TData>> & Pick<UndefinedInitialDataOptions<Awaited<ReturnType<typeof readPayment>>, TError, Awaited<ReturnType<typeof readPayment>>>, 'initialData'>;
|
|
112
|
+
request?: SecondParameter<typeof request>;
|
|
113
|
+
}, queryClient?: QueryClient): UseQueryResult<TData, TError> & {
|
|
114
|
+
queryKey: DataTag<QueryKey, TData, TError>;
|
|
115
|
+
};
|
|
116
|
+
export declare function useReadPayment<TData = Awaited<ReturnType<typeof readPayment>>, TError = ErrorType<HTTPExceptionResponse | ValidationErrorResponse>>(paymentId: number, options?: {
|
|
117
|
+
query?: Partial<UseQueryOptions<Awaited<ReturnType<typeof readPayment>>, TError, TData>>;
|
|
118
|
+
request?: SecondParameter<typeof request>;
|
|
119
|
+
}, queryClient?: QueryClient): UseQueryResult<TData, TError> & {
|
|
120
|
+
queryKey: DataTag<QueryKey, TData, TError>;
|
|
121
|
+
};
|
|
122
|
+
//#endregion
|
|
123
|
+
//# sourceMappingURL=cvs-payments.d.ts.map
|