@mojito-inc/core-service
Version:
Mojito Core API service for auction, payment, token
179 lines (176 loc) • 10.4 kB
JavaScript
import { __awaiter } from '../_virtual/_tslib.js';
import { useCallback, useMemo } from 'react';
import { useApolloClient } from '@apollo/client';
import { getAllRegistryTokensQueries, getRegistryCollectionsV1Query, getAllRegistryTokensV2Query } from './Queries/AllRegistryTokenQueries.js';
import { initiateBuyNFTMutation, updateTransactionHashMutation, generateSecondaryInvoiceQueries, generatePrimaryInvoiceQueries, getUserOrderActivityQueries, completeOnchainBuyQueries, saveUserWalletSessionQueries } from './Queries/BuyNowQueries.js';
import { addNFTToFavoriteMutation, removeNFTFromFavoriteMutation, getNFTFavoriteListByUserQueries } from './Queries/FavoriteQueries.js';
import { getNFTDetailsQueries, getNFTHistoryQueries, getNFTAttributesRarityQueries } from './Queries/NFTDetailsQueries.js';
import { transferNFTMutation } from './Queries/TransferNFTQueries.js';
import { getAllInvoicesQueries, getMyInvoicesQueries } from './Queries/AllInvoicesQueries.js';
import { getFileSignedURLQuery } from './Queries/FileSignedUrlQueries.js';
import { getCollectionTraitsForSMPQuery } from './Queries/TraitsQueries.js';
/**
* Returns NFT service
*
* @remarks
* This method is part of the NFT service
*
* @returns {@link NFTService} NFT service
*
*/
const useNFT = () => {
const client = useApolloClient();
const addNFTToFavorite = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.mutate(Object.assign(Object.assign({}, options), { mutation: addNFTToFavoriteMutation, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const removeNFTFromFavorite = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.mutate(Object.assign(Object.assign({}, options), { mutation: removeNFTFromFavoriteMutation, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const getNFTFavoriteListByUser = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getNFTFavoriteListByUserQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const getAllRegistryTokens = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getAllRegistryTokensQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const getRegistryCollections = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getRegistryCollectionsV1Query, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const getAllRegistryTokensV2 = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getAllRegistryTokensV2Query, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const getCollectionTraits = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getCollectionTraitsForSMPQuery, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const getNFTDetails = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getNFTDetailsQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const getNFTHistory = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getNFTHistoryQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const getNFTAttributesRarity = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getNFTAttributesRarityQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const initiateBuyNFT = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.mutate(Object.assign(Object.assign({}, options), { mutation: initiateBuyNFTMutation, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const updateTransactionHash = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.mutate(Object.assign(Object.assign({}, options), { mutation: updateTransactionHashMutation, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const generateSecondaryInvoice = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: generateSecondaryInvoiceQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const generatePrimaryInvoice = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: generatePrimaryInvoiceQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const userOrderActivity = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getUserOrderActivityQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const transferNFT = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.mutate(Object.assign(Object.assign({}, options), { mutation: transferNFTMutation, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const getAllInvoices = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getAllInvoicesQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const getMyInvoices = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getMyInvoicesQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const getFileSignedUrl = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.query(Object.assign(Object.assign({}, options), { query: getFileSignedURLQuery, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const completeOnchainBuy = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.mutate(Object.assign(Object.assign({}, options), { mutation: completeOnchainBuyQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
const saveUserWalletSession = useCallback((param, options) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield client.mutate(Object.assign(Object.assign({}, options), { mutation: saveUserWalletSessionQueries, variables: param }));
const responseData = response.data;
return { data: responseData };
}), [client]);
return useMemo(() => {
return {
addNFTToFavorite,
removeNFTFromFavorite,
getNFTFavoriteListByUser,
getAllRegistryTokens,
getNFTDetails,
getNFTHistory,
getNFTAttributesRarity,
initiateBuyNFT,
updateTransactionHash,
generateSecondaryInvoice,
generatePrimaryInvoice,
userOrderActivity,
transferNFT,
getAllInvoices,
getMyInvoices,
getFileSignedUrl,
completeOnchainBuy,
saveUserWalletSession,
getCollectionTraits,
getAllRegistryTokensV2,
getRegistryCollections,
};
}, [
addNFTToFavorite,
removeNFTFromFavorite,
getNFTFavoriteListByUser,
getAllRegistryTokens,
getNFTDetails,
getNFTHistory,
getNFTAttributesRarity,
initiateBuyNFT,
updateTransactionHash,
generateSecondaryInvoice,
generatePrimaryInvoice,
userOrderActivity,
transferNFT,
getAllInvoices,
getMyInvoices,
getFileSignedUrl,
completeOnchainBuy,
saveUserWalletSession,
getCollectionTraits,
getAllRegistryTokensV2,
getRegistryCollections,
]);
};
export { useNFT as default };