@protokol/nft-exchange-api
Version:
REST API For Exchange NFT Functionality
71 lines • 2.41 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 trades_1 = require("../controllers/trades");
const register = (server) => {
const controller = server.app.app.resolve(trades_1.TradesController);
server.bind(controller);
server.route({
method: "GET",
path: "/trades",
handler: controller.index,
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: "/trades/{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: "POST",
path: "/trades/search",
handler: controller.search,
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),
payload: joi_1.default.object({
senderPublicKey: joi_1.default.string().hex().length(66).optional(),
auctionId: joi_1.default.string().hex().length(64),
bidId: joi_1.default.string().hex().length(64),
}),
},
plugins: {
pagination: {
enabled: true,
},
},
},
});
};
exports.register = register;
//# sourceMappingURL=trades.js.map