unlockpage-api-client
Version:
React hooks and TypeScript client for Unlockpage API
495 lines (494 loc) • 17.6 kB
JavaScript
/**
* 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);
};