UNPKG

unlockpage-api-client

Version:

React hooks and TypeScript client for Unlockpage API

495 lines (494 loc) 17.6 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 axios from "axios"; /** * Verify if user has purchased access to a specific URL/route * @summary Check access to protected content */ export const postAccess = (postAccessBody, options) => { return axios.post(`https://micro-payments.fly.dev/access`, postAccessBody, options); }; export const getPostAccessMutationOptions = (options) => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn = (props) => { const { data } = props ?? {}; return postAccess(data, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; /** * @summary Check access to protected content */ export const usePostAccess = (options) => { const mutationOptions = getPostAccessMutationOptions(options); return useMutation(mutationOptions); }; /** * Check if user has a valid session cookie * @summary Check authentication status */ export const getAuthCheck = (options) => { return axios.get(`https://micro-payments.fly.dev/auth/check`, options); }; export const getGetAuthCheckQueryKey = () => { return [`https://micro-payments.fly.dev/auth/check`]; }; export const getGetAuthCheckQueryOptions = (options) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetAuthCheckQueryKey(); const queryFn = ({ signal, }) => getAuthCheck({ signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions }; }; /** * @summary Check authentication status */ export const useGetAuthCheck = (options) => { const queryOptions = getGetAuthCheckQueryOptions(options); const query = useQuery(queryOptions); 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, options) => { return axios.get(`https://micro-payments.fly.dev/avaliable`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetAvaliableQueryKey = (params) => { return [ `https://micro-payments.fly.dev/avaliable`, ...(params ? [params] : []), ]; }; export const getGetAvaliableQueryOptions = (params, options) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetAvaliableQueryKey(params); const queryFn = ({ signal, }) => getAvaliable(params, { signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions }; }; /** * @summary Check route availability */ export const useGetAvaliable = (params, options) => { const queryOptions = getGetAvaliableQueryOptions(params, options); const query = useQuery(queryOptions); 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, params, options) => { return axios.get(`https://micro-payments.fly.dev/dns`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetDnsQueryKey = (bodyBody, params) => { return [ `https://micro-payments.fly.dev/dns`, ...(params ? [params] : []), bodyBody, ]; }; export const getGetDnsQueryOptions = (bodyBody, params, options) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetDnsQueryKey(bodyBody, params); const queryFn = ({ signal, }) => getDns(bodyBody, params, { signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions }; }; /** * @summary DNS management for domain verification */ export const useGetDns = (bodyBody, params, options) => { const queryOptions = getGetDnsQueryOptions(bodyBody, params, options); const query = useQuery(queryOptions); 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, params, options) => { return axios.post(`https://micro-payments.fly.dev/dns`, bodyBody, { ...options, params: { ...params, ...options?.params }, }); }; export const getPostDnsMutationOptions = (options) => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn = (props) => { const { data, params } = props ?? {}; return postDns(data, params, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; /** * @summary DNS management for domain verification */ export const usePostDns = (options) => { 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) => { return axios.get(`https://micro-payments.fly.dev/domains-purchase-history`, options); }; export const getGetDomainsPurchaseHistoryQueryKey = () => { return [`https://micro-payments.fly.dev/domains-purchase-history`]; }; export const getGetDomainsPurchaseHistoryQueryOptions = (options) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetDomainsPurchaseHistoryQueryKey(); const queryFn = ({ signal }) => getDomainsPurchaseHistory({ signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions }; }; /** * @summary Get website purchase history */ export const useGetDomainsPurchaseHistory = (options) => { const queryOptions = getGetDomainsPurchaseHistoryQueryOptions(options); const query = useQuery(queryOptions); query.queryKey = queryOptions.queryKey; return query; }; /** * Get all purchases made by the authenticated user * @summary Get user purchase history */ export const getPurchaseHistory = (params, options) => { return axios.get(`https://micro-payments.fly.dev/purchase-history`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetPurchaseHistoryQueryKey = (params) => { return [ `https://micro-payments.fly.dev/purchase-history`, ...(params ? [params] : []), ]; }; export const getGetPurchaseHistoryQueryOptions = (params, options) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetPurchaseHistoryQueryKey(params); const queryFn = ({ signal }) => getPurchaseHistory(params, { signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions }; }; /** * @summary Get user purchase history */ export const useGetPurchaseHistory = (params, options) => { const queryOptions = getGetPurchaseHistoryQueryOptions(params, options); const query = useQuery(queryOptions); 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, options) => { return axios.get(`https://micro-payments.fly.dev/purchased`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetPurchasedQueryKey = (params) => { return [ `https://micro-payments.fly.dev/purchased`, ...(params ? [params] : []), ]; }; export const getGetPurchasedQueryOptions = (params, options) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetPurchasedQueryKey(params); const queryFn = ({ signal, }) => getPurchased(params, { signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions }; }; /** * @summary Check if route is purchased */ export const useGetPurchased = (params, options) => { const queryOptions = getGetPurchasedQueryOptions(params, options); const query = useQuery(queryOptions); 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) => { return axios.get(`https://micro-payments.fly.dev/routes`, options); }; export const getGetRoutesQueryKey = () => { return [`https://micro-payments.fly.dev/routes`]; }; export const getGetRoutesQueryOptions = (options) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetRoutesQueryKey(); const queryFn = ({ signal, }) => getRoutes({ signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions }; }; /** * @summary Get user's routes */ export const useGetRoutes = (options) => { const queryOptions = getGetRoutesQueryOptions(options); const query = useQuery(queryOptions); 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, options) => { return axios.put(`https://micro-payments.fly.dev/routes`, microhttpRoute, options); }; export const getPutRoutesMutationOptions = (options) => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn = (props) => { const { data } = props ?? {}; return putRoutes(data, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; /** * @summary Register a new route */ export const usePutRoutes = (options) => { 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, options) => { return axios.delete(`https://micro-payments.fly.dev/routes`, { ...options, params: { ...params, ...options?.params }, }); }; export const getDeleteRoutesMutationOptions = (options) => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn = (props) => { const { params } = props ?? {}; return deleteRoutes(params, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; /** * @summary Delete an existing route */ export const useDeleteRoutes = (options) => { 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, params, options) => { return axios.patch(`https://micro-payments.fly.dev/routes`, patchRoutesBody, { ...options, params: { ...params, ...options?.params }, }); }; export const getPatchRoutesMutationOptions = (options) => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn = (props) => { const { data, params } = props ?? {}; return patchRoutes(data, params, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; /** * @summary Update an existing route */ export const usePatchRoutes = (options) => { const mutationOptions = getPatchRoutesMutationOptions(options); return useMutation(mutationOptions); }; /** * Retrieve authenticated user's profile information * @summary Get user information */ export const getUser = (options) => { return axios.get(`https://micro-payments.fly.dev/user`, options); }; export const getGetUserQueryKey = () => { return [`https://micro-payments.fly.dev/user`]; }; export const getGetUserQueryOptions = (options) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetUserQueryKey(); const queryFn = ({ signal, }) => getUser({ signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions }; }; /** * @summary Get user information */ export const useGetUser = (options) => { const queryOptions = getGetUserQueryOptions(options); const query = useQuery(queryOptions); query.queryKey = queryOptions.queryKey; return query; }; /** * Synchronize user data from JWT token and create secure session * @summary Sync user data */ export const putUser = (options) => { return axios.put(`https://micro-payments.fly.dev/user`, undefined, options); }; export const getPutUserMutationOptions = (options) => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn = () => { return putUser(axiosOptions); }; return { mutationFn, ...mutationOptions }; }; /** * @summary Sync user data */ export const usePutUser = (options) => { const mutationOptions = getPutUserMutationOptions(options); return useMutation(mutationOptions); }; /** * Delete all active sessions for the authenticated user * @summary Delete all user sessions */ export const deleteUser = (options) => { return axios.delete(`https://micro-payments.fly.dev/user`, options); }; export const getDeleteUserMutationOptions = (options) => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn = () => { return deleteUser(axiosOptions); }; return { mutationFn, ...mutationOptions }; }; /** * @summary Delete all user sessions */ export const useDeleteUser = (options) => { 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) => { return axios.post(`https://micro-payments.fly.dev/user/logout`, undefined, options); }; export const getPostUserLogoutMutationOptions = (options) => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn = () => { return postUserLogout(axiosOptions); }; return { mutationFn, ...mutationOptions }; }; /** * @summary User logout */ export const usePostUserLogout = (options) => { const mutationOptions = getPostUserLogoutMutationOptions(options); return useMutation(mutationOptions); }; /** * Retrieve all websites registered by the authenticated user * @summary Get user's websites */ export const getWebsite = (params, options) => { return axios.get(`https://micro-payments.fly.dev/website`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetWebsiteQueryKey = (params) => { return [ `https://micro-payments.fly.dev/website`, ...(params ? [params] : []), ]; }; export const getGetWebsiteQueryOptions = (params, options) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetWebsiteQueryKey(params); const queryFn = ({ signal, }) => getWebsite(params, { signal, ...axiosOptions }); return { queryKey, queryFn, ...queryOptions }; }; /** * @summary Get user's websites */ export const useGetWebsite = (params, options) => { const queryOptions = getGetWebsiteQueryOptions(params, options); const query = useQuery(queryOptions); query.queryKey = queryOptions.queryKey; return query; }; /** * Register a new website for content monetization * @summary Register a new website */ export const putWebsite = (microhttpWebsite, options) => { return axios.put(`https://micro-payments.fly.dev/website`, microhttpWebsite, options); }; export const getPutWebsiteMutationOptions = (options) => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn = (props) => { const { data } = props ?? {}; return putWebsite(data, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; /** * @summary Register a new website */ export const usePutWebsite = (options) => { const mutationOptions = getPutWebsiteMutationOptions(options); return useMutation(mutationOptions); }; /** * Delete a registered but unverified website * @summary Remove a website */ export const deleteWebsite = (params, options) => { return axios.delete(`https://micro-payments.fly.dev/website`, { ...options, params: { ...params, ...options?.params }, }); }; export const getDeleteWebsiteMutationOptions = (options) => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn = (props) => { const { params } = props ?? {}; return deleteWebsite(params, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; /** * @summary Remove a website */ export const useDeleteWebsite = (options) => { const mutationOptions = getDeleteWebsiteMutationOptions(options); return useMutation(mutationOptions); };