UNPKG

unlockpage-api-client

Version:

React hooks and TypeScript client for Unlockpage API

534 lines (533 loc) 19.3 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://api.unlockpage.com/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://api.unlockpage.com/auth/check`, options); }; export const getGetAuthCheckQueryKey = () => { return [`https://api.unlockpage.com/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://api.unlockpage.com/avaliable`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetAvaliableQueryKey = (params) => { return [ `https://api.unlockpage.com/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://api.unlockpage.com/dns`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetDnsQueryKey = (bodyBody, params) => { return [ `https://api.unlockpage.com/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://api.unlockpage.com/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://api.unlockpage.com/domains-purchase-history`, options); }; export const getGetDomainsPurchaseHistoryQueryKey = () => { return [`https://api.unlockpage.com/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: Check plugin verification status, POST: Generate new plugin token for verification * @summary WordPress plugin verification for domain ownership */ export const getPluginVerify = (microhttpPluginVerifyRequestBody, params, options) => { return axios.get(`https://api.unlockpage.com/plugin-verify`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetPluginVerifyQueryKey = (microhttpPluginVerifyRequestBody, params) => { return [ `https://api.unlockpage.com/plugin-verify`, ...(params ? [params] : []), microhttpPluginVerifyRequestBody, ]; }; export const getGetPluginVerifyQueryOptions = (microhttpPluginVerifyRequestBody, params, options) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetPluginVerifyQueryKey(microhttpPluginVerifyRequestBody, params); const queryFn = ({ signal, }) => getPluginVerify(microhttpPluginVerifyRequestBody, params, { signal, ...axiosOptions, }); return { queryKey, queryFn, ...queryOptions }; }; /** * @summary WordPress plugin verification for domain ownership */ export const useGetPluginVerify = (microhttpPluginVerifyRequestBody, params, options) => { const queryOptions = getGetPluginVerifyQueryOptions(microhttpPluginVerifyRequestBody, params, options); const query = useQuery(queryOptions); query.queryKey = queryOptions.queryKey; return query; }; /** * GET: Check plugin verification status, POST: Generate new plugin token for verification * @summary WordPress plugin verification for domain ownership */ export const postPluginVerify = (microhttpPluginVerifyRequestBody, params, options) => { return axios.post(`https://api.unlockpage.com/plugin-verify`, microhttpPluginVerifyRequestBody, { ...options, params: { ...params, ...options?.params }, }); }; export const getPostPluginVerifyMutationOptions = (options) => { const { mutation: mutationOptions, axios: axiosOptions } = options ?? {}; const mutationFn = (props) => { const { data, params } = props ?? {}; return postPluginVerify(data, params, axiosOptions); }; return { mutationFn, ...mutationOptions }; }; /** * @summary WordPress plugin verification for domain ownership */ export const usePostPluginVerify = (options) => { const mutationOptions = getPostPluginVerifyMutationOptions(options); return useMutation(mutationOptions); }; /** * Get all purchases made by the authenticated user * @summary Get user purchase history */ export const getPurchaseHistory = (params, options) => { return axios.get(`https://api.unlockpage.com/purchase-history`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetPurchaseHistoryQueryKey = (params) => { return [ `https://api.unlockpage.com/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; }; /** * Retrieve all routes for websites owned by the authenticated user * @summary Get user's routes */ export const getRoutes = (options) => { return axios.get(`https://api.unlockpage.com/routes`, options); }; export const getGetRoutesQueryKey = () => { return [`https://api.unlockpage.com/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://api.unlockpage.com/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://api.unlockpage.com/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://api.unlockpage.com/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://api.unlockpage.com/user`, options); }; export const getGetUserQueryKey = () => { return [`https://api.unlockpage.com/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://api.unlockpage.com/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); }; /** * Log out user by clearing session cookie and deleting session from database * @summary User logout */ export const postUserLogout = (options) => { return axios.post(`https://api.unlockpage.com/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://api.unlockpage.com/website`, { ...options, params: { ...params, ...options?.params }, }); }; export const getGetWebsiteQueryKey = (params) => { return [ `https://api.unlockpage.com/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://api.unlockpage.com/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://api.unlockpage.com/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); }; /** * Retrieve the signing key for a specific domain (owner only) * @summary Get domain signing key */ export const getWebsiteIdSigningKey = (id, options) => { return axios.get(`https://api.unlockpage.com/website/${id}/signing-key`, options); }; export const getGetWebsiteIdSigningKeyQueryKey = (id) => { return [`https://api.unlockpage.com/website/${id}/signing-key`]; }; export const getGetWebsiteIdSigningKeyQueryOptions = (id, options) => { const { query: queryOptions, axios: axiosOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetWebsiteIdSigningKeyQueryKey(id); const queryFn = ({ signal }) => getWebsiteIdSigningKey(id, { signal, ...axiosOptions }); return { queryKey, queryFn, enabled: !!id, ...queryOptions, }; }; /** * @summary Get domain signing key */ export const useGetWebsiteIdSigningKey = (id, options) => { const queryOptions = getGetWebsiteIdSigningKeyQueryOptions(id, options); const query = useQuery(queryOptions); query.queryKey = queryOptions.queryKey; return query; };