UNPKG

unlockpage-api-client

Version:

React hooks and TypeScript client for Unlockpage API

1,492 lines (1,310 loc) 38.7 kB
/** * Generated by orval v6.31.0 🍺 * Do not edit manually. * Unlockpage API * This is the API server for Unlockpage micropayments platform. * OpenAPI spec version: 1.0 */ import { useMutation, useQuery } from "@tanstack/react-query"; import type { MutationFunction, QueryFunction, QueryKey, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult, } from "@tanstack/react-query"; import axios from "axios"; import type { AxiosError, AxiosRequestConfig, AxiosResponse } from "axios"; import type { BodyBody, DeleteRoutesParams, DeleteUser200, DeleteWebsiteParams, GetAuthCheck200, GetAvaliableParams, GetDns400, GetDns404, GetDns500, GetDnsParams, GetPurchaseHistoryParams, GetPurchased200, GetPurchasedParams, GetWebsiteParams, MicrohttpAccessResponse, MicrohttpDNSResponse, MicrohttpErrorResponse, MicrohttpPurchaseDetail, MicrohttpRoute, MicrohttpRouteInfo, MicrohttpUser, MicrohttpWebsite, PatchRoutesBody, PatchRoutesParams, PostAccessBody, PostDns400, PostDns404, PostDns500, PostDnsParams, PostUserLogout200, PutUser200, } from "./model"; /** * Verify if user has purchased access to a specific URL/route * @summary Check access to protected content */ export const postAccess = ( postAccessBody: PostAccessBody, options?: AxiosRequestConfig, ): Promise<AxiosResponse<MicrohttpAccessResponse>> => { return axios.post( `https://micro-payments.fly.dev/access`, postAccessBody, options, ); }; export const getPostAccessMutationOptions = < TError = AxiosError<MicrohttpErrorResponse>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof postAccess>>, TError, { data: PostAccessBody }, TContext >; axios?: AxiosRequestConfig; }): UseMutationOptions< Awaited<ReturnType<typeof postAccess>>, TError, { data: PostAccessBody }, TContext > => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn: MutationFunction< Awaited<ReturnType<typeof postAccess>>, { data: PostAccessBody } > = (props) => { const { data } = props ?? {}; return postAccess(data, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; export type PostAccessMutationResult = NonNullable< Awaited<ReturnType<typeof postAccess>> >; export type PostAccessMutationBody = PostAccessBody; export type PostAccessMutationError = AxiosError<MicrohttpErrorResponse>; /** * @summary Check access to protected content */ export const usePostAccess = < TError = AxiosError<MicrohttpErrorResponse>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof postAccess>>, TError, { data: PostAccessBody }, TContext >; axios?: AxiosRequestConfig; }): UseMutationResult< Awaited<ReturnType<typeof postAccess>>, TError, { data: PostAccessBody }, TContext > => { const mutationOptions = getPostAccessMutationOptions(options); return useMutation(mutationOptions); }; /** * Check if user has a valid session cookie * @summary Check authentication status */ export const getAuthCheck = ( options?: AxiosRequestConfig, ): Promise<AxiosResponse<GetAuthCheck200>> => { return axios.get(`https://micro-payments.fly.dev/auth/check`, options); }; export const getGetAuthCheckQueryKey = () => { return [`https://micro-payments.fly.dev/auth/check`] as const; }; export const getGetAuthCheckQueryOptions = < TData = Awaited<ReturnType<typeof getAuthCheck>>, TError = AxiosError<string>, >(options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getAuthCheck>>, TError, TData> >; axios?: AxiosRequestConfig; }) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetAuthCheckQueryKey(); const queryFn: QueryFunction<Awaited<ReturnType<typeof getAuthCheck>>> = ({ signal, }) => getAuthCheck({ signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< Awaited<ReturnType<typeof getAuthCheck>>, TError, TData > & { queryKey: QueryKey }; }; export type GetAuthCheckQueryResult = NonNullable< Awaited<ReturnType<typeof getAuthCheck>> >; export type GetAuthCheckQueryError = AxiosError<string>; /** * @summary Check authentication status */ export const useGetAuthCheck = < TData = Awaited<ReturnType<typeof getAuthCheck>>, TError = AxiosError<string>, >(options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getAuthCheck>>, TError, TData> >; axios?: AxiosRequestConfig; }): UseQueryResult<TData, TError> & { queryKey: QueryKey } => { const queryOptions = getGetAuthCheckQueryOptions(options); const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey; }; query.queryKey = queryOptions.queryKey; return query; }; /** * Check if a route is available for purchase and get route information * @summary Check route availability */ export const getAvaliable = ( params: GetAvaliableParams, options?: AxiosRequestConfig, ): Promise<AxiosResponse<MicrohttpRouteInfo>> => { return axios.get(`https://micro-payments.fly.dev/avaliable`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetAvaliableQueryKey = (params: GetAvaliableParams) => { return [ `https://micro-payments.fly.dev/avaliable`, ...(params ? [params] : []), ] as const; }; export const getGetAvaliableQueryOptions = < TData = Awaited<ReturnType<typeof getAvaliable>>, TError = AxiosError<MicrohttpErrorResponse>, >( params: GetAvaliableParams, options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getAvaliable>>, TError, TData> >; axios?: AxiosRequestConfig; }, ) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetAvaliableQueryKey(params); const queryFn: QueryFunction<Awaited<ReturnType<typeof getAvaliable>>> = ({ signal, }) => getAvaliable(params, { signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< Awaited<ReturnType<typeof getAvaliable>>, TError, TData > & { queryKey: QueryKey }; }; export type GetAvaliableQueryResult = NonNullable< Awaited<ReturnType<typeof getAvaliable>> >; export type GetAvaliableQueryError = AxiosError<MicrohttpErrorResponse>; /** * @summary Check route availability */ export const useGetAvaliable = < TData = Awaited<ReturnType<typeof getAvaliable>>, TError = AxiosError<MicrohttpErrorResponse>, >( params: GetAvaliableParams, options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getAvaliable>>, TError, TData> >; axios?: AxiosRequestConfig; }, ): UseQueryResult<TData, TError> & { queryKey: QueryKey } => { const queryOptions = getGetAvaliableQueryOptions(params, options); const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey; }; query.queryKey = queryOptions.queryKey; return query; }; /** * GET: Check DNS TXT record verification status, POST: Generate new TXT record for domain verification * @summary DNS management for domain verification */ export const getDns = ( bodyBody: BodyBody, params: GetDnsParams, options?: AxiosRequestConfig, ): Promise<AxiosResponse<MicrohttpDNSResponse>> => { return axios.get(`https://micro-payments.fly.dev/dns`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetDnsQueryKey = (bodyBody: BodyBody, params: GetDnsParams) => { return [ `https://micro-payments.fly.dev/dns`, ...(params ? [params] : []), bodyBody, ] as const; }; export const getGetDnsQueryOptions = < TData = Awaited<ReturnType<typeof getDns>>, TError = AxiosError<GetDns400 | GetDns404 | GetDns500>, >( bodyBody: BodyBody, params: GetDnsParams, options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getDns>>, TError, TData> >; axios?: AxiosRequestConfig; }, ) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetDnsQueryKey(bodyBody, params); const queryFn: QueryFunction<Awaited<ReturnType<typeof getDns>>> = ({ signal, }) => getDns(bodyBody, params, { signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< Awaited<ReturnType<typeof getDns>>, TError, TData > & { queryKey: QueryKey }; }; export type GetDnsQueryResult = NonNullable<Awaited<ReturnType<typeof getDns>>>; export type GetDnsQueryError = AxiosError<GetDns400 | GetDns404 | GetDns500>; /** * @summary DNS management for domain verification */ export const useGetDns = < TData = Awaited<ReturnType<typeof getDns>>, TError = AxiosError<GetDns400 | GetDns404 | GetDns500>, >( bodyBody: BodyBody, params: GetDnsParams, options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getDns>>, TError, TData> >; axios?: AxiosRequestConfig; }, ): UseQueryResult<TData, TError> & { queryKey: QueryKey } => { const queryOptions = getGetDnsQueryOptions(bodyBody, params, options); const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey; }; query.queryKey = queryOptions.queryKey; return query; }; /** * GET: Check DNS TXT record verification status, POST: Generate new TXT record for domain verification * @summary DNS management for domain verification */ export const postDns = ( bodyBody: BodyBody, params: PostDnsParams, options?: AxiosRequestConfig, ): Promise<AxiosResponse<MicrohttpDNSResponse>> => { return axios.post(`https://micro-payments.fly.dev/dns`, bodyBody, { ...options, params: { ...params, ...options?.params }, }); }; export const getPostDnsMutationOptions = < TError = AxiosError<PostDns400 | PostDns404 | PostDns500>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof postDns>>, TError, { data: BodyBody; params: PostDnsParams }, TContext >; axios?: AxiosRequestConfig; }): UseMutationOptions< Awaited<ReturnType<typeof postDns>>, TError, { data: BodyBody; params: PostDnsParams }, TContext > => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn: MutationFunction< Awaited<ReturnType<typeof postDns>>, { data: BodyBody; params: PostDnsParams } > = (props) => { const { data, params } = props ?? {}; return postDns(data, params, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; export type PostDnsMutationResult = NonNullable< Awaited<ReturnType<typeof postDns>> >; export type PostDnsMutationBody = BodyBody; export type PostDnsMutationError = AxiosError< PostDns400 | PostDns404 | PostDns500 >; /** * @summary DNS management for domain verification */ export const usePostDns = < TError = AxiosError<PostDns400 | PostDns404 | PostDns500>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof postDns>>, TError, { data: BodyBody; params: PostDnsParams }, TContext >; axios?: AxiosRequestConfig; }): UseMutationResult< Awaited<ReturnType<typeof postDns>>, TError, { data: BodyBody; params: PostDnsParams }, TContext > => { const mutationOptions = getPostDnsMutationOptions(options); return useMutation(mutationOptions); }; /** * Get purchase history for websites owned by the authenticated user * @summary Get website purchase history */ export const getDomainsPurchaseHistory = ( options?: AxiosRequestConfig, ): Promise<AxiosResponse<MicrohttpPurchaseDetail[]>> => { return axios.get( `https://micro-payments.fly.dev/domains-purchase-history`, options, ); }; export const getGetDomainsPurchaseHistoryQueryKey = () => { return [`https://micro-payments.fly.dev/domains-purchase-history`] as const; }; export const getGetDomainsPurchaseHistoryQueryOptions = < TData = Awaited<ReturnType<typeof getDomainsPurchaseHistory>>, TError = AxiosError<MicrohttpErrorResponse>, >(options?: { query?: Partial< UseQueryOptions< Awaited<ReturnType<typeof getDomainsPurchaseHistory>>, TError, TData > >; axios?: AxiosRequestConfig; }) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetDomainsPurchaseHistoryQueryKey(); const queryFn: QueryFunction< Awaited<ReturnType<typeof getDomainsPurchaseHistory>> > = ({ signal }) => getDomainsPurchaseHistory({ signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< Awaited<ReturnType<typeof getDomainsPurchaseHistory>>, TError, TData > & { queryKey: QueryKey }; }; export type GetDomainsPurchaseHistoryQueryResult = NonNullable< Awaited<ReturnType<typeof getDomainsPurchaseHistory>> >; export type GetDomainsPurchaseHistoryQueryError = AxiosError<MicrohttpErrorResponse>; /** * @summary Get website purchase history */ export const useGetDomainsPurchaseHistory = < TData = Awaited<ReturnType<typeof getDomainsPurchaseHistory>>, TError = AxiosError<MicrohttpErrorResponse>, >(options?: { query?: Partial< UseQueryOptions< Awaited<ReturnType<typeof getDomainsPurchaseHistory>>, TError, TData > >; axios?: AxiosRequestConfig; }): UseQueryResult<TData, TError> & { queryKey: QueryKey } => { const queryOptions = getGetDomainsPurchaseHistoryQueryOptions(options); const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey; }; query.queryKey = queryOptions.queryKey; return query; }; /** * Get all purchases made by the authenticated user * @summary Get user purchase history */ export const getPurchaseHistory = ( params?: GetPurchaseHistoryParams, options?: AxiosRequestConfig, ): Promise<AxiosResponse<MicrohttpPurchaseDetail[]>> => { return axios.get(`https://micro-payments.fly.dev/purchase-history`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetPurchaseHistoryQueryKey = ( params?: GetPurchaseHistoryParams, ) => { return [ `https://micro-payments.fly.dev/purchase-history`, ...(params ? [params] : []), ] as const; }; export const getGetPurchaseHistoryQueryOptions = < TData = Awaited<ReturnType<typeof getPurchaseHistory>>, TError = AxiosError<MicrohttpErrorResponse>, >( params?: GetPurchaseHistoryParams, options?: { query?: Partial< UseQueryOptions< Awaited<ReturnType<typeof getPurchaseHistory>>, TError, TData > >; axios?: AxiosRequestConfig; }, ) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetPurchaseHistoryQueryKey(params); const queryFn: QueryFunction< Awaited<ReturnType<typeof getPurchaseHistory>> > = ({ signal }) => getPurchaseHistory(params, { signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< Awaited<ReturnType<typeof getPurchaseHistory>>, TError, TData > & { queryKey: QueryKey }; }; export type GetPurchaseHistoryQueryResult = NonNullable< Awaited<ReturnType<typeof getPurchaseHistory>> >; export type GetPurchaseHistoryQueryError = AxiosError<MicrohttpErrorResponse>; /** * @summary Get user purchase history */ export const useGetPurchaseHistory = < TData = Awaited<ReturnType<typeof getPurchaseHistory>>, TError = AxiosError<MicrohttpErrorResponse>, >( params?: GetPurchaseHistoryParams, options?: { query?: Partial< UseQueryOptions< Awaited<ReturnType<typeof getPurchaseHistory>>, TError, TData > >; axios?: AxiosRequestConfig; }, ): UseQueryResult<TData, TError> & { queryKey: QueryKey } => { const queryOptions = getGetPurchaseHistoryQueryOptions(params, options); const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey; }; query.queryKey = queryOptions.queryKey; return query; }; /** * Check if user has already purchased access to a specific route * @summary Check if route is purchased */ export const getPurchased = ( params: GetPurchasedParams, options?: AxiosRequestConfig, ): Promise<AxiosResponse<GetPurchased200>> => { return axios.get(`https://micro-payments.fly.dev/purchased`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetPurchasedQueryKey = (params: GetPurchasedParams) => { return [ `https://micro-payments.fly.dev/purchased`, ...(params ? [params] : []), ] as const; }; export const getGetPurchasedQueryOptions = < TData = Awaited<ReturnType<typeof getPurchased>>, TError = AxiosError<string>, >( params: GetPurchasedParams, options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getPurchased>>, TError, TData> >; axios?: AxiosRequestConfig; }, ) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetPurchasedQueryKey(params); const queryFn: QueryFunction<Awaited<ReturnType<typeof getPurchased>>> = ({ signal, }) => getPurchased(params, { signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< Awaited<ReturnType<typeof getPurchased>>, TError, TData > & { queryKey: QueryKey }; }; export type GetPurchasedQueryResult = NonNullable< Awaited<ReturnType<typeof getPurchased>> >; export type GetPurchasedQueryError = AxiosError<string>; /** * @summary Check if route is purchased */ export const useGetPurchased = < TData = Awaited<ReturnType<typeof getPurchased>>, TError = AxiosError<string>, >( params: GetPurchasedParams, options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getPurchased>>, TError, TData> >; axios?: AxiosRequestConfig; }, ): UseQueryResult<TData, TError> & { queryKey: QueryKey } => { const queryOptions = getGetPurchasedQueryOptions(params, options); const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey; }; query.queryKey = queryOptions.queryKey; return query; }; /** * Retrieve all routes for websites owned by the authenticated user * @summary Get user's routes */ export const getRoutes = ( options?: AxiosRequestConfig, ): Promise<AxiosResponse<MicrohttpRoute[]>> => { return axios.get(`https://micro-payments.fly.dev/routes`, options); }; export const getGetRoutesQueryKey = () => { return [`https://micro-payments.fly.dev/routes`] as const; }; export const getGetRoutesQueryOptions = < TData = Awaited<ReturnType<typeof getRoutes>>, TError = AxiosError<string>, >(options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getRoutes>>, TError, TData> >; axios?: AxiosRequestConfig; }) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetRoutesQueryKey(); const queryFn: QueryFunction<Awaited<ReturnType<typeof getRoutes>>> = ({ signal, }) => getRoutes({ signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< Awaited<ReturnType<typeof getRoutes>>, TError, TData > & { queryKey: QueryKey }; }; export type GetRoutesQueryResult = NonNullable< Awaited<ReturnType<typeof getRoutes>> >; export type GetRoutesQueryError = AxiosError<string>; /** * @summary Get user's routes */ export const useGetRoutes = < TData = Awaited<ReturnType<typeof getRoutes>>, TError = AxiosError<string>, >(options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getRoutes>>, TError, TData> >; axios?: AxiosRequestConfig; }): UseQueryResult<TData, TError> & { queryKey: QueryKey } => { const queryOptions = getGetRoutesQueryOptions(options); const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey; }; query.queryKey = queryOptions.queryKey; return query; }; /** * Add a new route for a website that users can purchase access to * @summary Register a new route */ export const putRoutes = ( microhttpRoute: MicrohttpRoute, options?: AxiosRequestConfig, ): Promise<AxiosResponse<string>> => { return axios.put( `https://micro-payments.fly.dev/routes`, microhttpRoute, options, ); }; export const getPutRoutesMutationOptions = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof putRoutes>>, TError, { data: MicrohttpRoute }, TContext >; axios?: AxiosRequestConfig; }): UseMutationOptions< Awaited<ReturnType<typeof putRoutes>>, TError, { data: MicrohttpRoute }, TContext > => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn: MutationFunction< Awaited<ReturnType<typeof putRoutes>>, { data: MicrohttpRoute } > = (props) => { const { data } = props ?? {}; return putRoutes(data, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; export type PutRoutesMutationResult = NonNullable< Awaited<ReturnType<typeof putRoutes>> >; export type PutRoutesMutationBody = MicrohttpRoute; export type PutRoutesMutationError = AxiosError<string>; /** * @summary Register a new route */ export const usePutRoutes = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof putRoutes>>, TError, { data: MicrohttpRoute }, TContext >; axios?: AxiosRequestConfig; }): UseMutationResult< Awaited<ReturnType<typeof putRoutes>>, TError, { data: MicrohttpRoute }, TContext > => { const mutationOptions = getPutRoutesMutationOptions(options); return useMutation(mutationOptions); }; /** * Delete a route. Can only delete if no purchases exist for the route * @summary Delete an existing route */ export const deleteRoutes = ( params: DeleteRoutesParams, options?: AxiosRequestConfig, ): Promise<AxiosResponse<string>> => { return axios.delete(`https://micro-payments.fly.dev/routes`, { ...options, params: { ...params, ...options?.params }, }); }; export const getDeleteRoutesMutationOptions = < TError = AxiosError<MicrohttpErrorResponse>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof deleteRoutes>>, TError, { params: DeleteRoutesParams }, TContext >; axios?: AxiosRequestConfig; }): UseMutationOptions< Awaited<ReturnType<typeof deleteRoutes>>, TError, { params: DeleteRoutesParams }, TContext > => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn: MutationFunction< Awaited<ReturnType<typeof deleteRoutes>>, { params: DeleteRoutesParams } > = (props) => { const { params } = props ?? {}; return deleteRoutes(params, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; export type DeleteRoutesMutationResult = NonNullable< Awaited<ReturnType<typeof deleteRoutes>> >; export type DeleteRoutesMutationError = AxiosError<MicrohttpErrorResponse>; /** * @summary Delete an existing route */ export const useDeleteRoutes = < TError = AxiosError<MicrohttpErrorResponse>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof deleteRoutes>>, TError, { params: DeleteRoutesParams }, TContext >; axios?: AxiosRequestConfig; }): UseMutationResult< Awaited<ReturnType<typeof deleteRoutes>>, TError, { params: DeleteRoutesParams }, TContext > => { const mutationOptions = getDeleteRoutesMutationOptions(options); return useMutation(mutationOptions); }; /** * Update route path, cost, and/or disabled state. Can only update if no purchases exist and new route name doesn't conflict * @summary Update an existing route */ export const patchRoutes = ( patchRoutesBody: PatchRoutesBody, params: PatchRoutesParams, options?: AxiosRequestConfig, ): Promise<AxiosResponse<string>> => { return axios.patch(`https://micro-payments.fly.dev/routes`, patchRoutesBody, { ...options, params: { ...params, ...options?.params }, }); }; export const getPatchRoutesMutationOptions = < TError = AxiosError<MicrohttpErrorResponse>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof patchRoutes>>, TError, { data: PatchRoutesBody; params: PatchRoutesParams }, TContext >; axios?: AxiosRequestConfig; }): UseMutationOptions< Awaited<ReturnType<typeof patchRoutes>>, TError, { data: PatchRoutesBody; params: PatchRoutesParams }, TContext > => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn: MutationFunction< Awaited<ReturnType<typeof patchRoutes>>, { data: PatchRoutesBody; params: PatchRoutesParams } > = (props) => { const { data, params } = props ?? {}; return patchRoutes(data, params, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; export type PatchRoutesMutationResult = NonNullable< Awaited<ReturnType<typeof patchRoutes>> >; export type PatchRoutesMutationBody = PatchRoutesBody; export type PatchRoutesMutationError = AxiosError<MicrohttpErrorResponse>; /** * @summary Update an existing route */ export const usePatchRoutes = < TError = AxiosError<MicrohttpErrorResponse>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof patchRoutes>>, TError, { data: PatchRoutesBody; params: PatchRoutesParams }, TContext >; axios?: AxiosRequestConfig; }): UseMutationResult< Awaited<ReturnType<typeof patchRoutes>>, TError, { data: PatchRoutesBody; params: PatchRoutesParams }, TContext > => { const mutationOptions = getPatchRoutesMutationOptions(options); return useMutation(mutationOptions); }; /** * Retrieve authenticated user's profile information * @summary Get user information */ export const getUser = ( options?: AxiosRequestConfig, ): Promise<AxiosResponse<MicrohttpUser>> => { return axios.get(`https://micro-payments.fly.dev/user`, options); }; export const getGetUserQueryKey = () => { return [`https://micro-payments.fly.dev/user`] as const; }; export const getGetUserQueryOptions = < TData = Awaited<ReturnType<typeof getUser>>, TError = AxiosError<string>, >(options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData> >; axios?: AxiosRequestConfig; }) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetUserQueryKey(); const queryFn: QueryFunction<Awaited<ReturnType<typeof getUser>>> = ({ signal, }) => getUser({ signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< Awaited<ReturnType<typeof getUser>>, TError, TData > & { queryKey: QueryKey }; }; export type GetUserQueryResult = NonNullable< Awaited<ReturnType<typeof getUser>> >; export type GetUserQueryError = AxiosError<string>; /** * @summary Get user information */ export const useGetUser = < TData = Awaited<ReturnType<typeof getUser>>, TError = AxiosError<string>, >(options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getUser>>, TError, TData> >; axios?: AxiosRequestConfig; }): UseQueryResult<TData, TError> & { queryKey: QueryKey } => { const queryOptions = getGetUserQueryOptions(options); const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey; }; query.queryKey = queryOptions.queryKey; return query; }; /** * Synchronize user data from JWT token and create secure session * @summary Sync user data */ export const putUser = ( options?: AxiosRequestConfig, ): Promise<AxiosResponse<PutUser200>> => { return axios.put(`https://micro-payments.fly.dev/user`, undefined, options); }; export const getPutUserMutationOptions = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof putUser>>, TError, void, TContext >; axios?: AxiosRequestConfig; }): UseMutationOptions< Awaited<ReturnType<typeof putUser>>, TError, void, TContext > => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn: MutationFunction< Awaited<ReturnType<typeof putUser>>, void > = () => { return putUser(axiosOptions); }; return { mutationFn, ...mutationOptions }; }; export type PutUserMutationResult = NonNullable< Awaited<ReturnType<typeof putUser>> >; export type PutUserMutationError = AxiosError<string>; /** * @summary Sync user data */ export const usePutUser = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof putUser>>, TError, void, TContext >; axios?: AxiosRequestConfig; }): UseMutationResult< Awaited<ReturnType<typeof putUser>>, TError, void, TContext > => { const mutationOptions = getPutUserMutationOptions(options); return useMutation(mutationOptions); }; /** * Delete all active sessions for the authenticated user * @summary Delete all user sessions */ export const deleteUser = ( options?: AxiosRequestConfig, ): Promise<AxiosResponse<DeleteUser200>> => { return axios.delete(`https://micro-payments.fly.dev/user`, options); }; export const getDeleteUserMutationOptions = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof deleteUser>>, TError, void, TContext >; axios?: AxiosRequestConfig; }): UseMutationOptions< Awaited<ReturnType<typeof deleteUser>>, TError, void, TContext > => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn: MutationFunction< Awaited<ReturnType<typeof deleteUser>>, void > = () => { return deleteUser(axiosOptions); }; return { mutationFn, ...mutationOptions }; }; export type DeleteUserMutationResult = NonNullable< Awaited<ReturnType<typeof deleteUser>> >; export type DeleteUserMutationError = AxiosError<string>; /** * @summary Delete all user sessions */ export const useDeleteUser = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof deleteUser>>, TError, void, TContext >; axios?: AxiosRequestConfig; }): UseMutationResult< Awaited<ReturnType<typeof deleteUser>>, TError, void, TContext > => { const mutationOptions = getDeleteUserMutationOptions(options); return useMutation(mutationOptions); }; /** * Log out user by clearing session cookie and deleting session from database * @summary User logout */ export const postUserLogout = ( options?: AxiosRequestConfig, ): Promise<AxiosResponse<PostUserLogout200>> => { return axios.post( `https://micro-payments.fly.dev/user/logout`, undefined, options, ); }; export const getPostUserLogoutMutationOptions = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof postUserLogout>>, TError, void, TContext >; axios?: AxiosRequestConfig; }): UseMutationOptions< Awaited<ReturnType<typeof postUserLogout>>, TError, void, TContext > => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn: MutationFunction< Awaited<ReturnType<typeof postUserLogout>>, void > = () => { return postUserLogout(axiosOptions); }; return { mutationFn, ...mutationOptions }; }; export type PostUserLogoutMutationResult = NonNullable< Awaited<ReturnType<typeof postUserLogout>> >; export type PostUserLogoutMutationError = AxiosError<string>; /** * @summary User logout */ export const usePostUserLogout = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof postUserLogout>>, TError, void, TContext >; axios?: AxiosRequestConfig; }): UseMutationResult< Awaited<ReturnType<typeof postUserLogout>>, TError, void, TContext > => { const mutationOptions = getPostUserLogoutMutationOptions(options); return useMutation(mutationOptions); }; /** * Retrieve all websites registered by the authenticated user * @summary Get user's websites */ export const getWebsite = ( params?: GetWebsiteParams, options?: AxiosRequestConfig, ): Promise<AxiosResponse<MicrohttpWebsite[]>> => { return axios.get(`https://micro-payments.fly.dev/website`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetWebsiteQueryKey = (params?: GetWebsiteParams) => { return [ `https://micro-payments.fly.dev/website`, ...(params ? [params] : []), ] as const; }; export const getGetWebsiteQueryOptions = < TData = Awaited<ReturnType<typeof getWebsite>>, TError = AxiosError<string>, >( params?: GetWebsiteParams, options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getWebsite>>, TError, TData> >; axios?: AxiosRequestConfig; }, ) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetWebsiteQueryKey(params); const queryFn: QueryFunction<Awaited<ReturnType<typeof getWebsite>>> = ({ signal, }) => getWebsite(params, { signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< Awaited<ReturnType<typeof getWebsite>>, TError, TData > & { queryKey: QueryKey }; }; export type GetWebsiteQueryResult = NonNullable< Awaited<ReturnType<typeof getWebsite>> >; export type GetWebsiteQueryError = AxiosError<string>; /** * @summary Get user's websites */ export const useGetWebsite = < TData = Awaited<ReturnType<typeof getWebsite>>, TError = AxiosError<string>, >( params?: GetWebsiteParams, options?: { query?: Partial< UseQueryOptions<Awaited<ReturnType<typeof getWebsite>>, TError, TData> >; axios?: AxiosRequestConfig; }, ): UseQueryResult<TData, TError> & { queryKey: QueryKey } => { const queryOptions = getGetWebsiteQueryOptions(params, options); const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey; }; query.queryKey = queryOptions.queryKey; return query; }; /** * Register a new website for content monetization * @summary Register a new website */ export const putWebsite = ( microhttpWebsite: MicrohttpWebsite, options?: AxiosRequestConfig, ): Promise<AxiosResponse<string>> => { return axios.put( `https://micro-payments.fly.dev/website`, microhttpWebsite, options, ); }; export const getPutWebsiteMutationOptions = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof putWebsite>>, TError, { data: MicrohttpWebsite }, TContext >; axios?: AxiosRequestConfig; }): UseMutationOptions< Awaited<ReturnType<typeof putWebsite>>, TError, { data: MicrohttpWebsite }, TContext > => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn: MutationFunction< Awaited<ReturnType<typeof putWebsite>>, { data: MicrohttpWebsite } > = (props) => { const { data } = props ?? {}; return putWebsite(data, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; export type PutWebsiteMutationResult = NonNullable< Awaited<ReturnType<typeof putWebsite>> >; export type PutWebsiteMutationBody = MicrohttpWebsite; export type PutWebsiteMutationError = AxiosError<string>; /** * @summary Register a new website */ export const usePutWebsite = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof putWebsite>>, TError, { data: MicrohttpWebsite }, TContext >; axios?: AxiosRequestConfig; }): UseMutationResult< Awaited<ReturnType<typeof putWebsite>>, TError, { data: MicrohttpWebsite }, TContext > => { const mutationOptions = getPutWebsiteMutationOptions(options); return useMutation(mutationOptions); }; /** * Delete a registered but unverified website * @summary Remove a website */ export const deleteWebsite = ( params: DeleteWebsiteParams, options?: AxiosRequestConfig, ): Promise<AxiosResponse<string>> => { return axios.delete(`https://micro-payments.fly.dev/website`, { ...options, params: { ...params, ...options?.params }, }); }; export const getDeleteWebsiteMutationOptions = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof deleteWebsite>>, TError, { params: DeleteWebsiteParams }, TContext >; axios?: AxiosRequestConfig; }): UseMutationOptions< Awaited<ReturnType<typeof deleteWebsite>>, TError, { params: DeleteWebsiteParams }, TContext > => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn: MutationFunction< Awaited<ReturnType<typeof deleteWebsite>>, { params: DeleteWebsiteParams } > = (props) => { const { params } = props ?? {}; return deleteWebsite(params, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; export type DeleteWebsiteMutationResult = NonNullable< Awaited<ReturnType<typeof deleteWebsite>> >; export type DeleteWebsiteMutationError = AxiosError<string>; /** * @summary Remove a website */ export const useDeleteWebsite = < TError = AxiosError<string>, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited<ReturnType<typeof deleteWebsite>>, TError, { params: DeleteWebsiteParams }, TContext >; axios?: AxiosRequestConfig; }): UseMutationResult< Awaited<ReturnType<typeof deleteWebsite>>, TError, { params: DeleteWebsiteParams }, TContext > => { const mutationOptions = getDeleteWebsiteMutationOptions(options); return useMutation(mutationOptions); };