@protokol/nft-exchange-api
Version:
REST API For Exchange NFT Functionality
124 lines • 4.31 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.register = void 0;
const core_api_1 = require("@arkecosystem/core-api");
const joi_1 = __importDefault(require("joi"));
const auctions_1 = require("../controllers/auctions");
const register = (server) => {
const controller = server.app.app.resolve(auctions_1.AuctionsController);
server.bind(controller);
server.route({
method: "GET",
path: "/auctions",
handler: controller.index,
options: {
validate: {
query: joi_1.default.object({
orderBy: server.app.schemas.orderBy,
transform: joi_1.default.bool().default(true),
expired: joi_1.default.bool().default(false),
}).concat(core_api_1.Schemas.pagination),
},
plugins: {
pagination: {
enabled: true,
},
},
},
});
server.route({
method: "GET",
path: "/auctions/{id}",
handler: controller.show,
options: {
validate: {
query: joi_1.default.object({
transform: joi_1.default.bool().default(true),
}),
params: joi_1.default.object({
id: joi_1.default.string().hex().length(64),
}),
},
},
});
server.route({
method: "GET",
path: "/auctions/{id}/wallets",
handler: controller.showAuctionWallet,
options: {
validate: {
params: joi_1.default.object({
id: joi_1.default.string().hex().length(64),
}),
},
},
});
server.route({
method: "POST",
path: "/auctions/search",
handler: controller.search,
options: {
validate: {
query: joi_1.default.object({
orderBy: server.app.schemas.orderBy,
transform: joi_1.default.bool().default(true),
onlyActive: joi_1.default.bool().default(false),
expired: joi_1.default.bool().default(false),
includeBids: joi_1.default.bool().default(false),
canceledBids: joi_1.default.bool().default(false),
}).concat(core_api_1.Schemas.pagination),
payload: joi_1.default.object({
senderPublicKey: joi_1.default.string().hex().length(66).optional(),
nftIds: joi_1.default.array().items(joi_1.default.string().hex().length(64)).optional(),
startAmount: joi_1.default.string().optional(),
expiration: joi_1.default.object({
blockHeight: joi_1.default.number().positive(),
}),
}),
},
plugins: {
pagination: {
enabled: true,
},
},
},
});
server.route({
method: "GET",
path: "/auctions/canceled",
handler: controller.indexCanceled,
options: {
validate: {
query: joi_1.default.object({
orderBy: server.app.schemas.orderBy,
transform: joi_1.default.bool().default(true),
}).concat(core_api_1.Schemas.pagination),
},
plugins: {
pagination: {
enabled: true,
},
},
},
});
server.route({
method: "GET",
path: "/auctions/canceled/{id}",
handler: controller.showAuctionCanceled,
options: {
validate: {
query: joi_1.default.object({
transform: joi_1.default.bool().default(true),
}),
params: joi_1.default.object({
id: joi_1.default.string().hex().length(64),
}),
},
},
});
};
exports.register = register;
//# sourceMappingURL=auctions.js.map