UNPKG

@apillon/sdk

Version:

▶◀ Apillon SDK for NodeJS ▶◀

67 lines 2.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Nft = void 0; const apillon_1 = require("../../lib/apillon"); const apillon_api_1 = require("../../lib/apillon-api"); const common_1 = require("../../lib/common"); const nft_collection_1 = require("./nft-collection"); class Nft extends apillon_1.ApillonModule { constructor() { super(...arguments); /** * API url for collections. */ this.API_PREFIX = '/nfts/collections'; } /** * @param uuid Unique collection identifier. * @returns An empty instance of NftCollection */ collection(uuid) { return new nft_collection_1.NftCollection(uuid, null); } /** * Lists all nft collections available. * @param {ICollectionFilters} params Filter for listing collections. * @returns Array of NftCollection. */ async listCollections(params) { const url = (0, common_1.constructUrlWithQueryParams)(this.API_PREFIX, params); const data = await apillon_api_1.ApillonApi.get(url); return Object.assign(Object.assign({}, data), { items: data.items.map((nft) => new nft_collection_1.NftCollection(nft.collectionUuid, nft)) }); } /** * Deploys a new EVM NftCollection smart contract. * @param data NFT collection data. * @returns A NftCollection instance. */ async create(data) { return await this.createNft(data, 'evm'); } /** * Deploys a new Substrate NftCollection smart contract. * @param data NFT collection data. * @returns A NftCollection instance. */ async createSubstrate(data) { return await this.createNft(data, 'substrate'); } /** * Deploys a new Unique NftCollection smart contract. * @param data NFT collection data. * @returns A NftCollection instance. */ async createUnique(data) { return await this.createNft(data, 'unique'); } async createNft(data, type) { // If not drop, set drop properties to default 0 if (!data.drop) { data.dropStart = data.dropPrice = data.dropReserve = 0; } const response = await apillon_api_1.ApillonApi.post(`${this.API_PREFIX}/${type}`, data); return new nft_collection_1.NftCollection(response.collectionUuid, response); } } exports.Nft = Nft; //# sourceMappingURL=nft.js.map